diff --git a/CHANGES b/CHANGES index 96f92b22b..61f17ff50 100644 --- a/CHANGES +++ b/CHANGES @@ -39,6 +39,7 @@ Bugfixes: - GB: Fix flickering when screen is strobed quickly - FFmpeg: Fix overflow and general issues with audio encoding - Core: Don't save state if core fails to serialize + - Qt: Fix crash when changing audio settings after a game is closed Misc: - SDL: Remove scancode key input - GBA Video: Clean up unused timers @@ -87,6 +88,7 @@ Misc: - Qt: Re-enable QtMultimedia on Windows - FFmpeg: Return false if a file fails to open - FFmpeg: Force MP4 files to YUV420P + - Qt: Make "Mute" able to be bound to a key 0.5.2: (2016-12-31) Bugfixes: diff --git a/res/patrons.txt b/res/patrons.txt index e10e13221..0cf2e6e28 100644 --- a/res/patrons.txt +++ b/res/patrons.txt @@ -1,7 +1,9 @@ -Trey Boyer -Christopher Cole +Jaime J. Denizard +Fog +Reilly Grant Philip Horton Jordan Jorgensen -Joshua Minor Rohit Nirmal +Rhys Powell +rootfather Yuri Kunde Schlesner diff --git a/src/platform/qt/GameController.cpp b/src/platform/qt/GameController.cpp index da5425cb8..b549c51c5 100644 --- a/src/platform/qt/GameController.cpp +++ b/src/platform/qt/GameController.cpp @@ -654,6 +654,7 @@ void GameController::cleanGame() { delete[] m_frontBuffer; m_threadContext.core->deinit(m_threadContext.core); + m_threadContext.core = nullptr; m_gameOpen = false; } @@ -1236,7 +1237,7 @@ void GameController::updateKeys() { } void GameController::redoSamples(int samples) { - if (m_threadContext.core) { + if (m_gameOpen && m_threadContext.core) { m_threadContext.core->setAudioBufferSize(m_threadContext.core, samples); } m_audioProcessor->inputParametersChanged(); diff --git a/src/platform/qt/Window.cpp b/src/platform/qt/Window.cpp index d009ebee6..503a30f2b 100644 --- a/src/platform/qt/Window.cpp +++ b/src/platform/qt/Window.cpp @@ -1338,11 +1338,12 @@ void Window::setupMenu(QMenuBar* menubar) { avMenu->addSeparator(); ConfigOption* mute = m_config->addOption("mute"); - mute->addBoolean(tr("Mute"), avMenu); + QAction* muteAction = mute->addBoolean(tr("Mute"), avMenu); mute->connect([this](const QVariant& value) { reloadConfig(); }, this); m_config->updateOption("mute"); + addControlledAction(avMenu, muteAction, "mute"); QMenu* target = avMenu->addMenu(tr("FPS target")); ConfigOption* fpsTargetOption = m_config->addOption("fpsTarget"); diff --git a/src/platform/sdl/CMakeLists.txt b/src/platform/sdl/CMakeLists.txt index f4b4c37b9..9a653fcc3 100644 --- a/src/platform/sdl/CMakeLists.txt +++ b/src/platform/sdl/CMakeLists.txt @@ -6,7 +6,6 @@ if (SDL_VERSION EQUAL "2") if (SDL2_FOUND) set(SDL_INCLUDE_DIR ${SDL2_INCLUDE_DIRS}) set(SDL_LIBRARY ${SDL2_LIBRARIES}) - set(SDLMAIN_LIBRARY "") link_directories(${SDL2_LIBDIR}) set(SDL_VERSION_DEBIAN "2-2.0-0") endif() diff --git a/src/platform/sdl/main.c b/src/platform/sdl/main.c index e729f4e65..134da7539 100644 --- a/src/platform/sdl/main.c +++ b/src/platform/sdl/main.c @@ -27,7 +27,6 @@ #include #include -#include #define PORT "sdl" @@ -37,7 +36,7 @@ static void mSDLDeinit(struct mSDLRenderer* renderer); static int mSDLRun(struct mSDLRenderer* renderer, struct mArguments* args); int main(int argc, char** argv) { - struct mSDLRenderer renderer = {}; + struct mSDLRenderer renderer = {0}; struct mCoreOptions opts = { .useBios = true,