diff options
| author | Daniel van Vugt <daniel.van.vugt@canonical.com> | 2012-10-30 17:28:30 +0000 |
|---|---|---|
| committer | Tarmac <> | 2012-10-30 17:28:30 +0000 |
| commit | a9d5938bf8749991750bee477401cf6be61d8f07 (patch) | |
| tree | 1f7c2471aa3fae006b47df5ffa20e04ce605beae /plugins/unityshell/src | |
| parent | 6ef5b8f4ea7769c80e41ffbf1c8a4b842b587a87 (diff) | |
| parent | 85adae8e6fcf4ce34802f865805b236eabfbb29f (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/src')
| -rw-r--r-- | plugins/unityshell/src/unityshell.cpp | 2 |
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() |
