From e644d2e73f72e7a3e1a9525bdde0de2012efec59 Mon Sep 17 00:00:00 2001 From: James Cloos Date: Mon, 12 May 2008 03:03:13 -0400 Subject: [PATCH] Prevent the -wm command line option from causing a SEGV MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- composite/compwindow.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/composite/compwindow.c b/composite/compwindow.c index c022027db..05dc055c2 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) {