summaryrefslogtreecommitdiff
path: root/gtk/gtkmenu.c
diff options
context:
space:
mode:
authorFederico Mena Quintero <federico@novell.com>2006-12-15 20:13:01 +0000
committerFederico Mena Quintero <federico@src.gnome.org>2006-12-15 20:13:01 +0000
commit8387869a5d18f08fadbc68ae2845103546b04003 (patch)
treead4dea19efd94b46da56ad2092b6f89ac53ec8e8 /gtk/gtkmenu.c
parent36fa058fa2d9c887126e597005cfb53b8bca24a6 (diff)
downloadgtk+-8387869a5d18f08fadbc68ae2845103546b04003.tar.gz
Merged from gtk-2-10:
2006-12-15 Federico Mena Quintero <federico@novell.com> Merged from gtk-2-10: * gtk/gtkmenu.c (gtk_menu_set_title): Don't try to optimize for the case where the new title is the same as the old title, to preserve the behavior from GTK+ 2.8 (NULL and "" titles are not equivalent). Handle the case where title == priv->title. This was found by the LSB compatibility tests: https://bugzilla.novell.com/show_bug.cgi?id=223882 2006-12-15 Dom Lachowicz <domlachowicz@gmail.com>
Diffstat (limited to 'gtk/gtkmenu.c')
-rw-r--r--gtk/gtkmenu.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c
index be89918fce..7460061231 100644
--- a/gtk/gtkmenu.c
+++ b/gtk/gtkmenu.c
@@ -1913,26 +1913,27 @@ gtk_menu_get_tearoff_state (GtkMenu *menu)
* @title: a string containing the title for the menu.
*
* Sets the title string for the menu. The title is displayed when the menu
- * is shown as a tearoff menu.
+ * is shown as a tearoff menu. If @title is %NULL, the menu will see if it is
+ * attached to a parent menu item, and if so it will try to use the same text as
+ * that menu item's label.
**/
-void
+void
gtk_menu_set_title (GtkMenu *menu,
const gchar *title)
{
GtkMenuPrivate *priv;
+ char *old_title;
g_return_if_fail (GTK_IS_MENU (menu));
priv = gtk_menu_get_private (menu);
- if (strcmp (title ? title : "", priv->title ? priv->title : "") != 0)
- {
- g_free (priv->title);
- priv->title = g_strdup (title);
+ old_title = priv->title;
+ priv->title = g_strdup (title);
+ g_free (old_title);
- gtk_menu_update_title (menu);
- g_object_notify (G_OBJECT (menu), "tearoff-title");
- }
+ gtk_menu_update_title (menu);
+ g_object_notify (G_OBJECT (menu), "tearoff-title");
}
/**