From e154d27e308f648aabffee9caef82d58d12ce804 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Thu, 11 Apr 2013 18:06:40 -0500 Subject: [PATCH] Properly set WM_CLASS atom even if Display pointer was passed to TQApplication This relates to Bug 1443 --- src/kernel/qapplication.cpp | 3 ++- src/kernel/qapplication_x11.cpp | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/kernel/qapplication.cpp b/src/kernel/qapplication.cpp index 591fc8d..620f5df 100644 --- a/src/kernel/qapplication.cpp +++ b/src/kernel/qapplication.cpp @@ -321,6 +321,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 ); @@ -962,7 +963,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 2875228..121d633 100644 --- a/src/kernel/qapplication_x11.cpp +++ b/src/kernel/qapplication_x11.cpp @@ -1652,7 +1652,7 @@ void qt_init_internal( int *argcptr, char **argv, } #endif - if ( display ) { + if ( display && ((!argcptr) || (!argv)) ) { // Qt part of other application appForeignDpy = TRUE; @@ -2465,6 +2465,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