diff options
author | Chris Toshok <toshok@ximian.com> | 2002-11-10 17:49:37 +0800 |
---|---|---|
committer | Chris Toshok <toshok@src.gnome.org> | 2002-11-10 17:49:37 +0800 |
commit | 9aa24e5bd2d516b9722db784a16fd3ef838037a1 (patch) | |
tree | cf9bfd4dacba4a19b7c2b0d57d9d79757c7ed55d /addressbook/backend/pas/pas-backend-ldap.c | |
parent | 28bc0361b9db902a9bcca18cfc5c1b9cc37a7229 (diff) | |
download | gsoc2013-evolution-9aa24e5bd2d516b9722db784a16fd3ef838037a1.tar gsoc2013-evolution-9aa24e5bd2d516b9722db784a16fd3ef838037a1.tar.gz gsoc2013-evolution-9aa24e5bd2d516b9722db784a16fd3ef838037a1.tar.bz2 gsoc2013-evolution-9aa24e5bd2d516b9722db784a16fd3ef838037a1.tar.lz gsoc2013-evolution-9aa24e5bd2d516b9722db784a16fd3ef838037a1.tar.xz gsoc2013-evolution-9aa24e5bd2d516b9722db784a16fd3ef838037a1.tar.zst gsoc2013-evolution-9aa24e5bd2d516b9722db784a16fd3ef838037a1.zip |
guard against multiple invocations.
2002-11-10 Chris Toshok <toshok@ximian.com>
* backend/pas/pas-backend-card-sexp.c
(pas_backend_card_sexp_dispose): guard against multiple
invocations.
* backend/pas/pas-card-cursor.c (pas_card_cursor_dispose): same.
* backend/pas/pas-book.c (pas_book_dispose): same.
* backend/pas/pas-book-view.c (pas_book_view_dispose): same.
* backend/pas/pas-book-factory.c (pas_book_factory_dispose): same.
* backend/pas/pas-backend-summary.c (pas_backend_summary_dispose): same.
* backend/pas/pas-backend-ldap.c (pas_backend_ldap_dispose): same.
* backend/pas/pas-backend-file.c (pas_backend_file_dispose): same.
* backend/ebook/e-book-listener.c (e_book_listener_dispose): guard
against multiple invocations.
* backend/ebook/e-card.c (e_card_dispose): same.
* backend/ebook/e-card-simple.c (e_card_simple_dispose): same.
* backend/ebook/e-card-cursor.c (e_card_cursor_dispose): same.
* backend/ebook/e-book.c (e_book_dispose): same.
* backend/ebook/e-book-view-listener.c (e_book_view_listener_dispose): same.
svn path=/trunk/; revision=18687
Diffstat (limited to 'addressbook/backend/pas/pas-backend-ldap.c')
-rw-r--r-- | addressbook/backend/pas/pas-backend-ldap.c | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/addressbook/backend/pas/pas-backend-ldap.c b/addressbook/backend/pas/pas-backend-ldap.c index cf464ba4e6..010e8d104e 100644 --- a/addressbook/backend/pas/pas-backend-ldap.c +++ b/addressbook/backend/pas/pas-backend-ldap.c @@ -3436,22 +3436,28 @@ pas_backend_ldap_dispose (GObject *object) bl = PAS_BACKEND_LDAP (object); - g_hash_table_foreach_remove (bl->priv->id_to_op, (GHRFunc)call_dtor, NULL); - g_hash_table_destroy (bl->priv->id_to_op); + if (bl->priv) { + g_hash_table_foreach_remove (bl->priv->id_to_op, (GHRFunc)call_dtor, NULL); + g_hash_table_destroy (bl->priv->id_to_op); - if (bl->priv->poll_timeout != -1) { - printf ("removing timeout\n"); - g_source_remove (bl->priv->poll_timeout); - } + if (bl->priv->poll_timeout != -1) { + printf ("removing timeout\n"); + g_source_remove (bl->priv->poll_timeout); + } - g_object_unref (bl->priv->book_views); + g_object_unref (bl->priv->book_views); - if (bl->priv->supported_fields) - g_object_unref (bl->priv->supported_fields); + if (bl->priv->supported_fields) + g_object_unref (bl->priv->supported_fields); - g_free (bl->priv->uri); + g_free (bl->priv->uri); + + g_free (bl->priv); + bl->priv = NULL; + } - G_OBJECT_CLASS (pas_backend_ldap_parent_class)->dispose (object); + if (G_OBJECT_CLASS (pas_backend_ldap_parent_class)->dispose) + G_OBJECT_CLASS (pas_backend_ldap_parent_class)->dispose (object); } static void |