aboutsummaryrefslogtreecommitdiff
path: root/hildon/hildon-program.c
diff options
context:
space:
mode:
authorClaudio Saavedra <csaavedra@igalia.com>2009-09-11 18:18:12 +0300
committerClaudio Saavedra <csaavedra@igalia.com>2009-09-11 20:18:03 +0300
commitb45dddd7902bdd17946a12633d3b29c3a7cab10f (patch)
treef07da12508de77c68571bdce1bd770535693f6f2 /hildon/hildon-program.c
parenta9a9c6c5c73ba1727b907167026559ceb7208b99 (diff)
Do not set any flag for empty legacy menus
* hildon/hildon-program.c: (hildon_program_set_common_menu): * hildon/hildon-window.c: (hildon_window_update_menu_flag): This will probably not work fine with empty legacy menus added to programs or windows and populated later, but so it's life.
Diffstat (limited to 'hildon/hildon-program.c')
-rw-r--r--hildon/hildon-program.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/hildon/hildon-program.c b/hildon/hildon-program.c
index f2b1906..33205f0 100644
--- a/hildon/hildon-program.c
+++ b/hildon/hildon-program.c
@@ -658,11 +658,17 @@ hildon_program_set_common_menu (HildonProgram *self,
/* Only set the menu flag if there was no common menu and
we are setting one. If we are unsetting the current common menu,
remove the commmon menu flag. Otherwise, nothing to do. */
- if (!priv->common_menu && menu) {
+
+ GList *menu_children = gtk_container_get_children (GTK_CONTAINER (menu));
+ if (!priv->common_menu
+ && menu && menu_children != NULL) {
hildon_program_set_common_menu_flag (self, TRUE);
- } else if (priv->common_menu && !menu) {
+ } else if (priv->common_menu &&
+ (!menu || menu_children == NULL))
+ {
hildon_program_set_common_menu_flag (self, FALSE);
}
+ g_list_free (menu_children);
priv->common_menu = menu;