Mercurial > emacs
diff src/xmenu.c @ 72854:f295b430aa3a
* xterm.c (x_initialize): Don't install Xt event timer here.
(x_timeout_atimer_activated_flag): New var.
(x_activate_timeout_atimer): New function to install Xt timer.
(x_send_scroll_bar_event, x_process_timeouts): Use it.
* xmenu.c (x_menu_set_in_use, popup_activate_callback)
(create_and_show_popup_menu, create_and_show_dialog): Use it.
* xterm.h (x_activate_timeout_atimer): prototype.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Wed, 13 Sep 2006 22:39:23 +0000 |
parents | 6db6c056fc46 |
children | 332f0639af48 a1a25ac6c88a |
line wrap: on
line diff
--- a/src/xmenu.c Wed Sep 13 22:28:03 2006 +0000 +++ b/src/xmenu.c Wed Sep 13 22:39:23 2006 +0000 @@ -1182,6 +1182,10 @@ { menu_items_inuse = in_use ? Qt : Qnil; popup_activated_flag = in_use; +#ifdef USE_X_TOOLKIT + if (popup_activated_flag) + x_activate_timeout_atimer (); +#endif } /* Wait for an X event to arrive or for a timer to expire. */ @@ -1498,6 +1502,9 @@ XtPointer client_data; { popup_activated_flag = 1; +#ifdef USE_X_TOOLKIT + x_activate_timeout_atimer (); +#endif } #endif @@ -2798,6 +2805,7 @@ /* Display the menu. */ lw_popup_menu (menu, (XEvent *) &dummy); popup_activated_flag = 1; + x_activate_timeout_atimer (); { int fact = 4 * sizeof (LWLIB_ID); @@ -3175,6 +3183,7 @@ /* Display the dialog box. */ lw_pop_up_all_widgets (dialog_id); popup_activated_flag = 1; + x_activate_timeout_atimer (); /* Process events that apply to the dialog box. Also handle timers. */