From: Matthias Clasen Date: Mon, 5 Jun 2006 15:02:51 +0000 (+0000) Subject: Don't leak the dispatch struct. (#321886) X-Git-Url: http://git.openbox.org/?a=commitdiff_plain;h=03c90584b8ae6e3515e5dd3c98051eaa07b57fd8;p=dana%2Fcg-glib.git Don't leak the dispatch struct. (#321886) 2006-06-05 Matthias Clasen * glib/gmain.c (get_dispatch): Don't leak the dispatch struct. (#321886) --- diff --git a/ChangeLog b/ChangeLog index 9f7f1497..dda43a87 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2006-06-05 Matthias Clasen + * glib/gmain.c (get_dispatch): Don't leak the + dispatch struct. (#321886) + * tests/strtod-test.c: Add some tests involving leading whitespace. diff --git a/ChangeLog.pre-2-12 b/ChangeLog.pre-2-12 index 9f7f1497..dda43a87 100644 --- a/ChangeLog.pre-2-12 +++ b/ChangeLog.pre-2-12 @@ -1,5 +1,8 @@ 2006-06-05 Matthias Clasen + * glib/gmain.c (get_dispatch): Don't leak the + dispatch struct. (#321886) + * tests/strtod-test.c: Add some tests involving leading whitespace. diff --git a/glib/gmain.c b/glib/gmain.c index 39329a25..4a370bfc 100644 --- a/glib/gmain.c +++ b/glib/gmain.c @@ -107,7 +107,7 @@ typedef struct _GMainDispatch GMainDispatch; struct _GMainDispatch { gint depth; - GSList *source; + GSList *source; /* stack of current sources */ }; struct _GMainContext @@ -1719,6 +1719,12 @@ g_get_current_time (GTimeVal *result) #endif } +static void +g_main_dispatch_free (gpointer dispatch) +{ + g_slice_free (GMainDispatch, dispatch); +} + /* Running the main loop */ static GMainDispatch * @@ -1729,7 +1735,7 @@ get_dispatch (void) if (!dispatch) { dispatch = g_slice_new0 (GMainDispatch); - g_static_private_set (&depth_private, dispatch, NULL); + g_static_private_set (&depth_private, dispatch, g_main_dispatch_free); } return dispatch;