Hello community, here is the log from the commit of package kdenlive for openSUSE:Factory checked in at 2018-05-29 10:41:06 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kdenlive (Old) and /work/SRC/openSUSE:Factory/.kdenlive.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdenlive" Tue May 29 10:41:06 2018 rev:51 rq:611493 version:18.04.1 Changes: -------- --- /work/SRC/openSUSE:Factory/kdenlive/kdenlive.changes 2018-05-16 18:38:55.697069529 +0200 +++ /work/SRC/openSUSE:Factory/.kdenlive.new/kdenlive.changes 2018-05-29 10:41:13.152687506 +0200 @@ -1,0 +2,6 @@ +Wed May 23 07:27:17 UTC 2018 - wba...@tmo.at + +- Add fix-crash-with-mlt-6.8.0.patch to fix crashes with mlt>6.6.0 + when using effects with some keyframeable parameters (kde#394275) + +------------------------------------------------------------------- New: ---- fix-crash-with-mlt-6.8.0.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kdenlive.spec ++++++ --- /var/tmp/diff_new_pack.g1Mf29/_old 2018-05-29 10:41:14.684630960 +0200 +++ /var/tmp/diff_new_pack.g1Mf29/_new 2018-05-29 10:41:14.684630960 +0200 @@ -32,6 +32,8 @@ Group: Productivity/Multimedia/Video/Editors and Convertors Url: http://www.kdenlive.org/ Source0: %{name}-%{version}.tar.xz +# PATCH-FIX-UPSTREAM +Patch: fix-crash-with-mlt-6.8.0.patch BuildRequires: desktop-file-utils BuildRequires: extra-cmake-modules BuildRequires: fdupes @@ -110,6 +112,7 @@ %prep %setup -q +%patch -p1 %build %cmake_kf5 -d build ++++++ fix-crash-with-mlt-6.8.0.patch ++++++ >From 9b09dbb2b0de78d4eaf4011c8a462fdb3c6916b6 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Mardelle <j...@kdenlive.org> Date: Mon, 21 May 2018 08:39:28 +0200 Subject: Fix crash with MLT 6.8.0 and some keyfameable parameters (box blur) --- src/timeline/keyframeview.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/timeline/keyframeview.cpp b/src/timeline/keyframeview.cpp index 3196a0f..b882abe 100644 --- a/src/timeline/keyframeview.cpp +++ b/src/timeline/keyframeview.cpp @@ -599,7 +599,9 @@ void KeyframeView::updateKeyFramePos(const QRectF &br, int frame, const double y } // Remove kfr at previous position m_keyAnim = m_keyProperties.get_animation(paramName.toUtf8().constData()); - m_keyAnim.remove(activeKeyframe); + if (m_keyAnim.is_valid()) { + m_keyAnim.remove(activeKeyframe); + } } m_keyAnim = m_keyProperties.get_animation(m_inTimeline.toUtf8().constData()); } @@ -718,7 +720,9 @@ void KeyframeView::removeKeyframe(int frame) paramNames.removeAll(m_inTimeline); foreach (const QString ¶mName, paramNames) { m_keyAnim = m_keyProperties.get_animation(paramName.toUtf8().constData()); - m_keyAnim.remove(frame); + if (m_keyAnim.is_valid()) { + m_keyAnim.remove(frame); + } } m_keyAnim = m_keyProperties.get_animation(m_inTimeline.toUtf8().constData()); } @@ -772,6 +776,9 @@ const QString KeyframeView::serialize(const QString &name, bool rectAnimation) if (!name.isEmpty()) { m_keyAnim = m_keyProperties.get_animation(name.toUtf8().constData()); } + if (!m_keyAnim.is_valid()) { + return m_keyProperties.get(name.toUtf8().constData()); + } if (attachToEnd == -2 || rectAnimation) { return m_keyAnim.serialize_cut(); } @@ -946,7 +953,7 @@ bool KeyframeView::loadKeyframes(const QLocale &locale, const QDomElement &effec } if (paramName == m_inTimeline) { m_keyAnim = m_keyProperties.get_animation(m_inTimeline.toUtf8().constData()); - if (m_keyAnim.next_key(activeKeyframe) <= activeKeyframe) { + if (m_keyAnim.is_valid() && m_keyAnim.next_key(activeKeyframe) <= activeKeyframe) { activeKeyframe = -1; } } -- cgit v0.11.2