Mercurial > hg > forks > geeqie
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; }