From dbf5b1d9ea6aef0fb55ffcd3b6322fbfb20e5e73 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Sat, 8 Aug 2009 05:50:34 -0600 Subject: Better displose to free the proxy and ensuring that statuc changes get noted. --- src/status-provider-pidgin.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/status-provider-pidgin.c b/src/status-provider-pidgin.c index 6a3f7a5..5e42ff2 100644 --- a/src/status-provider-pidgin.c +++ b/src/status-provider-pidgin.c @@ -129,6 +129,12 @@ status_provider_pidgin_init (StatusProviderPidgin *self) static void status_provider_pidgin_dispose (GObject *object) { + StatusProviderPidginPrivate * priv = STATUS_PROVIDER_PIDGIN_GET_PRIVATE(self); + + if (priv->proxy != NULL) { + g_object_unref(priv->proxy); + priv->proxy = NULL; + } G_OBJECT_CLASS (status_provider_pidgin_parent_class)->dispose (object); return; @@ -166,6 +172,7 @@ set_status (StatusProvider * sp, StatusProviderStatus status) StatusProviderPidginPrivate * priv = STATUS_PROVIDER_PIDGIN_GET_PRIVATE(sp); pg_status_t pg_status = sp_to_pg_map[status]; priv->pg_status = pg_status; + g_signal_emit(G_OBJECT(sp), signals[STATUS_CHANGED], 0, pg_to_sp_map[priv->pg_status], TRUE); return; } -- cgit v1.2.3