summaryrefslogtreecommitdiffstats
path: root/src/gui
diff options
context:
space:
mode:
authorJens Bache-Wiig <jbache@trolltech.com>2009-05-22 13:14:11 (GMT)
committerJens Bache-Wiig <jbache@trolltech.com>2009-05-22 13:16:26 (GMT)
commit327d94ce8054718d0ce157604594e470e90d6cb4 (patch)
tree41af96e3ac808d07f10d42597cb86198a778b67b /src/gui
parent1ee8715fe0dfa784be987cc0cfb4519b2f20adb0 (diff)
downloadQt-327d94ce8054718d0ce157604594e470e90d6cb4.zip
Qt-327d94ce8054718d0ce157604594e470e90d6cb4.tar.gz
Qt-327d94ce8054718d0ce157604594e470e90d6cb4.tar.bz2
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
Diffstat (limited to 'src/gui')
-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 ca71da2..86653df 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();
}
/*!