emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r112463: * nsmenu.m (ns_update_menuba


From: Jan D.
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r112463: * nsmenu.m (ns_update_menubar): Move initialization of submenuTitle
Date: Sun, 05 May 2013 17:16:06 +0200
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 112463
fixes bug: http://debbugs.gnu.org/14050
committer: Jan D. <address@hidden>
branch nick: trunk
timestamp: Sun 2013-05-05 17:16:06 +0200
message:
  * nsmenu.m (ns_update_menubar): Move initialization of submenuTitle
  to where it is used, to avoid autorelease issues.
modified:
  src/ChangeLog
  src/nsmenu.m
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2013-05-05 00:51:49 +0000
+++ b/src/ChangeLog     2013-05-05 15:16:06 +0000
@@ -1,3 +1,8 @@
+2013-05-05  Jan Djärv  <address@hidden>
+
+       * nsmenu.m (ns_update_menubar): Move initialization of submenuTitle
+       to where it is used, to avoid autorelease issues (Bug#14050).
+
 2013-05-05  Paul Eggert  <address@hidden>
 
        `write-region-inhibit-fsync' defaults to noninteractive (Bug#14273).

=== modified file 'src/nsmenu.m'
--- a/src/nsmenu.m      2013-04-07 04:41:19 +0000
+++ b/src/nsmenu.m      2013-05-05 15:16:06 +0000
@@ -119,7 +119,6 @@
   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 @@
           /* 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 @@
         {
           /* 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 @@
          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 @@
          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))


reply via email to

[Prev in Thread] Current Thread [Next in Thread]