if (folder != FOLDER_INVALID) {
/* FIXME Pass a GCancellable */
- camel_folder_synchronize_sync (
- folder, FALSE, NULL,
- (driver->priv->error != NULL) ? NULL : &driver->priv->error);
+ if (camel_folder_synchronize_sync (folder, FALSE, NULL,
+ (driver->priv->error != NULL) ? NULL : &driver->priv->error))
+ camel_folder_refresh_info_sync (folder, NULL,
+ (driver->priv->error != NULL) ? NULL : &driver->priv->error);
camel_folder_thaw (folder);
g_object_unref (folder);
}
g_object_unref (server);
}
- imapx_refresh_info_sync (dest, cancellable, NULL);
+ /* update destination folder only if not frozen, to not update
+ for each single message transfer during filtering
+ */
+ if (!camel_folder_is_frozen (dest))
+ imapx_refresh_info_sync (dest, cancellable, NULL);
return success;
}