From 5f77e60543e1d5820d6c4339d4d06b56dd2f74c9 Mon Sep 17 00:00:00 2001 From: Hugo Pereira Da Costa Date: Sat, 24 Jan 2015 18:38:25 +0100 Subject: [PATCH] Initialize widget only at first successfull call to registerWidget CCBUG: 341940 --- kstyle/breezepalettehelper.cpp | 12 ++++++++---- kstyle/breezepalettehelper.h | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/kstyle/breezepalettehelper.cpp b/kstyle/breezepalettehelper.cpp index 2107de33..31c32c3c 100644 --- a/kstyle/breezepalettehelper.cpp +++ b/kstyle/breezepalettehelper.cpp @@ -40,10 +40,7 @@ namespace Breeze PaletteHelper::PaletteHelper( QObject* parent, Helper& helper ): QObject( parent ), _helper( helper ) - { - _widget = new QWidget(); - _widget->installEventFilter( this ); - } + {} //_____________________________________________________ PaletteHelper::~PaletteHelper() @@ -55,6 +52,13 @@ namespace Breeze { if( adjustPalette( widget, QApplication::palette() ) ) { + + if( !_widget ) + { + _widget = new QWidget(); + _widget->installEventFilter( this ); + } + _registeredWidgets.insert( widget ); connect( widget, SIGNAL(destroyed(QObject*)), SLOT(unregisterWidget(QObject*)) ); return true; diff --git a/kstyle/breezepalettehelper.h b/kstyle/breezepalettehelper.h index 6e78c63c..2d3e1b39 100644 --- a/kstyle/breezepalettehelper.h +++ b/kstyle/breezepalettehelper.h @@ -71,7 +71,7 @@ namespace Breeze //* dummy widget /** it is used to keep track of application palette changes */ - QWidget* _widget; + QWidget* _widget = nullptr; //* widget set QSet _registeredWidgets;