# HG changeset patch # User Chris Cannam # Date 1444652652 -3600 # Node ID b3568eca53ba4d2b356ad3533f03361498b29238 # Parent 111e976f9ed4cc78e552fa55a62b7532e5eb834d Restore record button toggle state if user cancels file session save dialog after hitting record diff -r 111e976f9ed4 -r b3568eca53ba framework/MainWindowBase.cpp --- a/framework/MainWindowBase.cpp Thu Sep 17 13:46:07 2015 +0100 +++ b/framework/MainWindowBase.cpp Mon Oct 12 13:24:12 2015 +0100 @@ -2688,8 +2688,13 @@ return; } + QAction *action = qobject_cast(sender()); + if (m_audioRecordMode == RecordReplaceSession) { - if (!checkSaveModified()) return; + if (!checkSaveModified()) { + if (action) action->setChecked(false); + return; + } } if (m_audioIO) m_audioIO->resume(); @@ -2698,13 +2703,13 @@ if (!model) { cerr << "ERROR: MainWindowBase::record: Recording failed" << endl; //!!! report + if (action) action->setChecked(false); return; } if (!model->isOK()) { m_recordTarget->stopRecording(); delete model; - //!!! ??? return; } @@ -2720,6 +2725,8 @@ if (templateName != "") { FileOpenStatus tplStatus = openSessionTemplate(templateName); if (tplStatus == FileOpenCancelled) { + m_recordTarget->stopRecording(); + PlayParameterRepository::getInstance()->removePlayable(model); return; } if (tplStatus != FileOpenFailed) {