emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/xmenu.c


From: Jan Djärv
Subject: [Emacs-diffs] Changes to emacs/src/xmenu.c
Date: Sat, 06 Nov 2004 03:03:14 -0500

Index: emacs/src/xmenu.c
diff -c emacs/src/xmenu.c:1.262 emacs/src/xmenu.c:1.263
*** emacs/src/xmenu.c:1.262     Thu Nov  4 09:57:37 2004
--- emacs/src/xmenu.c   Sat Nov  6 07:47:01 2004
***************
*** 115,121 ****
  
  static Lisp_Object xdialog_show P_ ((FRAME_PTR, int, Lisp_Object, char **));
  static void popup_get_selection P_ ((XEvent *, struct x_display_info *,
!                                      LWLIB_ID, int));
  
  /* Define HAVE_BOXES if menus can handle radio and toggle buttons.  */
  
--- 115,121 ----
  
  static Lisp_Object xdialog_show P_ ((FRAME_PTR, int, Lisp_Object, char **));
  static void popup_get_selection P_ ((XEvent *, struct x_display_info *,
!                                      LWLIB_ID, int, int));
  
  /* Define HAVE_BOXES if menus can handle radio and toggle buttons.  */
  
***************
*** 157,162 ****
--- 157,164 ----
  static void list_of_panes P_ ((Lisp_Object));
  static void list_of_items P_ ((Lisp_Object));
  
+ extern EMACS_TIME timer_check P_ ((int));
+ 
  
  /* This holds a Lisp vector that holds the results of decoding
     the keymaps or alist-of-alists that specify a menu.
***************
*** 1122,1148 ****
  
     If DOWN_ON_KEYPRESS is nonzero, pop down if a key is pressed.
  
-    This function used to have a DO_TIMERS argument which was
-    1 in the dialog case, and caused it to run Lisp-level timers.
-    That was unsafe so we removed it, but does anyone remember
-    why menus and dialogs were treated differently?
- 
     NOTE: All calls to popup_get_selection should be protected
     with BLOCK_INPUT, UNBLOCK_INPUT wrappers.  */
  
  #ifdef USE_X_TOOLKIT
  static void
! popup_get_selection (initial_event, dpyinfo, id, down_on_keypress)
       XEvent *initial_event;
       struct x_display_info *dpyinfo;
       LWLIB_ID id;
       int down_on_keypress;
  {
    XEvent event;
  
    while (popup_activated_flag)
      {
!       if (initial_event)
          {
            event = *initial_event;
            initial_event = 0;
--- 1124,1150 ----
  
     If DOWN_ON_KEYPRESS is nonzero, pop down if a key is pressed.
  
     NOTE: All calls to popup_get_selection should be protected
     with BLOCK_INPUT, UNBLOCK_INPUT wrappers.  */
  
  #ifdef USE_X_TOOLKIT
  static void
! popup_get_selection (initial_event, dpyinfo, id, do_timers, down_on_keypress)
       XEvent *initial_event;
       struct x_display_info *dpyinfo;
       LWLIB_ID id;
+      int do_timers;
       int down_on_keypress;
  {
    XEvent event;
  
    while (popup_activated_flag)
      {
!        /* If we have no events to run, consider timers.  */    
!        if (do_timers && !XtAppPending (Xt_app_con))    
!          timer_check (1);      
! 
!        if (initial_event)
          {
            event = *initial_event;
            initial_event = 0;
***************
*** 2488,2494 ****
    popup_activated_flag = 1;
  
    /* Process events that apply to the menu.  */
!   popup_get_selection ((XEvent *) 0, FRAME_X_DISPLAY_INFO (f), menu_id, 0);
  
    /* fp turned off the following statement and wrote a comment
       that it is unnecessary--that the menu has already disappeared.
--- 2490,2496 ----
    popup_activated_flag = 1;
  
    /* Process events that apply to the menu.  */
!   popup_get_selection ((XEvent *) 0, FRAME_X_DISPLAY_INFO (f), menu_id, 0, 0);
  
    /* fp turned off the following statement and wrote a comment
       that it is unnecessary--that the menu has already disappeared.
***************
*** 2882,2888 ****
                             Fcons (make_number (dialog_id >> (fact)),
                                    make_number (dialog_id & ~(-1 << (fact)))));
  
!     popup_get_selection ((XEvent *) 0, FRAME_X_DISPLAY_INFO (f), dialog_id, 
1);
  
      unbind_to (count, Qnil);
    }
--- 2884,2891 ----
                             Fcons (make_number (dialog_id >> (fact)),
                                    make_number (dialog_id & ~(-1 << (fact)))));
  
!     popup_get_selection ((XEvent *) 0, FRAME_X_DISPLAY_INFO (f),
!                          dialog_id, 1, 1);
  
      unbind_to (count, Qnil);
    }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]