diff options
-rw-r--r-- | libempathy-gtk/empathy-contact-selector.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/libempathy-gtk/empathy-contact-selector.c b/libempathy-gtk/empathy-contact-selector.c index 7b55b5142..f22b5b35d 100644 --- a/libempathy-gtk/empathy-contact-selector.c +++ b/libempathy-gtk/empathy-contact-selector.c @@ -44,6 +44,7 @@ enum typedef struct { EmpathyContactListStore *store; + gboolean dispose_run; } EmpathyContactSelectorPriv; static void contact_selector_changed_cb ( @@ -279,6 +280,8 @@ empathy_contact_selector_init (EmpathyContactSelector *empathy_contact_selector) EMPATHY_TYPE_CONTACT_SELECTOR, EmpathyContactSelectorPriv); empathy_contact_selector->priv = priv; + + priv->dispose_run = FALSE; } static void @@ -327,6 +330,11 @@ contact_selector_dispose (GObject *object) EmpathyContactSelector *selector = EMPATHY_CONTACT_SELECTOR (object); EmpathyContactSelectorPriv *priv = GET_PRIV (selector); + if (priv->dispose_run) + return; + + priv->dispose_run = TRUE; + if (priv->store) { g_object_unref (priv->store); |