diff --git a/kcmkwin/kwincompositing/main.cpp b/kcmkwin/kwincompositing/main.cpp index 82edfec3a2..da70c67b71 100644 --- a/kcmkwin/kwincompositing/main.cpp +++ b/kcmkwin/kwincompositing/main.cpp @@ -283,8 +283,19 @@ void KWinCompositingConfig::saveEffectsTab() void KWinCompositingConfig::save() { - saveGeneralTab(); - saveEffectsTab(); + // bah; tab content being dependent on the other is really bad; and + // deprecated in the HIG for a reason. Its confusing! + // Make sure we only call save on each tab once; as they are stateful due to the revert concept + if (ui.tabWidget->currentIndex() == 0) { // general was active + saveGeneralTab(); + loadEffectsTab(); + saveEffectsTab(); + } + else { // effects tab was active + saveEffectsTab(); + loadGeneralTab(); + saveGeneralTab(); + } // Copy Plugins group from temp config to real config QMap entries = mTmpConfig->entryMap("Plugins");