Mir

Merge lp:~vanvugt/mir/fix-1378706 into lp:mir

Proposed by Daniel van Vugt on 2014-10-15
Status: Merged
Approved by: Alan Griffiths on 2014-10-15
Approved revision: 1984
Merged at revision: 1985
Proposed branch: lp:~vanvugt/mir/fix-1378706
Merge into: lp:mir
Diff against target: 21 lines (+11/-0)
1 file modified
playground/demo-shell/demo_compositor.cpp (+11/-0)
To merge this branch: bzr merge lp:~vanvugt/mir/fix-1378706
Reviewer Review Type Date Requested Status
Alan Griffiths Approve on 2014-10-15
Alexandros Frantzis (community) 2014-10-15 Approve on 2014-10-15
PS Jenkins bot (community) continuous-integration Approve on 2014-10-15
Review via email: mp+238403@code.launchpad.net

Commit message

demo-shell: Quick fix for when an opaque fullscreen surface is on top.
Make sure the bypass check doesn't get skipped when we need it most
(LP: #1378706)

This is a bit hackish. But the problem and the solution are both
confined to DemoCompositor so I think good to have something that
at least works until we find a more elegant way to demo occlusion
testing of decorations.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'playground/demo-shell/demo_compositor.cpp'
2--- playground/demo-shell/demo_compositor.cpp 2014-10-09 09:49:46 +0000
3+++ playground/demo-shell/demo_compositor.cpp 2014-10-15 09:39:39 +0000
4@@ -81,6 +81,17 @@
5 if (renderable->visible() && any_part_drawn)
6 {
7 renderable_list.push_back(renderable);
8+
9+ // Fullscreen and opaque? Definitely no embellishment
10+ if (renderable->screen_position() == view_area &&
11+ renderable->alpha() == 1.0f &&
12+ !renderable->shaped() &&
13+ renderable->transformation() == glm::mat4())
14+ {
15+ embellished = false;
16+ nonrenderlist_elements = false; // Don't care what's underneath
17+ }
18+
19 it->rendered_in(this);
20 }
21 else

Subscribers

People subscribed via source and target branches