summaryrefslogtreecommitdiff
path: root/community-testing/gwibber/lp_959068.patch
diff options
context:
space:
mode:
Diffstat (limited to 'community-testing/gwibber/lp_959068.patch')
-rw-r--r--community-testing/gwibber/lp_959068.patch27
1 files changed, 27 insertions, 0 deletions
diff --git a/community-testing/gwibber/lp_959068.patch b/community-testing/gwibber/lp_959068.patch
new file mode 100644
index 000000000..66b288ba7
--- /dev/null
+++ b/community-testing/gwibber/lp_959068.patch
@@ -0,0 +1,27 @@
+=== modified file 'libgwibber/streams.vala'
+--- old/libgwibber/streams.vala 2012-03-19 13:35:30 +0000
++++ new/libgwibber/streams.vala 2012-04-04 20:53:49 +0000
+@@ -213,13 +213,21 @@
+ model = create_model ();
+ }
+ model.row_removed.connect((_m, _i) => {
++ var to_remove = new GLib.List <string> ();
+ foreach (var v in seen.entries)
+ {
+ if (v.value == _i)
+ {
+- seen.unset(v.key);
++ /* defer calling unset until after we are done iterating
++ * the HashMap, it will resize making the iterator invalid
++ * This is fixed in the 0.7 series of libgee
++ * https://bugzilla.gnome.org/show_bug.cgi?id=671327
++ */
++ to_remove.prepend (v.key);
+ }
+ }
++ foreach (var v in to_remove)
++ seen.unset(v);
+ });
+ Idle.add(() => {
+ refresh_model_async.begin ();
+