aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2009-09-10 00:36:46 +0800
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2009-09-10 00:46:20 +0800
commitd8e6d9a444325fa428fb27faabdbd605ce91e8d5 (patch)
tree0a4144306cd3920f04949b5e09b91a0a0ba04d16
parenta64a6378eb3098be9e51d1dda253f7fb0c4c1fa3 (diff)
downloadgsoc2013-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.c9
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);
}