diff options
| author | Marvin W <git@larma.de> | 2026-04-10 21:54:26 +0200 |
|---|---|---|
| committer | Marvin W <git@larma.de> | 2026-04-10 21:54:26 +0200 |
| commit | c5ba4275ae68dd558108ce273dafa1bf890259e8 (patch) | |
| tree | c11797edfb7190ae0fb5166cec60881237bcd0bf /main/src/ui/conversation_content_view/conversation_item_skeleton.vala | |
| parent | 0baeaa2b8f481f60f8c7eecc856c48a11f211a20 (diff) | |
Early dispose the reaction widget when no longer needed
It previously triggered the leak checker, even though eventually the widget
would be disposed when the corresponding message skeletion got disposed.
Diffstat (limited to 'main/src/ui/conversation_content_view/conversation_item_skeleton.vala')
| -rw-r--r-- | main/src/ui/conversation_content_view/conversation_item_skeleton.vala | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/main/src/ui/conversation_content_view/conversation_item_skeleton.vala b/main/src/ui/conversation_content_view/conversation_item_skeleton.vala index 3c1b4e3b..d8cf469c 100644 --- a/main/src/ui/conversation_content_view/conversation_item_skeleton.vala +++ b/main/src/ui/conversation_content_view/conversation_item_skeleton.vala @@ -102,12 +102,16 @@ public class ConversationItemSkeleton : Plugins.ConversationItemWidgetInterface, update_received_mark(); } - public void set_widget(Object object, Plugins.WidgetType type, int priority) { + public void set_widget(Object? object, Plugins.WidgetType type, int priority) { foreach (var content_widget in content_widgets.values) { content_widget.unparent(); } - content_widgets[priority] = (Widget) object; + if (object is Widget) { + content_widgets[priority] = (Widget) object; + } else { + content_widgets.unset(priority); + } int row_no = 1; for (int i = 0; i < 5; i++) { if (!content_widgets.has_key(i)) continue; @@ -169,7 +173,7 @@ public class ConversationItemSkeleton : Plugins.ConversationItemWidgetInterface, } } - private void on_reaction_box_activated(Widget widget) { + private void on_reaction_box_activated(Widget? widget) { set_widget(widget, Plugins.WidgetType.GTK4, 3); } |
