GNOME Bugzilla – Bug 672175
Make CamelFolderSearch cancellable
Last modified: 2014-02-19 14:19:13 UTC
Err, this is bad, the CamelFolderSearch API doesn't support cancellables, thus one cannot cancel operations like "Generating message list". I faced it when searching in a remote folder for headers which are not cached in folder's summary, like Bcc, where the folder doesn't have downloaded all messages yet, but it requires them locally for searching. Below is the actual backtrace of the operation. The frame 37 passes GCancellable into regen_list_exec, but it is gone in frame 36 at camel_folder_search_by_expression. This API should be fixed, because the only way of letting it stop before it downloads the whole 100K messages folder is to kill evolution.
+ Trace 229885
Thread 3 (Thread 0x7fb267fff700 (LWP 7901))
CamelFolderSearch is one of those APIs keeping Camel bundled with E-D-S. Have at it, scrap the whole thing if you need to. The current API is crap.
I just made it cancellable, thus the Generating message list can be cancelled by a user. Created commit eee3118 in eds master (3.5.1+) Created commit b693398 in evo master (3.5.1+) Created commit 446ccda in eex master (3.5.1+) Created commit fe725a7 in ema master (3.5.1+) Created commit cd1c2ee in egw master (3.5.1+) Created commit f68b45e in ews master (3.5.1+)
*** Bug 665408 has been marked as a duplicate of this bug. ***
*** Bug 207011 has been marked as a duplicate of this bug. ***