diff --git a/src/ChangeLog b/src/ChangeLog index a94bf5dbb46..e733c2820ab 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,6 +1,8 @@ 2014-07-01 Dmitry Antipov * xfaces.c (init_frame_faces): Always realize basic faces (#Bug17889). + * menu.c (Fx_popup_dialog): Set Vmenu_updating_frame to avoid crash + caused by xw_popup_dialog in daemon mode (Bug#17891). 2014-06-30 Eli Zaretskii diff --git a/src/menu.c b/src/menu.c index 468f2814eb4..654be0db9c7 100644 --- a/src/menu.c +++ b/src/menu.c @@ -1554,6 +1554,11 @@ for instance using the window manager, then this produces a quit and but I don't want to make one now. */ CHECK_WINDOW (window); + /* Note that xw_popup_dialog can call menu code, so + Vmenu_updating_frame should be set (Bug#17891). */ + eassert (f && FRAME_LIVE_P (f)); + XSETFRAME (Vmenu_updating_frame, f); + /* Force a redisplay before showing the dialog. If a frame is created just before showing the dialog, its contents may not have been fully drawn, as this depends on timing of events from the X server. Redisplay