summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDmitry Antipov <dmantipov@yandex.ru>2014-07-01 12:07:32 +0400
committerDmitry Antipov <dmantipov@yandex.ru>2014-07-01 12:07:32 +0400
commit9714dfd285f404df791d862e242cc726a09c2f85 (patch)
tree07a70f93e32fc972b1d0bfa161d44193c42c5c3f /src
parent34ac10a87beb0b801e2ca979e98fb40099656c2c (diff)
* menu.c (Fx_popup_dialog): Set Vmenu_updating_frame to avoid crash
caused by xw_popup_dialog in daemon mode (Bug#17891).
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog2
-rw-r--r--src/menu.c5
2 files changed, 7 insertions, 0 deletions
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 <dmantipov@yandex.ru>
* 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 <eliz@gnu.org>
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