Issue #604 reports that crashes are possible in playback window if someone clicks play

when nothing is loaded to playback. Instead now a warning is shown.
This commit is contained in:
Collin Kidder
2023-03-23 21:38:32 -04:00
parent 1e5f5c7a94
commit d1185f54b9
2 changed files with 15 additions and 0 deletions
+14
View File
@@ -576,6 +576,7 @@ void FramePlaybackWindow::btnLoadLive()
void FramePlaybackWindow::btnBackOneClick() void FramePlaybackWindow::btnBackOneClick()
{ {
if (!checkNoSeqLoaded()) return;
forward = false; forward = false;
isPlaying = false; isPlaying = false;
wantPlaying = false; wantPlaying = false;
@@ -593,6 +594,7 @@ void FramePlaybackWindow::btnPauseClick()
void FramePlaybackWindow::btnReverseClick() void FramePlaybackWindow::btnReverseClick()
{ {
if (!checkNoSeqLoaded()) return;
forward = false; forward = false;
wantPlaying = true; wantPlaying = true;
if (!ui->ckWaitForTraffic->isChecked()) if (!ui->ckWaitForTraffic->isChecked())
@@ -628,6 +630,7 @@ void FramePlaybackWindow::btnStopClick()
void FramePlaybackWindow::btnPlayClick() void FramePlaybackWindow::btnPlayClick()
{ {
if (!checkNoSeqLoaded()) return;
forward = true; forward = true;
wantPlaying = true; wantPlaying = true;
if (!ui->ckWaitForTraffic->isChecked()) if (!ui->ckWaitForTraffic->isChecked())
@@ -640,6 +643,7 @@ void FramePlaybackWindow::btnPlayClick()
void FramePlaybackWindow::btnFwdOneClick() void FramePlaybackWindow::btnFwdOneClick()
{ {
if (!checkNoSeqLoaded()) return;
forward = true; forward = true;
isPlaying = false; isPlaying = false;
wantPlaying = false; wantPlaying = false;
@@ -647,6 +651,16 @@ void FramePlaybackWindow::btnFwdOneClick()
updateFrameLabel(); updateFrameLabel();
} }
bool FramePlaybackWindow::checkNoSeqLoaded()
{
if (seqItems.count() == 0)
{
QMessageBox::warning(this, "Warning", "Cannot begin playback until at\nleast one playback source is loaded.");
return false;
}
return true;
}
void FramePlaybackWindow::changePlaybackSpeed(int newSpeed) void FramePlaybackWindow::changePlaybackSpeed(int newSpeed)
{ {
playbackObject.setPlaybackInterval(newSpeed); playbackObject.setPlaybackInterval(newSpeed);
+1
View File
@@ -69,6 +69,7 @@ private:
void readSettings(); void readSettings();
void writeSettings(); void writeSettings();
void calculateWhichBus(); void calculateWhichBus();
bool checkNoSeqLoaded();
bool eventFilter(QObject *obj, QEvent *event); bool eventFilter(QObject *obj, QEvent *event);
}; };