mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2025-12-24 20:40:04 +01:00
Add dmxCloseDisplay and make dmxOpenDisplay properly initilize
syncCookie and use AddEnableDevice.
This commit is contained in:
parent
bfd41ad4cb
commit
96322ebffc
4 changed files with 20 additions and 12 deletions
|
|
@ -1847,6 +1847,7 @@ dmxAttachScreen (int idx,
|
|||
"WM running. cannot use back-end server "
|
||||
"root window\n");
|
||||
|
||||
dmxCloseDisplay (dmxScreen);
|
||||
/* Restore the old screen */
|
||||
*dmxScreen = oldDMXScreen;
|
||||
return 1;
|
||||
|
|
@ -1918,9 +1919,7 @@ dmxAttachScreen (int idx,
|
|||
dmxLogErrorSet (dmxWarning, errorSet, error, errorName,
|
||||
"No matching visuals found");
|
||||
XFree(dmxScreen->beVisuals);
|
||||
XLIB_PROLOGUE (dmxScreen);
|
||||
XCloseDisplay(dmxScreen->beDisplay);
|
||||
XLIB_EPILOGUE (dmxScreen);
|
||||
dmxCloseDisplay (dmxScreen);
|
||||
|
||||
/* Restore the old screen */
|
||||
*dmxScreen = oldDMXScreen;
|
||||
|
|
@ -1945,9 +1944,7 @@ dmxAttachScreen (int idx,
|
|||
XFree(dmxScreen->beVisuals);
|
||||
XFree(dmxScreen->beDepths);
|
||||
XFree(dmxScreen->bePixmapFormats);
|
||||
XLIB_PROLOGUE (dmxScreen);
|
||||
XCloseDisplay(dmxScreen->beDisplay);
|
||||
XLIB_EPILOGUE (dmxScreen);
|
||||
dmxCloseDisplay (dmxScreen);
|
||||
|
||||
/* Restore the old screen */
|
||||
*dmxScreen = oldDMXScreen;
|
||||
|
|
@ -1961,9 +1958,7 @@ dmxAttachScreen (int idx,
|
|||
XFree(dmxScreen->beVisuals);
|
||||
XFree(dmxScreen->beDepths);
|
||||
XFree(dmxScreen->bePixmapFormats);
|
||||
XLIB_PROLOGUE (dmxScreen);
|
||||
XCloseDisplay(dmxScreen->beDisplay);
|
||||
XLIB_EPILOGUE (dmxScreen);
|
||||
dmxCloseDisplay (dmxScreen);
|
||||
|
||||
/* Restore the old screen */
|
||||
*dmxScreen = oldDMXScreen;
|
||||
|
|
|
|||
|
|
@ -292,10 +292,23 @@ Bool dmxOpenDisplay(DMXScreenInfo *dmxScreen)
|
|||
dmxScreen->fd = XConnectionNumber (dmxScreen->beDisplay);
|
||||
dmxScreen->connection = XGetXCBConnection (dmxScreen->beDisplay);
|
||||
|
||||
dmxScreen->syncCookie.sequence = 0;
|
||||
|
||||
AddEnabledDevice (dmxScreen->fd);
|
||||
|
||||
dmxPropertyDisplay(dmxScreen);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void dmxCloseDisplay(DMXScreenInfo *dmxScreen)
|
||||
{
|
||||
RemoveEnabledDevice (dmxScreen->fd);
|
||||
|
||||
XLIB_PROLOGUE (dmxScreen);
|
||||
XCloseDisplay (dmxScreen->beDisplay);
|
||||
XLIB_EPILOGUE (dmxScreen);
|
||||
}
|
||||
|
||||
void dmxSetErrorHandler(DMXScreenInfo *dmxScreen)
|
||||
{
|
||||
XSetErrorHandler(dmxErrorHandler);
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@
|
|||
#include "scrnintstr.h"
|
||||
|
||||
extern Bool dmxOpenDisplay(DMXScreenInfo *dmxScreen);
|
||||
extern void dmxCloseDisplay(DMXScreenInfo *dmxScreen);
|
||||
extern void dmxSetErrorHandler(DMXScreenInfo *dmxScreen);
|
||||
extern void dmxCheckForWM(DMXScreenInfo *dmxScreen);
|
||||
extern void dmxGetScreenAttribs(DMXScreenInfo *dmxScreen);
|
||||
|
|
|
|||
|
|
@ -55,6 +55,7 @@
|
|||
#include "dmxdpms.h"
|
||||
#include "dmxlog.h"
|
||||
#include "dmxcb.h"
|
||||
#include "dmxinit.h"
|
||||
|
||||
#ifdef PANORAMIX
|
||||
#include "panoramiX.h"
|
||||
|
|
@ -2374,9 +2375,7 @@ void dmxBECloseScreen(ScreenPtr pScreen)
|
|||
#endif
|
||||
|
||||
/* Close display */
|
||||
XLIB_PROLOGUE (dmxScreen);
|
||||
XCloseDisplay(dmxScreen->beDisplay);
|
||||
XLIB_EPILOGUE (dmxScreen);
|
||||
dmxCloseDisplay (dmxScreen);
|
||||
dmxScreen->beDisplay = NULL;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue