diff options
| author | Jason Rumney | 2008-06-09 21:43:49 +0000 |
|---|---|---|
| committer | Jason Rumney | 2008-06-09 21:43:49 +0000 |
| commit | 0c2258fc7c30bfb03a7be8a6fb896f5a695a7bd5 (patch) | |
| tree | 66ef2272c60fa6acff60be1d6dfc92dfc3d54c6a /src | |
| parent | 90dc3c7687fd9cc90a71f17956ae9863d48ffd6d (diff) | |
| download | emacs-0c2258fc7c30bfb03a7be8a6fb896f5a695a7bd5.tar.gz emacs-0c2258fc7c30bfb03a7be8a6fb896f5a695a7bd5.zip | |
(Fx_popup_menu): Unwind protect while building menu.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 4 | ||||
| -rw-r--r-- | src/w32menu.c | 5 |
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 @@ | |||
| 1 | 2008-06-09 Jason Rumney <jasonr@gnu.org> | 1 | 2008-06-09 Jason Rumney <jasonr@gnu.org> |
| 2 | 2 | ||
| 3 | * w32menu.c (Fx_popup_menu): Unwind protect while building menu. | ||
| 4 | |||
| 5 | 2008-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 (); |