xserver: Branch 'master'

Adam Jackson ajax at kemper.freedesktop.org
Thu Aug 20 14:15:22 PDT 2009


 composite/compext.c |    8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

New commits:
commit 9d8fc33cae2fee7777edd20658dbf6a3ffb3d557
Author: Adam Jackson <ajax at redhat.com>
Date:   Thu Aug 20 16:56:04 2009 -0400

    composite: Move screen init before extension registration.
    
    Otherwise, you'd still advertise the extension even if no screens
    actually supported it, and the first Composite protocol request would
    probably crash.

diff --git a/composite/compext.c b/composite/compext.c
index 608f29a..56b4f27 100644
--- a/composite/compext.c
+++ b/composite/compext.c
@@ -569,9 +569,14 @@ CompositeExtensionInit (void)
     if (!dixRequestPrivate(CompositeClientPrivateKey,
 			   sizeof(CompositeClientRec)))
 	return;
+
     if (!AddCallback (&ClientStateCallback, CompositeClientCallback, 0))
 	return;
 
+    for (s = 0; s < screenInfo.numScreens; s++)
+	if (!compScreenInit (screenInfo.screens[s]))
+	    return;
+
     extEntry = AddExtension (COMPOSITE_NAME, 0, 0,
 			     ProcCompositeDispatch, SProcCompositeDispatch,
 			     NULL, StandardMinorOpcode);
@@ -579,9 +584,6 @@ CompositeExtensionInit (void)
 	return;
     CompositeReqCode = (CARD8) extEntry->base;
 
-    for (s = 0; s < screenInfo.numScreens; s++)
-	if (!compScreenInit (screenInfo.screens[s]))
-	    return;
     miRegisterRedirectBorderClipProc (compSetRedirectBorderClip,
 				      compGetRedirectBorderClip);
 


More information about the xorg-commit mailing list