From 73a8a1aa6cd6d747d533ca63213f511244820a45 Mon Sep 17 00:00:00 2001 From: David Reveman Date: Wed, 19 Nov 2008 17:40:58 -0500 Subject: [PATCH] Fix a number of obvious XLIB_PROLOGUE/EPILOGUE issues. --- hw/dmx/dmxextension.c | 4 +++- hw/dmx/dmxinit.c | 11 ++++++++++- hw/dmx/dmxrandr.c | 4 ++-- hw/dmx/dmxscrinit.c | 4 ++-- 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/hw/dmx/dmxextension.c b/hw/dmx/dmxextension.c index 3764bf31f..c7eecaf7f 100644 --- a/hw/dmx/dmxextension.c +++ b/hw/dmx/dmxextension.c @@ -1495,7 +1495,7 @@ dmxAttachScreen (int idx, return 1; } - XLIB_PROLOGUE (dmxScreens); + XLIB_PROLOGUE (dmxScreen); beShape = XShapeQueryExtension (dmxScreen->beDisplay, &dmxScreen->beShapeEventBase, &errorBase); @@ -1515,9 +1515,11 @@ dmxAttachScreen (int idx, if (!dmxScreen->scrnWin) dmxScreen->scrnWin = DefaultRootWindow (dmxScreen->beDisplay); + XLIB_PROLOGUE (dmxScreen); XSelectInput (dmxScreen->beDisplay, dmxScreen->scrnWin, StructureNotifyMask); + XLIB_EPILOGUE (dmxScreen); dmxSetErrorHandler(dmxScreen); dmxGetScreenAttribs(dmxScreen); diff --git a/hw/dmx/dmxinit.c b/hw/dmx/dmxinit.c index bf27b31a8..23e1c28c7 100644 --- a/hw/dmx/dmxinit.c +++ b/hw/dmx/dmxinit.c @@ -323,8 +323,17 @@ Bool dmxOpenDisplay(DMXScreenInfo *dmxScreen, XSetAuthorization ((char *) authType, authTypeLen, (char *) authData, authDataLen); - if (!(dmxScreen->beDisplay = XOpenDisplay(display))) + dmxScreen->alive = 1; + + XLIB_PROLOGUE (dmxScreen); + dmxScreen->beDisplay = XOpenDisplay (display); + XLIB_EPILOGUE (dmxScreen); + + if (!dmxScreen->beDisplay) + { + dmxScreen->alive = 0; return FALSE; + } dmxScreen->alive = 1; dmxScreen->broken = 0; diff --git a/hw/dmx/dmxrandr.c b/hw/dmx/dmxrandr.c index f0b69fb58..18ba73396 100644 --- a/hw/dmx/dmxrandr.c +++ b/hw/dmx/dmxrandr.c @@ -1233,9 +1233,9 @@ dmxRRScreenInit (ScreenPtr pScreen) if (display && beRandr) { - XLIB_PROLOGUE (dmxScreens); + XLIB_PROLOGUE (dmxScreen); r = XRRGetScreenResources (display, DefaultRootWindow (display)); - XLIB_EPILOGUE (dmxScreens); + XLIB_EPILOGUE (dmxScreen); } if (r) diff --git a/hw/dmx/dmxscrinit.c b/hw/dmx/dmxscrinit.c index da3c57985..55225a509 100644 --- a/hw/dmx/dmxscrinit.c +++ b/hw/dmx/dmxscrinit.c @@ -150,7 +150,7 @@ void dmxBEScreenInit(ScreenPtr pScreen) while (--i) dmxBEPrefetchAtom (dmxScreen, (Atom) i); - XLIB_PROLOGUE (dmxScreens); + XLIB_PROLOGUE (dmxScreen); dmxScreen->beSelectionAtom = XInternAtom (dmxScreen->beDisplay, buf, 0); XLIB_EPILOGUE (dmxScreen); @@ -175,7 +175,7 @@ void dmxBEScreenInit(ScreenPtr pScreen) if ((dmxScreen->bePixmapFormats[i].depth == 1) || (dmxScreen->bePixmapFormats[i].depth == dmxScreen->beDepths[j])) { - XLIB_PROLOGUE (dmxScreens); + XLIB_PROLOGUE (dmxScreen); dmxScreen->scrnDefDrawables[i] = (Drawable) XCreatePixmap(dmxScreen->beDisplay, dmxScreen->scrnWin, 1, 1, dmxScreen->bePixmapFormats[i].depth);