Merge lp:~aacid/qtmir/create_observer_sooner into lp:qtmir
| Status: | Merged |
|---|---|
| Approved by: | Michał Sawicz on 2015-01-14 |
| Approved revision: | 300 |
| Merged at revision: | 305 |
| Proposed branch: | lp:~aacid/qtmir/create_observer_sooner |
| Merge into: | lp:qtmir |
| Diff against target: |
337 lines (+122/-48) 10 files modified
src/modules/Unity/Application/mirsurfaceitem.cpp (+9/-16) src/modules/Unity/Application/mirsurfaceitem.h (+4/-26) src/modules/Unity/Application/mirsurfacemanager.cpp (+3/-2) src/modules/Unity/Application/mirsurfacemanager.h (+1/-1) src/platforms/mirserver/CMakeLists.txt (+1/-0) src/platforms/mirserver/sessionlistener.cpp (+7/-1) src/platforms/mirserver/sessionlistener.h (+3/-1) src/platforms/mirserver/surfaceobserver.cpp (+39/-0) src/platforms/mirserver/surfaceobserver.h (+54/-0) tests/modules/MirSurfaceItem/mirsurfaceitem_test.cpp (+1/-1) |
| To merge this branch: | bzr merge lp:~aacid/qtmir/create_observer_sooner |
| Related bugs: |
| Reviewer | Review Type | Date Requested | Status |
|---|---|---|---|
| Michał Sawicz | Abstain on 2015-01-14 | ||
| Gerry Boland | 2014-12-12 | Approve on 2015-01-07 | |
| PS Jenkins bot | continuous-integration | Approve on 2014-12-16 | |
|
Review via email:
|
|||
Commit Message
Move the creation of the surface observer to SessionListener
Otherwise we may lose some frame_posted calls if we delay it (it was run in a different thread), meaning that if the app doesn't paint anything else qtmir will think that nothing was yet drawn showing the splash screen forever.
Description of the Change
* Are there any related MPs required for this MP to build/function as expected? No
* Did you perform an exploratory manual test run of your code change and any related functionality?
Yes
* If you changed the packaging (debian), did you subscribe the ubuntu-unity team to this MP?
N/A
| Gerry Boland (gerboland) wrote : | # |
You approach should work nicely, but I'd prefer SurfaceObserver to emit framesPosted signals and MirSurfaceItem to connect to them, instead of using QMetaObject:
To be absolutely correct, we shouldn't be ignoring the count parameter passed to frame_posted, but that can be a later fix.
| Gerry Boland (gerboland) wrote : | # |
+ SurfaceObserver *so = dynamic_
makes me think you'd be better just having MirSurfaceManag
void MirSurfaceManag
- const std::shared_
+ const std::shared_
+ const std::shared_
Am also doubting if it needs to be a shared_ptr at all. Since SurfaceObserver is a QObject, and we use connect() to listen for its signals, if it is deleted everything should still be ok. I think raw pointer would do just fine. So
void MirSurfaceManag
- const std::shared_
+ const std::shared_
+ const SurfaceObserver *observer)
| PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:297
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
deb: http://
Click here to trigger a rebuild:
http://
| Gerry Boland (gerboland) wrote : | # |
Code wise, looks great. Need to test on all our devices
| PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:299
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
deb: http://
Click here to trigger a rebuild:
http://
| Gerry Boland (gerboland) wrote : | # |
Ok tested on N7, kryllin and my laptop. LGTM
* Did you perform an exploratory manual test run of the code change and any related functionality?
Y
* Did CI run pass? If not, please explain why.
Y
| Michał Sawicz (saviq) wrote : | # |
Text conflict in src/modules/
1 conflicts encountered.
- 300. By Albert Astals Cid on 2015-01-14
-
Merge
| Albert Astals Cid (aacid) wrote : | # |
Merged

PASSED: Continuous integration, rev:296 jenkins. qa.ubuntu. com/job/ qtmir-ci/ 180/ jenkins. qa.ubuntu. com/job/ qtmir-vivid- amd64-ci/ 31 jenkins. qa.ubuntu. com/job/ qtmir-vivid- armhf-ci/ 31 jenkins. qa.ubuntu. com/job/ qtmir-vivid- armhf-ci/ 31/artifact/ work/output/ *zip*/output. zip
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
deb: http://
Click here to trigger a rebuild: s-jenkins. ubuntu- ci:8080/ job/qtmir- ci/180/ rebuild
http://