diff options
author | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2011-01-14 15:08:28 +0100 |
---|---|---|
committer | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2011-05-12 12:30:40 +0200 |
commit | 5fb961188d8bc064827daac502790947ef254953 (patch) | |
tree | aed414b332c11db08e542f32412fa31c0ed06879 /telepathy-glib/proxy.c | |
parent | 45afe9a0dc77643586ced5398e04e9689d4a4431 (diff) | |
download | telepathy-glib-5fb961188d8bc064827daac502790947ef254953.tar.gz |
Wait that core has been prepared before checking requested interfaces
If core is not prepared, tp_proxy_has_interface_by_id() will also fail.
Diffstat (limited to 'telepathy-glib/proxy.c')
-rw-r--r-- | telepathy-glib/proxy.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/telepathy-glib/proxy.c b/telepathy-glib/proxy.c index b18db1447..da055bb7b 100644 --- a/telepathy-glib/proxy.c +++ b/telepathy-glib/proxy.c @@ -1783,14 +1783,6 @@ tp_proxy_prepare_async (gpointer self, { gboolean failed; - /* Check if we have the required interfaces */ - if (!check_feature_interfaces (self, features[i])) - { - tp_proxy_set_feature_state (self, features[i], - FEATURE_STATE_FAILED); - continue; - } - /* Check deps */ if (!check_depends_ready (self, features[i], &failed)) { @@ -1943,6 +1935,15 @@ request_is_complete (TpProxy *self, { gboolean failed; + /* Check if we have the required interfaces. We can't do that + * in tp_proxy_prepare_async() as CORE have to be prepared */ + if (!check_feature_interfaces (self, feature)) + { + tp_proxy_set_feature_state (self, feature, + FEATURE_STATE_FAILED); + continue; + } + if (check_depends_ready (self, feature, &failed)) { /* We can prepare it now */ |