summaryrefslogtreecommitdiffstats
path: root/gentoo/dev-qt/qt/files/trinity-3.5.13.1..3.5.13.2/qt3-2013-04-13_13_31_15-Properly-set-WM_CLASS-atom-even-if-Display-pointer-was-passed-to-TQApplication-This-relates-to-Bug-1443-045b2d9.patch
blob: 2daa09f721db2f7a71d8e9cdd984d604323d64dd (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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
diff --git a/src/kernel/qapplication.cpp b/src/kernel/qapplication.cpp
index 7296f4c..0ec4904 100644
--- a/src/kernel/qapplication.cpp
+++ b/src/kernel/qapplication.cpp
@@ -320,6 +320,7 @@ void qt_init( int *, char **, QApplication::Type );
 void qt_cleanup();
 #if defined(Q_WS_X11)
 void qt_init( Display* dpy, Qt::HANDLE, Qt::HANDLE );
+void qt_init( int *, char **, Display* dpy, Qt::HANDLE, Qt::HANDLE );
 #endif
 Q_EXPORT bool qt_tryModalHelper( QWidget *widget, QWidget **rettop );
 
@@ -908,7 +909,7 @@ QApplication::QApplication(Display *dpy, int argc, char **argv,
 
 	qt_init( &argc, argv, GuiClient );
     } else {
-	qt_init(dpy, visual, colormap);
+	qt_init( &argc, argv, dpy, visual, colormap );
     }
 
     process_cmdline( &argc, argv );
diff --git a/src/kernel/qapplication_x11.cpp b/src/kernel/qapplication_x11.cpp
index 4a03d95..0f9d777 100644
--- a/src/kernel/qapplication_x11.cpp
+++ b/src/kernel/qapplication_x11.cpp
@@ -1639,7 +1639,7 @@ void qt_init_internal( int *argcptr, char **argv,
     }
 #endif
 
-    if ( display ) {
+    if ( display && ((!argcptr) || (!argv)) ) {
 	// Qt part of other application
 
 	appForeignDpy = TRUE;
@@ -2439,6 +2439,11 @@ void qt_init( Display *display, Qt::HANDLE visual, Qt::HANDLE colormap )
     qt_init_internal( 0, 0, display, visual, colormap );
 }
 
+void qt_init( int *argcptr, char **argv, Display *display, Qt::HANDLE visual, Qt::HANDLE colormap )
+{
+    qt_init_internal( argcptr, argv, display, visual, colormap );
+}
+
 
 /*****************************************************************************
   qt_cleanup() - cleans up when the application is finished