diff src/menubar-x.c @ 436:080151679be2 r21-2-26

Import from CVS: tag r21-2-26
author cvs
date Mon, 13 Aug 2007 11:31:24 +0200
parents 3ecd8885ac67
children 84b14dcb0985
line wrap: on
line diff
--- a/src/menubar-x.c	Mon Aug 13 11:30:55 2007 +0200
+++ b/src/menubar-x.c	Mon Aug 13 11:31:24 2007 +0200
@@ -120,7 +120,7 @@
 	}
       else
 	{
-	  wv->name = string_chars;
+	  wv->name = xstrdup (string_chars);
 	  wv->enabled = 1;
 	  /* dverna Dec. 98: command_builder_operate_menu_accelerator will
 	     manipulate the accel as a Lisp_Object if the widget has a name.
@@ -157,6 +157,7 @@
 	  wv->type = CASCADE_TYPE;
 	  wv->enabled = 1;
 	  wv->name = (char *) XSTRING_DATA (LISP_GETTEXT (XCAR (desc)));
+	  wv->name = xstrdup (wv->name);
 
 	  accel = gui_name_accelerator (LISP_GETTEXT (XCAR (desc)));
 	  wv->accel = LISP_TO_VOID (accel);
@@ -226,6 +227,7 @@
 		  incr_wv->type = INCREMENTAL_TYPE;
 		  incr_wv->enabled = 1;
 		  incr_wv->name = wv->name;
+		  incr_wv->name = xstrdup (wv->name);
 		  /* This is automatically GC protected through
 		     the call to lw_map_widget_values(); no need
 		     to worry. */
@@ -242,7 +244,7 @@
 	      widget_value *title_wv = xmalloc_widget_value ();
 	      widget_value *sep_wv = xmalloc_widget_value ();
 	      title_wv->type = TEXT_TYPE;
-	      title_wv->name = wv->name;
+	      title_wv->name = xstrdup (wv->name);
 	      title_wv->enabled = 1;
 	      title_wv->next = sep_wv;
 	      sep_wv->type = SEPARATOR_TYPE;
@@ -258,7 +260,7 @@
 	      widget_value *dummy;
 	      /* Add a fake entry so the menus show up */
 	      wv->contents = dummy = xmalloc_widget_value ();
-	      dummy->name = "(inactive)";
+	      dummy->name = xstrdup ("(inactive)");
 	      dummy->accel = LISP_TO_VOID (Qnil);
 	      dummy->enabled = 0;
 	      dummy->selected = 0;
@@ -273,7 +275,7 @@
 	}
       else if (menubar_root_p)
 	{
-	  wv->name = (char *) "menubar";
+	  wv->name = xstrdup ("menubar");
 	  wv->type = CASCADE_TYPE; /* Well, nothing else seems to fit and
 				      this is ignored anyway...  */
 	}
@@ -469,7 +471,7 @@
 	  wv->accel = LISP_TO_VOID (Qnil);
 	  wv->contents = xmalloc_widget_value ();
 	  wv->contents->type = TEXT_TYPE;
-	  wv->contents->name = (char *) "No menu";
+	  wv->contents->name = xstrdup ("No menu");
 	  wv->contents->next = NULL;
 	  wv->contents->accel = LISP_TO_VOID (Qnil);
 	}