diff options
author | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2009-09-10 00:36:46 +0800 |
---|---|---|
committer | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2009-09-10 00:46:20 +0800 |
commit | d8e6d9a444325fa428fb27faabdbd605ce91e8d5 (patch) | |
tree | 0a4144306cd3920f04949b5e09b91a0a0ba04d16 | |
parent | a64a6378eb3098be9e51d1dda253f7fb0c4c1fa3 (diff) | |
download | gsoc2013-empathy-d8e6d9a444325fa428fb27faabdbd605ce91e8d5.tar gsoc2013-empathy-d8e6d9a444325fa428fb27faabdbd605ce91e8d5.tar.gz gsoc2013-empathy-d8e6d9a444325fa428fb27faabdbd605ce91e8d5.tar.bz2 gsoc2013-empathy-d8e6d9a444325fa428fb27faabdbd605ce91e8d5.tar.lz gsoc2013-empathy-d8e6d9a444325fa428fb27faabdbd605ce91e8d5.tar.xz gsoc2013-empathy-d8e6d9a444325fa428fb27faabdbd605ce91e8d5.tar.zst gsoc2013-empathy-d8e6d9a444325fa428fb27faabdbd605ce91e8d5.zip |
dispatcher_request_failed: check if conn_data is not NULL
Trace attached on lp #392678 seems to indicate that the
priv->connections hash table doesn't have a ConnectionData associated
with the connection. A possible explanation could be that this
connection has been invalidated before the RequestChannel call is
terminated.
Check if ConnectionData so Empathy won't crash in such case.
-rw-r--r-- | libempathy/empathy-dispatcher.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/libempathy/empathy-dispatcher.c b/libempathy/empathy-dispatcher.c index 6313752d9..ef9d180b6 100644 --- a/libempathy/empathy-dispatcher.c +++ b/libempathy/empathy-dispatcher.c @@ -1142,8 +1142,13 @@ dispatcher_request_failed (EmpathyDispatcher *dispatcher, if (request_data->cb != NULL) request_data->cb (NULL, error, request_data->user_data); - conn_data->outstanding_requests = - g_list_remove (conn_data->outstanding_requests, request_data); + if (conn_data != NULL) + { + conn_data->outstanding_requests = + g_list_remove (conn_data->outstanding_requests, request_data); + } + /* else Connection has been invalidated */ + free_dispatcher_request_data (request_data); } |