diff --git a/clients/laptop/laptopclient.cpp b/clients/laptop/laptopclient.cpp index 70c4721e6c..3080026c1b 100644 --- a/clients/laptop/laptopclient.cpp +++ b/clients/laptop/laptopclient.cpp @@ -703,7 +703,7 @@ bool LaptopClientFactory::reset(unsigned long changed) Laptop::create_pixmaps(); bool needHardReset = true; - if (changed & SettingButtons) { + if ((changed & ~SettingButtons) == 0) { // handled by KCommonDecoration needHardReset = false; } diff --git a/clients/modernsystem/modernsys.cpp b/clients/modernsystem/modernsys.cpp index 18726a6078..52108a00b5 100644 --- a/clients/modernsystem/modernsys.cpp +++ b/clients/modernsystem/modernsys.cpp @@ -709,11 +709,9 @@ bool ModernSysFactory::reset( unsigned long changed ) { delete_pixmaps(); create_pixmaps(); - needHardReset = false; - } else if (changed & SettingButtons) { - // handled by KCommonDecoration - needHardReset = false; } + if( ( changed & ~(SettingColors | SettingBorder | SettingFont | SettingButtons)) == 0 ) + needHardReset = false; if( needHardReset ) return true; diff --git a/clients/plastik/plastik.cpp b/clients/plastik/plastik.cpp index 10aa384163..0a64060667 100644 --- a/clients/plastik/plastik.cpp +++ b/clients/plastik/plastik.cpp @@ -118,12 +118,9 @@ bool PlastikHandler::reset(unsigned long changed) bool needHardReset = true; // TODO: besides the Color and Font settings I can maybe handle more changes // without a hard reset. I will do this later... - if (changed & SettingColors || changed & SettingFont) + if ((changed & ~(SettingColors | SettingFont | SettingButtons)) == 0 ) { needHardReset = false; - } else if (changed & SettingButtons) { - // handled by KCommonDecoration - needHardReset = false; } if (needHardReset) { diff --git a/clients/quartz/quartz.cpp b/clients/quartz/quartz.cpp index db30437014..842ad6757d 100644 --- a/clients/quartz/quartz.cpp +++ b/clients/quartz/quartz.cpp @@ -161,12 +161,9 @@ bool QuartzHandler::reset(unsigned long changed) // Do we need to "hit the wooden hammer" ? bool needHardReset = true; - if (changed & SettingColors) + if ((changed & ~(SettingColors | SettingButtons)) == 0) { needHardReset = false; - } else if (changed & SettingButtons) { - // handled by KCommonDecoration - needHardReset = false; } if (needHardReset) { diff --git a/clients/web/Web.cpp b/clients/web/Web.cpp index 526ddc0865..85fac67db4 100644 --- a/clients/web/Web.cpp +++ b/clients/web/Web.cpp @@ -341,12 +341,9 @@ bool WebFactory::reset(unsigned long changed) { // Do we need to "hit the wooden hammer" ? bool needHardReset = true; - if (changed & SettingColors || changed & SettingFont) + if ((changed & ~(SettingColors | SettingFont | SettingButtons)) == 0 ) { needHardReset = false; - } else if (changed & SettingButtons) { - // handled by KCommonDecoration - needHardReset = false; } if (needHardReset) { diff --git a/lib/kdecorationfactory.cpp b/lib/kdecorationfactory.cpp index 6af9b05738..d99c7ab5a4 100644 --- a/lib/kdecorationfactory.cpp +++ b/lib/kdecorationfactory.cpp @@ -39,7 +39,7 @@ KDecorationFactory::~KDecorationFactory() bool KDecorationFactory::reset( unsigned long ) { - return false; + return true; } bool KDecorationFactory::supports( Ability )