diff options
author | Vivek Dasmohapatra <vivek@collabora.co.uk> | 2011-03-24 19:52:15 +0000 |
---|---|---|
committer | Vivek Dasmohapatra <vivek@collabora.co.uk> | 2011-04-05 14:19:10 +0100 |
commit | 9cf8902965acc2d258e3c71448ce9ce05ed202b1 (patch) | |
tree | 86af533af1816481bac9f758ad3151697b83b968 | |
parent | 5ac48ff9079881f4796a70787bb222a3f06603c1 (diff) | |
download | telepathy-mission-control-9cf8902965acc2d258e3c71448ce9ce05ed202b1.tar.gz |
Internal requests ARE subject to policy, and shouldn't be dispatched here
-rw-r--r-- | src/mcd-dispatch-operation.c | 37 |
1 files changed, 6 insertions, 31 deletions
diff --git a/src/mcd-dispatch-operation.c b/src/mcd-dispatch-operation.c index 5f9fccef..682f6856 100644 --- a/src/mcd-dispatch-operation.c +++ b/src/mcd-dispatch-operation.c @@ -2162,39 +2162,14 @@ _mcd_dispatch_operation_run_clients (McdDispatchOperation *self) _mcd_dispatch_operation_run_observers (self); } - /* internally generated/handled requests are not subject to policy */ - if (possible_handlers != NULL && tp_str_empty (*possible_handlers)) + for (mini_plugins = mcp_list_objects (); + mini_plugins != NULL; + mini_plugins = mini_plugins->next) { - guint i = 0; - GList *list = self->priv->channels; - - DEBUG ("Invoking internal handlers for requests"); - - for (; list != NULL; list = g_list_next (list)) + if (MCP_IS_DISPATCH_OPERATION_POLICY (mini_plugins->data)) { - McdChannel *channel = list->data; - McdRequest *request = _mcd_channel_get_request (channel); - - if (request != NULL) - { - DEBUG ("Internal handler for request channel #%u", i); - _mcd_request_handle_internally (request, channel, TRUE); - } - - i++; - } - } - else - { - for (mini_plugins = mcp_list_objects (); - mini_plugins != NULL; - mini_plugins = mini_plugins->next) - { - if (MCP_IS_DISPATCH_OPERATION_POLICY (mini_plugins->data)) - { - mcp_dispatch_operation_policy_check (mini_plugins->data, - MCP_DISPATCH_OPERATION (self->priv->plugin_api)); - } + mcp_dispatch_operation_policy_check (mini_plugins->data, + MCP_DISPATCH_OPERATION (self->priv->plugin_api)); } } } |