summaryrefslogtreecommitdiffstats
path: root/kcontrol/kicker/menutab_impl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kcontrol/kicker/menutab_impl.cpp')
-rw-r--r--kcontrol/kicker/menutab_impl.cpp16
1 files changed, 12 insertions, 4 deletions
diff --git a/kcontrol/kicker/menutab_impl.cpp b/kcontrol/kicker/menutab_impl.cpp
index 35a89acfc..3b5edc11f 100644
--- a/kcontrol/kicker/menutab_impl.cpp
+++ b/kcontrol/kicker/menutab_impl.cpp
@@ -198,6 +198,8 @@ void MenuTab::menuStyleChanged()
void MenuTab::save()
{
+ bool forceRestart = false;
+
KSharedConfig::Ptr c = KSharedConfig::openConfig(KickerConfig::the()->configName());
c->setGroup("menus");
@@ -230,15 +232,17 @@ void MenuTab::save()
c->writeEntry("OpenOnHover", m_openOnHover->isChecked());
c->sync();
- if (kmenusetting != oldkmenusetting)
- DCOPRef ("kicker", "default").call("restart()");
+ if (kmenusetting != oldkmenusetting) {
+ forceRestart = true;
+ }
c->setGroup("KMenu");
bool sidepixmapsetting = kcfg_UseSidePixmap->isChecked();
bool oldsidepixmapsetting = c->readBoolEntry("UseSidePixmap", true);
- if (sidepixmapsetting != oldsidepixmapsetting)
- DCOPRef ("kicker", "default").call("restart()");
+ if (sidepixmapsetting != oldsidepixmapsetting) {
+ forceRestart = true;
+ }
// Save KMenu settings
c->setGroup("KMenu");
@@ -253,6 +257,10 @@ void MenuTab::save()
config->sync();
if (m_kmenu_button_changed == true) {
+ forceRestart = true;
+ }
+
+ if (forceRestart) {
DCOPRef ("kicker", "default").call("restart()");
}
}