Annotation of /trunk/xorg-server/patches/xorg-server-1.4.0.90-compiz-keyboard-grab.patch
Parent Directory | Revision Log
Revision 486 -
(hide annotations)
(download)
Wed Feb 13 00:09:39 2008 UTC (16 years, 7 months ago) by niro
File size: 1353 byte(s)
Wed Feb 13 00:09:39 2008 UTC (16 years, 7 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 |