[Android] Fix the ability to stop the game and start another.

This commit is contained in:
Ryan Houdek
2013-09-23 01:43:18 -05:00
parent bab91494d5
commit 96a77f9feb
6 changed files with 12 additions and 3 deletions

View File

@ -177,6 +177,8 @@ namespace ButtonManager
delete *it;
for (auto it = m_controllers.begin(); it != m_controllers.end(); ++it)
delete it->second;
m_controllers.clear();
m_buttons.clear();
}
void DrawButtons()

View File

@ -118,7 +118,7 @@ namespace ButtonManager
~InputDevice()
{
for (auto it = m_binds.begin(); it != m_binds.end(); ++it)
delete it->second;
delete it->second;
}
void AddBind(sBind *bind) { m_binds[bind->m_buttontype] = bind; }
void PressEvent(int button, int action);

View File

@ -199,7 +199,7 @@ JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_PauseEmulati
JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_StopEmulation(JNIEnv *env, jobject obj)
{
PowerPC::Stop();
Core::Stop();
updateMainFrameEvent.Set(); // Kick the waiting event
}
JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_onTouchEvent(JNIEnv *env, jobject obj, jint Action, jfloat X, jfloat Y)
@ -358,6 +358,7 @@ JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_Run(JNIEnv *
VideoBackend::ClearList();
SConfig::Shutdown();
LogManager::Shutdown();
ANativeWindow_release(surf);
}

View File

@ -84,6 +84,10 @@ void DoCallbacks(CallbackType type)
{
it->second();
}
// Wipe all callbacks on shutdown
if (type == OSD_SHUTDOWN)
s_callbacks.clear();
}
} // namespace