Skip to content

Commit

Permalink
kde-apps/kdenlive: Backport upstream fix for startup crash
Browse files Browse the repository at this point in the history
Closes: https://bugs.gentoo.org/703524
Package-Manager: Portage-2.3.84, Repoman-2.3.20
Signed-off-by: Andreas Sturmlechner <[email protected]>
  • Loading branch information
a17r committed Jan 15, 2020
1 parent 22e8b49 commit 0d574f6
Show file tree
Hide file tree
Showing 2 changed files with 133 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
From b20a7307368932b35ec0d7cdebb68a710cbbf8ba Mon Sep 17 00:00:00 2001
From: Jean-Baptiste Mardelle <[email protected]>
Date: Wed, 15 Jan 2020 11:30:20 +0100
Subject: Fix crash on new project with Qt 5.14 Related to #494

---
src/timeline2/view/timelinewidget.cpp | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/timeline2/view/timelinewidget.cpp b/src/timeline2/view/timelinewidget.cpp
index 452e4d7..f8bf6ed 100644
--- a/src/timeline2/view/timelinewidget.cpp
+++ b/src/timeline2/view/timelinewidget.cpp
@@ -65,6 +65,7 @@ TimelineWidget::TimelineWidget(QWidget *parent)
// Build transition model for context menu
m_transitionModel = TransitionTreeModel::construct(true, this);
m_transitionProxyModel = std::make_unique<TransitionFilter>(this);
+ m_sortModel = std::make_unique<QSortFilterProxyModel>(this);
static_cast<TransitionFilter *>(m_transitionProxyModel.get())->setFilterType(true, TransitionType::Favorites);
m_transitionProxyModel->setSourceModel(m_transitionModel.get());
m_transitionProxyModel->setSortRole(AssetTreeModel::NameRole);
@@ -89,6 +90,8 @@ TimelineWidget::TimelineWidget(QWidget *parent)

TimelineWidget::~TimelineWidget()
{
+ rootContext()->setContextProperty("multitrack", 0);
+ rootContext()->setContextProperty("timeline", 0);
delete m_proxy;
}

@@ -113,11 +116,9 @@ const QStringList TimelineWidget::sortedItems(const QStringList &items, bool isT

void TimelineWidget::setModel(const std::shared_ptr<TimelineItemModel> &model, MonitorProxy *proxy)
{
- m_sortModel = std::make_unique<QSortFilterProxyModel>(this);
m_sortModel->setSourceModel(model.get());
m_sortModel->setSortRole(TimelineItemModel::SortRole);
m_sortModel->sort(0, Qt::DescendingOrder);
-
m_proxy->setModel(model);
rootContext()->setContextProperty("multitrack", m_sortModel.get());
rootContext()->setContextProperty("controller", model.get());
--
cgit v1.1
89 changes: 89 additions & 0 deletions kde-apps/kdenlive/kdenlive-19.12.1-r1.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

ECM_HANDBOOK="optional"
ECM_TEST="true"
KFMIN=5.63.0
QTMIN=5.12.3
VIRTUALX_REQUIRED="test"
inherit ecm kde.org

DESCRIPTION="Non-linear video editing suite by KDE"
HOMEPAGE="https://kdenlive.org/en/"

LICENSE="GPL-2"
SLOT="5"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="freesound gles2 semantic-desktop share v4l"

BDEPEND="
sys-devel/gettext
"
DEPEND="
dev-cpp/rttr
>=dev-qt/qtconcurrent-${QTMIN}:5
>=dev-qt/qtdbus-${QTMIN}:5
>=dev-qt/qtdeclarative-${QTMIN}:5
>=dev-qt/qtgui-${QTMIN}:5[gles2=]
>=dev-qt/qtmultimedia-${QTMIN}:5
>=dev-qt/qtnetwork-${QTMIN}:5
>=dev-qt/qtsvg-${QTMIN}:5
>=dev-qt/qtwidgets-${QTMIN}:5
>=dev-qt/qtxml-${QTMIN}:5
>=kde-frameworks/karchive-${KFMIN}:5
>=kde-frameworks/kbookmarks-${KFMIN}:5
>=kde-frameworks/kcompletion-${KFMIN}:5
>=kde-frameworks/kconfig-${KFMIN}:5
>=kde-frameworks/kconfigwidgets-${KFMIN}:5
>=kde-frameworks/kcoreaddons-${KFMIN}:5
>=kde-frameworks/kcrash-${KFMIN}:5
>=kde-frameworks/kdbusaddons-${KFMIN}:5
>=kde-frameworks/kdeclarative-${KFMIN}:5
>=kde-frameworks/kguiaddons-${KFMIN}:5
>=kde-frameworks/ki18n-${KFMIN}:5
>=kde-frameworks/kiconthemes-${KFMIN}:5
>=kde-frameworks/kio-${KFMIN}:5
>=kde-frameworks/kitemviews-${KFMIN}:5
>=kde-frameworks/kjobwidgets-${KFMIN}:5
>=kde-frameworks/knewstuff-${KFMIN}:5
>=kde-frameworks/knotifications-${KFMIN}:5
>=kde-frameworks/knotifyconfig-${KFMIN}:5
>=kde-frameworks/kservice-${KFMIN}:5
>=kde-frameworks/ktextwidgets-${KFMIN}:5
>=kde-frameworks/kwidgetsaddons-${KFMIN}:5
>=kde-frameworks/kxmlgui-${KFMIN}:5
>=kde-frameworks/solid-${KFMIN}:5
>=media-libs/mlt-6.18.0[ffmpeg,frei0r,kdenlive,melt,qt5,sdl,xml]
freesound? ( >=dev-qt/qtwebkit-5.212.0_pre20180120:5 )
semantic-desktop? ( >=kde-frameworks/kfilemetadata-${KFMIN}:5 )
share? ( >=kde-frameworks/purpose-${KFMIN}:5 )
v4l? ( media-libs/libv4l )
"
RDEPEND="${DEPEND}
>=dev-qt/qtquickcontrols-${QTMIN}:5
virtual/ffmpeg[encode,sdl,X]
"

PATCHES=( "${FILESDIR}"/${P}-qt-5.14-new-project-crash.patch ) # bug #703524

src_configure() {
local mycmakeargs=(
$(cmake_use_find_package freesound Qt5WebKitWidgets)
$(cmake_use_find_package semantic-desktop KF5FileMetaData)
$(cmake_use_find_package share KF5Purpose)
$(cmake_use_find_package v4l LibV4L2)
)

ecm_src_configure
}

pkg_postinst() {
ecm_pkg_postinst

# Gentoo bug 603168
if ! has_version "media-libs/mlt[fftw]" ; then
elog "For 'Crop and Transform/Rotate and Shear' effect, please build media-libs/mlt with USE=fftw enabled."
fi
}

0 comments on commit 0d574f6

Please sign in to comment.