[libsoup] SoupRequester: compatibility fix
- From: Dan Winship <danw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libsoup] SoupRequester: compatibility fix
- Date: Tue, 11 Dec 2012 14:37:11 +0000 (UTC)
commit 0ce58e3a12410255c643ce5d7be60b30ec1e4960
Author: Dan Winship <danw gnome org>
Date: Tue Dec 11 15:34:52 2012 +0100
SoupRequester: compatibility fix
Epiphany was registering its "ephy-about" handler by directly calling
soup_session_feature_add_feature() on the SoupRequester, rather than
calling soup_session_add_feature_by_type() on the session. Fix it so
that will still work.
libsoup/soup-requester.c | 38 ++++++++++++++++++++++++++++++++++++++
1 files changed, 38 insertions(+), 0 deletions(-)
---
diff --git a/libsoup/soup-requester.c b/libsoup/soup-requester.c
index ce67982..60648e1 100644
--- a/libsoup/soup-requester.c
+++ b/libsoup/soup-requester.c
@@ -74,6 +74,41 @@ soup_requester_detach (SoupSessionFeature *feature, SoupSession *session)
soup_requester_default_feature_interface->detach (feature, session);
}
+static gboolean
+soup_requester_add_feature (SoupSessionFeature *feature, GType type)
+{
+ SoupRequester *requester = SOUP_REQUESTER (feature);
+
+ if (!g_type_is_a (type, SOUP_TYPE_REQUEST))
+ return FALSE;
+
+ soup_session_add_feature_by_type (requester->priv->session, type);
+ return TRUE;
+}
+
+static gboolean
+soup_requester_remove_feature (SoupSessionFeature *feature, GType type)
+{
+ SoupRequester *requester = SOUP_REQUESTER (feature);
+
+ if (!g_type_is_a (type, SOUP_TYPE_REQUEST))
+ return FALSE;
+
+ soup_session_remove_feature_by_type (requester->priv->session, type);
+ return TRUE;
+}
+
+static gboolean
+soup_requester_has_feature (SoupSessionFeature *feature, GType type)
+{
+ SoupRequester *requester = SOUP_REQUESTER (feature);
+
+ if (!g_type_is_a (type, SOUP_TYPE_REQUEST))
+ return FALSE;
+
+ return soup_session_has_feature (requester->priv->session, type);
+}
+
static void
soup_requester_session_feature_init (SoupSessionFeatureInterface *feature_interface,
gpointer interface_data)
@@ -83,6 +118,9 @@ soup_requester_session_feature_init (SoupSessionFeatureInterface *feature_interf
feature_interface->attach = soup_requester_attach;
feature_interface->detach = soup_requester_detach;
+ feature_interface->add_feature = soup_requester_add_feature;
+ feature_interface->remove_feature = soup_requester_remove_feature;
+ feature_interface->has_feature = soup_requester_has_feature;
}
SoupRequester *
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]