From 6d145180181075ac9aae1b46af3cddc6e90d4ed2 Mon Sep 17 00:00:00 2001 From: 3 Date: Tue, 23 Jan 2001 07:35:52 +0000 Subject: [PATCH] Free the callback (g_source_set_callback): Initialize the callback 2001-01-23 * gmain.c (g_source_callback_unref): Free the callback (g_source_set_callback): Initialize the callback refcount --- ChangeLog | 5 +++++ ChangeLog.pre-2-0 | 5 +++++ ChangeLog.pre-2-10 | 5 +++++ ChangeLog.pre-2-12 | 5 +++++ ChangeLog.pre-2-2 | 5 +++++ ChangeLog.pre-2-4 | 5 +++++ ChangeLog.pre-2-6 | 5 +++++ ChangeLog.pre-2-8 | 5 +++++ glib/gmain.c | 4 +++- gmain.c | 4 +++- 10 files changed, 46 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index aa0d3eb..eaffff3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2001-01-23 + + * gmain.c (g_source_callback_unref): Free the callback + (g_source_set_callback): Initialize the callback refcount + 2001-01-20 Tor Lillqvist * gutils.c (g_get_codeset): (Win32) Even if g_get_codeset() is diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index aa0d3eb..eaffff3 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,8 @@ +2001-01-23 + + * gmain.c (g_source_callback_unref): Free the callback + (g_source_set_callback): Initialize the callback refcount + 2001-01-20 Tor Lillqvist * gutils.c (g_get_codeset): (Win32) Even if g_get_codeset() is diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index aa0d3eb..eaffff3 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +2001-01-23 + + * gmain.c (g_source_callback_unref): Free the callback + (g_source_set_callback): Initialize the callback refcount + 2001-01-20 Tor Lillqvist * gutils.c (g_get_codeset): (Win32) Even if g_get_codeset() is diff --git a/ChangeLog.pre-2-12 b/ChangeLog.pre-2-12 index aa0d3eb..eaffff3 100644 --- a/ChangeLog.pre-2-12 +++ b/ChangeLog.pre-2-12 @@ -1,3 +1,8 @@ +2001-01-23 + + * gmain.c (g_source_callback_unref): Free the callback + (g_source_set_callback): Initialize the callback refcount + 2001-01-20 Tor Lillqvist * gutils.c (g_get_codeset): (Win32) Even if g_get_codeset() is diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index aa0d3eb..eaffff3 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,8 @@ +2001-01-23 + + * gmain.c (g_source_callback_unref): Free the callback + (g_source_set_callback): Initialize the callback refcount + 2001-01-20 Tor Lillqvist * gutils.c (g_get_codeset): (Win32) Even if g_get_codeset() is diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index aa0d3eb..eaffff3 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,8 @@ +2001-01-23 + + * gmain.c (g_source_callback_unref): Free the callback + (g_source_set_callback): Initialize the callback refcount + 2001-01-20 Tor Lillqvist * gutils.c (g_get_codeset): (Win32) Even if g_get_codeset() is diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index aa0d3eb..eaffff3 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,8 @@ +2001-01-23 + + * gmain.c (g_source_callback_unref): Free the callback + (g_source_set_callback): Initialize the callback refcount + 2001-01-20 Tor Lillqvist * gutils.c (g_get_codeset): (Win32) Even if g_get_codeset() is diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index aa0d3eb..eaffff3 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,8 @@ +2001-01-23 + + * gmain.c (g_source_callback_unref): Free the callback + (g_source_set_callback): Initialize the callback refcount + 2001-01-20 Tor Lillqvist * gutils.c (g_get_codeset): (Win32) Even if g_get_codeset() is diff --git a/glib/gmain.c b/glib/gmain.c index 29af3b0..c9e3577 100644 --- a/glib/gmain.c +++ b/glib/gmain.c @@ -984,6 +984,7 @@ g_source_callback_unref (gpointer cb_data) { if (callback->notify) callback->notify (callback->data); + g_free (callback); } } @@ -1024,7 +1025,8 @@ g_source_set_callback (GSource *source, g_return_if_fail (source != NULL); new_callback = g_new (GSourceCallback, 1); - + + new_callback->ref_count = 1; new_callback->func = func; new_callback->data = data; new_callback->notify = notify; diff --git a/gmain.c b/gmain.c index 29af3b0..c9e3577 100644 --- a/gmain.c +++ b/gmain.c @@ -984,6 +984,7 @@ g_source_callback_unref (gpointer cb_data) { if (callback->notify) callback->notify (callback->data); + g_free (callback); } } @@ -1024,7 +1025,8 @@ g_source_set_callback (GSource *source, g_return_if_fail (source != NULL); new_callback = g_new (GSourceCallback, 1); - + + new_callback->ref_count = 1; new_callback->func = func; new_callback->data = data; new_callback->notify = notify; -- 2.7.4