Merge lp://qastaging/~mhr3/unity/fix-961979 into lp://qastaging/unity
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Gord Allott | ||||
Approved revision: | no longer in the source branch. | ||||
Merged at revision: | 2317 | ||||
Proposed branch: | lp://qastaging/~mhr3/unity/fix-961979 | ||||
Merge into: | lp://qastaging/unity | ||||
Diff against target: |
173 lines (+48/-16) 5 files modified
plugins/unityshell/src/PlacesGroup.cpp (+2/-1) plugins/unityshell/src/ResultRendererTile.cpp (+14/-3) plugins/unityshell/src/ResultViewGrid.cpp (+27/-9) plugins/unityshell/src/ResultViewGrid.h (+4/-2) tools/unity.cmake (+1/-1) |
||||
To merge this branch: | bzr merge lp://qastaging/~mhr3/unity/fix-961979 | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Gord Allott (community) | Approve | ||
Review via email: mp+102677@code.qastaging.launchpad.net |
Commit message
Finetune priorities when updating dash results, prevents flickering
Description of the change
When searching in the dash, one can easily see the results flickering, this is expected in some cases, as the dash is aggregating results from multiple sources and they arrive at different times, but in some cases the changes are done in one transaction (for example in the applications lens view) and yet the dash still flickers - this branch fixes the latter.
It turned out that we're using incorrect priorities when queuing a relayout and/or redraw of the dash. The textures in the tiles of the results that were removed were destroyed, afterwards the view was redrawn, and after that (in idle callback) the tile renderers created new textures (mostly just grabbed from cache) for the updated results. This branch makes sure that the new textures are created before the redraw, which fixes the perceived flickering. There is also bump of priority for the places group titles, which causes that they're also updated before a redraw, which again saves us another frame.
No new tests, as the current ones still apply.
>
> - cli.extend(['gdb', '-ex', 'run', '-ex', 'bt', '--batch', '--args'])
> + cli.extend(['gdb', '-ex', 'run', '-ex', '"bt full"', '--batch', '--args'])
seems like that shouldn't be there ;-)