From 4faff3cf626b450852d1f3bf7802ed47520426fb Mon Sep 17 00:00:00 2001 From: Eder Bastos Date: Sun, 24 May 2015 12:04:32 -0400 Subject: Android: Decouple SurfaceView initialization and emulation start. --- Source/Core/DolphinWX/MainAndroid.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'Source/Core') diff --git a/Source/Core/DolphinWX/MainAndroid.cpp b/Source/Core/DolphinWX/MainAndroid.cpp index c274deb5fb..773d4253e7 100644 --- a/Source/Core/DolphinWX/MainAndroid.cpp +++ b/Source/Core/DolphinWX/MainAndroid.cpp @@ -561,8 +561,16 @@ JNIEXPORT jstring JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_GetUserDi JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_Run(JNIEnv *env, jobject obj, jobject _surf) { + __android_log_print(ANDROID_LOG_INFO, DOLPHIN_TAG, "Running : %s", g_filename.c_str()); + surf = ANativeWindow_fromSurface(env, _surf); + if (surf == nullptr) + { + __android_log_print(ANDROID_LOG_ERROR, DOLPHIN_TAG, "Error: Surface is null."); + return; + } + // Install our callbacks OSD::AddCallback(OSD::OSD_INIT, ButtonManager::Init); OSD::AddCallback(OSD::OSD_SHUTDOWN, ButtonManager::Shutdown); @@ -574,8 +582,11 @@ JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_Run(JNIEnv * // No use running the loop when booting fails if ( BootManager::BootCore( g_filename.c_str() ) ) + { + PowerPC::Start(); while (PowerPC::GetState() != PowerPC::CPU_POWERDOWN) updateMainFrameEvent.Wait(); + } UICommon::Shutdown(); ANativeWindow_release(surf); -- cgit v1.2.3