Fix fatal X11 errors when both external display and command arguments are provided to QApplication

This resolves Bug 1456
pull/2/head
Timothy Pearson 11 years ago
parent e154d27e30
commit 7abfc2a181

@ -1803,18 +1803,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.

Loading…
Cancel
Save