Ref the filter when adding it. (soup_session_remove_filter): And unref it
authorDan Winship <danw@src.gnome.org>
Fri, 6 Feb 2004 14:35:31 +0000 (14:35 +0000)
committerDan Winship <danw@src.gnome.org>
Fri, 6 Feb 2004 14:35:31 +0000 (14:35 +0000)
* libsoup/soup-session.c (soup_session_add_filter): Ref the filter
when adding it.
(soup_session_remove_filter): And unref it here (we were already
unreffing it in dispose().)

ChangeLog
libsoup/soup-session.c

index 287376e..ba11a8e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2004-02-05  Dan Winship  <danw@ximian.com>
+
+       * libsoup/soup-session.c (soup_session_add_filter): Ref the filter
+       when adding it.
+       (soup_session_remove_filter): And unref it here (we were already
+       unreffing it in dispose().)
+
 2004-02-05  Joe Shaw  <joe@ximian.com>
 
        * libsoup/soup-dns.c (soup_dns_entry_unref): Don't try to free the
index b6b4127..ded3cde 100644 (file)
@@ -387,6 +387,7 @@ soup_session_add_filter (SoupSession *session, SoupMessageFilter *filter)
        g_return_if_fail (SOUP_IS_SESSION (session));
        g_return_if_fail (SOUP_IS_MESSAGE_FILTER (filter));
 
+       g_object_ref (filter);
        session->priv->filters = g_slist_prepend (session->priv->filters,
                                                  filter);
 }
@@ -406,6 +407,7 @@ soup_session_remove_filter (SoupSession *session, SoupMessageFilter *filter)
 
        session->priv->filters = g_slist_remove (session->priv->filters,
                                                 filter);
+       g_object_unref (filter);
 }