Fix crash on Android with IrrlichtMt9 (#13123)

Caused by mouse control
This commit is contained in:
ROllerozxa 2023-01-08 14:04:17 +01:00 committed by GitHub
parent fb28ca463e
commit 390b5caaaa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 3 deletions

@ -548,15 +548,18 @@ void ClientLauncher::main_menu(MainMenuData *menudata)
} }
infostream << "Waited for other menus" << std::endl; infostream << "Waited for other menus" << std::endl;
// Cursor can be non-visible when coming from the game
#ifndef ANDROID #ifndef ANDROID
// Cursor can be non-visible when coming from the game
m_rendering_engine->get_raw_device()->getCursorControl()->setVisible(true); m_rendering_engine->get_raw_device()->getCursorControl()->setVisible(true);
#endif
// Set absolute mouse mode // Set absolute mouse mode
#if IRRLICHT_VERSION_MT_REVISION >= 9 #if IRRLICHT_VERSION_MT_REVISION >= 9
m_rendering_engine->get_raw_device()->getCursorControl()->setRelativeMode(false); m_rendering_engine->get_raw_device()->getCursorControl()->setRelativeMode(false);
#endif #endif
#endif
/* show main menu */ /* show main menu */
GUIEngine mymenu(&input->joystick, guiroot, m_rendering_engine, &g_menumgr, menudata, *kill); GUIEngine mymenu(&input->joystick, guiroot, m_rendering_engine, &g_menumgr, menudata, *kill);

@ -2535,12 +2535,13 @@ void Game::checkZoomEnabled()
void Game::updateCameraDirection(CameraOrientation *cam, float dtime) void Game::updateCameraDirection(CameraOrientation *cam, float dtime)
{ {
#if IRRLICHT_VERSION_MT_REVISION >= 9 #if !defined(__ANDROID__) && IRRLICHT_VERSION_MT_REVISION >= 9
if (isMenuActive()) if (isMenuActive())
device->getCursorControl()->setRelativeMode(false); device->getCursorControl()->setRelativeMode(false);
else else
device->getCursorControl()->setRelativeMode(true); device->getCursorControl()->setRelativeMode(true);
#endif #endif
if ((device->isWindowActive() && device->isWindowFocused() if ((device->isWindowActive() && device->isWindowFocused()
&& !isMenuActive()) || input->isRandom()) { && !isMenuActive()) || input->isRandom()) {