diff options
author | Federico Mena Quintero <federico@novell.com> | 2006-12-15 20:13:01 +0000 |
---|---|---|
committer | Federico Mena Quintero <federico@src.gnome.org> | 2006-12-15 20:13:01 +0000 |
commit | 8387869a5d18f08fadbc68ae2845103546b04003 (patch) | |
tree | ad4dea19efd94b46da56ad2092b6f89ac53ec8e8 /gtk/gtkmenu.c | |
parent | 36fa058fa2d9c887126e597005cfb53b8bca24a6 (diff) | |
download | gtk+-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.c | 19 |
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"); } /** |