summaryrefslogtreecommitdiff
path: root/extra/kdebase-workspace/kdebug-324574.patch
diff options
context:
space:
mode:
Diffstat (limited to 'extra/kdebase-workspace/kdebug-324574.patch')
-rw-r--r--extra/kdebase-workspace/kdebug-324574.patch55
1 files changed, 55 insertions, 0 deletions
diff --git a/extra/kdebase-workspace/kdebug-324574.patch b/extra/kdebase-workspace/kdebug-324574.patch
new file mode 100644
index 000000000..053eef57e
--- /dev/null
+++ b/extra/kdebase-workspace/kdebug-324574.patch
@@ -0,0 +1,55 @@
+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
+---
+
+
+--- a/qguiplatformplugin_kde/qguiplatformplugin_kde.cpp
++++ b/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
+