aboutsummaryrefslogtreecommitdiffstats
path: root/oldXMenu
diff options
context:
space:
mode:
authorJan Djärv2004-11-12 08:28:57 +0000
committerJan Djärv2004-11-12 08:28:57 +0000
commit141dbd2b161fb6aa97b935799cfd7edb7105f980 (patch)
tree060ef378b72be75f17c90afd49e24b760fa07b74 /oldXMenu
parent036cf769ad82564e8e18da37c0d9df65fe8f4752 (diff)
downloademacs-141dbd2b161fb6aa97b935799cfd7edb7105f980.tar.gz
emacs-141dbd2b161fb6aa97b935799cfd7edb7105f980.zip
* XMenu.h (XMenuActivateSetWaitFunction): New function.
* Activate.c (XMenuActivateSetWaitFunction): New function. (XMenuActivate): Call wait_func if set, before XNextEvent.
Diffstat (limited to 'oldXMenu')
-rw-r--r--oldXMenu/Activate.c17
-rw-r--r--oldXMenu/ChangeLog7
-rw-r--r--oldXMenu/XMenu.h1
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 */
86int x_menu_grab_keyboard = 1; 86int x_menu_grab_keyboard = 1;
87 87
88typedef void (*Wait_func)();
89
90static Wait_func wait_func;
91static void* wait_data;
92
93void
94XMenuActivateSetWaitFunction (func, data)
95 Wait_func func;
96 void *data;
97{
98 wait_func = func;
99 wait_data = data;
100}
101
88int 102int
89XMenuActivate(display, menu, p_num, s_num, x_pos, y_pos, event_mask, data, 103XMenuActivate(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 @@
12004-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
12002-04-22 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> 82002-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();
251int XMenuEventHandler(); /* No value actually returned. */ 251int XMenuEventHandler(); /* No value actually returned. */
252int XMenuLocate(); 252int XMenuLocate();
253int XMenuSetFreeze(); /* No value actually returned. */ 253int XMenuSetFreeze(); /* No value actually returned. */
254void XMenuActivateSetWaitFunction();
254int XMenuActivate(); 255int XMenuActivate();
255char *XMenuPost(); 256char *XMenuPost();
256int XMenuDeletePane(); 257int XMenuDeletePane();