Fix crash on Android when mouse device is not connected

This commit is contained in:
2026-04-23 10:18:43 +02:00
parent f41d01f4a9
commit c3ea883b21
+9 -6
View File
@@ -152,7 +152,7 @@ void Screen::SetCursorLock(CursorLockMode mode)
#endif #endif
if (win) if (win)
{ {
bool inRelativeMode = Input::Mouse->IsRelative(); bool inRelativeMode = Input::Mouse && Input::Mouse->IsRelative();
if (mode == CursorLockMode::Clipped) if (mode == CursorLockMode::Clipped)
win->StartClippingCursor(bounds); win->StartClippingCursor(bounds);
#if PLATFORM_SDL #if PLATFORM_SDL
@@ -168,11 +168,14 @@ void Screen::SetCursorLock(CursorLockMode mode)
win->EndClippingCursor(); win->EndClippingCursor();
#endif #endif
// Enable relative mode when cursor is restricted if (Input::Mouse)
if (mode != CursorLockMode::None) {
Input::Mouse->SetRelativeMode(true, win); // Enable relative mode when cursor is restricted
else if (mode == CursorLockMode::None && inRelativeMode) if (mode != CursorLockMode::None)
Input::Mouse->SetRelativeMode(false, win); Input::Mouse->SetRelativeMode(true, win);
else if (mode == CursorLockMode::None && inRelativeMode)
Input::Mouse->SetRelativeMode(false, win);
}
} }
CursorLock = mode; CursorLock = mode;
} }