diff --git a/debian/control b/debian/control index 9b93bdc0..8ffda9d9 100644 --- a/debian/control +++ b/debian/control @@ -3,7 +3,7 @@ Section: gnome Priority: optional Maintainer: Jim Nelson Build-Depends: debhelper (>= 8), - libgee-0.8-dev (>= 0.8.0), + libgee-0.8-dev (>= 0.8.5), libglib2.0-dev (>= 2.32.0), libgtk-3-dev (>= 3.6.0), libunique-3.0-dev (>= 3.0.0), @@ -27,7 +27,7 @@ Homepage: http://www.yorba.org Package: geary Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, - libgee-0.8-2 (>= 0.8.0), + libgee-0.8-2 (>= 0.8.5), libglib2.0-0 (>= 2.32.0), libgtk-3-0 (>= 3.6.0), libunique-3.0-0 (>= 3.0.0), diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 241b0093..7bca298d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -441,7 +441,7 @@ pkg_check_modules(DEPS REQUIRED glib-2.0>=${TARGET_GLIB}.0 gio-2.0>=2.28.0 gtk+-3.0>=3.6.0 - gee-0.8>=0.8.0 + gee-0.8>=0.8.5 unique-3.0>=3.0.0 libnotify>=0.7.5 libcanberra>=0.28 diff --git a/src/client/models/conversation-list-store.vala b/src/client/models/conversation-list-store.vala index 61ff1ccc..2ab8cd9d 100644 --- a/src/client/models/conversation-list-store.vala +++ b/src/client/models/conversation-list-store.vala @@ -192,8 +192,7 @@ public class ConversationListStore : Gtk.ListStore { // sort the conversations so the previews are fetched from the newest to the oldest, matching // the user experience - Gee.TreeSet sorted_conversations - = new Geary.Collection.FixedTreeSet( + Gee.TreeSet sorted_conversations = new Gee.TreeSet( compare_conversation_descending); sorted_conversations.add_all(conversation_monitor.get_conversations()); foreach (Geary.App.Conversation conversation in sorted_conversations) { diff --git a/src/client/sidebar/sidebar-branch.vala b/src/client/sidebar/sidebar-branch.vala index ced83bb7..c2572671 100644 --- a/src/client/sidebar/sidebar-branch.vala +++ b/src/client/sidebar/sidebar-branch.vala @@ -65,7 +65,7 @@ public class Sidebar.Branch : Object { child.parent = this; if (children == null) - children = new Geary.Collection.FixedTreeSet(comparator_wrapper); + children = new Gee.TreeSet(comparator_wrapper); bool added = children.add(child); assert(added); @@ -74,7 +74,7 @@ public class Sidebar.Branch : Object { public void remove_child(Node child) { assert(children != null); - Gee.SortedSet new_children = new Geary.Collection.FixedTreeSet(comparator_wrapper); + Gee.SortedSet new_children = new Gee.TreeSet(comparator_wrapper); // For similar reasons as in reorder_child(), can't rely on TreeSet to locate this // node because we need reference equality. @@ -143,7 +143,7 @@ public class Sidebar.Branch : Object { // called or the set is manually iterated over and removed via the Iterator -- a // tree search is performed and the child will not be found. Only easy solution is // to rebuild a new SortedSet and see if the child has moved. - Gee.SortedSet new_children = new Geary.Collection.FixedTreeSet(comparator_wrapper); + Gee.SortedSet new_children = new Gee.TreeSet(comparator_wrapper); bool added = new_children.add_all(children); assert(added); @@ -159,7 +159,7 @@ public class Sidebar.Branch : Object { if (children == null) return; - Gee.SortedSet reordered = new Geary.Collection.FixedTreeSet(comparator_wrapper); + Gee.SortedSet reordered = new Gee.TreeSet(comparator_wrapper); reordered.add_all(children); children = reordered; diff --git a/src/client/views/conversation-viewer.vala b/src/client/views/conversation-viewer.vala index e614e682..b9d7eb27 100644 --- a/src/client/views/conversation-viewer.vala +++ b/src/client/views/conversation-viewer.vala @@ -102,7 +102,7 @@ public class ConversationViewer : Gtk.Box { // List of emails in this view. public Gee.TreeSet messages { get; private set; default = - new Geary.Collection.FixedTreeSet(Geary.Email.compare_date_ascending); } + new Gee.TreeSet(Geary.Email.compare_date_ascending); } // The HTML viewer to view the emails. public ConversationWebView web_view { get; private set; } diff --git a/src/engine/app/app-conversation.vala b/src/engine/app/app-conversation.vala index 7e9139e7..2e8bbdca 100644 --- a/src/engine/app/app-conversation.vala +++ b/src/engine/app/app-conversation.vala @@ -46,9 +46,9 @@ public class Geary.App.Conversation : BaseObject { // this isn't ideal but the cost of adding an email to multiple sorted sets once versus // the number of times they're accessed makes it worth it - private Gee.SortedSet date_ascending = new Collection.FixedTreeSet( + private Gee.SortedSet date_ascending = new Gee.TreeSet( Geary.Email.compare_date_ascending); - private Gee.SortedSet date_descending = new Collection.FixedTreeSet( + private Gee.SortedSet date_descending = new Gee.TreeSet( Geary.Email.compare_date_descending); // by storing all paths for each EmailIdentifier, can lookup without blocking diff --git a/src/engine/imap-engine/imap-engine-email-prefetcher.vala b/src/engine/imap-engine/imap-engine-email-prefetcher.vala index eff9e060..7b8bd3e9 100644 --- a/src/engine/imap-engine/imap-engine-email-prefetcher.vala +++ b/src/engine/imap-engine/imap-engine-email-prefetcher.vala @@ -26,7 +26,7 @@ private class Geary.ImapEngine.EmailPrefetcher : Object { private unowned ImapEngine.GenericFolder folder; private int start_delay_sec; private Nonblocking.Mutex mutex = new Nonblocking.Mutex(); - private Gee.TreeSet prefetch_emails = new Collection.FixedTreeSet( + private Gee.TreeSet prefetch_emails = new Gee.TreeSet( Email.compare_date_received_descending); private uint schedule_id = 0; private Cancellable cancellable = new Cancellable(); @@ -169,7 +169,7 @@ private class Geary.ImapEngine.EmailPrefetcher : Object { private async void do_prefetch_batch_async() throws Error { // snarf up all requested Emails for this round Gee.TreeSet emails = prefetch_emails; - prefetch_emails = new Collection.FixedTreeSet(Email.compare_date_received_descending); + prefetch_emails = new Gee.TreeSet(Email.compare_date_received_descending); if (emails.size == 0) return; diff --git a/src/engine/util/util-collection.vala b/src/engine/util/util-collection.vala index cc57a45f..c69a7708 100644 --- a/src/engine/util/util-collection.vala +++ b/src/engine/util/util-collection.vala @@ -135,18 +135,4 @@ public static uint hash_memory(void *ptr, size_t bytes) { return hash; } -/** - * This *must* be used in place of Gee,TreeSet until the fix for this bug is widely distributed: - * [[https://bugzilla.gnome.org/show_bug.cgi?id=695045]] - */ -public class FixedTreeSet : Gee.TreeSet { - public FixedTreeSet(owned GLib.CompareDataFunc? compare_func = null) { - base ( (owned) compare_func); - } - - ~FixedTreeSet() { - clear(); - } -} - }