diff options
Diffstat (limited to 'libX11/src/OpenDis.c')
-rw-r--r-- | libX11/src/OpenDis.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libX11/src/OpenDis.c b/libX11/src/OpenDis.c index 29ac65c6a..230ae561f 100644 --- a/libX11/src/OpenDis.c +++ b/libX11/src/OpenDis.c @@ -790,6 +790,17 @@ _XBigReqHandler( void _XFreeDisplayStructure(Display *dpy) { + /* move all cookies in the EQ to the jar, then free them. */ + if (dpy->qfree) { + _XQEvent *qelt = dpy->qfree; + while (qelt) { + if (_XIsEventCookie(dpy, &qelt->event)) + _XStoreEventCookie(dpy, &qelt->event); + qelt = qelt->next; + } + } + if (dpy->cookiejar) + _XFreeEventCookies(dpy); while (dpy->ext_procs) { _XExtension *ext = dpy->ext_procs; dpy->ext_procs = ext->next; |