From 741f8d21dcf5007bfa1521882692283dfb73f4af Mon Sep 17 00:00:00 2001 From: Federico Mena Quintero Date: Fri, 15 Dec 2006 20:09:13 +0000 Subject: [PATCH] Don't try to optimize for the case where the new title is the same as the 2006-12-15 Federico Mena Quintero * 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-14 Ankit Patel --- ChangeLog | 9 +++++++++ gtk/gtkmenu.c | 19 ++++++++++--------- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8ff97ad4ab..0390eb9443 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2006-12-15 Federico Mena Quintero + + * 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-14 Ankit Patel * configure.in: Added 'si' in ALL_LINGUAS diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c index d548edd7a0..9d7eaf6135 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"); } /**