2004-09-02 [colin] 0.9.12cvs88
authorColin Leroy <colin@colino.net>
Thu, 2 Sep 2004 10:14:45 +0000 (10:14 +0000)
committerColin Leroy <colin@colino.net>
Thu, 2 Sep 2004 10:14:45 +0000 (10:14 +0000)
* src/ldapquery.c
Fix freezes in LDAP, due to memory corruption
after deletion of a query (and not removing it
from the corresponding list of queries).
Very probably fixes bug 567 and bug 569

ChangeLog.claws
PATCHSETS
configure.ac
src/ldapquery.c

index a702c75e99ff7bbbe8d14a02f75c6daa9842120c..62629e9a0b0ddd55419bcc2a33ab7a182f64143f 100644 (file)
@@ -1,3 +1,11 @@
+2004-09-02 [colin]     0.9.12cvs88
+
+       * src/ldapquery.c
+               Fix freezes in LDAP, due to memory corruption
+               after deletion of a query (and not removing it
+               from the corresponding list of queries).
+               Very probably fixes bug 567 and bug 569
+
 2004-09-02 [colin]     0.9.12cvs87
 
        * src/prefs_spelling.c
index b8d72a0acaee277774f7624f9cefada07d74e3c0..62453f899e4c2f723084158184be1e6dfc5560df 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
@@ -70,3 +70,4 @@
 ( cvs diff -u -r 1.257 -r 1.258 src/folder.c; ) > 0.9.12cvs85.patchset
 ( cvs diff -u -r 1.70 -r 1.71 src/filtering.c; cvs diff -u -r 1.206 -r 1.207 src/imap.c; cvs diff -u -r 1.47 -r 1.48 src/prefs_matcher.c; cvs diff -u -r 1.35 -r 1.36 src/stock_pixmap.c; ) > 0.9.12cvs86.patchset
 ( cvs diff -u -r 1.6 -r 1.7 src/prefs_spelling.c; ) > 0.9.12cvs87.patchset
+( cvs diff -u -r 1.8 -r 1.9 src/ldapquery.c; ) > 0.9.12cvs88.patchset
index 3a34b17bea71f2a8e7fe73f87c0d81c0259e255a..2c03390977048d72e9b8855a6c266beb5fd5377d 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=9
 MICRO_VERSION=12
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=87
+EXTRA_VERSION=88
 EXTRA_RELEASE=
 
 if test \( $EXTRA_VERSION -eq 0 \) -o \( "x$EXTRA_RELEASE" != "x" \); then
index 9cfd504214f98c17817deda7da1d98c4b862972b..3afb70b93d4fe6003658c695e5bff4493fa63bf4 100644 (file)
@@ -1371,25 +1371,16 @@ gint ldapqry_perform_locate( LdapQuery *qry ) {
 gboolean ldapquery_remove_results( LdapQuery *qry ) {
        gboolean retVal = FALSE;
 
-       /* Set query as aged - will be retired on a later call */
        ldapqry_set_aged_flag( qry, TRUE );
-       /*
-       printf( "ldapquery_remove_results...\n" );
-       printf( "testing busy flag...\n" );
-       */
+
        if( ldapqry_get_busy_flag( qry ) ) {
-               /* Query is still busy - cancel query */
-               /* printf( "\tquery is still busy running...\n" ); */
                ldapqry_set_stop_flag( qry, TRUE );
-
-               /* ldapqry_cancel( qry ); */
        }
        else {
-               /* Delete folder */
-               /* printf( "\tquery can be deleted!\n" ); */
-               /* ldapqry_delete_folder( qry ); */
+               LdapServer *server = qry->server;
+               server->listQuery = g_list_remove(server->listQuery, qry);
+
                retVal = TRUE;
-               /* printf( "\tquery deleted!\n" ); */
        }
        return retVal;
 }