diff --git a/src/luau/require.rs b/src/luau/require.rs index 52d1ada..adcd9d4 100644 --- a/src/luau/require.rs +++ b/src/luau/require.rs @@ -422,11 +422,11 @@ pub(super) unsafe extern "C" fn init_config(config: *mut ffi::luarequire_Configu let path = CStr::from_ptr(path).to_string_lossy(); let chunk_name = CStr::from_ptr(chunk_name).to_string_lossy(); let contents = CStr::from_ptr(contents).to_bytes(); - let lua = Lua::get_or_init_from_ptr(state); - callback_error_ext(state, ptr::null_mut(), false, move |_extra, _| { - match this.load(lua, &path, &chunk_name, contents)? { - Value::Nil => lua.lock().push(true)?, - value => lua.lock().push(value)?, + callback_error_ext(state, ptr::null_mut(), false, move |extra, _| { + let rawlua = (*extra).raw_lua(); + match this.load(rawlua.lua(), &path, &chunk_name, contents)? { + Value::Nil => rawlua.push(true)?, + value => rawlua.push_value(&value)?, }; Ok(1) }) diff --git a/src/state/extra.rs b/src/state/extra.rs index c6f2c86..1213363 100644 --- a/src/state/extra.rs +++ b/src/state/extra.rs @@ -249,7 +249,7 @@ impl ExtraData { } #[inline(always)] - pub(super) unsafe fn raw_lua(&self) -> &RawLua { + pub(crate) unsafe fn raw_lua(&self) -> &RawLua { &*self.lua.assume_init_ref().raw.data_ptr() }