diff options
-rw-r--r-- | libempathy/empathy-dispatcher.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/libempathy/empathy-dispatcher.c b/libempathy/empathy-dispatcher.c index f46d15f80..0f9cc7746 100644 --- a/libempathy/empathy-dispatcher.c +++ b/libempathy/empathy-dispatcher.c @@ -112,7 +112,16 @@ typedef struct GHashTable *dispatched_channels; /* ObjectPath -> EmpathyDispatchOperations */ GHashTable *dispatching_channels; - /* ObjectPath -> EmpathyDispatchOperations */ + + /* ObjectPath -> EmpathyDispatchOperations + * + * This holds channels which were announced with NewChannel while we have an + * outstanding channel request for a channel of this type. On the Requests + * interface, CreateChannel and EnsureChannel are guaranteed by the spec to + * return before NewChannels is emitted, but there was no guarantee of the + * ordering of RequestChannel vs. NewChannel. So if necessary, channels are + * held in limbo here until we know whether they were requested. + */ GHashTable *outstanding_channels; /* List of DispatcherRequestData */ GList *outstanding_requests; |