diff options
-rw-r--r-- | telepathy-glib/group-mixin.c | 2 | ||||
-rw-r--r-- | tests/lib/textchan-group.c | 13 |
2 files changed, 11 insertions, 4 deletions
diff --git a/telepathy-glib/group-mixin.c b/telepathy-glib/group-mixin.c index 959fb4ac..5bf68fdb 100644 --- a/telepathy-glib/group-mixin.c +++ b/telepathy-glib/group-mixin.c @@ -334,7 +334,7 @@ tp_group_mixin_init (GObject *obj, if (self_handle != 0) mixin->self_handle = tp_handle_ref (handle_repo, self_handle); - mixin->group_flags = 0; + mixin->group_flags = TP_CHANNEL_GROUP_FLAG_MEMBERS_CHANGED_DETAILED; mixin->members = tp_handle_set_new (handle_repo); mixin->local_pending = tp_handle_set_new (handle_repo); diff --git a/tests/lib/textchan-group.c b/tests/lib/textchan-group.c index c4432574..618b8ca4 100644 --- a/tests/lib/textchan-group.c +++ b/tests/lib/textchan-group.c @@ -143,9 +143,6 @@ constructor (GType type, TP_CHANNEL_TEXT_MESSAGE_TYPE_NOTICE, G_MAXUINT); - if (self->priv->detailed) - flags |= TP_CHANNEL_GROUP_FLAG_MEMBERS_CHANGED_DETAILED; - if (self->priv->properties) flags |= TP_CHANNEL_GROUP_FLAG_PROPERTIES; @@ -153,6 +150,16 @@ constructor (GType type, tp_group_mixin_init (object, G_STRUCT_OFFSET (TpTestsTextChannelGroup, group), contact_repo, self->conn->self_handle); + + if (!self->priv->detailed) + { + /* TpGroupMixin always set the Members_Changed_Detailed flag so we have + * to cheat and manually remove it to pretend we don't implement it. */ + TpGroupMixin *group = TP_GROUP_MIXIN (self); + + group->group_flags &= ~TP_CHANNEL_GROUP_FLAG_MEMBERS_CHANGED_DETAILED; + } + tp_group_mixin_change_flags (object, flags, 0); return object; |