summaryrefslogtreecommitdiff
path: root/x11/qt4-libs/patches/patch-cb
blob: 6624079502968dd1faf687f3bf9dd41a255629aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
$NetBSD: patch-cb,v 1.3 2011/01/12 07:07:07 adam Exp $

--- src/gui/kernel/qapplication_mac.mm.orig	2010-12-30 14:07:53.000000000 +0000
+++ src/gui/kernel/qapplication_mac.mm
@@ -1244,6 +1244,7 @@ void qt_init(QApplicationPrivate *priv, 
 #ifdef QT_MAC_USE_COCOA
     NSApplication *cocoaApp = [QNSApplication sharedApplication];
     QMacCocoaAutoReleasePool pool;
+    NSNib *qtNib;
     NSObject *oldDelegate = [cocoaApp delegate];
     QT_MANGLE_NAMESPACE(QCocoaApplicationDelegate) *newDelegate = [QT_MANGLE_NAMESPACE(QCocoaApplicationDelegate) sharedDelegate];
     Q_ASSERT(newDelegate);
@@ -1254,12 +1255,14 @@ void qt_init(QApplicationPrivate *priv, 
         [cocoaApp setDelegate:newDelegate];
 
         QT_MANGLE_NAMESPACE(QCocoaMenuLoader) *qtMenuLoader = [[QT_MANGLE_NAMESPACE(QCocoaMenuLoader) alloc] init];
-        if ([NSBundle loadNibNamed:@"qt_menu" owner:qtMenuLoader] == false) {
+        qtNib = [[NSNib alloc] initWithContentsOfURL:[NSURL fileURLWithPath:@"@QTPREFIX@/qt_menu.nib"]];
+        if ([qtNib instantiateNibWithOwner:qtMenuLoader topLevelObjects:nil] == false) {
             qFatal("Qt internal error: qt_menu.nib could not be loaded. The .nib file"
                    " should be placed in QtGui.framework/Versions/Current/Resources/ "
                    " or in the resources directory of your application bundle.");
         }
 
+        [qtNib release];
         [cocoaApp setMenu:[qtMenuLoader menu]];
         [newDelegate setMenuLoader:qtMenuLoader];
         [qtMenuLoader release];