aboutsummaryrefslogtreecommitdiff
path: root/src/status-provider-pidgin.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/status-provider-pidgin.c')
-rw-r--r--src/status-provider-pidgin.c7
1 files changed, 7 insertions, 0 deletions
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;
}