summaryrefslogtreecommitdiff
path: root/plugins/unityshell
diff options
authorDaniel van Vugt <daniel.van.vugt@canonical.com>2012-10-30 17:28:30 +0000
committerTarmac <>2012-10-30 17:28:30 +0000
commita9d5938bf8749991750bee477401cf6be61d8f07 (patch)
tree1f7c2471aa3fae006b47df5ffa20e04ce605beae /plugins/unityshell
parent6ef5b8f4ea7769c80e41ffbf1c8a4b842b587a87 (diff)
parent85adae8e6fcf4ce34802f865805b236eabfbb29f (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: https://bugs.launchpad.net/bugs/1070735. Approved by Marco Trevisan (TreviƱo). (bzr r2872)
Diffstat (limited to 'plugins/unityshell')
-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 78029fff9..7c5814e98 100644
--- a/plugins/unityshell/src/unityshell.cpp
+++ b/plugins/unityshell/src/unityshell.cpp
@@ -1309,6 +1309,8 @@ void UnityScreen::preparePaint(int ms)
didShellRepaint = false;
panelShadowPainted = CompRegion();
firstWindowAboveShell = NULL;
+
+ compizDamageNux(cScreen->currentDamage());
}
void UnityScreen::donePaint()