diff --git a/NEWS b/NEWS index 7ba59b10a..1fcae0d6d 100644 --- a/NEWS +++ b/NEWS @@ -3,6 +3,8 @@ ver 0.20.5 (not yet released) - id3: fix memory leak on corrupt ID3 tags * decoder - sidplay: don't require libsidutils when building with libsidplayfp +* mixer + - alsa: fix crash bug ver 0.20.4 (2017/02/01) * input diff --git a/src/mixer/plugins/AlsaMixerPlugin.cxx b/src/mixer/plugins/AlsaMixerPlugin.cxx index 4f0e329a8..852326926 100644 --- a/src/mixer/plugins/AlsaMixerPlugin.cxx +++ b/src/mixer/plugins/AlsaMixerPlugin.cxx @@ -23,6 +23,7 @@ #include "output/OutputAPI.hxx" #include "event/MultiSocketMonitor.hxx" #include "event/DeferredMonitor.hxx" +#include "event/Call.hxx" #include "util/ASCII.hxx" #include "util/ReusableArray.hxx" #include "util/Domain.hxx" @@ -53,6 +54,12 @@ public: DeferredMonitor::Schedule(); } + ~AlsaMixerMonitor() { + BlockingCall(MultiSocketMonitor::GetEventLoop(), [this](){ + MultiSocketMonitor::Reset(); + }); + } + private: virtual void RunDeferred() override { InvalidateSockets();