summaryrefslogtreecommitdiff
path: root/telepathy-glib/base-client.c
diff options
context:
space:
mode:
authorJonny Lamb <jonny.lamb@collabora.co.uk>2010-12-21 16:27:49 +0000
committerJonny Lamb <jonny.lamb@collabora.co.uk>2010-12-22 08:45:48 +0000
commit83979e241e70340a3a34e61e75ec175949ec9e68 (patch)
treee5639161f624e9c9976afe5824cd078f9a9b7bb5 /telepathy-glib/base-client.c
parentf5ff1dc58c0aa6f87585ee6bc7fce3f3112b9443 (diff)
downloadtelepathy-glib-83979e241e70340a3a34e61e75ec175949ec9e68.tar.gz
base-client: make set_observer_recover set both ways
Setting the argument recover=TRUE or recover=FALSE should do the sensible thing according to the documentation of the function, not just always set it to TRUE regardless. Fixes: fd.o#32551 Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
Diffstat (limited to 'telepathy-glib/base-client.c')
-rw-r--r--telepathy-glib/base-client.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/telepathy-glib/base-client.c b/telepathy-glib/base-client.c
index 179a14855..921155bc0 100644
--- a/telepathy-glib/base-client.c
+++ b/telepathy-glib/base-client.c
@@ -409,7 +409,15 @@ tp_base_client_set_observer_recover (TpBaseClient *self,
g_return_if_fail (!self->priv->registered);
g_return_if_fail (cls->observe_channels != NULL);
- self->priv->flags |= (CLIENT_IS_OBSERVER | CLIENT_OBSERVER_RECOVER);
+ if (recover)
+ {
+ self->priv->flags |= (CLIENT_IS_OBSERVER | CLIENT_OBSERVER_RECOVER);
+ }
+ else
+ {
+ self->priv->flags |= CLIENT_IS_OBSERVER;
+ self->priv->flags &= ~CLIENT_OBSERVER_RECOVER;
+ }
}
/**