https://bugs.kde.org/show_bug.cgi?id=415690

            Bug ID: 415690
           Summary: Patched Kdenlive 19.12.0 for Linux Mint 19
           Product: kdenlive
           Version: 19.12.0
          Platform: Mint (Ubuntu based)
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: Installation
          Assignee: vpi...@kde.org
          Reporter: aroberts...@yahoo.com
  Target Milestone: ---

Created attachment 124778
  --> https://bugs.kde.org/attachment.cgi?id=124778&action=edit
Patched Kdenlive 19.12.0 for Linux Mint 19

diff -ruN kdenlive-19.12.0/rttr.CMakeLists.txt "kdenlive-19.12.0
patched/rttr.CMakeLists.txt"
--- kdenlive-19.12.0/rttr.CMakeLists.txt        2019-12-08 20:52:13.000000000
+0000
+++ "kdenlive-19.12.0 patched/rttr.CMakeLists.txt"      2019-12-26
20:49:42.351826294 +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-19.12.0/src/assets/assetlist/view/assetlistwidget.cpp
"kdenlive-19.12.0 patched/src/assets/assetlist/view/assetlistwidget.cpp"
--- kdenlive-19.12.0/src/assets/assetlist/view/assetlistwidget.cpp     
2019-12-08 20:52:13.000000000 +0000
+++ "kdenlive-19.12.0 patched/src/assets/assetlist/view/assetlistwidget.cpp"   
2019-12-26 20:25:50.118041000 +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-19.12.0/src/assets/model/assetparametermodel.cpp
"kdenlive-19.12.0 patched/src/assets/model/assetparametermodel.cpp"
--- kdenlive-19.12.0/src/assets/model/assetparametermodel.cpp   2019-12-08
20:52:13.000000000 +0000
+++ "kdenlive-19.12.0 patched/src/assets/model/assetparametermodel.cpp"
2019-12-26 20:20:29.268736000 +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-19.12.0/src/bin/bin.cpp "kdenlive-19.12.0
patched/src/bin/bin.cpp"
--- kdenlive-19.12.0/src/bin/bin.cpp    2019-12-08 20:52:13.000000000 +0000
+++ "kdenlive-19.12.0 patched/src/bin/bin.cpp"  2019-12-26 20:23:14.909408000
+0000
@@ -164,7 +164,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-19.12.0/src/dialogs/splash.cpp "kdenlive-19.12.0
patched/src/dialogs/splash.cpp"
--- kdenlive-19.12.0/src/dialogs/splash.cpp     2019-12-08 20:52:13.000000000
+0000
+++ "kdenlive-19.12.0 patched/src/dialogs/splash.cpp"   2019-12-26
20:26:30.094205000 +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-19.12.0/src/doc/kthumb.cpp "kdenlive-19.12.0
patched/src/doc/kthumb.cpp"
--- kdenlive-19.12.0/src/doc/kthumb.cpp 2019-12-08 20:52:13.000000000 +0000
+++ "kdenlive-19.12.0 patched/src/doc/kthumb.cpp"       2019-12-26
20:21:58.469097000 +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-19.12.0/src/effects/effectstack/view/builtstack.cpp
"kdenlive-19.12.0 patched/src/effects/effectstack/view/builtstack.cpp"
--- kdenlive-19.12.0/src/effects/effectstack/view/builtstack.cpp       
2019-12-08 20:52:13.000000000 +0000
+++ "kdenlive-19.12.0 patched/src/effects/effectstack/view/builtstack.cpp"     
2019-12-26 20:27:02.270337000 +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-19.12.0/src/monitor/glwidget.cpp "kdenlive-19.12.0
patched/src/monitor/glwidget.cpp"
--- kdenlive-19.12.0/src/monitor/glwidget.cpp   2019-12-08 20:52:13.000000000
+0000
+++ "kdenlive-19.12.0 patched/src/monitor/glwidget.cpp" 2019-12-26
20:27:41.838500000 +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-19.12.0/src/monitor/monitor.cpp "kdenlive-19.12.0
patched/src/monitor/monitor.cpp"
--- kdenlive-19.12.0/src/monitor/monitor.cpp    2019-12-08 20:52:13.000000000
+0000
+++ "kdenlive-19.12.0 patched/src/monitor/monitor.cpp"  2019-12-26
21:19:04.830808271 +0000
@@ -775,7 +775,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) {
@@ -795,7 +798,7 @@
         m_glWidget->showNormal();
         auto *lay = (QVBoxLayout *)layout();
         lay->insertWidget(0, m_glWidget, 10);
-    }
+    }*/
 }

 // virtual
diff -ruN kdenlive-19.12.0/src/monitor/scopes/audiographspectrum.cpp
"kdenlive-19.12.0 patched/src/monitor/scopes/audiographspectrum.cpp"
--- kdenlive-19.12.0/src/monitor/scopes/audiographspectrum.cpp  2019-12-08
20:52:13.000000000 +0000
+++ "kdenlive-19.12.0 patched/src/monitor/scopes/audiographspectrum.cpp"       
2019-12-26 20:23:35.877493000 +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-19.12.0/src/monitor/scopes/monitoraudiolevel.cpp
"kdenlive-19.12.0 patched/src/monitor/scopes/monitoraudiolevel.cpp"
--- kdenlive-19.12.0/src/monitor/scopes/monitoraudiolevel.cpp   2019-12-08
20:52:13.000000000 +0000
+++ "kdenlive-19.12.0 patched/src/monitor/scopes/monitoraudiolevel.cpp"
2019-12-26 20:23:58.729586000 +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-19.12.0/src/monitor/view/kdenliveclipmonitor.qml
"kdenlive-19.12.0 patched/src/monitor/view/kdenliveclipmonitor.qml"
--- kdenlive-19.12.0/src/monitor/view/kdenliveclipmonitor.qml   2019-12-08
20:52:13.000000000 +0000
+++ "kdenlive-19.12.0 patched/src/monitor/view/kdenliveclipmonitor.qml"
2019-12-26 21:45:07.189583752 +0000
@@ -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-19.12.0/src/scopes/audioscopes/audiosignal.cpp
"kdenlive-19.12.0 patched/src/scopes/audioscopes/audiosignal.cpp"
--- kdenlive-19.12.0/src/scopes/audioscopes/audiosignal.cpp     2019-12-08
20:52:13.000000000 +0000
+++ "kdenlive-19.12.0 patched/src/scopes/audioscopes/audiosignal.cpp"  
2019-12-26 20:24:19.729672000 +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-19.12.0/src/timecodedisplay.cpp "kdenlive-19.12.0
patched/src/timecodedisplay.cpp"
--- kdenlive-19.12.0/src/timecodedisplay.cpp    2019-12-08 20:52:13.000000000
+0000
+++ "kdenlive-19.12.0 patched/src/timecodedisplay.cpp"  2019-12-26
20:25:19.645917000 +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-19.12.0/src/timeline2/view/timelinewidget.cpp
"kdenlive-19.12.0 patched/src/timeline2/view/timelinewidget.cpp"
--- kdenlive-19.12.0/src/timeline2/view/timelinewidget.cpp      2019-12-08
20:52:13.000000000 +0000
+++ "kdenlive-19.12.0 patched/src/timeline2/view/timelinewidget.cpp"   
2019-12-26 20:28:50.098780000 +0000
@@ -57,8 +57,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-19.12.0/src/titler/graphicsscenerectmove.cpp
"kdenlive-19.12.0 patched/src/titler/graphicsscenerectmove.cpp"
--- kdenlive-19.12.0/src/titler/graphicsscenerectmove.cpp       2019-12-08
20:52:13.000000000 +0000
+++ "kdenlive-19.12.0 patched/src/titler/graphicsscenerectmove.cpp"    
2019-12-26 20:24:38.037747000 +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-19.12.0/src/transitions/view/transitionparameterview.cpp
"kdenlive-19.12.0 patched/src/transitions/view/transitionparameterview.cpp"
--- kdenlive-19.12.0/src/transitions/view/transitionparameterview.cpp  
2019-12-08 20:52:13.000000000 +0000
+++ "kdenlive-19.12.0 patched/src/transitions/view/transitionparameterview.cpp"
2019-12-26 20:29:17.054891000 +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-19.12.0/src/utils/thumbnailcache.cpp "kdenlive-19.12.0
patched/src/utils/thumbnailcache.cpp"
--- kdenlive-19.12.0/src/utils/thumbnailcache.cpp       2019-12-08
20:52:13.000000000 +0000
+++ "kdenlive-19.12.0 patched/src/utils/thumbnailcache.cpp"     2019-12-26
20:22:39.229262000 +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-19.12.0/src/widgets/dragvalue.cpp "kdenlive-19.12.0
patched/src/widgets/dragvalue.cpp"
--- kdenlive-19.12.0/src/widgets/dragvalue.cpp  2019-12-08 20:52:13.000000000
+0000
+++ "kdenlive-19.12.0 patched/src/widgets/dragvalue.cpp"        2019-12-26
20:25:04.561855000 +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-19.12.0/thumbnailer/mltpreview.cpp "kdenlive-19.12.0
patched/thumbnailer/mltpreview.cpp"
--- kdenlive-19.12.0/thumbnailer/mltpreview.cpp 2019-12-08 20:52:13.000000000
+0000
+++ "kdenlive-19.12.0 patched/thumbnailer/mltpreview.cpp"       2019-12-26
20:21:14.020917000 +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;

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to