summaryrefslogtreecommitdiff
path: root/plugins/unityshell/src
diff options
authorDaniel van Vugt <daniel.van.vugt@canonical.com>2012-10-26 17:05:22 +0200
committerDaniel van Vugt <daniel.van.vugt@canonical.com>2012-10-26 17:05:22 +0200
commit85adae8e6fcf4ce34802f865805b236eabfbb29f (patch)
tree49cbecb0a0992355928d1c7c7304474a5ad9e015 /plugins/unityshell/src
parentccc68c08f423dc9a8d131b9fb31a5e22031fe33f (diff)
Stop Unity UI elements from flickering. This could happen in some odd
cases where UnityScreen::damageRegion has not received the full damage region for the frame, most likely due to the *SetEnabled() toggles. So the fix is to tell Nux about the final, complete, set of damage just before rendering. This ensures Nux is always told about everything it has to redraw on every frame, rather than flickering. (LP: #1070735) Fixes LP: #1070735 (bzr r2866.4.1)
Diffstat (limited to 'plugins/unityshell/src')
-rw-r--r--plugins/unityshell/src/unityshell.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/plugins/unityshell/src/unityshell.cpp b/plugins/unityshell/src/unityshell.cpp
index 08c91a643..528fbe92c 100644
--- a/plugins/unityshell/src/unityshell.cpp
+++ b/plugins/unityshell/src/unityshell.cpp
@@ -1311,6 +1311,8 @@ void UnityScreen::preparePaint(int ms)
didShellRepaint = false;
panelShadowPainted = CompRegion();
firstWindowAboveShell = NULL;
+
+ compizDamageNux(cScreen->currentDamage());
}
void UnityScreen::donePaint()