Merge lp:~thumper/nux/window-compositor into lp:nux
Proposed by
Tim Penhey
Status: | Merged | ||||||||
---|---|---|---|---|---|---|---|---|---|
Merged at revision: | 484 | ||||||||
Proposed branch: | lp:~thumper/nux/window-compositor | ||||||||
Merge into: | lp:nux | ||||||||
Diff against target: |
229 lines (+72/-75) 1 file modified
Nux/WindowCompositor.cpp (+72/-75) |
||||||||
To merge this branch: | bzr merge lp:~thumper/nux/window-compositor | ||||||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Jay Taoko (community) | Approve | ||
Jason Smith (community) | Approve | ||
Review via email:
|
Description of the change
The rendering of the icons was causing the tooltip to call "PushToFront" while the rendering was being done. This invalidated the iterator if the iterator was on the last one i.e. the front most, as the front was moving. This caused the world to explode, or as we say in code SIGSEGV.
The fix is to have the rendering take a copy of the list it is about to render as we can't control what the views are going to do.
I reverse the list while making a copy using the rbegin(), rend() iterator constructor.
I also refactored the internals making use of temporary variables to reduce duplicate code.
To post a comment you must log in.
+1
looks good tim