From 3d821a192df692d5838e3a70492fa4ee87087f95 Mon Sep 17 00:00:00 2001 From: Olaf Wintermann Date: Sun, 26 Apr 2026 09:35:57 +0200 Subject: [PATCH] implement Drop for some builder types --- ui-rs/src/ui/list.rs | 8 ++++++++ ui-rs/src/ui/toolbar.rs | 23 +++++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/ui-rs/src/ui/list.rs b/ui-rs/src/ui/list.rs index 71d2fe3..0e7b12b 100644 --- a/ui-rs/src/ui/list.rs +++ b/ui-rs/src/ui/list.rs @@ -523,6 +523,14 @@ impl<'a, T, E> TableViewBuilder<'a, T, E> { } } +impl<'a, T, E> Drop for SourceListBuilder<'a, T, E> { + fn drop(&mut self) { + unsafe { + ui_sourcelist_args_free(self.args); + } + } +} + impl<'a, T, E> SourceListBuilder<'a, T, E> { pub fn create(&mut self) { unsafe { diff --git a/ui-rs/src/ui/toolbar.rs b/ui-rs/src/ui/toolbar.rs index eda6353..2f8fa35 100644 --- a/ui-rs/src/ui/toolbar.rs +++ b/ui-rs/src/ui/toolbar.rs @@ -108,6 +108,14 @@ pub struct ToolbarMenuItemBuilder { _marker: PhantomData, } +impl Drop for ToolbarItemBuilder { + fn drop(&mut self) { + unsafe { + ui_toolbar_item_args_free(self.args); + } + } +} + impl ToolbarItemBuilder { pub fn create(&mut self) { unsafe { @@ -159,6 +167,14 @@ impl ToolbarItemBuilder { } } +impl Drop for ToolbarToggleItemBuilder { + fn drop(&mut self) { + unsafe { + ui_toolbar_toggleitem_args_free(self.args); + } + } +} + impl ToolbarToggleItemBuilder { pub fn create(&mut self) { unsafe { @@ -218,6 +234,13 @@ impl ToolbarToggleItemBuilder { } } +impl Drop for ToolbarMenuItemBuilder { + fn drop(&mut self) { + unsafe { + ui_toolbar_menu_args_free(self.args); + } + } +} impl ToolbarMenuItemBuilder { pub fn create(&mut self) { -- 2.47.3