]> git.0d.be Git - empathy.git/commitdiff
Blocking: don't critical if ContactBlockingCapabilities is missing
authorWill Thompson <will.thompson@collabora.co.uk>
Mon, 8 Aug 2011 21:43:42 +0000 (23:43 +0200)
committerWill Thompson <will.thompson@collabora.co.uk>
Mon, 8 Aug 2011 21:43:42 +0000 (23:43 +0200)
Haze has a deny list, and ostensibly implements ContactBlocking, but
doesn't really implement that property.  Naughty Haze hackers. They
should be blocked.

libempathy/empathy-tp-contact-list.c

index d947e7284b6083d5657954f8d9d894175c8e28a5..11990a9a212c4d63356f56b8d6690c0074ec5097 100644 (file)
@@ -821,7 +821,19 @@ list_get_contact_blocking_capabilities_cb (TpProxy *conn,
        EmpathyTpContactListPriv *priv = GET_PRIV (list);
        TpContactBlockingCapabilities caps;
 
        EmpathyTpContactListPriv *priv = GET_PRIV (list);
        TpContactBlockingCapabilities caps;
 
-       g_return_if_fail (G_VALUE_HOLDS_UINT (value));
+       if (in_error != NULL) {
+               DEBUG ("Get(Blocking, ContactBlockingCapabilities) on %s failed: %s",
+                      tp_proxy_get_object_path (conn),
+                      in_error->message);
+               return;
+       }
+
+       if (!G_VALUE_HOLDS_UINT (value)) {
+               DEBUG ("Get(Blocking, ContactBlockingCapabilities) on %s returned a %s, not a uint",
+                      tp_proxy_get_object_path (conn),
+                      G_VALUE_TYPE_NAME (value));
+               return;
+       }
 
        caps = g_value_get_uint (value);
 
 
        caps = g_value_get_uint (value);