Merge lp:~alan-griffiths/miral/fix-1705973 into lp:miral
- fix-1705973
- Merge into trunk
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Alan Griffiths | ||||
Approved revision: | 569 | ||||
Merged at revision: | 570 | ||||
Proposed branch: | lp:~alan-griffiths/miral/fix-1705973 | ||||
Merge into: | lp:miral | ||||
Diff against target: |
44 lines (+8/-2) 2 files modified
miral-shell/floating_window_manager.cpp (+7/-2) miral-shell/floating_window_manager.h (+1/-0) |
||||
To merge this branch: | bzr merge lp:~alan-griffiths/miral/fix-1705973 | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Mir CI Bot | continuous-integration | Approve | |
Gerry Boland (community) | Approve | ||
Review via email: mp+327965@code.launchpad.net |
Commit message
[miral-shell] Don't allow splashscreen to be occluded
Description of the change
Mir CI Bot (mir-ci-bot) wrote : | # |
Mir CI Bot (mir-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:567
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Gerry Boland (gerboland) wrote : | # |
Hmm, this does help, but also exposes some timing problem
I was testing this with
miral-shell&; sleep 0.2; mir_demo_
Before this patch, yes the spinnytriangle is always on top. With this patch, there is a flicker where the triangle starts before the splash seems to, so there's a flicker.
Most likely a different issue tho
Gerry Boland (gerboland) wrote : | # |
Explaining better:
Before this patch, yes the spinnytriangle is always on top of the splash. With this patch, there is a flicker where the triangle starts before the splash seems to, and then z order changes rapidly when the splash appears on top
Alan Griffiths (alan-griffiths) wrote : | # |
> Explaining better:
> Before this patch, yes the spinnytriangle is always on top of the splash. With
> this patch, there is a flicker where the triangle starts before the splash
> seems to, and then z order changes rapidly when the splash appears on top
I don't see that here (yet).
But there is a potential race when adjusting the z-order and the triangle could potentially paint its few frames before the spinner is (re)placed over it.
Can we file that as a separate bug? I think we need new Mir APIs to control the Z-order directly (or "layers") to avoid it completely.
Gerry Boland (gerboland) wrote : | # |
Yep, ok as separate bug.
Mir CI Bot (mir-ci-bot) wrote : | # |
FAILED: Autolanding.
More details in the following jenkins job:
https:/
Executed test runs:
FAILURE: https:/
None: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
Mir CI Bot (mir-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:568
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Mir CI Bot (mir-ci-bot) wrote : | # |
FAILED: Autolanding.
More details in the following jenkins job:
https:/
Executed test runs:
FAILURE: https:/
None: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
Mir CI Bot (mir-ci-bot) wrote : | # |
FAILED: Autolanding.
More details in the following jenkins job:
https:/
Executed test runs:
FAILURE: https:/
None: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
Mir CI Bot (mir-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:569
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
- 569. By Alan Griffiths
-
merge :parent & resolve trivial conflict (again)
Preview Diff
1 | === modified file 'miral-shell/floating_window_manager.cpp' |
2 | --- miral-shell/floating_window_manager.cpp 2017-07-26 10:44:19 +0000 |
3 | +++ miral-shell/floating_window_manager.cpp 2017-07-28 13:43:38 +0000 |
4 | @@ -312,6 +312,7 @@ |
5 | decoration_provider->create_titlebar_for(window_info.window()); |
6 | |
7 | CanonicalWindowManagerPolicy::handle_window_ready(window_info); |
8 | + keep_spinner_on_top(); |
9 | } |
10 | |
11 | void FloatingWindowManagerPolicy::advise_focus_lost(WindowInfo const& info) |
12 | @@ -326,14 +327,18 @@ |
13 | CanonicalWindowManagerPolicy::advise_focus_gained(info); |
14 | |
15 | decoration_provider->paint_titlebar_for(info, 0xFF); |
16 | + keep_spinner_on_top(); |
17 | +} |
18 | |
19 | +void FloatingWindowManagerPolicy::keep_spinner_on_top() |
20 | +{ |
21 | // Frig to force the spinner to the top |
22 | if (auto const spinner_session = spinner.session()) |
23 | { |
24 | auto const& spinner_info = tools.info_for(spinner_session); |
25 | |
26 | - if (spinner_info.windows().size() > 0) |
27 | - tools.raise_tree(spinner_info.windows()[0]); |
28 | + for (auto const& window : spinner_info.windows()) |
29 | + tools.raise_tree(window); |
30 | } |
31 | } |
32 | |
33 | |
34 | === modified file 'miral-shell/floating_window_manager.h' |
35 | --- miral-shell/floating_window_manager.h 2017-07-26 10:44:19 +0000 |
36 | +++ miral-shell/floating_window_manager.h 2017-07-28 13:43:38 +0000 |
37 | @@ -140,6 +140,7 @@ |
38 | |
39 | void apply_workspace_hidden_to(miral::Window const& window); |
40 | |
41 | + void keep_spinner_on_top(); |
42 | }; |
43 | |
44 | #endif //MIRAL_SHELL_FLOATING_WINDOW_MANAGER_H |
PASSED: Continuous integration, rev:566 /mir-jenkins. ubuntu. com/job/ miral-ci/ 47/ /mir-jenkins. ubuntu. com/job/ build-miral/ 72 /mir-jenkins. ubuntu. com/job/ build-0- fetch/4979 /mir-jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= artful/ 4968 /mir-jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= xenial/ 4968 /mir-jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= zesty/4968 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- miral/arch= amd64,release= artful/ 76 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- miral/arch= amd64,release= artful/ 76/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- miral/arch= amd64,release= xenial/ 76 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- miral/arch= amd64,release= xenial/ 76/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- miral/arch= amd64,release= zesty/76 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- miral/arch= amd64,release= zesty/76/ artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- miral/arch= i386,release= artful/ 76 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- miral/arch= i386,release= artful/ 76/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- miral/arch= i386,release= xenial/ 76 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- miral/arch= i386,release= xenial/ 76/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- miral/arch= i386,release= zesty/76 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- miral/arch= i386,release= zesty/76/ artifact/ output/ *zip*/output. zip
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild: /mir-jenkins. ubuntu. com/job/ miral-ci/ 47/rebuild
https:/