diff options
| author | Marvin W <git@larma.de> | 2025-11-07 12:52:48 -0500 |
|---|---|---|
| committer | fiaxh <git@lightrise.org> | 2025-11-13 05:16:18 -0600 |
| commit | 68b07ef13c857b07d32c2fd8da08a0660f961a0a (patch) | |
| tree | 051a65592cc6a47c7a592c3299f0261d7d7e535f /main/src/ui/conversation_view.vala | |
| parent | e67b0807d4afd283bcab1acfcb083b3b0e111dd8 (diff) | |
Fix file overlay leak
Diffstat (limited to 'main/src/ui/conversation_view.vala')
| -rw-r--r-- | main/src/ui/conversation_view.vala | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/main/src/ui/conversation_view.vala b/main/src/ui/conversation_view.vala index 128b3bd8..62d1ec9b 100644 --- a/main/src/ui/conversation_view.vala +++ b/main/src/ui/conversation_view.vala @@ -16,6 +16,7 @@ public class ConversationView : Widget { [GtkChild] public unowned ChatInput.View chat_input; [GtkChild] public unowned ConversationSummary.ConversationView conversation_frame; [GtkChild] public unowned Revealer white_revealer; + [GtkChild] public unowned Revealer content_revealer; public ListView list_view = new ListView(null, null); @@ -31,24 +32,25 @@ public class ConversationView : Widget { } public void add_overlay_dialog(Widget widget) { - Revealer revealer = new Revealer() { transition_type=RevealerTransitionType.CROSSFADE , transition_duration= 100 }; - revealer.set_child(widget); + content_revealer.set_child(widget); - overlay.add_overlay(revealer); - - revealer.reveal_child = true; + content_revealer.visible = true; + content_revealer.reveal_child = true; white_revealer.visible = true; white_revealer.reveal_child = true; - widget.destroy.connect(() => { - overlay.remove_overlay(revealer); - white_revealer.reveal_child = false; - chat_input.do_focus(); - }); + } + + public void remove_overlay_dialog() { + white_revealer.reveal_child = false; + content_revealer.reveal_child = false; + chat_input.do_focus(); } private void on_child_revealed_changed() { if (!white_revealer.child_revealed) { white_revealer.visible = false; + content_revealer.visible = false; + content_revealer.set_child(null); } } } |
