+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
( 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
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;
}