summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Weinehall <tao@debian.org>2007-08-01 05:12:21 +0300
committerDaniel Stone <daniel@fooishbar.org>2007-08-01 05:12:21 +0300
commit8f5f7e9d6fc288a5cc00df3a7fec44211cdbe8f4 (patch)
treee353d8901f97d7aebd44c2a50a468603d018636a
parenta07c3cc1eec0427a056414ef44ef6ee4204df383 (diff)
XGetSelectedExtensionEvents: Still more locking bugs
Fix a couple more return-without-unlocks.
-rw-r--r--src/XGtSelect.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/XGtSelect.c b/src/XGtSelect.c
index 9f596fd..95d3c87 100644
--- a/src/XGtSelect.c
+++ b/src/XGtSelect.c
@@ -106,6 +106,8 @@ XGetSelectedExtensionEvents(dpy, w, this_client_count, this_client_list,
sizeof(XEventClass));
if (!*this_client_list) {
_XEatData(dpy, (unsigned long)tlen + alen);
+ UnlockDisplay(dpy);
+ SyncHandle();
return (Success);
}
for (i = 0; i < *this_client_count; i++) {
@@ -122,6 +124,8 @@ XGetSelectedExtensionEvents(dpy, w, this_client_count, this_client_list,
Xfree((char *)*this_client_list);
*this_client_list = NULL;
_XEatData(dpy, (unsigned long)alen);
+ UnlockDisplay(dpy);
+ SyncHandle();
return (Success);
}
for (i = 0; i < *all_clients_count; i++) {