56 lines
1.9 KiB
Diff
56 lines
1.9 KiB
Diff
|
From: Weng Xuetian <wengxt@gmail.com>
|
||
|
Date: Mon, 09 Sep 2013 15:43:06 +0000
|
||
|
Subject: Delay KDE class initialization to main loop
|
||
|
X-Git-Url: http://quickgit.kde.org/?p=kde-workspace.git&a=commitdiff&h=2e5a2450762f8dedf9ffd77028ed06b3a39a807d
|
||
|
---
|
||
|
Delay KDE class initialization to main loop
|
||
|
|
||
|
Gui platform plugin is loaded during QApplication construction, but it
|
||
|
relies on some KApplication/QApplication data to work correctly.
|
||
|
|
||
|
This patch delays the initialization to main loop, to ensure
|
||
|
KApplication/QApplication is already constructed.
|
||
|
|
||
|
BUG: 324574
|
||
|
FIXED-IN: 4.11.2
|
||
|
REVIEW: 112602
|
||
|
---
|
||
|
|
||
|
|
||
|
--- qguiplatformplugin_kde/qguiplatformplugin_kde.cpp
|
||
|
+++ qguiplatformplugin_kde/qguiplatformplugin_kde.cpp
|
||
|
@@ -28,6 +28,7 @@
|
||
|
#include <KDE/KFileDialog>
|
||
|
#include <KDE/KColorDialog>
|
||
|
#include <QtCore/QHash>
|
||
|
+#include <QtCore/QTimer>
|
||
|
#include <QtGui/QFileDialog>
|
||
|
#include <QtGui/QColorDialog>
|
||
|
#include <QtGui/QApplication>
|
||
|
@@ -153,9 +154,7 @@
|
||
|
public:
|
||
|
KQGuiPlatformPlugin()
|
||
|
{
|
||
|
- connect(KIconLoader::global(), SIGNAL(iconLoaderSettingsChanged()), this, SLOT(updateToolbarIcons()));
|
||
|
- connect(KGlobalSettings::self(), SIGNAL(toolbarAppearanceChanged(int)), this, SLOT(updateToolbarStyle()));
|
||
|
- connect(KGlobalSettings::self(), SIGNAL(kdisplayStyleChanged()), this, SLOT(updateWidgetStyle()));
|
||
|
+ QMetaObject::invokeMethod(this, "init", Qt::QueuedConnection);
|
||
|
}
|
||
|
|
||
|
virtual QStringList keys() const { return QStringList() << QLatin1String("kde"); }
|
||
|
@@ -340,6 +339,13 @@
|
||
|
}
|
||
|
|
||
|
private slots:
|
||
|
+ void init()
|
||
|
+ {
|
||
|
+ connect(KIconLoader::global(), SIGNAL(iconLoaderSettingsChanged()), this, SLOT(updateToolbarIcons()));
|
||
|
+ connect(KGlobalSettings::self(), SIGNAL(toolbarAppearanceChanged(int)), this, SLOT(updateToolbarStyle()));
|
||
|
+ connect(KGlobalSettings::self(), SIGNAL(kdisplayStyleChanged()), this, SLOT(updateWidgetStyle()));
|
||
|
+ }
|
||
|
+
|
||
|
void updateToolbarStyle()
|
||
|
{
|
||
|
//from gtksymbol.cpp
|
||
|
|