Bug fix: Pan view - implement exif data display
authorColin Clark <colin.clark@cclark.uk>
Mon, 28 May 2018 08:58:42 +0000 (09:58 +0100)
committerColin Clark <colin.clark@cclark.uk>
Mon, 28 May 2018 08:58:42 +0000 (09:58 +0100)
If geeqierc.xml contained no data for the sidebar exif pane, there would
be a seg fault

src/bar_exif.c

index 5b298f9..1e2d439 100644 (file)
@@ -742,20 +742,22 @@ GList * bar_pane_exif_list()
        lw = work_windows->data;
        bar = lw->bar;
        pane = bar_find_pane_by_id(bar, PANE_EXIF, "exif");
-       ped = g_object_get_data(G_OBJECT(pane), "pane_data");
-
-       list = gtk_container_get_children(GTK_CONTAINER(ped->vbox));
-       while (list)
+       if (pane)
                {
-               entry = list->data;
-               list = list->next;
-               ee = g_object_get_data(G_OBJECT(entry), "entry_data");
-               exif_list = g_list_append(exif_list, g_strdup(ee->title));
-               exif_list = g_list_append(exif_list, g_strdup(ee->key));
-               }
+               ped = g_object_get_data(G_OBJECT(pane), "pane_data");
 
-       g_list_free(list);
+               list = gtk_container_get_children(GTK_CONTAINER(ped->vbox));
+               while (list)
+                       {
+                       entry = list->data;
+                       list = list->next;
+                       ee = g_object_get_data(G_OBJECT(entry), "entry_data");
+                       exif_list = g_list_append(exif_list, g_strdup(ee->title));
+                       exif_list = g_list_append(exif_list, g_strdup(ee->key));
+                       }
 
+               g_list_free(list);
+               }
        return exif_list;
 }