Don't call cb_funcs->unref while holding the context lock. (#320886, Andy

2005-11-07  Matthias Clasen  <mclasen@redhat.com>

	* glib/gmain.c (g_main_dispatch): Don't call cb_funcs->unref
	while holding the context lock.  (#320886, Andy Wingo)
This commit is contained in:
Matthias Clasen 2005-11-07 20:15:48 +00:00 committed by Matthias Clasen
parent e8e3891c0f
commit 6d763bd97c
4 changed files with 18 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2005-11-07 Matthias Clasen <mclasen@redhat.com>
* glib/gmain.c (g_main_dispatch): Don't call cb_funcs->unref
while holding the context lock. (#320886, Andy Wingo)
2005-11-07 Billy Biggs <vektor@dumbterm.net>
* tests/refcount/Makefile.am: Add a missing reference to libglib

View File

@ -1,3 +1,8 @@
2005-11-07 Matthias Clasen <mclasen@redhat.com>
* glib/gmain.c (g_main_dispatch): Don't call cb_funcs->unref
while holding the context lock. (#320886, Andy Wingo)
2005-11-07 Billy Biggs <vektor@dumbterm.net>
* tests/refcount/Makefile.am: Add a missing reference to libglib

View File

@ -1,3 +1,8 @@
2005-11-07 Matthias Clasen <mclasen@redhat.com>
* glib/gmain.c (g_main_dispatch): Don't call cb_funcs->unref
while holding the context lock. (#320886, Andy Wingo)
2005-11-07 Billy Biggs <vektor@dumbterm.net>
* tests/refcount/Makefile.am: Add a missing reference to libglib

View File

@ -1915,12 +1915,12 @@ g_main_dispatch (GMainContext *context)
user_data);
(*depth)--;
LOCK_CONTEXT (context);
if (cb_funcs)
cb_funcs->unref (cb_data);
if (!was_in_call)
LOCK_CONTEXT (context);
if (!was_in_call)
source->flags &= ~G_HOOK_FLAG_IN_CALL;
if ((source->flags & G_SOURCE_CAN_RECURSE) == 0 &&