* XMenu.h (XMenuActivateSetWaitFunction): New function.

* Activate.c (XMenuActivateSetWaitFunction): New function.
(XMenuActivate): Call wait_func if set, before XNextEvent.
This commit is contained in:
Jan Djärv 2004-11-12 08:28:57 +00:00
parent 036cf769ad
commit 141dbd2b16
3 changed files with 25 additions and 0 deletions

View file

@ -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 @@ XMenuActivate(display, menu, p_num, s_num, x_pos, y_pos, event_mask, data,
* 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 @@ XMenuActivate(display, menu, p_num, s_num, x_pos, y_pos, event_mask, data,
free((char *)feq_tmp);
}
wait_func = 0;
/*
* Return successfully.
*/

View file

@ -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

View file

@ -251,6 +251,7 @@ int XMenuRecompute();
int XMenuEventHandler(); /* No value actually returned. */
int XMenuLocate();
int XMenuSetFreeze(); /* No value actually returned. */
void XMenuActivateSetWaitFunction();
int XMenuActivate();
char *XMenuPost();
int XMenuDeletePane();