aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2014-02-04 02:02:12 +0800
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2014-02-05 20:54:06 +0800
commit7c86586442819aa47a4672671211d31cb8e2461a (patch)
tree593d6cd2e1b19ef91ae6379288aed8dc8e9d4fb8
parent853493de898bef9428e1188ba8c07eb9915c977a (diff)
downloadgsoc2013-empathy-7c86586442819aa47a4672671211d31cb8e2461a.tar
gsoc2013-empathy-7c86586442819aa47a4672671211d31cb8e2461a.tar.gz
gsoc2013-empathy-7c86586442819aa47a4672671211d31cb8e2461a.tar.bz2
gsoc2013-empathy-7c86586442819aa47a4672671211d31cb8e2461a.tar.lz
gsoc2013-empathy-7c86586442819aa47a4672671211d31cb8e2461a.tar.xz
gsoc2013-empathy-7c86586442819aa47a4672671211d31cb8e2461a.tar.zst
gsoc2013-empathy-7c86586442819aa47a4672671211d31cb8e2461a.zip
debug-window: prevent using the store when disposing
Using g_signal_connect_object() isn't enought as it prevents from calling the callback when the windows has been destroyed but not while disposing it. https://bugzilla.gnome.org/show_bug.cgi?id=692793
-rw-r--r--src/empathy-debug-window.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/empathy-debug-window.c b/src/empathy-debug-window.c
index b56fe3c02..b4392c331 100644
--- a/src/empathy-debug-window.c
+++ b/src/empathy-debug-window.c
@@ -323,11 +323,16 @@ proxy_invalidated_cb (TpProxy *proxy,
gpointer user_data)
{
EmpathyDebugWindow *self = (EmpathyDebugWindow *) user_data;
- GtkTreeModel *service_store = GTK_TREE_MODEL (self->priv->service_store);
+ GtkTreeModel *service_store;
TpProxy *stored_proxy;
GtkTreeIter iter;
gboolean valid_iter;
+ if (self->priv->service_store == NULL)
+ return;
+
+ service_store = GTK_TREE_MODEL (self->priv->service_store);
+
/* Proxy has been invalidated so we find and set it to NULL
* in service store */
gtk_tree_model_get_iter_first (service_store, &iter);