From 8823acecbdf40fcd481f91c7251b8b3cfbe7dc30 Mon Sep 17 00:00:00 2001 From: TheBrokenRail Date: Fri, 3 Nov 2023 18:43:28 -0400 Subject: [PATCH] Fix Exiting Native Android --- platforms/android/main.cpp | 17 +++++++++++++---- source/client/app/Minecraft.cpp | 2 +- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/platforms/android/main.cpp b/platforms/android/main.cpp index 7e5a073..4f40469 100644 --- a/platforms/android/main.cpp +++ b/platforms/android/main.cpp @@ -445,21 +445,30 @@ void android_main(struct android_app* state) { while ((ident = ALooper_pollAll(engine.animating ? 0 : -1, NULL, &events, (void**)&source)) >= 0) { - if (source != NULL) { + if (source != NULL) + { source->process(state, source); } + + if (state->destroyRequested != 0) + { + goto exit; + } } if (engine.animating) { - if (engine.ninecraftApp->wantToQuit()) - break; - engine.ninecraftApp->update(); eglSwapBuffers(engine.display, engine.surface); + + if (engine.ninecraftApp->wantToQuit()) + { + ANativeActivity_finish(state->activity); + } } } + exit: engine.ninecraftApp->saveOptions(); delete engine.ninecraftApp; } \ No newline at end of file diff --git a/source/client/app/Minecraft.cpp b/source/client/app/Minecraft.cpp index abf1b7b..3184af1 100644 --- a/source/client/app/Minecraft.cpp +++ b/source/client/app/Minecraft.cpp @@ -978,7 +978,7 @@ void Minecraft::sizeUpdate(int newWidth, int newHeight) m_pScreen->setSize(int(Minecraft::width * Gui::InvGuiScale), int(Minecraft::height * Gui::InvGuiScale)); if (m_pInputHolder) - m_pInputHolder->setScreenSize(newWidth * guiScaleMultiplier, newHeight * guiScaleMultiplier); + m_pInputHolder->setScreenSize(Minecraft::width, Minecraft::height); } float Minecraft::getBestScaleForThisScreenSize(int width, int height)