Skip to content

Commit

Permalink
Fix #251 crash changing clip properties on Timeline.
Browse files Browse the repository at this point in the history
  • Loading branch information
ddennedy committed Jun 6, 2016
1 parent 01bfca3 commit c28756a
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 2 deletions.
1 change: 1 addition & 0 deletions src/docks/timelinedock.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -413,6 +413,7 @@ void TimelineDock::onProducerChanged(Mlt::Producer* after)
qMin(qRound(info->frame_out * speedRatio), length - 1));
QString xmlAfter = MLT.XML(after);
m_updateCommand->setXmlAfter(xmlAfter);
setSelection(); // clearing selection prevents a crash
Timeline::UpdateCommand* command = m_updateCommand;
m_updateCommand = 0;
MAIN.undoStack()->push(command);
Expand Down
8 changes: 6 additions & 2 deletions src/mainwindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2265,10 +2265,12 @@ QWidget *MainWindow::loadProducerWidget(Mlt::Producer* producer)
{
QWidget* w = 0;
QScrollArea* scrollArea = (QScrollArea*) m_propertiesDock->widget();
delete scrollArea->widget();

if (!producer || !producer->is_valid())
if (!producer || !producer->is_valid()) {
if (scrollArea->widget())
scrollArea->widget()->deleteLater();
return w;
}

QString service(producer->get("mlt_service"));
QString resource = QString::fromUtf8(producer->get("resource"));
Expand Down Expand Up @@ -2338,6 +2340,8 @@ QWidget *MainWindow::loadProducerWidget(Mlt::Producer* producer)
}
scrollArea->setWidget(w);
onProducerChanged();
} else if (scrollArea->widget()) {
scrollArea->widget()->deleteLater();
}
return w;
}
Expand Down

0 comments on commit c28756a

Please sign in to comment.