* macmenu.c (add_menu_item): Fallback on MacRoman if encoding
authorSteven Tamm <steventamm@mac.com>
Wed, 1 Dec 2004 15:51:22 +0000 (15:51 +0000)
committerSteven Tamm <steventamm@mac.com>
Wed, 1 Dec 2004 15:51:22 +0000 (15:51 +0000)
menu text as UTF8 fails.

src/ChangeLog
src/macmenu.c

index 0eca89a..2faf388 100644 (file)
@@ -1,3 +1,8 @@
+2004-12-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+       * macmenu.c (add_menu_item): Fallback on MacRoman if encoding
+       menu text as UTF8 fails.
+
 2004-12-01  Kim F. Storm  <storm@cua.dk>
 
        * alloc.c: Add commentary for last change.
index 007fab1..af24cfe 100644 (file)
@@ -2267,6 +2267,14 @@ add_menu_item (MenuHandle menu, widget_value *wv, int submenu,
        CFStringRef string =
          CFStringCreateWithCString (NULL, item_name, kCFStringEncodingUTF8);
 
+       if (string == NULL)
+         {
+           /* Failed to interpret as UTF8.  Fall back to Mac Roman.
+              Maybe wv->name is corrupted?  */
+           string = CFStringCreateWithCString (NULL, item_name,
+                                               kCFStringEncodingMacRoman);
+         }
+       
        SetMenuItemTextWithCFString (menu, pos, string);
        CFRelease (string);
       }