Allow generic plugins to set defaults for window system properties
authorSimon Hausmann <simon.hausmann@nokia.com>
Thu, 19 Jan 2012 14:24:57 +0000 (15:24 +0100)
committerQt by Nokia <qt-info@nokia.com>
Fri, 20 Jan 2012 11:43:55 +0000 (12:43 +0100)
In order for generic plugins to set defaults on "startup" time - such
as the meego integration plugin to set the correct screen orientation -
it is necessary to construct the plugins when the application startup is
done. Then the plugin can "inject" the values the usual way, using
QWindowSystemInterface::handle*Change. Afterwards we need to process those
events - take them from the window system event queue and let QGuiApplication
process them.

Change-Id: I84de022ad565a33ae3ef5dfc34f540d6bf488b03
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
src/gui/kernel/qguiapplication.cpp

index c89e144..2fc1618 100644 (file)
@@ -437,8 +437,6 @@ void QGuiApplicationPrivate::init()
     if (platform_integration == 0)
         createPlatformIntegration();
 
-    init_plugins(pluginList);
-
     // Set up which span functions should be used in raster engine...
     qInitDrawhelperAsm();
     // and QImage conversion functions
@@ -454,6 +452,8 @@ void QGuiApplicationPrivate::init()
     qRegisterGuiVariant();
 
     is_app_running = true;
+    init_plugins(pluginList);
+    QWindowSystemInterface::sendWindowSystemEvents(QCoreApplicationPrivate::eventDispatcher, QEventLoop::AllEvents);
 }
 
 QGuiApplicationPrivate::~QGuiApplicationPrivate()