diff options
Diffstat (limited to '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')
1 files changed, 42 insertions, 0 deletions
diff --git a/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/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 00000000..40426ef8 --- /dev/null +++ b/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. |