diff options
| -rw-r--r-- | src/plugins/Transports/http/httpstreamreader.cpp | 3 | ||||
| -rw-r--r-- | src/plugins/Transports/mms/mmsstreamreader.cpp | 3 | ||||
| -rw-r--r-- | src/qmmp/qmmpaudioengine.cpp | 6 |
3 files changed, 8 insertions, 4 deletions
diff --git a/src/plugins/Transports/http/httpstreamreader.cpp b/src/plugins/Transports/http/httpstreamreader.cpp index adf9916e7..3141dce77 100644 --- a/src/plugins/Transports/http/httpstreamreader.cpp +++ b/src/plugins/Transports/http/httpstreamreader.cpp @@ -262,7 +262,8 @@ void HttpStreamReader::abort() } m_stream.aborted = true; m_mutex.unlock(); - m_thread->wait(); + if(m_thread->isRunning()) + m_thread->wait(); if (m_handle) { curl_easy_cleanup(m_handle); diff --git a/src/plugins/Transports/mms/mmsstreamreader.cpp b/src/plugins/Transports/mms/mmsstreamreader.cpp index 8bc9e9790..1e4e46d86 100644 --- a/src/plugins/Transports/mms/mmsstreamreader.cpp +++ b/src/plugins/Transports/mms/mmsstreamreader.cpp @@ -123,7 +123,8 @@ void MMSStreamReader::abort() } m_aborted = true; m_mutex.unlock(); - m_thread->wait(); + if(m_thread->isRunning()) + m_thread->wait(); m_ready = false; if (m_handle) mmsx_close(m_handle); diff --git a/src/qmmp/qmmpaudioengine.cpp b/src/qmmp/qmmpaudioengine.cpp index b66d6b0c4..71f2fbc7c 100644 --- a/src/qmmp/qmmpaudioengine.cpp +++ b/src/qmmp/qmmpaudioengine.cpp @@ -256,7 +256,8 @@ void QmmpAudioEngine::stop() if (m_output) m_output->recycler()->cond()->wakeAll(); - wait(); + if(isRunning()) + wait(); if (m_output) { @@ -269,7 +270,8 @@ void QmmpAudioEngine::stop() if (m_output) { m_output->recycler()->cond()->wakeAll(); - m_output->wait(); + if(m_output->isRunning()) + m_output->wait(); delete m_output; m_output = 0; } |
