Mercurial > emacs
changeset 58167:9351060ba546
* XMenu.h (XMenuActivateSetWaitFunction): New function.
* Activate.c (XMenuActivateSetWaitFunction): New function.
(XMenuActivate): Call wait_func if set, before XNextEvent.
author | Jan Djärv <jan.h.d@swipnet.se> |
---|---|
date | Fri, 12 Nov 2004 08:28:57 +0000 |
parents | e0ba1fe44b88 |
children | ab22e6ae6fac |
files | oldXMenu/Activate.c oldXMenu/ChangeLog oldXMenu/XMenu.h |
diffstat | 3 files changed, 25 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/oldXMenu/Activate.c Fri Nov 12 04:06:13 2004 +0000 +++ b/oldXMenu/Activate.c Fri Nov 12 08:28:57 2004 +0000 @@ -85,6 +85,20 @@ /* For debug, set this to 0 to not grab the keyboard on menu popup */ int x_menu_grab_keyboard = 1; +typedef void (*Wait_func)(); + +static Wait_func wait_func; +static void* wait_data; + +void +XMenuActivateSetWaitFunction (func, data) + Wait_func func; + void *data; +{ + wait_func = func; + wait_data = data; +} + int XMenuActivate(display, menu, p_num, s_num, x_pos, y_pos, event_mask, data, help_callback) @@ -266,6 +280,7 @@ * Begin event processing loop. */ while (1) { + if (wait_func) (*wait_func) (wait_data); XNextEvent(display, &event); /* Get next event. */ switch (event.type) { /* Dispatch on the event type. */ case Expose: @@ -557,6 +572,8 @@ free((char *)feq_tmp); } + wait_func = 0; + /* * Return successfully. */
--- a/oldXMenu/ChangeLog Fri Nov 12 04:06:13 2004 +0000 +++ b/oldXMenu/ChangeLog Fri Nov 12 08:28:57 2004 +0000 @@ -1,3 +1,10 @@ +2004-11-12 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> + + * XMenu.h (XMenuActivateSetWaitFunction): New function. + + * Activate.c (XMenuActivateSetWaitFunction): New function. + (XMenuActivate): Call wait_func if set, before XNextEvent. + 2002-04-22 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> * Activate.c: Add calls to GrabKeyboard to remove strange
--- a/oldXMenu/XMenu.h Fri Nov 12 04:06:13 2004 +0000 +++ b/oldXMenu/XMenu.h Fri Nov 12 08:28:57 2004 +0000 @@ -251,6 +251,7 @@ int XMenuEventHandler(); /* No value actually returned. */ int XMenuLocate(); int XMenuSetFreeze(); /* No value actually returned. */ +void XMenuActivateSetWaitFunction(); int XMenuActivate(); char *XMenuPost(); int XMenuDeletePane();