diff options
author | fiaxh <git@lightrise.org> | 2023-02-27 23:38:31 +0100 |
---|---|---|
committer | fiaxh <git@lightrise.org> | 2023-02-27 23:38:31 +0100 |
commit | fb799e3ba8313ff2da53d9d5c34f8421f164cbf1 (patch) | |
tree | 2de44bcf7a01917610d9ad96396da3df5a314ae9 /main/src/ui/conversation_content_view/conversation_view.vala | |
parent | c526848098ff187615f0be0b531c9b45644d0e03 (diff) | |
download | dino-fb799e3ba8313ff2da53d9d5c34f8421f164cbf1.tar.gz dino-fb799e3ba8313ff2da53d9d5c34f8421f164cbf1.zip |
Fix some memory leaks
Diffstat (limited to 'main/src/ui/conversation_content_view/conversation_view.vala')
-rw-r--r-- | main/src/ui/conversation_content_view/conversation_view.vala | 10 |
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(); } |