Skip to content

Commit 73c51c9

Browse files
committed
fix crash opening project with subtitle with no text
https://forum.shotcut.org/t/urgent-shotcut-suddenly-not- loading-24-09-13-and-mlt-becomes-corrupt/45817
1 parent 1da8df5 commit 73c51c9

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

src/models/subtitlesmodel.cpp

+6-8
Original file line numberDiff line numberDiff line change
@@ -76,17 +76,15 @@ void SubtitlesModel::load(Mlt::Producer *producer)
7676
m_tracks.clear();
7777
if (m_producer) {
7878
for (int i = 0; i < producer->filter_count(); i++) {
79-
QScopedPointer<Mlt::Filter> filter(producer->filter(i));
80-
if (!filter || !filter->is_valid()) {
81-
continue;
82-
}
83-
if (filter->get("mlt_service") == QString("subtitle_feed")) {
79+
Mlt::Filter filter(producer->filter(i));
80+
if (filter.is_valid() && !::qstrcmp(filter.get("mlt_service"), "subtitle_feed")
81+
&& filter.property_exists("text")) {
8482
SubtitleTrack track;
85-
track.name = QString::fromUtf8(filter->get("feed"));
86-
track.lang = QString::fromUtf8(filter->get("lang"));
83+
track.name = QString::fromUtf8(filter.get("feed"));
84+
track.lang = QString::fromUtf8(filter.get("lang"));
8785
m_tracks.push_back(track);
8886
m_items.resize(m_tracks.size());
89-
Subtitles::SubtitleVector items = Subtitles::readFromSrtString(filter->get("text"));
87+
Subtitles::SubtitleVector items = Subtitles::readFromSrtString(filter.get("text"));
9088
m_items[m_items.size() - 1] = QList(items.cbegin(), items.cend());
9189
}
9290
}

0 commit comments

Comments
 (0)