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.
This commit is contained in:
Adam Jackson 2009-08-20 16:56:04 -04:00
parent ae68708ebe
commit 9d8fc33cae

View File

@ -569,9 +569,14 @@ CompositeExtensionInit (void)
if (!dixRequestPrivate(CompositeClientPrivateKey, if (!dixRequestPrivate(CompositeClientPrivateKey,
sizeof(CompositeClientRec))) sizeof(CompositeClientRec)))
return; return;
if (!AddCallback (&ClientStateCallback, CompositeClientCallback, 0)) if (!AddCallback (&ClientStateCallback, CompositeClientCallback, 0))
return; return;
for (s = 0; s < screenInfo.numScreens; s++)
if (!compScreenInit (screenInfo.screens[s]))
return;
extEntry = AddExtension (COMPOSITE_NAME, 0, 0, extEntry = AddExtension (COMPOSITE_NAME, 0, 0,
ProcCompositeDispatch, SProcCompositeDispatch, ProcCompositeDispatch, SProcCompositeDispatch,
NULL, StandardMinorOpcode); NULL, StandardMinorOpcode);
@ -579,9 +584,6 @@ CompositeExtensionInit (void)
return; return;
CompositeReqCode = (CARD8) extEntry->base; CompositeReqCode = (CARD8) extEntry->base;
for (s = 0; s < screenInfo.numScreens; s++)
if (!compScreenInit (screenInfo.screens[s]))
return;
miRegisterRedirectBorderClipProc (compSetRedirectBorderClip, miRegisterRedirectBorderClipProc (compSetRedirectBorderClip,
compGetRedirectBorderClip); compGetRedirectBorderClip);