summaryrefslogtreecommitdiffstats
path: root/gentoo/dev-qt/qt/files/trinity-3.5.13.1..3.5.13.2/qt3-2013-04-16_17_34_08-Fix-fatal-X11-errors-when-both-external-display-and-command-arguments-are-provided-to-QApplication-This-resolves-Bug-1456-e7d0f7d.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gentoo/dev-qt/qt/files/trinity-3.5.13.1..3.5.13.2/qt3-2013-04-16_17_34_08-Fix-fatal-X11-errors-when-both-external-display-and-command-arguments-are-provided-to-QApplication-This-resolves-Bug-1456-e7d0f7d.patch')
-rw-r--r--gentoo/dev-qt/qt/files/trinity-3.5.13.1..3.5.13.2/qt3-2013-04-16_17_34_08-Fix-fatal-X11-errors-when-both-external-display-and-command-arguments-are-provided-to-QApplication-This-resolves-Bug-1456-e7d0f7d.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/gentoo/dev-qt/qt/files/trinity-3.5.13.1..3.5.13.2/qt3-2013-04-16_17_34_08-Fix-fatal-X11-errors-when-both-external-display-and-command-arguments-are-provided-to-QApplication-This-resolves-Bug-1456-e7d0f7d.patch b/gentoo/dev-qt/qt/files/trinity-3.5.13.1..3.5.13.2/qt3-2013-04-16_17_34_08-Fix-fatal-X11-errors-when-both-external-display-and-command-arguments-are-provided-to-QApplication-This-resolves-Bug-1456-e7d0f7d.patch
new file mode 100644
index 000000000..40426ef81
--- /dev/null
+++ b/gentoo/dev-qt/qt/files/trinity-3.5.13.1..3.5.13.2/qt3-2013-04-16_17_34_08-Fix-fatal-X11-errors-when-both-external-display-and-command-arguments-are-provided-to-QApplication-This-resolves-Bug-1456-e7d0f7d.patch
@@ -0,0 +1,42 @@
+diff --git a/src/kernel/qapplication_x11.cpp b/src/kernel/qapplication_x11.cpp
+index 0f9d777..50a2bac 100644
+--- a/src/kernel/qapplication_x11.cpp
++++ b/src/kernel/qapplication_x11.cpp
+@@ -1790,18 +1790,26 @@ void qt_init_internal( int *argcptr, char **argv,
+ }
+ }
+ #endif
+- // Connect to X server
+-
+- if( qt_is_gui_used ) {
+- if ( ( appDpy = XOpenDisplay(appDpyName) ) == 0 ) {
+- qWarning( "%s: cannot connect to X server %s", appName,
+- XDisplayName(appDpyName) );
+- qApp = 0;
+- exit( 1 );
+- }
++ if ( display ) {
++ // Display connection already opened by another application
+
+- if ( appSync ) // if "-sync" argument
+- XSynchronize( appDpy, TRUE );
++ appForeignDpy = TRUE;
++ appDpy = display;
++ }
++ else {
++ // Connect to X server
++
++ if( qt_is_gui_used ) {
++ if ( ( appDpy = XOpenDisplay(appDpyName) ) == 0 ) {
++ qWarning( "%s: cannot connect to X server %s", appName,
++ XDisplayName(appDpyName) );
++ qApp = 0;
++ exit( 1 );
++ }
++
++ if ( appSync ) // if "-sync" argument
++ XSynchronize( appDpy, TRUE );
++ }
+ }
+ }
+ // Common code, regardless of whether display is foreign.