Fix crash in rootless XDarwin due to rootless being initialized before

damage extension.
This commit is contained in:
Torrey Lyons 2004-08-12 20:24:36 +00:00
parent 961333143e
commit 2889ad2cb8
2 changed files with 23 additions and 2 deletions

View File

@ -1,4 +1,4 @@
/* $XdotOrg: xc/programs/Xserver/hw/darwin/quartz/cr/crScreen.m,v 1.2 2004/04/23 19:15:51 eich Exp $ */ /* $XdotOrg: xc/programs/Xserver/hw/darwin/quartz/cr/crScreen.m,v 1.3 2004/07/30 19:12:18 torrey Exp $ */
/* /*
* Cocoa rootless implementation initialization * Cocoa rootless implementation initialization
*/ */
@ -47,6 +47,9 @@
#include "scrnintstr.h" #include "scrnintstr.h"
#include "picturestr.h" #include "picturestr.h"
#include "globals.h" #include "globals.h"
#ifdef DAMAGE
# include "damage.h"
#endif
#undef BOOL #undef BOOL
// Name of GLX bundle using AGL framework // Name of GLX bundle using AGL framework
@ -258,6 +261,13 @@ CRSetupScreen(int index, ScreenPtr pScreen)
} }
#endif /* RENDER */ #endif /* RENDER */
#ifdef DAMAGE
// The Damage extension needs to wrap underneath the
// generic rootless layer, so do it now.
if (!DamageSetup(pScreen))
return FALSE;
#endif
// Initialize generic rootless code // Initialize generic rootless code
return CRInit(pScreen); return CRInit(pScreen);
} }

View File

@ -1,4 +1,4 @@
/* $XdotOrg: xc/programs/Xserver/hw/darwin/quartz/xpr/xprScreen.c,v 1.2 2004/04/23 19:16:52 eich Exp $ */ /* $XdotOrg: xc/programs/Xserver/hw/darwin/quartz/xpr/xprScreen.c,v 1.3 2004/07/30 19:12:18 torrey Exp $ */
/* /*
* Xplugin rootless implementation screen functions * Xplugin rootless implementation screen functions
*/ */
@ -42,6 +42,10 @@
#include "Xplugin.h" #include "Xplugin.h"
#include "applewmExt.h" #include "applewmExt.h"
#ifdef DAMAGE
# include "damage.h"
#endif
// Name of GLX bundle for native OpenGL // Name of GLX bundle for native OpenGL
static const char *xprOpenGLBundle = "glxCGL.bundle"; static const char *xprOpenGLBundle = "glxCGL.bundle";
@ -321,6 +325,13 @@ xprSetupScreen(int index, ScreenPtr pScreen)
} }
#endif /* RENDER */ #endif /* RENDER */
#ifdef DAMAGE
// The Damage extension needs to wrap underneath the
// generic rootless layer, so do it now.
if (!DamageSetup(pScreen))
return FALSE;
#endif
// Initialize generic rootless code // Initialize generic rootless code
if (!xprInit(pScreen)) if (!xprInit(pScreen))
return FALSE; return FALSE;