[gthumb/gthumb-3-4] fixed big memory leak
- From: Paolo Bacchilega <paobac src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gthumb/gthumb-3-4] fixed big memory leak
- Date: Tue, 11 Apr 2017 19:31:04 +0000 (UTC)
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]