Initial commit contains ebuild for xf86-video-openchrome driver and modified ebuilds for
[openchrome.git] / x11-base / xorg-server / files / 1.4-0009-Don-t-break-grab-and-focus-state-for-a-window-when-r.patch
blob3a8dbd916e260d77fe5842461cb7afc9a21b855a
1 From a6a7fadbb03ee99312dfb15ac478ab3c414c1c0b Mon Sep 17 00:00:00 2001
2 From: =?utf-8?q?Kristian=20H=C3=B8gsberg?= <krh@redhat.com>
3 Date: Wed, 16 Jan 2008 20:24:11 -0500
4 Subject: [PATCH] Don't break grab and focus state for a window when redirecting it.
6 Composite uses an unmap/map cycle to trigger backing pixmap allocation
7 and cliprect recomputation when a window is redirected or unredirected.
8 To avoid protocol visible side effects, map and unmap events are
9 disabled temporarily. However, when a window is unmapped it is also
10 removed from grabs and loses focus, but these state changes are not
11 disabled.
13 This change supresses the unmap side effects during the composite
14 unmap/map cycle and fixes this bug:
16 http://bugzilla.gnome.org/show_bug.cgi?id=488264
18 where compiz would cause gnome-screensaver to lose its grab when
19 compiz unredirects the fullscreen lock window.
20 ---
21 dix/window.c | 3 ++-
22 1 files changed, 2 insertions(+), 1 deletions(-)
24 diff --git a/dix/window.c b/dix/window.c
25 index 33cf76b..1ccf126 100644
26 --- a/dix/window.c
27 +++ b/dix/window.c
28 @@ -2993,7 +2993,8 @@ UnrealizeTree(
30 #endif
31 (* Unrealize)(pChild);
32 - DeleteWindowFromAnyEvents(pChild, FALSE);
33 + if (MapUnmapEventsEnabled(pWin))
34 + DeleteWindowFromAnyEvents(pChild, FALSE);
35 if (pChild->viewable)
37 #ifdef DO_SAVE_UNDERS
38 --
39 1.5.3.8