Mercurial > hg > svapp
diff framework/MainWindowBase.cpp @ 516:b926f08909b8 alignment-simple
Fix crashes in play() and stop() if no record target / play source present
author | Chris Cannam |
---|---|
date | Thu, 03 Mar 2016 09:12:28 +0000 |
parents | 51befd6165a3 |
children | 3ab6a5f7aca8 |
line wrap: on
line diff
--- a/framework/MainWindowBase.cpp Wed Mar 02 17:25:27 2016 +0000 +++ b/framework/MainWindowBase.cpp Thu Mar 03 09:12:28 2016 +0000 @@ -2706,7 +2706,8 @@ void MainWindowBase::play() { - if (m_recordTarget->isRecording() || m_playSource->isPlaying()) { + if ((m_recordTarget && m_recordTarget->isRecording()) || + (m_playSource && m_playSource->isPlaying())) { stop(); QAction *action = qobject_cast<QAction *>(sender()); if (action) action->setChecked(false); @@ -3085,10 +3086,13 @@ void MainWindowBase::stop() { - if (m_recordTarget->isRecording()) { + if (m_recordTarget && + m_recordTarget->isRecording()) { m_recordTarget->stopRecording(); } - + + if (!m_playSource) return; + m_playSource->stop(); if (m_audioIO) m_audioIO->suspend();