[arch-commits] CVS update of extra/x11/xorg-server (1 file)
Jan de Groot
jgc at archlinux.org
Sun Feb 3 14:53:37 UTC 2008
Date: Sunday, February 3, 2008 @ 09:53:37
Author: jgc
Path: /home/cvs-extra/extra/x11/xorg-server
Added: 42_dont_break_grab_and_focus_for_window_when_redirecting.diff (1.1)
Add missing patch
---------------------------------------------------------------+
42_dont_break_grab_and_focus_for_window_when_redirecting.diff | 35 ++++++++++
1 file changed, 35 insertions(+)
Index: extra/x11/xorg-server/42_dont_break_grab_and_focus_for_window_when_redirecting.diff
diff -u /dev/null extra/x11/xorg-server/42_dont_break_grab_and_focus_for_window_when_redirecting.diff:1.1
--- /dev/null Sun Feb 3 09:53:37 2008
+++ extra/x11/xorg-server/42_dont_break_grab_and_focus_for_window_when_redirecting.diff Sun Feb 3 09:53:37 2008
@@ -0,0 +1,35 @@
+commit a6a7fadbb03ee99312dfb15ac478ab3c414c1c0b
+Author: Kristian Høgsberg <krh at redhat.com>
+Date: Wed Jan 16 20:24:11 2008 -0500
+
+ Don't break grab and focus state for a window when redirecting it.
+
+ Composite uses an unmap/map cycle to trigger backing pixmap allocation
+ and cliprect recomputation when a window is redirected or unredirected.
+ To avoid protocol visible side effects, map and unmap events are
+ disabled temporarily. However, when a window is unmapped it is also
+ removed from grabs and loses focus, but these state changes are not
+ disabled.
+
+ This change supresses the unmap side effects during the composite
+ unmap/map cycle and fixes this bug:
+
+ http://bugzilla.gnome.org/show_bug.cgi?id=488264
+
+ where compiz would cause gnome-screensaver to lose its grab when
+ compiz unredirects the fullscreen lock window.
+
+diff --git a/dix/window.c b/dix/window.c
+index 33cf76b..1ccf126 100644
+--- a/dix/window.c
++++ b/dix/window.c
+@@ -2993,7 +2993,8 @@ UnrealizeTree(
+ }
+ #endif
+ (* Unrealize)(pChild);
+- DeleteWindowFromAnyEvents(pChild, FALSE);
++ if (MapUnmapEventsEnabled(pWin))
++ DeleteWindowFromAnyEvents(pChild, FALSE);
+ if (pChild->viewable)
+ {
+ #ifdef DO_SAVE_UNDERS
More information about the arch-commits
mailing list