xserver: Branch 'xorg-server-1.5-apple'

Jeremy Huddleston jeremyhu at kemper.freedesktop.org
Wed Aug 5 17:45:08 PDT 2009


 dix/window.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit b608c864ccc59628bd33c033393121b61580460e
Author: Jeremy Huddleston <jeremyhu at freedesktop.org>
Date:   Wed Aug 5 17:43:29 2009 -0700

    CheckWindowOptionalNeed: Ensure w->optional is set to avoid SEGFAULT
    
    If CheckWindowOptionalNeed is called consecutively (and the first removes optional), then
    we will SEGFAULT.  This can happen in XQuartz because ReparentWindow will call
    pScreen->ReparentWindow which can DeleteProperty which will CheckWindowOptionalNeed... then
    ReparentWindow will call it again later indiscriminantly.

diff --git a/dix/window.c b/dix/window.c
index 9bbbed5..256d866 100644
--- a/dix/window.c
+++ b/dix/window.c
@@ -3534,7 +3534,7 @@ CheckWindowOptionalNeed (WindowPtr w)
     WindowOptPtr optional;
     WindowOptPtr parentOptional;
 
-    if (!w->parent)
+    if (!w->parent || !w->optional)
 	return;
     optional = w->optional;
     if (optional->dontPropagateMask != DontPropagateMasks[w->dontPropagate])


More information about the xorg-commit mailing list