summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKrifa75 <yahiaoui.fakhri@gmail.com>2020-11-03 18:04:51 +0000
committerFelix Riemann <friemann@gnome.org>2020-11-03 18:04:51 +0000
commit2676ee663d2e82b3681ab309e2c532e4f3f646ca (patch)
tree510ffb070ced4c36a6c188e3b8388538da0b3a63 /src
parentb53fd9c247a29355947dabc3e026bddb64c85530 (diff)
downloadeog-2676ee663d2e82b3681ab309e2c532e4f3f646ca.tar.gz
EogWindow: Fix memory leak when using flag EOG_STARTUP_SINGLE_WINDOW
Free the file_list if we reopen with the flag EOG_STARTUP_SINGLE_WINDOW to avoid a memory leak as mentioned in !81.
Diffstat (limited to 'src')
-rw-r--r--src/eog-window.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/eog-window.c b/src/eog-window.c
index a8b720de..131d0b37 100644
--- a/src/eog-window.c
+++ b/src/eog-window.c
@@ -4472,6 +4472,7 @@ eog_window_init (EogWindow *window)
priv->view_settings = g_settings_new (EOG_CONF_VIEW);
priv->lockdown_settings = g_settings_new (EOG_CONF_DESKTOP_LOCKDOWN_SCHEMA);
+ window->priv->file_list = NULL;
window->priv->store = NULL;
window->priv->image = NULL;
@@ -5247,6 +5248,14 @@ eog_window_open_file_list (EogWindow *window, GSList *file_list)
window->priv->status = EOG_WINDOW_STATUS_INIT;
+ /* Free the list to avoid memory leak
+ * when using flag EOG_STARTUP_SINGLE_WINDOW
+ */
+ if (window->priv->file_list != NULL) {
+ g_slist_foreach (window->priv->file_list, (GFunc) g_object_unref, NULL);
+ g_slist_free (window->priv->file_list);
+ }
+
g_slist_foreach (file_list, (GFunc) g_object_ref, NULL);
window->priv->file_list = file_list;