diff options
author | Sebastian Wilhelmi <wilhelmi@ira.uka.de> | 1999-03-17 01:05:49 +0000 |
---|---|---|
committer | Tim Janik <timj@src.gnome.org> | 1999-03-17 01:05:49 +0000 |
commit | 5f17e39e2a19abd133d5d74bd1a9abb619320432 (patch) | |
tree | cc1ee089fa35e12fcfa72c8ea08ff0735703736b /ghook.c | |
parent | 5d1e3dc14e88f446bf15a40121f3fb56bf3d62bc (diff) |
Sun Mar 14 17:50:35 1999 Tim Janik <timj@gtk.org>
Wed Mar 17 01:46:28 1999 Tim Janik <timj@gtk.org>
* merges from glib-1-2:
Sun Mar 14 17:50:35 1999 Tim Janik <timj@gtk.org>
* gmem.c (g_mem_chunk_*): changed a bunch of g_assert() statements
to g_return_if_fail().
(g_mem_profile):
(g_mem_chunk_print):
(g_mem_chunk_info): removed some extraneous "\n"s at the end of the log
messages.
* gtimer.c (g_timer_*): changed a bunch of g_assert() statements
to g_return_if_fail().
* grel.c (g_*): changed a bunch of g_assert() statements to
g_return_if_fail() and added some extra ones to check relation != NULL.
Tue Mar 9 23:25:50 1999 Tim Janik <timj@gtk.org>
* configure.in: check for working realloc (NULL,).
* gmem.c (g_realloc): use malloc() for initial allocation on systems
where realloc(NULL,) will not work (this is the case on SunOS, reported
by Tom Geiger).
Mon Mar 8 07:42:08 1999 Tim Janik <timj@gtk.org>
* ghook.c (g_hook_unref): when !hook_list->is_setup, wrap the
flag around the call to g_hook_free() to avoid spurious
warnings (happens during destruction phase).
1999-03-02 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gmem.c: Fixed a stupid cut'n'paste error of mine. Thanks to
Friedrich Dominicus <Friedrich.Dominicus@inka.de>
Diffstat (limited to 'ghook.c')
-rw-r--r-- | ghook.c | 21 |
1 files changed, 14 insertions, 7 deletions
@@ -177,6 +177,7 @@ g_hook_unref (GHookList *hook_list, GHook *hook) { g_return_if_fail (hook_list != NULL); + g_return_if_fail (hook_list->hook_memchunk != NULL); g_return_if_fail (hook != NULL); g_return_if_fail (hook->ref_count > 0); @@ -196,15 +197,21 @@ g_hook_unref (GHookList *hook_list, hook->next = NULL; } hook->prev = NULL; - - g_hook_free (hook_list, hook); - - if (!hook_list->hooks && - !hook_list->is_setup) + + if (!hook_list->is_setup) { - g_mem_chunk_destroy (hook_list->hook_memchunk); - hook_list->hook_memchunk = NULL; + hook_list->is_setup = TRUE; + g_hook_free (hook_list, hook); + hook_list->is_setup = FALSE; + + if (!hook_list->hooks) + { + g_mem_chunk_destroy (hook_list->hook_memchunk); + hook_list->hook_memchunk = NULL; + } } + else + g_hook_free (hook_list, hook); } } |