[gthumb] fixed big memory leak
- From: Paolo Bacchilega <paobac src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gthumb] fixed big memory leak
- Date: Mon, 3 Apr 2017 17:34:20 +0000 (UTC)
commit 1d31833a73ed6eba811310c1b2c5b1eb2065bf54
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]