[geary] Avoid ArrayList.wrap for compatibility with old Gee



commit 6a970d052ec34863f5701ce566b43bd7c919c8ca
Author: Charles Lindsay <chaz yorba org>
Date:   Tue Mar 4 17:41:28 2014 -0800

    Avoid ArrayList.wrap for compatibility with old Gee
    
    Closes: bgo #724317

 src/engine/api/geary-account-information.vala |    2 +-
 src/engine/util/util-collection.vala          |    7 +++++++
 src/engine/util/util-iterable.vala            |    2 +-
 3 files changed, 9 insertions(+), 2 deletions(-)
---
diff --git a/src/engine/api/geary-account-information.vala b/src/engine/api/geary-account-information.vala
index 4b8a80e..0c0e4e9 100644
--- a/src/engine/api/geary-account-information.vala
+++ b/src/engine/api/geary-account-information.vala
@@ -513,7 +513,7 @@ public class Geary.AccountInformation : BaseObject {
         try {
             string[] list = key_file.get_string_list(group, key);
             if (list.length > 0)
-                return new Gee.ArrayList<string>.wrap(list);
+                return Geary.Collection.array_list_wrap<string>(list);
         } catch(KeyFileError err) {
             // Ignore.
         }
diff --git a/src/engine/util/util-collection.vala b/src/engine/util/util-collection.vala
index 32f0f98..7c86c2e 100644
--- a/src/engine/util/util-collection.vala
+++ b/src/engine/util/util-collection.vala
@@ -6,6 +6,13 @@
 
 namespace Geary.Collection {
 
+// A substitute for ArrayList<G>.wrap() for compatibility with older versions of Gee.
+public Gee.ArrayList<G> array_list_wrap<G>(G[] a, owned Gee.EqualDataFunc<G>? equal_func = null) {
+    Gee.ArrayList<G> list = new Gee.ArrayList<G>(equal_func);
+    add_all_array<G>(list, a);
+    return list;
+}
+
 public Gee.ArrayList<G> to_array_list<G>(Gee.Collection<G> c) {
     Gee.ArrayList<G> list = new Gee.ArrayList<G>();
     list.add_all(c);
diff --git a/src/engine/util/util-iterable.vala b/src/engine/util/util-iterable.vala
index bccabb3..d5c6ccf 100644
--- a/src/engine/util/util-iterable.vala
+++ b/src/engine/util/util-iterable.vala
@@ -32,7 +32,7 @@ namespace Geary {
      * Take an array of items and return a Geary.Iterable for convenience.
      */
     public Geary.Iterable<G> iterate_array<G>(G[] a) {
-        return Geary.traverse<G>(new Gee.ArrayList<G>.wrap(a));
+        return Geary.traverse<G>(Geary.Collection.array_list_wrap<G>(a));
     }
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]