xserver: Branch 'server-1.4-branch'

Daniel Stone daniels at kemper.freedesktop.org
Fri May 16 09:50:00 PDT 2008


 composite/compwindow.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 2989f1071648770b5bbbfd80979f04d949f3dc57
Author: Daniel Stone <daniel at fooishbar.org>
Date:   Fri May 16 19:49:05 2008 +0300

    Prevent the -wm command line option from causing a SEGV
    
    The -wm (when mapped) option for the BackingStore support has been
    causing the server to dereference a NULL pointer.
    
    This has probably been the case since backing store has been
    implemented on top of Composite.
    
    It looks like (some of?) Composite didn’t expect its WIndowPtr
    argument to be the root window.
    
    In Composite’s compCheckRedirect() function we now avoid calling
    compAllocPixmap() and compFreePixmap() when the pWin pointer’s
    parent member is NULL, as is it the case with a server’s root window.
    
    This addresses:
    
    https://bugs.freedesktop.org/show_bug.cgi?id=15878
    (cherry picked from commit 04211c3532ca078420e3745a5eac3d9de120bc32)

diff --git a/composite/compwindow.c b/composite/compwindow.c
index 33192ad..65f77cf 100644
--- a/composite/compwindow.c
+++ b/composite/compwindow.c
@@ -146,8 +146,8 @@ compCheckRedirect (WindowPtr pWin)
     Bool	    should;
 
     should = pWin->realized && (pWin->drawable.class != InputOnly) &&
-	     (cw != NULL);
-    
+	     (cw != NULL) && (pWin->parent != NULL);
+
     /* Never redirect the overlay window */
     if (cs->pOverlayWin != NULL) {
 	if (pWin == cs->pOverlayWin) {


More information about the xorg-commit mailing list