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);
gtk_list_store_set (self->priv->service_store, &iter,
COL_PROXY, NULL,
-1);
+
+ g_object_unref (stored_proxy);
}
/* Also, we refresh "All" selection's active buffer since it should not
g_free (proxy_service_name);
/* Connect to "invalidated" signal */
- g_signal_connect (debug, "invalidated",
- G_CALLBACK (proxy_invalidated_cb), self);
+ g_signal_connect_object (debug, "invalidated",
+ G_CALLBACK (proxy_invalidated_cb), self, 0);
/* Connect to NewDebugMessage */
tp_g_signal_connect_object (debug, "new-debug-message",