Fix crash on Android when mouse device is not connected
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user