Merge lp:~gerboland/qtmir/frameSwapped-crash-fix into lp:qtmir
Proposed by
Gerry Boland
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Daniel d'Andrada | ||||
Approved revision: | no longer in the source branch. | ||||
Merged at revision: | 419 | ||||
Proposed branch: | lp:~gerboland/qtmir/frameSwapped-crash-fix | ||||
Merge into: | lp:qtmir | ||||
Prerequisite: | lp:~dandrader/qtmir/surfaceCursor | ||||
Diff against target: |
91 lines (+25/-10) 2 files modified
src/modules/Unity/Application/mirsurfaceitem.cpp (+21/-10) src/modules/Unity/Application/mirsurfaceitem.h (+4/-0) |
||||
To merge this branch: | bzr merge lp:~gerboland/qtmir/frameSwapped-crash-fix | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Daniel d'Andrada (community) | Approve | ||
PS Jenkins bot | continuous-integration | Pending | |
Review via email: mp+278467@code.launchpad.net |
This proposal supersedes a proposal from 2015-11-20.
Commit message
Manage frameSwapped signal/slot connection with MirSurface more strictly to avoid crash.
Direct Signal/slot connections across thread boundaries incur the same risks as any cross-thread calls. While connect/disconnect are thread safe methods, it is possible for a slot to be called while the slot owner is being deconstructed - and so not yet disconnected.
So watch for the Item's window change signal and disconnect signal immediately. Also move slot ownership to MirSurfaceItem to auto-disconnect more aggressively.
To post a comment you must log in.
To test, run the entire UITK AP suite and verify unity8 doesn't crash.