[eog/gnome-3-36] EogWindow: Fix memory leak when using flag EOG_STARTUP_SINGLE_WINDOW



commit 15d196d2d0b51e94dd01776a5fef2c11e41516e5
Author: Krifa75 <yahiaoui fakhri gmail com>
Date:   Tue Nov 3 18:04:51 2020 +0000

    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.
    
    (cherry picked from commit 2676ee663d2e82b3681ab309e2c532e4f3f646ca)

 src/eog-window.c | 9 +++++++++
 1 file changed, 9 insertions(+)
---
diff --git a/src/eog-window.c b/src/eog-window.c
index d6fc3834..1712e0eb 100644
--- a/src/eog-window.c
+++ b/src/eog-window.c
@@ -4488,6 +4488,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;
 
@@ -5273,6 +5274,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;
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]