Qt: Fix crash when loading a game after stopping GDB server
Jeffrey Pfau jeffrey@endrift.com
Sat, 28 Feb 2015 15:28:34 -0800
3 files changed,
7 insertions(+),
2 deletions(-)
M
CHANGES
→
CHANGES
@@ -46,6 +46,7 @@ - Qt: Fix crash when adjusting settings after closing a game
- Qt: Fix crash when starting GDB stub after closing a game - Qt: Fix patch loading while a game is running - Util: Fix sockets on Windows + - Qt: Fix crash when loading a game after stopping GDB server Misc: - GBA Audio: Change internal audio sample buffer from 32-bit to 16-bit samples - GBA Memory: Simplify memory API and use fixed bus width
M
src/platform/qt/GDBController.cpp
→
src/platform/qt/GDBController.cpp
@@ -43,14 +43,16 @@ m_gameController->setDebugger(&m_gdbStub.d);
if (m_gameController->isLoaded()) { ARMDebuggerEnter(&m_gdbStub.d, DEBUGGER_ENTER_ATTACHED, 0); } else { - connect(m_gameController, &GameController::gameStarted, [this] () { - disconnect(m_gameController); + QObject::disconnect(m_autoattach); + m_autoattach = connect(m_gameController, &GameController::gameStarted, [this] () { + QObject::disconnect(m_autoattach); ARMDebuggerEnter(&m_gdbStub.d, DEBUGGER_ENTER_ATTACHED, 0); }); } } void GDBController::detach() { + QObject::disconnect(m_autoattach); if (!isAttached()) { return; }
M
src/platform/qt/GDBController.h
→
src/platform/qt/GDBController.h
@@ -45,6 +45,8 @@ GameController* m_gameController;
ushort m_port; Address m_bindAddress; + + QMetaObject::Connection m_autoattach; }; }