aboutsummaryrefslogtreecommitdiff
path: root/libXext
diff options
context:
space:
mode:
Diffstat (limited to 'libXext')
-rw-r--r--libXext/include/X11/extensions/sync.h2
-rw-r--r--libXext/src/Xge.c10
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;
}
/*