static void gtk_menu_section_box_dispose (GObject *object) { GtkMenuSectionBox *box = GTK_MENU_SECTION_BOX (object); if (box->separator_sync_idle) { g_source_remove (box->separator_sync_idle); box->separator_sync_idle = 0; } if (box->separator) { gtk_widget_destroy (box->separator); box->separator = NULL; } if (box->size_group) { g_object_unref (box->size_group); box->size_group = NULL; } if (box->tracker) { gtk_menu_tracker_free (box->tracker); box->tracker = NULL; } G_OBJECT_CLASS (gtk_menu_section_box_parent_class)->dispose (object); }
static void gtk_menu_section_box_sync_item (GtkWidget *widget, gpointer user_data) { gint *n_items = user_data; if (GTK_IS_MENU_SECTION_BOX (widget)) gtk_menu_section_box_sync_separators (GTK_MENU_SECTION_BOX (widget), n_items); else (*n_items)++; }
static void gtk_menu_section_box_sync_item (GtkWidget *widget, gpointer user_data) { MenuData *data = (MenuData *)user_data; if (GTK_IS_MENU_SECTION_BOX (widget)) gtk_menu_section_box_sync_separators (GTK_MENU_SECTION_BOX (widget), data); else data->n_items++; }