diff options
Diffstat (limited to 'libXext')
-rw-r--r-- | libXext/include/X11/extensions/sync.h | 2 | ||||
-rw-r--r-- | libXext/src/Xge.c | 10 |
2 files changed, 10 insertions, 2 deletions
diff --git a/libXext/include/X11/extensions/sync.h b/libXext/include/X11/extensions/sync.h index d3a239f66..31b1be064 100644 --- a/libXext/include/X11/extensions/sync.h +++ b/libXext/include/X11/extensions/sync.h @@ -203,7 +203,7 @@ typedef struct { } XSyncCounterNotifyEvent; typedef struct { - int type; /* event base + XSyncCounterNotify */ + int type; /* event base + XSyncAlarmNotify */ unsigned long serial; /* # of last request processed by server */ Bool send_event; /* true if this came from a SendEvent request */ Display *display; /* Display the event was read from */ diff --git a/libXext/src/Xge.c b/libXext/src/Xge.c index 74e48020a..1f37e596d 100644 --- a/libXext/src/Xge.c +++ b/libXext/src/Xge.c @@ -218,7 +218,15 @@ _xgeDpyClose(Display* dpy, XExtCodes* codes) XFree(xge_data); } - return XextRemoveDisplay(xge_info, dpy); + if(!XextRemoveDisplay(xge_info, dpy)) + return 0; + + if (xge_info->ndisplays == 0) { + XextDestroyExtension(xge_info); + xge_info = NULL; + } + + return 1; } /* |