Bug 415691 - Patched Kdenlive 20.03.70 for Linux Mint 19
Summary: Patched Kdenlive 20.03.70 for Linux Mint 19
Status: RESOLVED UNMAINTAINED
Alias: None
Product: kdenlive
Classification: Applications
Component: Setup & Installation (other bugs)
Version First Reported In: git-master
Platform: Mint (Ubuntu based) Linux
: NOR normal
Target Milestone: ---
Assignee: Vincent PINON
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-12-29 19:43 UTC by Alan Robertson
Modified: 2020-11-13 21:09 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:
fritzibaby: Brainstorm+


Attachments
Patched Kdenlive 20.03.70 for Linux Mint 19 (861.81 KB, image/png)
2019-12-29 19:43 UTC, Alan Robertson
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alan Robertson 2019-12-29 19:43:39 UTC
Created attachment 124779 [details]
Patched Kdenlive 20.03.70 for Linux Mint 19

diff -ruN kdenlive-master/rttr.CMakeLists.txt "kdenlive-master patched/rttr.CMakeLists.txt"
--- kdenlive-master/rttr.CMakeLists.txt	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/rttr.CMakeLists.txt"	2019-12-28 18:49:00.371824124 +0000
@@ -3,7 +3,7 @@
     PREFIX rttr
     URL https://github.com/rttrorg/rttr/archive/v0.9.6.tar.gz
     UPDATE_COMMAND ""
-    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> -DCMAKE_INSTALL_LIBDIR=lib -DBUILD_EXAMPLES=OFF -DBUILD_DOCUMENTATION=OFF -DBUILD_UNIT_TESTS=OFF -DBUILD_PACKAGE=OFF -DBUILD_STATIC=ON
+    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> -DCMAKE_INSTALL_LIBDIR=lib -DBUILD_EXAMPLES=OFF -DBUILD_DOCUMENTATION=OFF -DBUILD_UNIT_TESTS=OFF -DBUILD_PACKAGE=OFF -DBUILD_STATIC=ON -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true
 )
 
 ExternalProject_Get_Property(rttr_project install_dir)
diff -ruN kdenlive-master/src/assets/assetlist/view/assetlistwidget.cpp "kdenlive-master patched/src/assets/assetlist/view/assetlistwidget.cpp"
--- kdenlive-master/src/assets/assetlist/view/assetlistwidget.cpp	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/assets/assetlist/view/assetlistwidget.cpp"	2019-12-28 18:54:54.034662324 +0000
@@ -36,8 +36,12 @@
 {
     KDeclarative::KDeclarative kdeclarative;
     kdeclarative.setDeclarativeEngine(engine());
+#if KDECLARATIVE_VERSION >= QT_VERSION_CHECK(5, 45, 0)
     kdeclarative.setupEngine(engine());
     kdeclarative.setupContext();
+#else
+    kdeclarative.setupBindings();
+#endif
 }
 
 AssetListWidget::~AssetListWidget()
diff -ruN kdenlive-master/src/assets/assetlist/view/qml/assetList.qml "kdenlive-master patched/src/assets/assetlist/view/qml/assetList.qml"
--- kdenlive-master/src/assets/assetlist/view/qml/assetList.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/assets/assetlist/view/qml/assetList.qml"	2019-12-28 22:36:25.077794593 +0000
@@ -19,12 +19,12 @@
  *   along with this program.  If not, see <http://www.gnu.org/licenses/>. *
  ***************************************************************************/
 
-import QtQuick 2.11
-import QtQuick.Layouts 1.11
-import QtQuick.Controls 1.4
+import QtQuick 2.7
+import QtQuick.Layouts 1.3
+import QtQuick.Controls 1.5
 import QtQuick.Controls.Styles 1.4
 import QtQuick.Window 2.2
-import QtQml.Models 2.11
+import QtQml.Models 2.2
 
 Rectangle {
     id: listRoot
diff -ruN kdenlive-master/src/assets/model/assetparametermodel.cpp "kdenlive-master patched/src/assets/model/assetparametermodel.cpp"
--- kdenlive-master/src/assets/model/assetparametermodel.cpp	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/assets/model/assetparametermodel.cpp"	2019-12-28 18:49:23.727225962 +0000
@@ -31,6 +31,7 @@
 #include <QJsonObject>
 #include <QLocale>
 #include <QString>
+#include <QFile>
 
 AssetParameterModel::AssetParameterModel(std::unique_ptr<Mlt::Properties> asset, const QDomElement &assetXml, const QString &assetId, ObjectId ownerId,
                                          QObject *parent)
diff -ruN kdenlive-master/src/assets/view/qml/AssetView.qml "kdenlive-master patched/src/assets/view/qml/AssetView.qml"
--- kdenlive-master/src/assets/view/qml/AssetView.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/assets/view/qml/AssetView.qml"	2019-12-28 22:37:02.161495620 +0000
@@ -19,12 +19,12 @@
  *   along with this program.  If not, see <http://www.gnu.org/licenses/>. *
  ***************************************************************************/
 
-import QtQuick 2.11
+import QtQuick 2.4
 import QtQuick.Controls 1.4
 import QtQuick.Controls.Styles 1.4
 import QtQuick.Window 2.2
-import QtQuick.Layouts 1.11
-import QtQml.Models 2.11
+import QtQuick.Layouts 1.3
+import QtQml.Models 2.2
 
 Rectangle {
     id: assetRoot
diff -ruN kdenlive-master/src/bin/bin.cpp "kdenlive-master patched/src/bin/bin.cpp"
--- kdenlive-master/src/bin/bin.cpp	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/bin/bin.cpp"	2019-12-28 18:52:19.068009969 +0000
@@ -166,7 +166,7 @@
         QString line1 = index.data(Qt::DisplayRole).toString();
         QString line2 = index.data(Qt::UserRole).toString();
 
-        int textW = qMax(option.fontMetrics.horizontalAdvance(line1), option.fontMetrics.horizontalAdvance(line2));
+        int textW = qMax(option.fontMetrics.width(line1), option.fontMetrics.width(line2));
         QSize iconSize = icon.actualSize(option.decorationSize);
         return {qMax(textW, iconSize.width()) + 4, option.fontMetrics.lineSpacing() * 2 + 4};
     }
diff -ruN kdenlive-master/src/dialogs/splash.cpp "kdenlive-master patched/src/dialogs/splash.cpp"
--- kdenlive-master/src/dialogs/splash.cpp	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/dialogs/splash.cpp"	2019-12-28 18:55:38.154478562 +0000
@@ -35,8 +35,12 @@
 {
     KDeclarative::KDeclarative kdeclarative;
     kdeclarative.setDeclarativeEngine(m_engine);
+#if KDECLARATIVE_VERSION >= QT_VERSION_CHECK(5, 45, 0)
     kdeclarative.setupEngine(m_engine);
     kdeclarative.setupContext();
+#else
+    kdeclarative.setupBindings();
+#endif
     component = new QQmlComponent(m_engine);
     QQuickWindow::setDefaultAlphaBuffer(true);
     component->loadUrl(QUrl(QStringLiteral("qrc:/qml/splash.qml")));
diff -ruN kdenlive-master/src/doc/kthumb.cpp "kdenlive-master patched/src/doc/kthumb.cpp"
--- kdenlive-master/src/doc/kthumb.cpp	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/doc/kthumb.cpp"	2019-12-28 18:50:57.101254160 +0000
@@ -124,7 +124,7 @@
 {
     int delta = 0;
     int avg = 0;
-    int bytes = (int)image.sizeInBytes();
+    int bytes = (int)image.bytesPerLine() * image.height();
     int STEPS = bytes / 2;
     QVarLengthArray<uchar> pivot(STEPS);
     const uchar *bits = image.bits();
diff -ruN kdenlive-master/src/effects/effectstack/view/builtstack.cpp "kdenlive-master patched/src/effects/effectstack/view/builtstack.cpp"
--- kdenlive-master/src/effects/effectstack/view/builtstack.cpp	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/effects/effectstack/view/builtstack.cpp"	2019-12-28 18:56:08.874395519 +0000
@@ -37,8 +37,12 @@
     KDeclarative::KDeclarative kdeclarative;
     QQmlEngine *eng = engine();
     kdeclarative.setDeclarativeEngine(eng);
+#if KDECLARATIVE_VERSION >= QT_VERSION_CHECK(5, 45, 0)
     kdeclarative.setupEngine(eng);
     kdeclarative.setupContext();
+#else
+    kdeclarative.setupBindings();
+#endif
     // qmlRegisterType<ColorWheelItem>("Kdenlive.Controls", 1, 0, "ColorWheelItem");
     setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
     setMinimumHeight(300);
diff -ruN kdenlive-master/src/effects/effectstack/view/qml/BuiltStack.qml "kdenlive-master patched/src/effects/effectstack/view/qml/BuiltStack.qml"
--- kdenlive-master/src/effects/effectstack/view/qml/BuiltStack.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/effects/effectstack/view/qml/BuiltStack.qml"	2019-12-28 22:42:58.539049847 +0000
@@ -1,7 +1,7 @@
-import QtQuick 2.11
+import QtQuick 2.6
 import QtQuick.Controls 1.4
 import QtQuick.Controls.Styles 1.4
-import QtQuick.Layouts 1.11
+import QtQuick.Layouts 1.3
 
 Rectangle {
     id: root
diff -ruN kdenlive-master/src/effects/effectstack/view/qml/EffectSlider.qml "kdenlive-master patched/src/effects/effectstack/view/qml/EffectSlider.qml"
--- kdenlive-master/src/effects/effectstack/view/qml/EffectSlider.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/effects/effectstack/view/qml/EffectSlider.qml"	2019-12-28 22:43:10.527041738 +0000
@@ -1,8 +1,8 @@
 
-import QtQuick 2.11
+import QtQuick 2.6
 import QtQuick.Controls 1.4
 import QtQuick.Controls.Styles 1.4
-import QtQuick.Layouts 1.11
+import QtQuick.Layouts 1.3
 
 Item {
     id: sliderroot
diff -ruN kdenlive-master/src/effects/effectstack/view/qml/LiftGammaGain.qml "kdenlive-master patched/src/effects/effectstack/view/qml/LiftGammaGain.qml"
--- kdenlive-master/src/effects/effectstack/view/qml/LiftGammaGain.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/effects/effectstack/view/qml/LiftGammaGain.qml"	2019-12-28 22:43:19.743034376 +0000
@@ -1,8 +1,8 @@
-import QtQuick 2.11
+import QtQuick 2.6
 import QtQuick.Controls 1.4
 import QtQuick.Controls.Styles 1.4
 import Kdenlive.Controls 1.0
-import QtQuick.Layouts 1.11
+import QtQuick.Layouts 1.3
 
 Item {
     id: liftgammagain
diff -ruN kdenlive-master/src/monitor/glwidget.cpp "kdenlive-master patched/src/monitor/glwidget.cpp"
--- kdenlive-master/src/monitor/glwidget.cpp	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/monitor/glwidget.cpp"	2019-12-28 18:56:58.142333346 +0000
@@ -98,8 +98,12 @@
 {
     KDeclarative::KDeclarative kdeclarative;
     kdeclarative.setDeclarativeEngine(engine());
+#if KDECLARATIVE_VERSION >= QT_VERSION_CHECK(5, 45, 0)
     kdeclarative.setupEngine(engine());
     kdeclarative.setupContext();
+#else
+    kdeclarative.setupBindings();
+#endif
 
     m_texture[0] = m_texture[1] = m_texture[2] = 0;
     qRegisterMetaType<Mlt::Frame>("Mlt::Frame");
diff -ruN kdenlive-master/src/monitor/monitor.cpp "kdenlive-master patched/src/monitor/monitor.cpp"
--- kdenlive-master/src/monitor/monitor.cpp	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/monitor/monitor.cpp"	2019-12-28 18:58:58.494504856 +0000
@@ -772,7 +772,10 @@
 void Monitor::slotSwitchFullScreen(bool minimizeOnly)
 {
     // TODO: disable screensaver?
-    pause();
+    m_glWidget->showNormal();
+    auto *lay = (QVBoxLayout *)layout();
+    lay->insertWidget(0, m_glWidget, 10);
+/*    pause();
     if (!m_glWidget->isFullScreen() && !minimizeOnly) {
         // Move monitor widget to the second screen (one screen for Kdenlive, the other one for the Monitor widget)
         if (qApp->screens().count() > 1) {
@@ -792,7 +795,7 @@
         m_glWidget->showNormal();
         auto *lay = (QVBoxLayout *)layout();
         lay->insertWidget(0, m_glWidget, 10);
-    }
+    }*/
 }
 
 // virtual
diff -ruN kdenlive-master/src/monitor/scopes/audiographspectrum.cpp "kdenlive-master patched/src/monitor/scopes/audiographspectrum.cpp"
--- kdenlive-master/src/monitor/scopes/audiographspectrum.cpp	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/monitor/scopes/audiographspectrum.cpp"	2019-12-28 18:52:34.447821219 +0000
@@ -138,7 +138,7 @@
         m_freqLabels << BAND_TAB[i].label;
     }
     m_maxDb = 0;
-    setMinimumWidth(2 * m_freqLabels.size() + fontMetrics().horizontalAdvance(QStringLiteral("888")) + 2);
+    setMinimumWidth(2 * m_freqLabels.size() + fontMetrics().width(QStringLiteral("888")) + 2);
     setFont(QFontDatabase::systemFont(QFontDatabase::SmallestReadableFont));
     setMinimumHeight(100);
     setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
@@ -159,14 +159,14 @@
         return;
     }
 
-    int maxWidth = fontMetrics().horizontalAdvance(QStringLiteral("-45"));
+    int maxWidth = fontMetrics().width(QStringLiteral("-45"));
     // dB scale is vertical along the left side
     int prevY = height();
     QColor textCol = palette().text().color();
     p.setPen(textCol);
     for (int i = 0; i < dbLabelCount; i++) {
         QString label = QString::number(m_dbLabels.at(i));
-        int x = rect.left() + maxWidth - fontMetrics().horizontalAdvance(label);
+        int x = rect.left() + maxWidth - fontMetrics().width(label);
         int yline = rect.bottom() - pow(10.0, (double)m_dbLabels.at(i) / 50.0) * rect.height() * 40.0 / 42;
         int y = yline + textHeight / 2;
         if (y - textHeight < 0) {
@@ -196,7 +196,7 @@
     // Find the widest channel label
     int chanLabelWidth = 0;
     for (int i = 0; i < chanLabelCount; i++) {
-        int width = fontMetrics().horizontalAdvance(m_freqLabels.at(i)) + 2;
+        int width = fontMetrics().width(m_freqLabels.at(i)) + 2;
         chanLabelWidth = width > chanLabelWidth ? width : chanLabelWidth;
     }
     int length = rect.width();
@@ -208,10 +208,10 @@
     int y = rect.bottom();
     for (int i = 0; i < chanLabelCount; i += stride) {
         QString label = m_freqLabels.at(i);
-        int x = rect.left() + (2 * i) + i * barWidth + barWidth / 2 - fontMetrics().horizontalAdvance(label) / 2;
+        int x = rect.left() + (2 * i) + i * barWidth + barWidth / 2 - fontMetrics().width(label) / 2;
         if (x > prevX) {
             p.drawText(x, y, label);
-            prevX = x + fontMetrics().horizontalAdvance(label);
+            prevX = x + fontMetrics().width(label);
         }
     }
 }
@@ -237,7 +237,7 @@
     QRect rect(0, 0, width() - 3, height());
     p.setFont(QFontDatabase::systemFont(QFontDatabase::SmallestReadableFont));
     p.setOpacity(0.6);
-    int offset = fontMetrics().horizontalAdvance(QStringLiteral("888")) + 2;
+    int offset = fontMetrics().width(QStringLiteral("888")) + 2;
     if (rect.width() - offset > 10) {
         drawDbLabels(p, rect);
         rect.adjust(offset, 0, 0, 0);
diff -ruN kdenlive-master/src/monitor/scopes/monitoraudiolevel.cpp "kdenlive-master patched/src/monitor/scopes/monitoraudiolevel.cpp"
--- kdenlive-master/src/monitor/scopes/monitoraudiolevel.cpp	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/monitor/scopes/monitoraudiolevel.cpp"	2019-12-28 18:52:58.815548846 +0000
@@ -152,7 +152,7 @@
     for (int i = 0; i < dbLabelCount; i++) {
         int value = dbscale.at(i);
         QString label = QString().sprintf("%d", value);
-        int labelWidth = fontMetrics().horizontalAdvance(label);
+        int labelWidth = fontMetrics().width(label);
         double xf = pow(10.0, (double)dbscale.at(i) / 50.0) * m_pixmap.width() * 40.0 / 42;
         if (xf + labelWidth / 2 > m_pixmap.width()) {
             xf = width() - labelWidth / 2;
diff -ruN kdenlive-master/src/monitor/view/EffectToolBar.qml "kdenlive-master patched/src/monitor/view/EffectToolBar.qml"
--- kdenlive-master/src/monitor/view/EffectToolBar.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/monitor/view/EffectToolBar.qml"	2019-12-28 22:45:52.334785054 +0000
@@ -1,6 +1,6 @@
-import QtQuick.Controls 1.4
-import QtQuick.Controls.Styles 1.4
-import QtQuick 2.11
+import QtQuick.Controls 1.3
+import QtQuick.Controls.Styles 1.3
+import QtQuick 2.7
 
 
 Rectangle {
diff -ruN kdenlive-master/src/monitor/view/kdenliveclipmonitor.qml "kdenlive-master patched/src/monitor/view/kdenliveclipmonitor.qml"
--- kdenlive-master/src/monitor/view/kdenliveclipmonitor.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/monitor/view/kdenliveclipmonitor.qml"	2019-12-28 19:28:45.494609094 +0000
@@ -1,7 +1,7 @@
-import QtQuick.Controls 2.4
+import QtQuick.Controls 2.2
 import QtQuick.Window 2.2
 import Kdenlive.Controls 1.0
-import QtQuick 2.11
+import QtQuick 2.6
 import com.enums 1.0
 
 Item {
@@ -333,7 +333,7 @@
                 id: dragRow
                 ToolButton {
                     id: videoDragButton
-                    icon.name: "kdenlive-show-video"
+//                    icon.name: "kdenlive-show-video"
                     MouseArea {
                         id: dragVideoArea
                         hoverEnabled: true
@@ -354,7 +354,7 @@
                 }
                 ToolButton {
                     id: audioDragButton
-                    icon.name: "audio-volume-medium"
+//                    icon.name: "audio-volume-medium"
                     MouseArea {
                         id: dragAudioArea
                         hoverEnabled: true
diff -ruN kdenlive-master/src/monitor/view/kdenlivemonitorcornerscene.qml "kdenlive-master patched/src/monitor/view/kdenlivemonitorcornerscene.qml"
--- kdenlive-master/src/monitor/view/kdenlivemonitorcornerscene.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/monitor/view/kdenlivemonitorcornerscene.qml"	2019-12-28 21:22:51.568442723 +0000
@@ -1,4 +1,4 @@
-import QtQuick 2.11
+import QtQuick 2.4
 
 Item {
     id: root
diff -ruN kdenlive-master/src/monitor/view/kdenlivemonitoreffectscene.qml "kdenlive-master patched/src/monitor/view/kdenlivemonitoreffectscene.qml"
--- kdenlive-master/src/monitor/view/kdenlivemonitoreffectscene.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/monitor/view/kdenlivemonitoreffectscene.qml"	2019-12-28 21:25:05.739780474 +0000
@@ -1,4 +1,4 @@
-import QtQuick 2.11
+import QtQuick 2.4
 
 Item {
     id: root
diff -ruN kdenlive-master/src/monitor/view/kdenlivemonitor.qml "kdenlive-master patched/src/monitor/view/kdenlivemonitor.qml"
--- kdenlive-master/src/monitor/view/kdenlivemonitor.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/monitor/view/kdenlivemonitor.qml"	2019-12-28 20:24:37.685239584 +0000
@@ -1,7 +1,7 @@
-import QtQuick.Controls 2.4
+import QtQuick.Controls 2.2
 import QtQuick.Window 2.2
 import Kdenlive.Controls 1.0
-import QtQuick 2.11
+import QtQuick 2.4
 
 Item {
     id: root
diff -ruN kdenlive-master/src/monitor/view/kdenlivemonitorripple.qml "kdenlive-master patched/src/monitor/view/kdenlivemonitorripple.qml"
--- kdenlive-master/src/monitor/view/kdenlivemonitorripple.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/monitor/view/kdenlivemonitorripple.qml"	2019-12-28 22:48:30.170320761 +0000
@@ -1,4 +1,4 @@
-import QtQuick 2.11
+import QtQuick 2.0
 
 Item {
     id: root
diff -ruN kdenlive-master/src/monitor/view/kdenlivemonitorrotoscene.qml "kdenlive-master patched/src/monitor/view/kdenlivemonitorrotoscene.qml"
--- kdenlive-master/src/monitor/view/kdenlivemonitorrotoscene.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/monitor/view/kdenlivemonitorrotoscene.qml"	2019-12-28 22:48:54.074235793 +0000
@@ -1,4 +1,4 @@
-import QtQuick 2.11
+import QtQuick 2.6
 import QtQuick.Controls 1.4
 
 Item {
diff -ruN kdenlive-master/src/monitor/view/kdenlivemonitorsplit.qml "kdenlive-master patched/src/monitor/view/kdenlivemonitorsplit.qml"
--- kdenlive-master/src/monitor/view/kdenlivemonitorsplit.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/monitor/view/kdenlivemonitorsplit.qml"	2019-12-28 21:24:28.023966608 +0000
@@ -1,4 +1,4 @@
-import QtQuick 2.11
+import QtQuick 2.4
 import QtQuick.Controls 1.4
 import QtQuick.Controls.Styles 1.4
 
diff -ruN kdenlive-master/src/monitor/view/MonitorRuler.qml "kdenlive-master patched/src/monitor/view/MonitorRuler.qml"
--- kdenlive-master/src/monitor/view/MonitorRuler.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/monitor/view/MonitorRuler.qml"	2019-12-28 20:13:59.676471120 +0000
@@ -2,7 +2,7 @@
 import QtQuick.Controls.Styles 1.4
 import QtQuick.Window 2.2
 import Kdenlive.Controls 1.0
-import QtQuick 2.11
+import QtQuick 2.4
 
     // Monitor ruler
 Rectangle {
diff -ruN kdenlive-master/src/monitor/view/OverlayCenterDiagonal.qml "kdenlive-master patched/src/monitor/view/OverlayCenterDiagonal.qml"
--- kdenlive-master/src/monitor/view/OverlayCenterDiagonal.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/monitor/view/OverlayCenterDiagonal.qml"	2019-12-28 22:46:31.670686573 +0000
@@ -1,6 +1,6 @@
-import QtQuick.Controls 1.4
-import QtQuick.Controls.Styles 1.4
-import QtQuick 2.11
+import QtQuick.Controls 1.3
+import QtQuick.Controls.Styles 1.3
+import QtQuick 2.0
 
 Item {
     id: overlay
diff -ruN kdenlive-master/src/monitor/view/OverlayCenter.qml "kdenlive-master patched/src/monitor/view/OverlayCenter.qml"
--- kdenlive-master/src/monitor/view/OverlayCenter.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/monitor/view/OverlayCenter.qml"	2019-12-28 22:46:15.914727515 +0000
@@ -1,6 +1,6 @@
-import QtQuick.Controls 1.4
-import QtQuick.Controls.Styles 1.4
-import QtQuick 2.11
+import QtQuick.Controls 1.3
+import QtQuick.Controls.Styles 1.3
+import QtQuick 2.0
 
 Item {
     id: overlay
diff -ruN kdenlive-master/src/monitor/view/OverlayMinimal.qml "kdenlive-master patched/src/monitor/view/OverlayMinimal.qml"
--- kdenlive-master/src/monitor/view/OverlayMinimal.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/monitor/view/OverlayMinimal.qml"	2019-12-28 22:47:01.346604274 +0000
@@ -1,6 +1,6 @@
-import QtQuick.Controls 1.4
-import QtQuick.Controls.Styles 1.4
-import QtQuick 2.11
+import QtQuick.Controls 1.3
+import QtQuick.Controls.Styles 1.3
+import QtQuick 2.0
 
 Item {
     id: overlay
diff -ruN kdenlive-master/src/monitor/view/OverlayStandard.qml "kdenlive-master patched/src/monitor/view/OverlayStandard.qml"
--- kdenlive-master/src/monitor/view/OverlayStandard.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/monitor/view/OverlayStandard.qml"	2019-12-28 22:47:23.518538545 +0000
@@ -1,6 +1,6 @@
-import QtQuick.Controls 1.4
-import QtQuick.Controls.Styles 1.4
-import QtQuick 2.11
+import QtQuick.Controls 1.3
+import QtQuick.Controls.Styles 1.3
+import QtQuick 2.0
 
 Item {
     id: overlay
diff -ruN kdenlive-master/src/monitor/view/OverlayThirds.qml "kdenlive-master patched/src/monitor/view/OverlayThirds.qml"
--- kdenlive-master/src/monitor/view/OverlayThirds.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/monitor/view/OverlayThirds.qml"	2019-12-28 22:47:45.554469801 +0000
@@ -1,6 +1,6 @@
-import QtQuick.Controls 1.4
-import QtQuick.Controls.Styles 1.4
-import QtQuick 2.11
+import QtQuick.Controls 1.3
+import QtQuick.Controls.Styles 1.3
+import QtQuick 2.0
 
 Item {
     id: overlay
diff -ruN kdenlive-master/src/monitor/view/SceneToolBar.qml "kdenlive-master patched/src/monitor/view/SceneToolBar.qml"
--- kdenlive-master/src/monitor/view/SceneToolBar.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/monitor/view/SceneToolBar.qml"	2019-12-28 22:48:07.818397029 +0000
@@ -1,7 +1,7 @@
-import QtQuick.Controls 1.4
-import QtQuick.Controls.Styles 1.4
-import QtQuick.Layouts 1.11
-import QtQuick 2.11
+import QtQuick.Controls 1.3
+import QtQuick.Controls.Styles 1.3
+import QtQuick.Layouts 1.3
+import QtQuick 2.7
 
 Rectangle {
     id: scenetoolbar
diff -ruN kdenlive-master/src/qml/splash.qml "kdenlive-master patched/src/qml/splash.qml"
--- kdenlive-master/src/qml/splash.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/qml/splash.qml"	2019-12-28 22:49:51.742017271 +0000
@@ -19,10 +19,10 @@
  *   along with this program.  If not, see <http://www.gnu.org/licenses/>. *
  ***************************************************************************/
 
-import QtQuick 2.11
-import QtQuick.Controls 1.4
+import QtQuick 2.6
+import QtQuick.Controls 1.5
 import QtQuick.Window 2.2
-import QtQuick.Layouts 1.11
+import QtQuick.Layouts 1.3
 import QtQuick.Controls.Styles 1.4
 
 
diff -ruN kdenlive-master/src/scopes/audioscopes/audiosignal.cpp "kdenlive-master patched/src/scopes/audioscopes/audiosignal.cpp"
--- kdenlive-master/src/scopes/audioscopes/audiosignal.cpp	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/scopes/audioscopes/audiosignal.cpp"	2019-12-28 18:53:11.679417818 +0000
@@ -76,7 +76,7 @@
     int dbsize = 20;
     if (!horiz) {
         // calculate actual width of lowest=longest db scale mark based on drawing font
-        dbsize = p.fontMetrics().horizontalAdvance(QString().sprintf("%d", m_dbscale.at(m_dbscale.size() - 1)));
+        dbsize = p.fontMetrics().width(QString().sprintf("%d", m_dbscale.at(m_dbscale.size() - 1)));
     }
     bool showdb = width() > (dbsize + 40);
     // valpixel=1.0 for 127, 1.0+(1/40) for 1 short oversample, 1.0+(2/40) for longer oversample
diff -ruN kdenlive-master/src/timecodedisplay.cpp "kdenlive-master patched/src/timecodedisplay.cpp"
--- kdenlive-master/src/timecodedisplay.cpp	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/timecodedisplay.cpp"	2019-12-28 18:54:02.106984461 +0000
@@ -64,7 +64,7 @@
     setPalette(palette);
     setTimeCodeFormat(KdenliveSettings::frametimecode(), true);
     setValue(m_minimum);
-    setMinimumWidth(fm.horizontalAdvance(QStringLiteral("88:88:88:88")) + contentsMargins().right() + contentsMargins().left() + frameSize().width() -
+    setMinimumWidth(fm.width(QStringLiteral("88:88:88:88")) + contentsMargins().right() + contentsMargins().left() + frameSize().width() -
                     lineEdit()->contentsRect().width() + (int)QStyle::PM_SpinBoxFrameWidth + 6);
 
     setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Maximum);
diff -ruN kdenlive-master/src/timeline2/view/qml/AssetMenu.qml "kdenlive-master patched/src/timeline2/view/qml/AssetMenu.qml"
--- kdenlive-master/src/timeline2/view/qml/AssetMenu.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/timeline2/view/qml/AssetMenu.qml"	2019-12-28 22:52:12.581413785 +0000
@@ -18,10 +18,10 @@
  *   You should have received a copy of the GNU General Public License     *
  *   along with this program.  If not, see <http://www.gnu.org/licenses/>. *
  ***************************************************************************/
-import QtQuick 2.11
-import QtQuick.Controls 1.4
+import QtQuick 2.6
+import QtQuick.Controls 1.5
 import QtQuick.Window 2.2
-import QtQml.Models 2.11
+import QtQml.Models 2.2
 
 Menu {
     id: menuRoot
diff -ruN kdenlive-master/src/timeline2/view/qml/AudioLevels.qml "kdenlive-master patched/src/timeline2/view/qml/AudioLevels.qml"
--- kdenlive-master/src/timeline2/view/qml/AudioLevels.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/timeline2/view/qml/AudioLevels.qml"	2019-12-28 22:52:27.461344998 +0000
@@ -1,6 +1,6 @@
-import QtQuick 2.11
+import QtQuick 2.6
 import QtGraphicalEffects 1.0
-import QtQuick.Layouts 1.11
+import QtQuick.Layouts 1.3
 
 Item {
     id: recContainer
diff -ruN kdenlive-master/src/timeline2/view/qml/ClipAudioThumbs.qml "kdenlive-master patched/src/timeline2/view/qml/ClipAudioThumbs.qml"
--- kdenlive-master/src/timeline2/view/qml/ClipAudioThumbs.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/timeline2/view/qml/ClipAudioThumbs.qml"	2019-12-28 22:53:01.705183476 +0000
@@ -1,7 +1,7 @@
-import QtQuick 2.11
-import QtQuick.Controls 2.4
+import QtQuick 2.6
+import QtQuick.Controls 2.2
 import Kdenlive.Controls 1.0
-import QtQml.Models 2.11
+import QtQml.Models 2.2
 import com.enums 1.0
 
 Row {
diff -ruN kdenlive-master/src/timeline2/view/qml/ClipMenu.qml "kdenlive-master patched/src/timeline2/view/qml/ClipMenu.qml"
--- kdenlive-master/src/timeline2/view/qml/ClipMenu.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/timeline2/view/qml/ClipMenu.qml"	2019-12-28 22:53:17.105109435 +0000
@@ -1,4 +1,4 @@
-import QtQuick 2.11
+import QtQuick 2.6
 import QtQuick.Controls 1.4
 import com.enums 1.0
 
diff -ruN kdenlive-master/src/timeline2/view/qml/Clip.qml "kdenlive-master patched/src/timeline2/view/qml/Clip.qml"
--- kdenlive-master/src/timeline2/view/qml/Clip.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/timeline2/view/qml/Clip.qml"	2019-12-28 22:52:43.405270341 +0000
@@ -16,10 +16,10 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-import QtQuick 2.11
-import QtQuick.Controls 2.4
+import QtQuick 2.6
+import QtQuick.Controls 2.2
 import Kdenlive.Controls 1.0
-import QtQml.Models 2.11
+import QtQml.Models 2.2
 import QtQuick.Window 2.2
 import 'Timeline.js' as Logic
 import com.enums 1.0
diff -ruN kdenlive-master/src/timeline2/view/qml/ClipThumbs.qml "kdenlive-master patched/src/timeline2/view/qml/ClipThumbs.qml"
--- kdenlive-master/src/timeline2/view/qml/ClipThumbs.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/timeline2/view/qml/ClipThumbs.qml"	2019-12-28 22:53:35.693018957 +0000
@@ -1,6 +1,6 @@
-import QtQuick 2.11
-import QtQuick.Controls 2.4
-import QtQml.Models 2.11
+import QtQuick 2.6
+import QtQuick.Controls 2.2
+import QtQml.Models 2.2
 import com.enums 1.0
 
 
diff -ruN kdenlive-master/src/timeline2/view/qml/CompositionMenu.qml "kdenlive-master patched/src/timeline2/view/qml/CompositionMenu.qml"
--- kdenlive-master/src/timeline2/view/qml/CompositionMenu.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/timeline2/view/qml/CompositionMenu.qml"	2019-12-28 22:54:07.548861197 +0000
@@ -1,4 +1,4 @@
-import QtQuick 2.11
+import QtQuick 2.6
 import QtQuick.Controls 1.4
 
 Menu {
diff -ruN kdenlive-master/src/timeline2/view/qml/Composition.qml "kdenlive-master patched/src/timeline2/view/qml/Composition.qml"
--- kdenlive-master/src/timeline2/view/qml/Composition.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/timeline2/view/qml/Composition.qml"	2019-12-28 22:53:53.684930266 +0000
@@ -20,9 +20,9 @@
  *   along with this program.  If not, see <http://www.gnu.org/licenses/>. *
  ***************************************************************************/
 
-import QtQuick 2.11
-import QtQuick.Controls 2.4
-import QtQml.Models 2.11
+import QtQuick 2.6
+import QtQuick.Controls 2.2
+import QtQml.Models 2.2
 import QtQuick.Window 2.2
 import 'Timeline.js' as Logic
 
diff -ruN kdenlive-master/src/timeline2/view/qml/CornerSelectionShadow.qml "kdenlive-master patched/src/timeline2/view/qml/CornerSelectionShadow.qml"
--- kdenlive-master/src/timeline2/view/qml/CornerSelectionShadow.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/timeline2/view/qml/CornerSelectionShadow.qml"	2019-12-28 22:54:21.652790304 +0000
@@ -16,7 +16,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-import QtQuick 2.11
+import QtQuick 2.2
 
 Item {
     id: root
diff -ruN kdenlive-master/src/timeline2/view/qml/GuidesMenu.qml "kdenlive-master patched/src/timeline2/view/qml/GuidesMenu.qml"
--- kdenlive-master/src/timeline2/view/qml/GuidesMenu.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/timeline2/view/qml/GuidesMenu.qml"	2019-12-28 22:54:46.024666358 +0000
@@ -18,10 +18,10 @@
  *   You should have received a copy of the GNU General Public License     *
  *   along with this program.  If not, see <http://www.gnu.org/licenses/>. *
  ***************************************************************************/
-import QtQuick 2.11
-import QtQuick.Controls 1.4
+import QtQuick 2.6
+import QtQuick.Controls 1.5
 import QtQuick.Window 2.2
-import QtQml.Models 2.11
+import QtQml.Models 2.2
 
 Menu {
     id: menuRoot
diff -ruN kdenlive-master/src/timeline2/view/qml/KeyframeView.qml "kdenlive-master patched/src/timeline2/view/qml/KeyframeView.qml"
--- kdenlive-master/src/timeline2/view/qml/KeyframeView.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/timeline2/view/qml/KeyframeView.qml"	2019-12-28 22:55:05.492566086 +0000
@@ -19,9 +19,9 @@
  *   along with this program.  If not, see <http://www.gnu.org/licenses/>. *
  ***************************************************************************/
 
-import QtQuick 2.11
+import QtQuick 2.6
 import QtQuick.Controls 1.4
-import QtQml.Models 2.11
+import QtQml.Models 2.2
 
 Rectangle
 {
diff -ruN kdenlive-master/src/timeline2/view/qml/PulsingAnimation.qml "kdenlive-master patched/src/timeline2/view/qml/PulsingAnimation.qml"
--- kdenlive-master/src/timeline2/view/qml/PulsingAnimation.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/timeline2/view/qml/PulsingAnimation.qml"	2019-12-28 22:55:21.964480402 +0000
@@ -16,7 +16,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-import QtQuick 2.11
+import QtQuick 2.2
 
 SequentialAnimation {
     property alias target: firstAnim.target
diff -ruN kdenlive-master/src/timeline2/view/qml/Ruler.qml "kdenlive-master patched/src/timeline2/view/qml/Ruler.qml"
--- kdenlive-master/src/timeline2/view/qml/Ruler.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/timeline2/view/qml/Ruler.qml"	2019-12-28 22:55:37.356399659 +0000
@@ -16,8 +16,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-import QtQuick 2.11
-import QtQuick.Controls 2.4
+import QtQuick 2.6
+import QtQuick.Controls 2.2
 import QtQuick.Controls.Styles 1.4
 
 Rectangle {
diff -ruN kdenlive-master/src/timeline2/view/qml/timeline.qml "kdenlive-master patched/src/timeline2/view/qml/timeline.qml"
--- kdenlive-master/src/timeline2/view/qml/timeline.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/timeline2/view/qml/timeline.qml"	2019-12-28 22:57:51.459671333 +0000
@@ -1,10 +1,10 @@
-import QtQuick 2.11
-import QtQml.Models 2.11
-import QtQuick.Controls 1.4 as OLD
+import QtQuick 2.6
+import QtQml.Models 2.2
+import QtQuick.Controls 1.5 as OLD
 import QtQuick.Controls.Styles 1.4
-import QtQuick.Controls 2.4
-import QtQuick.Layouts 1.11
-import QtQuick.Dialogs 1.3
+import QtQuick.Controls 2.2
+import QtQuick.Layouts 1.3
+import QtQuick.Dialogs 1.2
 import Kdenlive.Controls 1.0
 import 'Timeline.js' as Logic
 
diff -ruN kdenlive-master/src/timeline2/view/qml/TrackHead.qml "kdenlive-master patched/src/timeline2/view/qml/TrackHead.qml"
--- kdenlive-master/src/timeline2/view/qml/TrackHead.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/timeline2/view/qml/TrackHead.qml"	2019-12-28 22:56:26.264138985 +0000
@@ -16,11 +16,11 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-import QtQuick 2.11
+import QtQuick 2.6
 import QtQuick.Controls 1.4
-import QtQuick.Controls 2.4 as NEWQML
-import QtQuick.Controls.Styles 1.4
-import QtQuick.Layouts 1.11
+import QtQuick.Controls 2.2 as NEWQML
+import QtQuick.Controls.Styles 1.2
+import QtQuick.Layouts 1.3
 
 Rectangle {
     id: trackHeadRoot
diff -ruN kdenlive-master/src/timeline2/view/qml/Track.qml "kdenlive-master patched/src/timeline2/view/qml/Track.qml"
--- kdenlive-master/src/timeline2/view/qml/Track.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/timeline2/view/qml/Track.qml"	2019-12-28 22:56:01.364272461 +0000
@@ -16,8 +16,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-import QtQuick 2.11
-import QtQml.Models 2.11
+import QtQuick 2.6
+import QtQml.Models 2.2
 import com.enums 1.0
 
 Column{
diff -ruN kdenlive-master/src/timeline2/view/timelinewidget.cpp "kdenlive-master patched/src/timeline2/view/timelinewidget.cpp"
--- kdenlive-master/src/timeline2/view/timelinewidget.cpp	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/timeline2/view/timelinewidget.cpp"	2019-12-28 18:57:43.950347843 +0000
@@ -58,8 +58,12 @@
 {
     KDeclarative::KDeclarative kdeclarative;
     kdeclarative.setDeclarativeEngine(engine());
+#if KDECLARATIVE_VERSION >= QT_VERSION_CHECK(5, 45, 0)
     kdeclarative.setupEngine(engine());
     kdeclarative.setupContext();
+#else
+    kdeclarative.setupBindings();
+#endif
     setClearColor(palette().window().color());
     registerTimelineItems();
     // Build transition model for context menu
diff -ruN kdenlive-master/src/titler/graphicsscenerectmove.cpp "kdenlive-master patched/src/titler/graphicsscenerectmove.cpp"
--- kdenlive-master/src/titler/graphicsscenerectmove.cpp	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/titler/graphicsscenerectmove.cpp"	2019-12-28 18:53:33.323216496 +0000
@@ -189,10 +189,10 @@
             linePath.addText(0, linePos, font(), line);
             linePos += lineSpacing;
             if (m_alignment == Qt::AlignHCenter) {
-                double offset = (bounding.width() - metrics.horizontalAdvance(line)) / 2;
+                double offset = (bounding.width() - metrics.width(line)) / 2;
                 linePath.translate(offset, 0);
             } else if (m_alignment == Qt::AlignRight) {
-                double offset = bounding.width() - metrics.horizontalAdvance(line);
+                double offset = bounding.width() - metrics.width(line);
                 linePath.translate(offset, 0);
             }
             m_path.addPath(linePath);
diff -ruN kdenlive-master/src/transitions/view/qml/transitionView.qml "kdenlive-master patched/src/transitions/view/qml/transitionView.qml"
--- kdenlive-master/src/transitions/view/qml/transitionView.qml	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/transitions/view/qml/transitionView.qml"	2019-12-28 23:03:32.037673597 +0000
@@ -19,12 +19,12 @@
  *   along with this program.  If not, see <http://www.gnu.org/licenses/>. *
  ***************************************************************************/
 
-import QtQuick 2.11
-import QtQuick.Controls 2.4
+import QtQuick 2.4
+import QtQuick.Controls 2.2
 import QtQuick.Controls.Styles 1.4
 import QtQuick.Window 2.2
-import QtQuick.Layouts 1.11
-import QtQml.Models 2.11
+import QtQuick.Layouts 1.3
+import QtQml.Models 2.2
 
 Rectangle {
     id: transitionRoot
diff -ruN kdenlive-master/src/transitions/view/transitionparameterview.cpp "kdenlive-master patched/src/transitions/view/transitionparameterview.cpp"
--- kdenlive-master/src/transitions/view/transitionparameterview.cpp	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/transitions/view/transitionparameterview.cpp"	2019-12-28 18:58:15.802395725 +0000
@@ -33,8 +33,12 @@
 {
     KDeclarative::KDeclarative kdeclarative;
     kdeclarative.setDeclarativeEngine(engine());
+#if KDECLARATIVE_VERSION >= QT_VERSION_CHECK(5, 45, 0)
     kdeclarative.setupEngine(engine());
     kdeclarative.setupContext();
+#else
+    kdeclarative.setupBindings();
+#endif
 
     // Set void model for the moment
     auto *model = new QStringListModel();
diff -ruN kdenlive-master/src/utils/thumbnailcache.cpp "kdenlive-master patched/src/utils/thumbnailcache.cpp"
--- kdenlive-master/src/utils/thumbnailcache.cpp	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/utils/thumbnailcache.cpp"	2019-12-28 18:51:38.144579154 +0000
@@ -192,10 +192,10 @@
             } else {
                 m_storedVolatile[binId].push_back(pos);
             }
-            m_volatileCache->insert(key, img, (int)img.sizeInBytes());
+            m_volatileCache->insert(key, img, (int)img.bytesPerLine() * img.height());
         }
     } else {
-        m_volatileCache->insert(key, img, (int)img.sizeInBytes());
+        m_volatileCache->insert(key, img, (int)img.bytesPerLine() * img.height());
         m_storedVolatile[binId].push_back(pos);
     }
 }
diff -ruN kdenlive-master/src/widgets/dragvalue.cpp "kdenlive-master patched/src/widgets/dragvalue.cpp"
--- kdenlive-master/src/widgets/dragvalue.cpp	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/src/widgets/dragvalue.cpp"	2019-12-28 18:53:47.023101088 +0000
@@ -419,7 +419,7 @@
         setRange(0, range);
         QSize sh;
         const QFontMetrics &fm = fontMetrics();
-        sh.setWidth(fm.horizontalAdvance(QLatin1Char(' ') + label + QLatin1Char(' ')));
+        sh.setWidth(fm.width(QLatin1Char(' ') + label + QLatin1Char(' ')));
         setMaximumWidth(sh.width());
         setObjectName(QStringLiteral("dragOnly"));
     }
diff -ruN kdenlive-master/thumbnailer/mltpreview.cpp "kdenlive-master patched/thumbnailer/mltpreview.cpp"
--- kdenlive-master/thumbnailer/mltpreview.cpp	2019-12-28 16:20:38.000000000 +0000
+++ "kdenlive-master patched/thumbnailer/mltpreview.cpp"	2019-12-28 18:50:14.566073107 +0000
@@ -115,7 +115,7 @@
     }
     uint delta = 0;
     uint avg = 0;
-    uint bytes = image.sizeInBytes();
+    uint bytes = image.bytesPerLine() * image.height();
     uint STEPS = bytes / 2;
     if (STEPS < 1) {
         return 0;
Comment 1 Vincent PINON 2020-01-12 23:08:35 UTC
Thanks again for your hard work.
I'm not planning to deliver daily builds to LTS users, but will keep your patch to maybe use it when 20.04 will be out?
Comment 2 Justin Zobel 2020-11-13 03:21:54 UTC
(In reply to Vincent PINON from comment #1)
> Thanks again for your hard work.
> I'm not planning to deliver daily builds to LTS users, but will keep your
> patch to maybe use it when 20.04 will be out?

Is this now relevant now that 20.04 has been out for a while?
Comment 3 Vincent PINON 2020-11-13 21:09:50 UTC
Sorry with this patch kdenlive was compiling but not working properly, so I removed the bianries from the ppa after receiving several complains shortly after publication