table of contents
XGetEventData(3) | XLIB FUNCTIONS | XGetEventData(3) |
NAME¶
XGetEventData, XFreeEventData, XGenericEventCookie - retrieve and free additional event data through cookies.SYNTAX¶
Bool
XGetEventData(Display * display, XGenericEventCookie
*cookie);
void
XFreeEventData(Display * display, XGenericEventCookie
*cookie);
ARGUMENTS¶
- display
- Specifies the connection to the X server.
- cookie
- Specifies the cookie to free or retrieve the data for.
STRUCTURES¶
typedef struct { int type; unsigned long serial; Bool send_event; Display *display; int extension; int evtype; unsigned int cookie; void *data; } XGenericEventCookie;
DESCRIPTION¶
Some extension XGenericEvents require additional memory to store information. For these events, the library returns a XGenericEventCookie with a token ('cookie') unique to this event. The XGenericEventCookie's data pointer is undefined until XGetEventData is called.EXAMPLE CODE¶
XEvent event; XGenericEventCookie *cookie = &ev; XNextEvent(display, &event); if (XGetEventData(display, cookie)) { handle_cookie_event(cookie->data); } else handle_event(&event); } XFreeEventData(display, cookie);
NOTES¶
A cookie is defined as unclaimed if it has been returned to the client through XNextEvent but its data has not been retrieved via XGetEventData. Subsequent calls to XNextEvent may free memory associated with unclaimed cookies. Multi-threaded X clients must ensure that XGetEventData is called before the next call to XNextEvent.SEE ALSO¶
XNextEvent(3),libX11 1.5.0 | X Version 11 |