/* 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)
* 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:
free((char *)feq_tmp);
}
+ wait_func = 0;
+
/*
* Return successfully.
*/
+2004-11-12 Jan Dj\e,Ad\e(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\e,Ad\e(Brv <jan.h.d@swipnet.se>
* Activate.c: Add calls to GrabKeyboard to remove strange
int XMenuEventHandler(); /* No value actually returned. */
int XMenuLocate();
int XMenuSetFreeze(); /* No value actually returned. */
+void XMenuActivateSetWaitFunction();
int XMenuActivate();
char *XMenuPost();
int XMenuDeletePane();