aboutsummaryrefslogtreecommitdiff
path: root/main/src/ui/conversation_content_view/conversation_view.vala
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/ui/conversation_content_view/conversation_view.vala')
-rw-r--r--main/src/ui/conversation_content_view/conversation_view.vala10
1 files changed, 9 insertions, 1 deletions
diff --git a/main/src/ui/conversation_content_view/conversation_view.vala b/main/src/ui/conversation_content_view/conversation_view.vala
index ae7ed657..badc6c65 100644
--- a/main/src/ui/conversation_content_view/conversation_view.vala
+++ b/main/src/ui/conversation_content_view/conversation_view.vala
@@ -426,6 +426,7 @@ public class ConversationView : Widget, Plugins.ConversationItemCollection, Plug
content_items.remove((ContentMetaItem)item);
}
meta_items.remove(item);
+ skeleton.dispose();
}
removed_item(item);
@@ -591,12 +592,19 @@ public class ConversationView : Widget, Plugins.ConversationItemCollection, Plug
private void clear() {
was_upper = null;
was_page_size = null;
+ foreach (var item in content_items) {
+ item.dispose();
+ }
content_items.clear();
meta_items.clear();
widget_order.clear();
+ foreach (var skeleton in item_item_skeletons.values) {
+ skeleton.dispose();
+ }
item_item_skeletons.clear();
foreach (Widget widget in widgets.values) {
- main.remove(widget);
+ widget.unparent();
+ widget.dispose();
}
widgets.clear();
}