void-packages/srcpkgs/kde-workspace/patches/kdebug-324574.patch

55 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