summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Bache-Wiig <jbache@trolltech.com>2009-05-22 15:14:11 +0200
committerJens Bache-Wiig <jbache@trolltech.com>2009-05-22 15:16:26 +0200
commit327d94ce8054718d0ce157604594e470e90d6cb4 (patch)
tree41af96e3ac808d07f10d42597cb86198a778b67b
parent1ee8715fe0dfa784be987cc0cfb4519b2f20adb0 (diff)
downloadqt4-tools-327d94ce8054718d0ce157604594e470e90d6cb4.tar.gz
Fixes a potential crash when changing system palette with QGtkStyle
The problem was that we installed an eventfilter regardless if the gtk symbols were defined or not. Instead we now initialize and check for the symbols before we install the filter. Task-number: 254342 Reviewed-by: ogoffart
-rw-r--r--src/gui/styles/qgtkstyle.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/gui/styles/qgtkstyle.cpp b/src/gui/styles/qgtkstyle.cpp
index ca71da2f1d..86653df8da 100644
--- a/src/gui/styles/qgtkstyle.cpp
+++ b/src/gui/styles/qgtkstyle.cpp
@@ -140,10 +140,7 @@ static const char * const dock_widget_restore_xpm[] =
class QGtkStyleFilter : public QObject
{
public:
- QGtkStyleFilter() {
- qApp->installEventFilter(this);
- }
-
+ QGtkStyleFilter() {}
private:
bool eventFilter(QObject *obj, QEvent *e);
};
@@ -167,7 +164,12 @@ class QGtkStylePrivate : public QCleanlooksStylePrivate
public:
QGtkStylePrivate()
: QCleanlooksStylePrivate()
- {}
+ {
+ QGtk::initGtkWidgets();
+ if (QGtk::isThemeAvailable())
+ qApp->installEventFilter(&filter);
+
+ }
QGtkStyleFilter filter;
};
@@ -243,7 +245,6 @@ static QString uniqueName(const QString &key, const QStyleOption *option, const
QGtkStyle::QGtkStyle()
: QCleanlooksStyle(*new QGtkStylePrivate)
{
- QGtk::initGtkWidgets();
}
/*!