don't ref the view here, since it keeps the view alive until the search is

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.)

svn path=/trunk/; revision=15877
This commit is contained in:
Chris Toshok
2002-02-28 21:51:17 +00:00
committed by Chris Toshok
parent b6e3a133f2
commit 8ad83fdce7
2 changed files with 12 additions and 4 deletions

View File

@ -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]

View File

@ -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;