changeset 2763:5e4e640df4d8

Bug fix: Pan view - implement exif data display If geeqierc.xml contained no data for the sidebar exif pane, there would be a seg fault
author Colin Clark <colin.clark@cclark.uk>
date Mon, 28 May 2018 09:58:42 +0100
parents 735a3fbc4b28
children 4ef24fe642b5
files src/bar_exif.c
diffstat 1 files changed, 14 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/src/bar_exif.c	Sun May 27 17:57:58 2018 +0100
+++ b/src/bar_exif.c	Mon May 28 09:58:42 2018 +0100
@@ -742,20 +742,22 @@
 	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");
+
+		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);
 		}
-
-	g_list_free(list);
-
 	return exif_list;
 }