Merge lp:~andreas-pokorny/mir/mediate-nested-cursor-configuration-on-construction into lp:mir
Status: | Merged |
---|---|
Approved by: | Andreas Pokorny |
Approved revision: | no longer in the source branch. |
Merged at revision: | 3514 |
Proposed branch: | lp:~andreas-pokorny/mir/mediate-nested-cursor-configuration-on-construction |
Merge into: | lp:mir |
Diff against target: |
168 lines (+67/-8) 3 files modified
src/server/graphics/nested/mir_client_host_connection.cpp (+40/-3) src/server/graphics/nested/mir_client_host_connection.h (+19/-0) tests/acceptance-tests/test_nested_mir.cpp (+8/-5) |
To merge this branch: | bzr merge lp:~andreas-pokorny/mir/mediate-nested-cursor-configuration-on-construction |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Mir CI Bot | continuous-integration | Approve | |
Kevin DuBois (community) | Approve | ||
Alan Griffiths | Approve | ||
Chris Halse Rogers | Approve | ||
Cemil Azizoglu (community) | Approve | ||
Review via email: mp+293254@code.launchpad.net |
Commit message
Store the cursor image configured in MirClientHostCo
Due to rather accidental construction orders the initial configuration of the nested surface cursor images is lost.
It is done by mir::graphics:
any attached DisplayBuffers. With this change the construction order is no longer relevant.
A change of the construction order will happen due to the changes in the nested input platform.
Description of the change
This is a split out from the nested input platform work. On lp:mir the nested cursor attempts to set the default cursor image to the hostconnection which then turns to all available surfaces and applies the cursor image. But since the display buffers need the cursor listener interface and since the display buffers are created on construction that immediate cursor image setting fails.
It fails, but at the same time it also fulfills one of our acceptance tests which require no buffer submission on startup of the nested server.
The nested input platform MP makes small changes to the dependencies and thus changes the order in which Cursor and Display constructors are executed. Thus setting the cursor images succeeds so we get one buffer submission on the buffer stream of the cursor images on nested server construction.
This MP stores the CursorImage inside the MirHostClientCo
FAILED: Continuous integration, rev:3483 /mir-jenkins. ubuntu. com/job/ mir-ci/ 911/ /mir-jenkins. ubuntu. com/job/ build-mir/ 957/console /mir-jenkins. ubuntu. com/job/ build-0- fetch/998 /mir-jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= vivid+overlay/ 989 /mir-jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= xenial/ 989 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= clang,platform= mesa,release= vivid+overlay/ 967/console /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= gcc,platform= mesa,release= xenial/ 967 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= gcc,platform= mesa,release= xenial/ 967/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= cross-armhf, compiler= gcc,platform= android, release= vivid+overlay/ 967 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= cross-armhf, compiler= gcc,platform= android, release= vivid+overlay/ 967/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= i386,compiler= gcc,platform= android, release= vivid+overlay/ 967 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= i386,compiler= gcc,platform= android, release= vivid+overlay/ 967/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= i386,compiler= gcc,platform= mesa,release= xenial/ 967/console
https:/
Executed test runs:
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
FAILURE: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
Click here to trigger a rebuild: /mir-jenkins. ubuntu. com/job/ mir-ci/ 911/rebuild
https:/