Magellan Linux

Annotation of /trunk/xorg-server/patches/xorg-server-1.4.0.90-compiz-keyboard-grab.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 486 - (hide annotations) (download)
Wed Feb 13 00:09:39 2008 UTC (16 years, 4 months ago) by niro
File size: 1353 byte(s)
-added several security fixes, a fix for compiz and openoffice

1 niro 486 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.
5    
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.
12    
13     This change supresses the unmap side effects during the composite
14     unmap/map cycle and fixes this bug:
15    
16     http://bugzilla.gnome.org/show_bug.cgi?id=488264
17    
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(-)
23    
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(
29     }
30     #endif
31     (* Unrealize)(pChild);
32     - DeleteWindowFromAnyEvents(pChild, FALSE);
33     + if (MapUnmapEventsEnabled(pWin))
34     + DeleteWindowFromAnyEvents(pChild, FALSE);
35     if (pChild->viewable)
36     {
37     #ifdef DO_SAVE_UNDERS
38     --
39     1.5.3.8
40