aboutsummaryrefslogtreecommitdiff
path: root/main/src/ui/conversation_summary/message_populator.vala
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/ui/conversation_summary/message_populator.vala')
-rw-r--r--main/src/ui/conversation_summary/message_populator.vala7
1 files changed, 6 insertions, 1 deletions
diff --git a/main/src/ui/conversation_summary/message_populator.vala b/main/src/ui/conversation_summary/message_populator.vala
index dc4b5770..df44a14b 100644
--- a/main/src/ui/conversation_summary/message_populator.vala
+++ b/main/src/ui/conversation_summary/message_populator.vala
@@ -55,8 +55,13 @@ public class MessagePopulator : Object {
if (meta_item == null) return;
meta_item.mark = message.marked;
+ WeakRef weak_meta_item = WeakRef(meta_item);
+ WeakRef weak_message = WeakRef(message);
message.notify["marked"].connect(() => {
- meta_item.mark = message.marked;
+ Plugins.MetaConversationItem? mi = weak_meta_item.get() as Plugins.MetaConversationItem;
+ Message? m = weak_message.get() as Message;
+ if (mi == null || m == null) return;
+ mi.mark = m.marked;
});
item_collection.insert_item(meta_item);
}