]> uap-core.de Git - note.git/commitdiff
implement Drop for some builder types
authorOlaf Wintermann <olaf.wintermann@gmail.com>
Sun, 26 Apr 2026 07:35:57 +0000 (09:35 +0200)
committerOlaf Wintermann <olaf.wintermann@gmail.com>
Sun, 26 Apr 2026 07:35:57 +0000 (09:35 +0200)
ui-rs/src/ui/list.rs
ui-rs/src/ui/toolbar.rs

index 71d2fe399f9ad1dfaabe67ac84c08a1a753253f3..0e7b12b5eff19803b4f7b0438cedd2551a5ad2bf 100644 (file)
@@ -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 {
index eda63530188a72c35e1a4f9d20fea837a5e94ddb..2f8fa35e5d35a2c8cf512a4549e34309c8397ff8 100644 (file)
@@ -108,6 +108,14 @@ pub struct ToolbarMenuItemBuilder<T: UiModel + UiActions> {
     _marker: PhantomData<T>,
 }
 
+impl<T: UiModel + UiActions> Drop for ToolbarItemBuilder<T> {
+    fn drop(&mut self) {
+        unsafe {
+            ui_toolbar_item_args_free(self.args);
+        }
+    }
+}
+
 impl<T: UiModel + UiActions> ToolbarItemBuilder<T> {
     pub fn create(&mut self) {
         unsafe {
@@ -159,6 +167,14 @@ impl<T: UiModel + UiActions> ToolbarItemBuilder<T> {
     }
 }
 
+impl<T: UiModel + UiActions> Drop for ToolbarToggleItemBuilder<T> {
+    fn drop(&mut self) {
+        unsafe {
+            ui_toolbar_toggleitem_args_free(self.args);
+        }
+    }
+}
+
 impl<T: UiModel + UiActions> ToolbarToggleItemBuilder<T> {
     pub fn create(&mut self) {
         unsafe {
@@ -218,6 +234,13 @@ impl<T: UiModel + UiActions> ToolbarToggleItemBuilder<T> {
     }
 }
 
+impl<T: UiModel + UiActions> Drop for ToolbarMenuItemBuilder<T> {
+    fn drop(&mut self) {
+        unsafe {
+            ui_toolbar_menu_args_free(self.args);
+        }
+    }
+}
 
 impl<T: UiModel + UiActions> ToolbarMenuItemBuilder<T> {
     pub fn create(&mut self) {