Adjust the code to match the documentation, examples, "common sense" and

2008-02-08  Sven Herzberg  <sven@imendio.com>

	Adjust the code to match the documentation, examples, "common sense"
	and existing applications.

	* gtk/gtkaction.c: (_gtk_action_sync_menu_visible): take into account
	that a GtkMenu for a <popup> element doesn't have to have a GtkAction
	assigned

svn path=/trunk/; revision=19497
This commit is contained in:
Sven Herzberg 2008-02-08 00:25:50 +00:00 committed by Sven Herzberg
parent d9519a59a9
commit c12d7baeca
2 changed files with 17 additions and 3 deletions

View File

@ -1,3 +1,12 @@
2008-02-08 Sven Herzberg <sven@imendio.com>
Adjust the code to match the documentation, examples, "common sense"
and existing applications.
* gtk/gtkaction.c: (_gtk_action_sync_menu_visible): take into account
that a GtkMenu for a <popup> element doesn't have to have a GtkAction
assigned
2008-02-07 Cody Russell <bratsche@gnome.org>
* gdk/win32/gdkevents-win32.c

View File

@ -637,7 +637,8 @@ _gtk_action_sync_menu_visible (GtkAction *action,
GtkWidget *proxy,
gboolean empty)
{
gboolean visible, hide_if_empty;
gboolean visible = TRUE;
gboolean hide_if_empty = TRUE;
g_return_if_fail (GTK_IS_MENU_ITEM (proxy));
g_return_if_fail (action == NULL || GTK_IS_ACTION (action));
@ -645,8 +646,12 @@ _gtk_action_sync_menu_visible (GtkAction *action,
if (action == NULL)
action = g_object_get_qdata (G_OBJECT (proxy), quark_gtk_action_proxy);
visible = gtk_action_is_visible (action);
hide_if_empty = action->private_data->hide_if_empty;
if (action)
{
/* a GtkMenu for a <popup/> doesn't have to have an action */
visible = gtk_action_is_visible (action);
hide_if_empty = action->private_data->hide_if_empty;
}
if (visible && !(empty && hide_if_empty))
gtk_widget_show (proxy);