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
=== modified file 'miral-shell/floating_window_manager.cpp'
--- miral-shell/floating_window_manager.cpp 2017-07-26 10:44:19 +0000
+++ miral-shell/floating_window_manager.cpp 2017-07-28 13:43:38 +0000
@@ -312,6 +312,7 @@
312 decoration_provider->create_titlebar_for(window_info.window());312 decoration_provider->create_titlebar_for(window_info.window());
313313
314 CanonicalWindowManagerPolicy::handle_window_ready(window_info);314 CanonicalWindowManagerPolicy::handle_window_ready(window_info);
315 keep_spinner_on_top();
315}316}
316317
317void FloatingWindowManagerPolicy::advise_focus_lost(WindowInfo const& info)318void FloatingWindowManagerPolicy::advise_focus_lost(WindowInfo const& info)
@@ -326,14 +327,18 @@
326 CanonicalWindowManagerPolicy::advise_focus_gained(info);327 CanonicalWindowManagerPolicy::advise_focus_gained(info);
327328
328 decoration_provider->paint_titlebar_for(info, 0xFF);329 decoration_provider->paint_titlebar_for(info, 0xFF);
330 keep_spinner_on_top();
331}
329332
333void FloatingWindowManagerPolicy::keep_spinner_on_top()
334{
330 // Frig to force the spinner to the top335 // Frig to force the spinner to the top
331 if (auto const spinner_session = spinner.session())336 if (auto const spinner_session = spinner.session())
332 {337 {
333 auto const& spinner_info = tools.info_for(spinner_session);338 auto const& spinner_info = tools.info_for(spinner_session);
334339
335 if (spinner_info.windows().size() > 0)340 for (auto const& window : spinner_info.windows())
336 tools.raise_tree(spinner_info.windows()[0]);341 tools.raise_tree(window);
337 }342 }
338}343}
339344
340345
=== modified file 'miral-shell/floating_window_manager.h'
--- miral-shell/floating_window_manager.h 2017-07-26 10:44:19 +0000
+++ miral-shell/floating_window_manager.h 2017-07-28 13:43:38 +0000
@@ -140,6 +140,7 @@
140140
141 void apply_workspace_hidden_to(miral::Window const& window);141 void apply_workspace_hidden_to(miral::Window const& window);
142142
143 void keep_spinner_on_top();
143};144};
144145
145#endif //MIRAL_SHELL_FLOATING_WINDOW_MANAGER_H146#endif //MIRAL_SHELL_FLOATING_WINDOW_MANAGER_H

Subscribers

People subscribed via source and target branches