Merge lp:~alan-griffiths/miral/fix-1705973 into lp:miral

Proposed by Alan Griffiths
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
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

To post a comment you must log in.
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

PASSED: Continuous integration, rev:566
https://mir-jenkins.ubuntu.com/job/miral-ci/47/
Executed test runs:
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-miral/72
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/4979
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=artful/4968
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial/4968
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=zesty/4968
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=amd64,release=artful/76
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=amd64,release=artful/76/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=amd64,release=xenial/76
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=amd64,release=xenial/76/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=amd64,release=zesty/76
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=amd64,release=zesty/76/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=i386,release=artful/76
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=i386,release=artful/76/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=i386,release=xenial/76
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=i386,release=xenial/76/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=i386,release=zesty/76
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=i386,release=zesty/76/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/miral-ci/47/rebuild

review: Approve (continuous-integration)
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

PASSED: Continuous integration, rev:567
https://mir-jenkins.ubuntu.com/job/miral-ci/48/
Executed test runs:
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-miral/73
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/4980
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=artful/4969
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial/4969
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=zesty/4969
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=amd64,release=artful/77
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=amd64,release=artful/77/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=amd64,release=xenial/77
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=amd64,release=xenial/77/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=amd64,release=zesty/77
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=amd64,release=zesty/77/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=i386,release=artful/77
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=i386,release=artful/77/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=i386,release=xenial/77
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=i386,release=xenial/77/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=i386,release=zesty/77
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=i386,release=zesty/77/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/miral-ci/48/rebuild

review: Approve (continuous-integration)
Revision history for this message
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_client_egltriangle

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

review: Needs Information
Revision history for this message
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

Revision history for this message
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.

Revision history for this message
Gerry Boland (gerboland) wrote :

Yep, ok as separate bug.

review: Approve
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

PASSED: Continuous integration, rev:568
https://mir-jenkins.ubuntu.com/job/miral-ci/55/
Executed test runs:
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-miral/83
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/5002
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=artful/4991
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial/4991
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=zesty/4991
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=amd64,release=artful/87
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=amd64,release=artful/87/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=amd64,release=xenial/87
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=amd64,release=xenial/87/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=amd64,release=zesty/87
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=amd64,release=zesty/87/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=i386,release=artful/87
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=i386,release=artful/87/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=i386,release=xenial/87
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=i386,release=xenial/87/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=i386,release=zesty/87
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=i386,release=zesty/87/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/miral-ci/55/rebuild

review: Approve (continuous-integration)
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

PASSED: Continuous integration, rev:569
https://mir-jenkins.ubuntu.com/job/miral-ci/57/
Executed test runs:
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-miral/88
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/5007
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=artful/4996
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial/4996
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=zesty/4996
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=amd64,release=artful/92
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=amd64,release=artful/92/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=amd64,release=xenial/92
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=amd64,release=xenial/92/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=amd64,release=zesty/92
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=amd64,release=zesty/92/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=i386,release=artful/92
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=i386,release=artful/92/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=i386,release=xenial/92
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=i386,release=xenial/92/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=i386,release=zesty/92
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=i386,release=zesty/92/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/miral-ci/57/rebuild

review: Approve (continuous-integration)
lp:~alan-griffiths/miral/fix-1705973 updated
569. By Alan Griffiths

merge :parent & resolve trivial conflict (again)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
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

Subscribers

People subscribed via source and target branches