summaryrefslogtreecommitdiff
path: root/src/nsmenu.m
diff options
context:
space:
mode:
authorJan Djärv <jan.h.d@swipnet.se>2013-05-05 17:16:06 +0200
committerJan Djärv <jan.h.d@swipnet.se>2013-05-05 17:16:06 +0200
commite6076b1bce12dfc10f05c39ef5264247b8ebbee7 (patch)
tree7cc1601f70ccabc564801c1345ddfd6f92f7ea3a /src/nsmenu.m
parent6c54491c95e3bdc1f447cba478b60b711393b406 (diff)
downloademacs-e6076b1bce12dfc10f05c39ef5264247b8ebbee7.tar.gz
emacs-e6076b1bce12dfc10f05c39ef5264247b8ebbee7.tar.bz2
emacs-e6076b1bce12dfc10f05c39ef5264247b8ebbee7.zip
* nsmenu.m (ns_update_menubar): Move initialization of submenuTitle
to where it is used, to avoid autorelease issues. Fixes: debbugs:14050
Diffstat (limited to 'src/nsmenu.m')
-rw-r--r--src/nsmenu.m8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/nsmenu.m b/src/nsmenu.m
index 648b568d180..baa683941f8 100644
--- a/src/nsmenu.m
+++ b/src/nsmenu.m
@@ -119,7 +119,6 @@ ns_update_menubar (struct frame *f, bool deep_p, EmacsMenu *submenu)
id menu = [NSApp mainMenu];
static EmacsMenu *last_submenu = nil;
BOOL needsSet = NO;
- const char *submenuTitle = [[submenu title] UTF8String];
bool owfi;
Lisp_Object items;
widget_value *wv, *first_wv, *prev_wv = 0;
@@ -239,7 +238,7 @@ ns_update_menubar (struct frame *f, bool deep_p, EmacsMenu *submenu)
/* FIXME: we'd like to only parse the needed submenu, but this
was causing crashes in the _common parsing code.. need to make
sure proper initialization done.. */
-/* if (submenu && strcmp (submenuTitle, SSDATA (string)))
+/* if (submenu && strcmp ([[submenu title] UTF8String], SSDATA (string)))
continue; */
submenu_start[i] = menu_items_used;
@@ -259,7 +258,7 @@ ns_update_menubar (struct frame *f, bool deep_p, EmacsMenu *submenu)
{
/* should have found a menu for this one but didn't */
fprintf (stderr, "ERROR: did not find lisp menu for submenu '%s'.\n",
- submenuTitle);
+ [[submenu title] UTF8String]);
discard_menu_items ();
unbind_to (specpdl_count, Qnil);
[pool release];
@@ -346,8 +345,6 @@ ns_update_menubar (struct frame *f, bool deep_p, EmacsMenu *submenu)
string = AREF (items, i + 1);
if (NILP (string))
break;
-/* if (submenu && strcmp (submenuTitle, SSDATA (string)))
- continue; */
wv->name = SSDATA (string);
update_submenu_strings (wv->contents);
@@ -358,6 +355,7 @@ ns_update_menubar (struct frame *f, bool deep_p, EmacsMenu *submenu)
create a new menu for each sub and fill it. */
if (submenu)
{
+ const char *submenuTitle = [[submenu title] UTF8String];
for (wv = first_wv->contents; wv; wv = wv->next)
{
if (!strcmp (submenuTitle, wv->name))