aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--addressbook/ChangeLog12
-rw-r--r--addressbook/backend/pas/pas-backend-ldap.c4
2 files changed, 12 insertions, 4 deletions
diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog
index bae7938514..b80b2ab802 100644
--- a/addressbook/ChangeLog
+++ b/addressbook/ChangeLog
@@ -1,3 +1,15 @@
+2002-02-28 Chris Toshok <toshok@ximian.com>
+
+ * backend/pas/pas-backend-ldap.c (pas_backend_ldap_search): don't
+ ref the view here, since it keeps the view alive until the search
+ is over, which we don't want. we want the view's death to cancel
+ the search. This speeds up starting new searches after one is
+ already active (since switching searches actually creates a new
+ book view and destroys the old one.)
+ (ldap_search_dtor): remove the matching unref here. The unref as
+ it was was incorrect anyway, and caused a crash (we needed
+ search_op->view, not op->view.)
+
2002-02-27 Chris Toshok <toshok@ximian.com>
[fixes bug #20690]
diff --git a/addressbook/backend/pas/pas-backend-ldap.c b/addressbook/backend/pas/pas-backend-ldap.c
index 3128b79104..6a98246257 100644
--- a/addressbook/backend/pas/pas-backend-ldap.c
+++ b/addressbook/backend/pas/pas-backend-ldap.c
@@ -2437,9 +2437,6 @@ ldap_search_dtor (PASBackend *backend, LDAPOp *op)
{
LDAPSearchOp *search_op = (LDAPSearchOp*) op;
- if (op->view)
- bonobo_object_release_unref(bonobo_object_corba_objref(BONOBO_OBJECT(op->view)), NULL);
-
g_free (search_op->ldap_query);
g_free (search_op);
}
@@ -2451,7 +2448,6 @@ pas_backend_ldap_search (PASBackendLDAP *bl,
{
LDAPSearchOp *op = g_new (LDAPSearchOp, 1);
- bonobo_object_dup_ref(bonobo_object_corba_objref(BONOBO_OBJECT(view->book_view)), NULL);
ldap_op_init ((LDAPOp*)op, PAS_BACKEND(bl), book, view->book_view, ldap_search_handler, ldap_search_dtor);
op->ldap_query = NULL;