diff options
Diffstat (limited to 'telepathy-glib/base-client.c')
-rw-r--r-- | telepathy-glib/base-client.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/telepathy-glib/base-client.c b/telepathy-glib/base-client.c index 43a4724e7..4d684d017 100644 --- a/telepathy-glib/base-client.c +++ b/telepathy-glib/base-client.c @@ -1669,8 +1669,10 @@ _tp_base_client_observe_channels (TpSvcClientObserver *iface, } else { - dispatch_operation = tp_channel_dispatch_operation_new (self->priv->dbus, - dispatch_operation_path, NULL, &error); + dispatch_operation = + _tp_simple_client_factory_ensure_channel_dispatch_operation ( + tp_proxy_get_factory (self->priv->account_mgr), + dispatch_operation_path, NULL, &error); if (dispatch_operation == NULL) { DEBUG ("Failed to create TpChannelDispatchOperation: %s", @@ -1883,15 +1885,18 @@ _tp_base_client_add_dispatch_operation (TpSvcClientApprover *iface, g_ptr_array_add (channels, channel); } - dispatch_operation = _tp_channel_dispatch_operation_new_with_objects ( - self->priv->dbus, dispatch_operation_path, properties, - account, connection, channels, &error); + dispatch_operation = + _tp_simple_client_factory_ensure_channel_dispatch_operation ( + tp_proxy_get_factory (self->priv->account_mgr), + dispatch_operation_path, properties, &error); if (dispatch_operation == NULL) { DEBUG ("Failed to create TpChannelDispatchOperation: %s", error->message); goto out; } + _tp_channel_dispatch_operation_ensure_channels (dispatch_operation, channels); + ctx = _tp_add_dispatch_operation_context_new (account, connection, channels, dispatch_operation, context); |