🐛 Fix WebGL warning when switching pages

This commit is contained in:
Belén Albeza 2025-01-17 13:40:23 +01:00
parent 12ec3b4942
commit 2f80d337ad
3 changed files with 15 additions and 8 deletions

View file

@ -40,6 +40,12 @@ pub extern "C" fn init(width: i32, height: i32) {
}
}
#[no_mangle]
pub extern "C" fn clean_up() {
unsafe { STATE = None }
mem::free_bytes();
}
#[no_mangle]
pub extern "C" fn set_render_options(debug: u32, dpr: f32) {
let state = unsafe { STATE.as_mut() }.expect("got an invalid state pointer");

View file

@ -15,8 +15,10 @@ pub extern "C" fn alloc_bytes(len: usize) -> *mut u8 {
}
pub fn free_bytes() {
let buffer = unsafe { BUFFERU8.take() }.expect("uninitialized buffer");
std::mem::drop(buffer);
if unsafe { BUFFERU8.is_some() } {
let buffer = unsafe { BUFFERU8.take() }.expect("uninitialized buffer");
std::mem::drop(buffer);
}
}
pub fn buffer_ptr() -> *mut u8 {