Fix inifinite loop removing folders that have disappeared
Brown paper bag misuse of BidiIterator 🙄
This commit is contained in:
parent
6a8f8a1594
commit
02692466cd
2 changed files with 2 additions and 4 deletions
|
|
@ -1442,9 +1442,8 @@ public class GearyController : Geary.BaseObject {
|
|||
Gee.BidirIterator<Geary.Folder> unavailable_iterator =
|
||||
unavailable.bidir_iterator();
|
||||
unavailable_iterator.last();
|
||||
while (unavailable_iterator.valid) {
|
||||
while (unavailable_iterator.previous()) {
|
||||
Geary.Folder folder = unavailable_iterator.get();
|
||||
unavailable_iterator.previous();
|
||||
|
||||
main_window.folder_list.remove_folder(folder);
|
||||
if (folder.account == current_account) {
|
||||
|
|
|
|||
|
|
@ -1323,9 +1323,8 @@ internal class Geary.ImapEngine.UpdateRemoteFolders : AccountOperation {
|
|||
Gee.BidirIterator<MinimalFolder> removed_iterator =
|
||||
removed.bidir_iterator();
|
||||
removed_iterator.last();
|
||||
while (removed_iterator.valid) {
|
||||
while (removed_iterator.previous()) {
|
||||
MinimalFolder folder = removed_iterator.get();
|
||||
removed_iterator.previous();
|
||||
|
||||
try {
|
||||
debug("Locally deleting removed folder %s", folder.to_string());
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue