diff --git a/src/addin1.rs b/src/addin1.rs index 5a5ece1..fb78915 100644 --- a/src/addin1.rs +++ b/src/addin1.rs @@ -140,9 +140,14 @@ impl Addin for Addin1 { fn is_prop_writable(&mut self, num: usize) -> bool { match num { + 0 => false, + 1 => true, 2 => true, 3 => true, - _ => true, + 4 => true, + 5 => true, + 6 => true, + _ => false, } } diff --git a/src/ffi.rs b/src/ffi.rs index 3eff9b8..f249dbe 100644 --- a/src/ffi.rs +++ b/src/ffi.rs @@ -289,11 +289,8 @@ struct LanguageExtenderBaseVTable { find_prop: unsafe extern "system" fn(&mut LanguageExtenderBase, *const u16) -> c_long, get_prop_name: unsafe extern "system" fn(&mut LanguageExtenderBase, c_long, c_long) -> *const u16, - get_prop_val: for<'a> unsafe extern "system" fn( - &mut LanguageExtenderBase, - c_long, - &'a mut TVariant, - ) -> bool, + get_prop_val: + unsafe extern "system" fn(&mut LanguageExtenderBase, c_long, &mut TVariant) -> bool, set_prop_val: unsafe extern "system" fn(&mut LanguageExtenderBase, c_long, &TVariant) -> bool, is_prop_readable: unsafe extern "system" fn(&mut LanguageExtenderBase, c_long) -> bool, @@ -316,7 +313,7 @@ struct LanguageExtenderBaseVTable { *const TVariant, c_long, ) -> bool, - call_as_func: for<'a> unsafe extern "system" fn( + call_as_func: unsafe extern "system" fn( &mut LanguageExtenderBase, c_long, &mut TVariant, @@ -379,10 +376,10 @@ unsafe extern "system" fn get_prop_name( name.as_ptr() } -unsafe extern "system" fn get_prop_val<'a, T: Addin>( +unsafe extern "system" fn get_prop_val( component: &mut LanguageExtenderBase, num: c_long, - val: &'a mut TVariant, + val: &mut TVariant, ) -> bool { let Some(mem) = component.memory else { return false; @@ -499,10 +496,10 @@ unsafe extern "system" fn call_as_proc( .call_as_proc(method_num as usize, param_values.as_slice()) } -unsafe extern "system" fn call_as_func<'a, T: Addin>( +unsafe extern "system" fn call_as_func( component: &mut LanguageExtenderBase, method_num: c_long, - ret_value: &'a mut TVariant, + ret_value: &mut TVariant, params: *const TVariant, size_array: c_long, ) -> bool {