]> uap-core.de Git - note.git/commitdiff
add missing obj ref in createui_wrapper main
authorOlaf Wintermann <olaf.wintermann@gmail.com>
Sat, 29 Aug 2026 19:18:39 +0000 (21:18 +0200)
committerOlaf Wintermann <olaf.wintermann@gmail.com>
Sat, 29 Aug 2026 19:18:39 +0000 (21:18 +0200)
ui-rs/src/ui/container.rs

index c0dbb9540653004fb8b596f2a612e90c9ca0c6ac..4f9d0440ee09e6490c1ae0431f72a26a7c4451fd 100644 (file)
@@ -33,7 +33,7 @@ use std::ffi::{c_char, c_int, c_void};
 use std::ffi::CString;
 use std::marker::PhantomData;
 use crate::ui::ffi::*;
 use std::ffi::CString;
 use std::marker::PhantomData;
 use crate::ui::ffi::*;
-use crate::ui::{ffi, getvalue_wrapper, toolkit, Button, GetValueWrapper, ListValue};
+use crate::ui::{ffi, getvalue_wrapper, toolkit, ui_object_ref, Button, GetValueWrapper, ListValue};
 use crate::ui::widget::Widget;
 
 #[macro_export]
 use crate::ui::widget::Widget;
 
 #[macro_export]
@@ -1349,6 +1349,9 @@ extern "C" fn createui_wrapper<D, T>(obj_ptr: *mut ffi::UiObject, _list: *mut ff
     let wrapper = unsafe { &*(userdata as *const CreateUiWrapper<D, T> ) };
     let elm = unsafe { &*(elm_ptr as *const T) };
 
     let wrapper = unsafe { &*(userdata as *const CreateUiWrapper<D, T> ) };
     let elm = unsafe { &*(elm_ptr as *const T) };
 
+    unsafe {
+        ui_object_ref(obj_ptr);
+    }
     let mut obj: toolkit::UiObject<D> = toolkit::UiObject::from_ptr(obj_ptr);
     (wrapper.callback)(&mut obj, elm, row);
 }
     let mut obj: toolkit::UiObject<D> = toolkit::UiObject::from_ptr(obj_ptr);
     (wrapper.callback)(&mut obj, elm, row);
 }