diff --git a/kcmkwin/kwincompositing/advanced.cpp b/kcmkwin/kwincompositing/advanced.cpp
index 5f0bbbd445..114af1cffd 100644
--- a/kcmkwin/kwincompositing/advanced.cpp
+++ b/kcmkwin/kwincompositing/advanced.cpp
@@ -37,6 +37,7 @@ KWinAdvancedCompositingOptions::KWinAdvancedCompositingOptions(QWidget* parent,
connect(ui.compositingType, SIGNAL(currentIndexChanged(int)), this, SLOT(compositingModeChanged()));
connect(ui.compositingType, SIGNAL(currentIndexChanged(int)), this, SLOT(changed()));
+ connect(ui.updateThumbnails, SIGNAL(toggled(bool)), this, SLOT(changed()));
connect(ui.glMode, SIGNAL(currentIndexChanged(int)), this, SLOT(changed()));
connect(ui.glTextureFilter, SIGNAL(currentIndexChanged(int)), this, SLOT(changed()));
connect(ui.glDirect, SIGNAL(toggled(bool)), this, SLOT(changed()));
@@ -89,6 +90,7 @@ void KWinAdvancedCompositingOptions::load()
KConfigGroup config(mKWinConfig, "Compositing");
QString backend = config.readEntry("Backend", "OpenGL");
ui.compositingType->setCurrentIndex((backend == "XRender") ? 1 : 0);
+ ui.updateThumbnails->setChecked(config.readEntry("HiddenPreviews", 0) == 3);
QString glMode = config.readEntry("GLMode", "TFP");
ui.glMode->setCurrentIndex((glMode == "TFP") ? 0 : ((glMode == "SHM") ? 1 : 2));
@@ -112,6 +114,7 @@ void KWinAdvancedCompositingOptions::save()
mPreviousConfig = config.entryMap();
config.writeEntry("Backend", (ui.compositingType->currentIndex() == 0) ? "OpenGL" : "XRender");
+ config.writeEntry("HiddenPreviews", ui.updateThumbnails->isChecked() ? 3 : 0);
QString glModes[] = { "TFP", "SHM", "Fallback" };
config.writeEntry("GLMode", glModes[ui.glMode->currentIndex()]);
diff --git a/kcmkwin/kwincompositing/advanced.ui b/kcmkwin/kwincompositing/advanced.ui
index ef96ff55f3..b69a6e0782 100644
--- a/kcmkwin/kwincompositing/advanced.ui
+++ b/kcmkwin/kwincompositing/advanced.ui
@@ -6,7 +6,7 @@
0
0
400
- 300
+ 305
@@ -35,6 +35,13 @@
+ -
+
+
+ Keep thumbnails of hidden windows up to date
+
+
+
-
diff --git a/options.cpp b/options.cpp
index 30da5325a0..0cdfd86676 100644
--- a/options.cpp
+++ b/options.cpp
@@ -180,8 +180,6 @@ unsigned long Options::updateSettings()
config=KConfigGroup(_config,"Compositing");
refreshRate = config.readEntry( "RefreshRate", 0 );
- const HiddenPreviews hps[] = { HiddenPreviewsNever, HiddenPreviewsKeep, HiddenPreviewUpdate, HiddenPreviewsActive };
- hiddenPreviews = hps[ qBound( 0, config.readEntry( "HiddenPreviews", 0 ), 3 ) ];
// Read button tooltip animation effect from kdeglobals
// Since we want to allow users to enable window decoration tooltips
@@ -233,6 +231,9 @@ void Options::reloadCompositingSettings(const CompositingPrefs& prefs)
glStrictBinding = config.readEntry( "GLStrictBinding", prefs.strictBinding());
xrenderSmoothScale = config.readEntry("XRenderSmoothScale", false );
+
+ const HiddenPreviews hps[] = { HiddenPreviewsNever, HiddenPreviewsKeep, HiddenPreviewUpdate, HiddenPreviewsActive };
+ hiddenPreviews = hps[ qBound( 0, config.readEntry( "HiddenPreviews", 0 ), 3 ) ];
}