diff options
author | Deron Johnson <deron.johnson@sun.com> | 2006-03-29 17:51:54 +0000 |
---|---|---|
committer | Deron Johnson <deron.johnson@sun.com> | 2006-03-29 17:51:54 +0000 |
commit | e31e8ace1043eab340d6b60a6e98b23ebf102786 (patch) | |
tree | 9abb7e11fae83112a67367d857f7fb79fa72e40b /composite | |
parent | ff6f88348c7498e83b0b143ef3737fd6eb0995e4 (diff) |
Fix composite overlay window bug 6411
Diffstat (limited to 'composite')
-rw-r--r-- | composite/compinit.c | 3 | ||||
-rw-r--r-- | composite/compwindow.c | 8 |
2 files changed, 11 insertions, 0 deletions
diff --git a/composite/compinit.c b/composite/compinit.c index e74e38248..5a1361216 100644 --- a/composite/compinit.c +++ b/composite/compinit.c @@ -88,6 +88,7 @@ compCloseScreen (int index, ScreenPtr pScreen) xfree (cs); pScreen->devPrivates[CompScreenPrivateIndex].ptr = 0; ret = (*pScreen->CloseScreen) (index, pScreen); + return ret; } @@ -419,5 +420,7 @@ compScreenInit (ScreenPtr pScreen) pScreen->devPrivates[CompScreenPrivateIndex].ptr = (pointer) cs; + RegisterRealChildHeadProc(CompositeRealChildHead); + return TRUE; } diff --git a/composite/compwindow.c b/composite/compwindow.c index 1f8409698..87055b70c 100644 --- a/composite/compwindow.c +++ b/composite/compwindow.c @@ -144,11 +144,19 @@ Bool compCheckRedirect (WindowPtr pWin) { CompWindowPtr cw = GetCompWindow (pWin); + CompScreenPtr cs = GetCompScreen(pWin->drawable.pScreen); Bool should; should = pWin->realized && (pWin->drawable.class != InputOnly) && (cw != NULL); + /* Never redirect the overlay window */ + if (cs->pOverlayWin != NULL) { + if (pWin == cs->pOverlayWin) { + should = FALSE; + } + } + if (should != pWin->redirectDraw) { if (should) |