Removed messages are now removed from conversations: Closes #4347

Conversations now fully monitor the Folder for both additions and removals of messages.
This exposed a couple of bugs in the database code, which are fixed here as well.  I also
used this opportunity to clean up some of the internal Conversations code, simplifying Node
management.  #4333 will be a big boost here when implemented.
This commit is contained in:
Jim Nelson 2011-11-10 13:20:48 -08:00
parent 097a46d9ca
commit 4cea0fb0d2
12 changed files with 362 additions and 95 deletions

View file

@ -189,6 +189,8 @@ public class Geary.Sqlite.MessageTable : Geary.Sqlite.Table {
public async MessageRow? fetch_async(Transaction? transaction, int64 id,
Geary.Email.Field requested_fields, Cancellable? cancellable = null) throws Error {
assert(requested_fields != Geary.Email.Field.NONE);
// PROPERTIES are handled by the appropriate PropertiesTable
assert(requested_fields != Geary.Email.Field.PROPERTIES);
Transaction locked = yield obtain_lock_async(transaction, "MessageTable.fetch_async",
cancellable);