# HG changeset patch # User Eli Zaretskii # Date 1219509951 0 # Node ID 229acec138400e955f6b33478555079b3a89fb76 # Parent 6132e8418cf36142585b9f966ba1af9f5c3579bc (Fx_popup_dialog, Fx_popup_menu, xmenu_show): Allow MSDOS frames along with X frames. diff -r 6132e8418cf3 -r 229acec13840 src/xmenu.c --- a/src/xmenu.c Sat Aug 23 16:45:13 2008 +0000 +++ b/src/xmenu.c Sat Aug 23 16:45:51 2008 +0000 @@ -360,6 +360,13 @@ Lisp_Object bar_window; enum scroll_bar_part part; unsigned long time; + void (*mouse_position_hook) P_ ((struct frame **, int, + Lisp_Object *, + enum scroll_bar_part *, + Lisp_Object *, + Lisp_Object *, + unsigned long *)) = + new_f->terminal->mouse_position_hook; if (mouse_position_hook) (*mouse_position_hook) (&new_f, 1, &bar_window, @@ -403,8 +410,8 @@ xpos += XINT (x); ypos += XINT (y); - if (! FRAME_X_P (f)) - error ("Can not put X menu on non-X terminal"); + if (! FRAME_X_P (f) && ! FRAME_MSDOS_P (f)) + error ("Can not put X menu on this terminal"); XSETFRAME (Vmenu_updating_frame, f); } @@ -594,8 +601,8 @@ but I don't want to make one now. */ CHECK_WINDOW (window); - if (! FRAME_X_P (f)) - error ("Can not put X dialog on non-X terminal"); + if (! FRAME_X_P (f) && ! FRAME_MSDOS_P (f)) + error ("Can not put X dialog on this terminal"); #if ! defined (USE_X_TOOLKIT) && ! defined (USE_GTK) /* Display a menu with these alternatives @@ -2605,7 +2612,7 @@ unsigned int dummy_uint; int specpdl_count = SPECPDL_INDEX (); - if (! FRAME_X_P (f)) + if (! FRAME_X_P (f) && ! FRAME_MSDOS_P (f)) abort (); *error = 0;