aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJason Rumney2008-06-09 21:43:49 +0000
committerJason Rumney2008-06-09 21:43:49 +0000
commit0c2258fc7c30bfb03a7be8a6fb896f5a695a7bd5 (patch)
tree66ef2272c60fa6acff60be1d6dfc92dfc3d54c6a /src
parent90dc3c7687fd9cc90a71f17956ae9863d48ffd6d (diff)
downloademacs-0c2258fc7c30bfb03a7be8a6fb896f5a695a7bd5.tar.gz
emacs-0c2258fc7c30bfb03a7be8a6fb896f5a695a7bd5.zip
(Fx_popup_menu): Unwind protect while building menu.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog4
-rw-r--r--src/w32menu.c5
2 files changed, 9 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index b0b036a821e..f5495f59220 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,9 @@
12008-06-09 Jason Rumney <jasonr@gnu.org> 12008-06-09 Jason Rumney <jasonr@gnu.org>
2 2
3 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
4
52008-06-09 Jason Rumney <jasonr@gnu.org>
6
3 Changes to w32 files related to the move of common menu code 7 Changes to w32 files related to the move of common menu code
4 to menu.c on 2008-06-08 by Chong Yidong. 8 to menu.c on 2008-06-08 by Chong Yidong.
5 9
diff --git a/src/w32menu.c b/src/w32menu.c
index a2d87abc67a..4bed9f6f8ef 100644
--- a/src/w32menu.c
+++ b/src/w32menu.c
@@ -188,6 +188,7 @@ cached information about equivalent key sequences. */)
188 Lisp_Object x, y, window; 188 Lisp_Object x, y, window;
189 int keymaps = 0; 189 int keymaps = 0;
190 int for_click = 0; 190 int for_click = 0;
191 int specpdl_count = SPECPDL_INDEX ();
191 struct gcpro gcpro1; 192 struct gcpro gcpro1;
192 193
193#ifdef HAVE_MENUS 194#ifdef HAVE_MENUS
@@ -271,6 +272,8 @@ cached information about equivalent key sequences. */)
271 Vmenu_updating_frame = Qnil; 272 Vmenu_updating_frame = Qnil;
272#endif /* HAVE_MENUS */ 273#endif /* HAVE_MENUS */
273 274
275 record_unwind_protect (unuse_menu_items, Qnil);
276
274 title = Qnil; 277 title = Qnil;
275 GCPRO1 (title); 278 GCPRO1 (title);
276 279
@@ -340,6 +343,8 @@ cached information about equivalent key sequences. */)
340 keymaps = 0; 343 keymaps = 0;
341 } 344 }
342 345
346 unbind_to (specpdl_count, Qnil);
347
343 if (NILP (position)) 348 if (NILP (position))
344 { 349 {
345 discard_menu_items (); 350 discard_menu_items ();