Merge lp:~jamalta/unity/677255-unity-fullscreen-2 into lp:unity

Proposed by Jamal Fanaian
Status: Rejected
Rejected by: Alex Launi
Proposed branch: lp:~jamalta/unity/677255-unity-fullscreen-2
Merge into: lp:unity
Diff against target: 28 lines (+9/-8)
1 file modified
src/unity.cpp (+9/-8)
To merge this branch: bzr merge lp:~jamalta/unity/677255-unity-fullscreen-2
Reviewer Review Type Date Requested Status
Neil J. Patel (community) Disapprove
Review via email: mp+42330@code.launchpad.net

Description of the change

Drawing unity screen underneath fullscreen windows.

To post a comment you must log in.
Revision history for this message
Jason Smith (jassmith) wrote :

The correct solution is to ensure that the input windows nux creates are stacked properly. The problem with your solution is that the input windows and where we paint can get out of sync.

Revision history for this message
Jamal Fanaian (jamalta) wrote :

Ah, that makes sense. I will try to dig around how to do that, but chances are someone will fix it before I find a solution to the problem. It is still a lot of fun. Thanks so much for the input!

Revision history for this message
Neil J. Patel (njpatel) wrote :

Hi Jamal, thanks for the merge request! I think that the method Jason proposed has landed in trunk late last week, so I don't think we have the fullscreen problem anymore, so don't look into it :)

review: Disapprove
Revision history for this message
Jamal Fanaian (jamalta) wrote :

It's no problem at all... I started getting overwhelmed over this issue, as my knowledge of the X is limited. I moved back into a smaller bug for now so hopefully I can get that fixed tonight.

Thanks so much, and I appreciate all the useful input.

Unmerged revisions

649. By Jamal Fanaian

Draw unity screen underneath fullscreen windows.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/unity.cpp'
2--- src/unity.cpp 2010-11-26 08:12:02 +0000
3+++ src/unity.cpp 2010-12-01 03:41:19 +0000
4@@ -261,15 +261,16 @@
5 {
6 if (uScreen->doShellRepaint && uScreen->allowWindowPaint)
7 {
8- const std::list <Window> &xwns = nux::XInputWindow::NativeHandleList ();
9+ const std::list <Window> &xwns = nux::XInputWindow::NativeHandleList ();
10
11- for (CompWindow *w = window; w && uScreen->doShellRepaint; w = w->prev)
12- {
13- if (std::find (xwns.begin (), xwns.end (), w->id ()) != xwns.end ())
14- {
15- uScreen->paintDisplay (region);
16- }
17- }
18+ for (CompWindow *w = window; w && uScreen->doShellRepaint; w = w->prev)
19+ {
20+ if (w->type () & CompWindowTypeFullscreenMask ||
21+ std::find (xwns.begin (), xwns.end (), w->id ()) != xwns.end ())
22+ {
23+ uScreen->paintDisplay (region);
24+ }
25+ }
26 }
27
28 bool ret = gWindow->glDraw (matrix, attrib, region, mask);