timeline: don't show speed dialog if no blocks are selected

Prevents segfault opening SpeedDurationDialog with an empty clip list.
This commit is contained in:
itsmattkc
2020-01-26 13:37:47 +11:00
parent f068c425d2
commit ce17d94b12
+11 -3
View File
@@ -850,9 +850,12 @@ void TimelineWidget::ShowContextMenu()
{
Menu menu(this);
//QList<TimelineViewBlockItem*> selected = GetSelectedBlocks();
QAction* speed_duration_action = menu.addAction(tr("Speed/Duration"));
connect(speed_duration_action, SIGNAL(triggered(bool)), this, SLOT(ShowSpeedDurationDialog()));
QList<TimelineViewBlockItem*> selected = GetSelectedBlocks();
if (!selected.isEmpty()) {
QAction* speed_duration_action = menu.addAction(tr("Speed/Duration"));
connect(speed_duration_action, SIGNAL(triggered(bool)), this, SLOT(ShowSpeedDurationDialog()));
}
menu.exec(QCursor::pos());
}
@@ -868,6 +871,11 @@ void TimelineWidget::ShowSpeedDurationDialog()
}
}
if (selected_clips.isEmpty()) {
// SpeedDurationDialog expects at least one clip
return;
}
SpeedDurationDialog speed_diag(timebase(), selected_clips, this);
speed_diag.exec();
}