--- ./gtk/gtkmenutracker.c
+++ ./gtk/gtkmenutracker.c (Unsaved)
@@ -244,11 +244,14 @@
for (i = 0; i < n_items; i++)
{
- GtkMenuTrackerSection *subsection;
+ GtkMenuTrackerSection *subsection = NULL;
gint n;
- subsection = (*change_point)->data;
- *change_point = g_slist_delete_link (*change_point, *change_point);
+ if (*change_point)
+ {
+ subsection = (*change_point)->data;
+ *change_point = g_slist_delete_link (*change_point, *change_point);
+ }
n = gtk_menu_tracker_section_measure (subsection);
gtk_menu_tracker_section_free (subsection);
@@ -334,10 +337,14 @@
* of items within each item of the section before the change point).
*/
change_point = §ion->items;
- for (i = 0; i < position; i++)
- {
- offset += gtk_menu_tracker_section_measure ((*change_point)->data);
- change_point = &(*change_point)->next;
+
+ if (*change_point)
+ {
+ for (i = 0; i < position; i++)
+ {
+ offset += gtk_menu_tracker_section_measure ((*change_point)->data);
+ change_point = &(*change_point)->next;
+ }
}
/* We remove items in order and add items in reverse order. This