Merge lp:~ken-vandine/gwibber/lp_937607 into lp:gwibber

Proposed by Ken VanDine
Status: Merged
Merged at revision: 1314
Proposed branch: lp:~ken-vandine/gwibber/lp_937607
Merge into: lp:gwibber
Diff against target: 59 lines (+26/-14)
1 file modified
libgwibber/streams.vala (+26/-14)
To merge this branch: bzr merge lp:~ken-vandine/gwibber/lp_937607
Reviewer Review Type Date Requested Status
David Klasinc (community) Approve
Review via email: mp+97513@code.launchpad.net

Description of the change

Make sure we don't keep references to Dee.ModelIter that has been removed (LP: #937607)

To post a comment you must log in.
Revision history for this message
David Klasinc (bigwhale) wrote :

Looks good.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'libgwibber/streams.vala'
--- libgwibber/streams.vala 2012-03-08 15:07:19 +0000
+++ libgwibber/streams.vala 2012-03-14 20:57:39 +0000
@@ -212,6 +212,15 @@
212 model = null;212 model = null;
213 model = create_model ();213 model = create_model ();
214 }214 }
215 model.row_removed.connect((_m, _i) => {
216 foreach (var v in seen.entries)
217 {
218 if (v.value == _i)
219 {
220 seen.unset(v.key);
221 }
222 }
223 });
215 Idle.add(() => {224 Idle.add(() => {
216 refresh_model_async.begin ();225 refresh_model_async.begin ();
217 return false;226 return false;
@@ -696,22 +705,25 @@
696 {705 {
697 iter = seen.get(_textid);706 iter = seen.get(_textid);
698 if (iter == null)707 if (iter == null)
708 seen.unset(_textid);
709 else
710 {
711 string[] _accounts_array = (string[])_model.get_value (iter, StreamModelColumn.ACCOUNTS);
712 if (!(_acct in _accounts_array))
713 {
714 foreach (var a in _accounts_array)
715 builder.add ("s", a);
716 var _accounts = new Variant ("as", builder);
717 _model.set_value (iter, StreamModelColumn.ACCOUNTS, _accounts);
718 }
719 _model.set_value (iter, StreamModelColumn.MESSAGE, _text);
720 _model.set_value (iter, StreamModelColumn.HTML, _html);
721 _model.set_value (iter, StreamModelColumn.TIMESTRING, _t);
722 _model.set_value (iter, StreamModelColumn.LIKES, _likes);
723 _model.set_value (iter, StreamModelColumn.LIKED, _liked);
724 iter = null;
699 return;725 return;
700 string[] _accounts_array = (string[])_model.get_value (iter, StreamModelColumn.ACCOUNTS);
701 if (!(_acct in _accounts_array))
702 {
703 foreach (var a in _accounts_array)
704 builder.add ("s", a);
705 var _accounts = new Variant ("as", builder);
706 _model.set_value (iter, StreamModelColumn.ACCOUNTS, _accounts);
707 }726 }
708 _model.set_value (iter, StreamModelColumn.MESSAGE, _text);
709 _model.set_value (iter, StreamModelColumn.HTML, _html);
710 _model.set_value (iter, StreamModelColumn.TIMESTRING, _t);
711 _model.set_value (iter, StreamModelColumn.LIKES, _likes);
712 _model.set_value (iter, StreamModelColumn.LIKED, _liked);
713 iter = null;
714 return;
715 }727 }
716728
717 var _accounts = new Variant ("as", builder);729 var _accounts = new Variant ("as", builder);