summaryrefslogtreecommitdiff
path: root/telepathy-glib/proxy.c
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2011-01-14 15:08:28 +0100
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2011-05-12 12:30:40 +0200
commit5fb961188d8bc064827daac502790947ef254953 (patch)
treeaed414b332c11db08e542f32412fa31c0ed06879 /telepathy-glib/proxy.c
parent45afe9a0dc77643586ced5398e04e9689d4a4431 (diff)
downloadtelepathy-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.c17
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 */