Merge lp:~vanvugt/unity/fix-1070735 into lp:unity

Proposed by Daniel van Vugt
Status: Merged
Approved by: Marco Trevisan (Treviño)
Approved revision: no longer in the source branch.
Merged at revision: 2872
Proposed branch: lp:~vanvugt/unity/fix-1070735
Merge into: lp:unity
Diff against target: 12 lines (+2/-0)
1 file modified
plugins/unityshell/src/unityshell.cpp (+2/-0)
To merge this branch: bzr merge lp:~vanvugt/unity/fix-1070735
Reviewer Review Type Date Requested Status
Marco Trevisan (Treviño) Approve
PS Jenkins bot continuous-integration Pending
Review via email: mp+131639@code.launchpad.net

Commit message

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)

To post a comment you must log in.
Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

Good, thanks!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'plugins/unityshell/src/unityshell.cpp'
2--- plugins/unityshell/src/unityshell.cpp 2012-10-18 09:39:39 +0000
3+++ plugins/unityshell/src/unityshell.cpp 2012-10-26 15:18:45 +0000
4@@ -1311,6 +1311,8 @@
5 didShellRepaint = false;
6 panelShadowPainted = CompRegion();
7 firstWindowAboveShell = NULL;
8+
9+ compizDamageNux(cScreen->currentDamage());
10 }
11
12 void UnityScreen::donePaint()