diff options
| author | Jan Djärv | 2004-11-12 08:28:57 +0000 |
|---|---|---|
| committer | Jan Djärv | 2004-11-12 08:28:57 +0000 |
| commit | 141dbd2b161fb6aa97b935799cfd7edb7105f980 (patch) | |
| tree | 060ef378b72be75f17c90afd49e24b760fa07b74 | |
| parent | 036cf769ad82564e8e18da37c0d9df65fe8f4752 (diff) | |
| download | emacs-141dbd2b161fb6aa97b935799cfd7edb7105f980.tar.gz emacs-141dbd2b161fb6aa97b935799cfd7edb7105f980.zip | |
* XMenu.h (XMenuActivateSetWaitFunction): New function.
* Activate.c (XMenuActivateSetWaitFunction): New function.
(XMenuActivate): Call wait_func if set, before XNextEvent.
| -rw-r--r-- | oldXMenu/Activate.c | 17 | ||||
| -rw-r--r-- | oldXMenu/ChangeLog | 7 | ||||
| -rw-r--r-- | oldXMenu/XMenu.h | 1 |
3 files changed, 25 insertions, 0 deletions
diff --git a/oldXMenu/Activate.c b/oldXMenu/Activate.c index 840c423471b..363b225a355 100644 --- a/oldXMenu/Activate.c +++ b/oldXMenu/Activate.c | |||
| @@ -85,6 +85,20 @@ | |||
| 85 | /* For debug, set this to 0 to not grab the keyboard on menu popup */ | 85 | /* For debug, set this to 0 to not grab the keyboard on menu popup */ |
| 86 | int x_menu_grab_keyboard = 1; | 86 | int x_menu_grab_keyboard = 1; |
| 87 | 87 | ||
| 88 | typedef void (*Wait_func)(); | ||
| 89 | |||
| 90 | static Wait_func wait_func; | ||
| 91 | static void* wait_data; | ||
| 92 | |||
| 93 | void | ||
| 94 | XMenuActivateSetWaitFunction (func, data) | ||
| 95 | Wait_func func; | ||
| 96 | void *data; | ||
| 97 | { | ||
| 98 | wait_func = func; | ||
| 99 | wait_data = data; | ||
| 100 | } | ||
| 101 | |||
| 88 | int | 102 | int |
| 89 | XMenuActivate(display, menu, p_num, s_num, x_pos, y_pos, event_mask, data, | 103 | XMenuActivate(display, menu, p_num, s_num, x_pos, y_pos, event_mask, data, |
| 90 | help_callback) | 104 | help_callback) |
| @@ -266,6 +280,7 @@ XMenuActivate(display, menu, p_num, s_num, x_pos, y_pos, event_mask, data, | |||
| 266 | * Begin event processing loop. | 280 | * Begin event processing loop. |
| 267 | */ | 281 | */ |
| 268 | while (1) { | 282 | while (1) { |
| 283 | if (wait_func) (*wait_func) (wait_data); | ||
| 269 | XNextEvent(display, &event); /* Get next event. */ | 284 | XNextEvent(display, &event); /* Get next event. */ |
| 270 | switch (event.type) { /* Dispatch on the event type. */ | 285 | switch (event.type) { /* Dispatch on the event type. */ |
| 271 | case Expose: | 286 | case Expose: |
| @@ -557,6 +572,8 @@ XMenuActivate(display, menu, p_num, s_num, x_pos, y_pos, event_mask, data, | |||
| 557 | free((char *)feq_tmp); | 572 | free((char *)feq_tmp); |
| 558 | } | 573 | } |
| 559 | 574 | ||
| 575 | wait_func = 0; | ||
| 576 | |||
| 560 | /* | 577 | /* |
| 561 | * Return successfully. | 578 | * Return successfully. |
| 562 | */ | 579 | */ |
diff --git a/oldXMenu/ChangeLog b/oldXMenu/ChangeLog index 4bcd8120556..ab86c364736 100644 --- a/oldXMenu/ChangeLog +++ b/oldXMenu/ChangeLog | |||
| @@ -1,3 +1,10 @@ | |||
| 1 | 2004-11-12 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 2 | |||
| 3 | * XMenu.h (XMenuActivateSetWaitFunction): New function. | ||
| 4 | |||
| 5 | * Activate.c (XMenuActivateSetWaitFunction): New function. | ||
| 6 | (XMenuActivate): Call wait_func if set, before XNextEvent. | ||
| 7 | |||
| 1 | 2002-04-22 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | 8 | 2002-04-22 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> |
| 2 | 9 | ||
| 3 | * Activate.c: Add calls to GrabKeyboard to remove strange | 10 | * Activate.c: Add calls to GrabKeyboard to remove strange |
diff --git a/oldXMenu/XMenu.h b/oldXMenu/XMenu.h index fde2a954620..46e390d3b0a 100644 --- a/oldXMenu/XMenu.h +++ b/oldXMenu/XMenu.h | |||
| @@ -251,6 +251,7 @@ int XMenuRecompute(); | |||
| 251 | int XMenuEventHandler(); /* No value actually returned. */ | 251 | int XMenuEventHandler(); /* No value actually returned. */ |
| 252 | int XMenuLocate(); | 252 | int XMenuLocate(); |
| 253 | int XMenuSetFreeze(); /* No value actually returned. */ | 253 | int XMenuSetFreeze(); /* No value actually returned. */ |
| 254 | void XMenuActivateSetWaitFunction(); | ||
| 254 | int XMenuActivate(); | 255 | int XMenuActivate(); |
| 255 | char *XMenuPost(); | 256 | char *XMenuPost(); |
| 256 | int XMenuDeletePane(); | 257 | int XMenuDeletePane(); |