Commit ec408ca6 authored by Max Kellermann's avatar Max Kellermann

output/pulse: fix crash during auto-detection

The PulseOutput needs to be "enabled" before WaitConnection() may be called. Closes #207
parent ea66cdd6
ver 0.20.16 (not yet released) ver 0.20.16 (not yet released)
* output
- pulse: fix crash during auto-detection
* database * database
- simple: fix search within mount points - simple: fix search within mount points
* fix crash in debug build on Haiku and other operating systems * fix crash in debug build on Haiku and other operating systems
......
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
#include "../Wrapper.hxx" #include "../Wrapper.hxx"
#include "mixer/MixerList.hxx" #include "mixer/MixerList.hxx"
#include "mixer/plugins/PulseMixerPlugin.hxx" #include "mixer/plugins/PulseMixerPlugin.hxx"
#include "util/ScopeExit.hxx"
#include "Log.hxx" #include "Log.hxx"
#include <pulse/thread-mainloop.h> #include <pulse/thread-mainloop.h>
...@@ -854,7 +855,10 @@ PulseOutput::TestDefaultDevice() ...@@ -854,7 +855,10 @@ PulseOutput::TestDefaultDevice()
try { try {
const ConfigBlock empty; const ConfigBlock empty;
PulseOutput po(empty); PulseOutput po(empty);
po.Enable();
AtScopeExit(&po) { po.Disable(); };
po.WaitConnection(); po.WaitConnection();
return true; return true;
} catch (const std::runtime_error &e) { } catch (const std::runtime_error &e) {
return false; return false;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment