[gthumb/gthumb-3-4] fixed big memory leak



commit c6d7bbb4f09c6817078faac58afed22b71ec9c4e
Author: Paolo Bacchilega <paobac src gnome org>
Date:   Mon Apr 3 18:00:38 2017 +0200

    fixed big memory leak
    
    call g_thread_join on the completed thread

 gthumb/gth-async-task.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)
---
diff --git a/gthumb/gth-async-task.c b/gthumb/gth-async-task.c
index e0b752c..171be22 100644
--- a/gthumb/gth-async-task.c
+++ b/gthumb/gth-async-task.c
@@ -50,6 +50,7 @@ struct _GthAsyncTaskPrivate {
        gboolean            cancelled;
        gboolean            terminated;
        double              progress;
+       GThread            *thread;
 };
 
 
@@ -106,6 +107,9 @@ update_progress (gpointer data)
        if (terminated) {
                GError *error = NULL;
 
+               g_thread_join (self->priv->thread);
+               self->priv->thread = NULL;
+
                g_source_remove (self->priv->progress_event);
                self->priv->progress_event = 0;
 
@@ -162,7 +166,7 @@ gth_async_task_exec (GthTask *task)
 
        if (self->priv->before_func != NULL)
                self->priv->before_func (self, self->priv->user_data);
-       g_thread_new ("gth_async_task_exec", exec_task, self);
+       self->priv->thread = g_thread_new ("asynctask", exec_task, self);
 
        if (self->priv->progress_event == 0)
                self->priv->progress_event = g_timeout_add (PROGRESS_DELAY, update_progress, self);


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