Hello community,

here is the log from the commit of package libqt5-qtdeclarative for 
openSUSE:Factory checked in at 2020-05-29 21:14:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libqt5-qtdeclarative (Old)
 and      /work/SRC/openSUSE:Factory/.libqt5-qtdeclarative.new.3606 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libqt5-qtdeclarative"

Fri May 29 21:14:02 2020 rev:60 rq:809291 version:5.15.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/libqt5-qtdeclarative/libqt5-qtdeclarative.changes    
    2020-01-30 09:39:26.137427004 +0100
+++ 
/work/SRC/openSUSE:Factory/.libqt5-qtdeclarative.new.3606/libqt5-qtdeclarative.changes
      2020-05-29 21:14:39.058564415 +0200
@@ -1,0 +2,63 @@
+Tue May 26 09:50:22 UTC 2020 - Callum Farmer <[email protected]>
+
+- Update to version 5.15.0:
+  * No changelog available
+  * Added qtdeclarative-5.15.0-FixMaxXMaxYExtent.patch: fixes QTBUG-83890
+
+-------------------------------------------------------------------
+Wed May 20 16:14:29 UTC 2020 - Callum Farmer <[email protected]>
+
+- Update to 5.15.0-rc2:
+  * No changelog available
+
+-------------------------------------------------------------------
+Wed May  6 11:26:52 UTC 2020 - Fabian Vogt <[email protected]>
+
+- Update to 5.15.0-rc:
+  * New bugfix release
+  * For the changes between 5.14.2 and 5.15.0 please see:
+    
http://code.qt.io/cgit/qt/qtdeclarative.git/plain/dist/changes-5.15.0/?h=5.15.0
+
+-------------------------------------------------------------------
+Tue May  5 11:16:16 UTC 2020 - Fabian Vogt <[email protected]>
+
+- Add patch to fix kerning with certain labels (QTBUG-49646):
+  * fix-subpixel-positioned-text.patch
+
+-------------------------------------------------------------------
+Fri Apr 24 07:11:08 UTC 2020 - Fabian Vogt <[email protected]>
+
+- Update to 5.15.0-beta4:
+  * New bugfix release
+  * No changelog available
+
+-------------------------------------------------------------------
+Tue Apr 14 06:47:24 UTC 2020 - Fabian Vogt <[email protected]>
+
+- Update to 5.15.0-beta3:
+  * New bugfix release
+  * No changelog available
+
+-------------------------------------------------------------------
+Tue Mar 24 12:13:33 UTC 2020 - Fabian Vogt <[email protected]>
+
+- Update to 5.15.0-beta2:
+  * New bugfix release
+  * No changelog available
+
+-------------------------------------------------------------------
+Fri Feb 28 09:58:46 UTC 2020 - Fabian Vogt <[email protected]>
+
+- Update to 5.15.0-beta1:
+  * New bugfix release
+  * No changelog available
+
+-------------------------------------------------------------------
+Wed Feb 19 10:16:19 UTC 2020 - Fabian Vogt <[email protected]>
+
+- Update to 5.15.0-alpha:
+  * New feature release
+  * For more details please see:
+    https://wiki.qt.io/New_Features_in_Qt_5.15
+
+-------------------------------------------------------------------

Old:
----
  qtdeclarative-everywhere-src-5.14.1.tar.xz

New:
----
  fix-subpixel-positioned-text.patch
  qtdeclarative-5.15.0-FixMaxXMaxYExtent.patch
  qtdeclarative-everywhere-src-5.15.0.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libqt5-qtdeclarative.spec ++++++
--- /var/tmp/diff_new_pack.hc3xqt/_old  2020-05-29 21:14:41.990573253 +0200
+++ /var/tmp/diff_new_pack.hc3xqt/_new  2020-05-29 21:14:41.994573264 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package libqt5-qtdeclarative
 #
-# Copyright (c) 2019 SUSE LLC
+# Copyright (c) 2020 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,22 +19,25 @@
 %define qt5_snapshot 0
 %define libname libQtQuick5
 %define base_name libqt5
-%define real_version 5.14.1
-%define so_version 5.14.1
-%define tar_version qtdeclarative-everywhere-src-5.14.1
+%define real_version 5.15.0
+%define so_version 5.15.0
+%define tar_version qtdeclarative-everywhere-src-5.15.0
 Name:           libqt5-qtdeclarative
-Version:        5.14.1
+Version:        5.15.0
 Release:        0
 Summary:        Qt 5 Declarative Library
 License:        LGPL-3.0-only OR (GPL-2.0-only OR GPL-3.0-or-later)
 Group:          Development/Libraries/X11
 URL:            https://www.qt.io
-Source:         
https://download.qt.io/official_releases/qt/5.14/%{real_version}/submodules/%{tar_version}.tar.xz
+Source:         
https://download.qt.io/official_releases/qt/5.15/%{real_version}/submodules/%{tar_version}.tar.xz
 Source1:        baselibs.conf
+# PATCH-FIX-UPSTREAM 
https://codereview.qt-project.org/c/qt/qtdeclarative/+/299258/1
+Patch1:         fix-subpixel-positioned-text.patch
 # PATCH-FIX-OPENSUSE sse2_nojit.patch -- enable JIT and sse2 only on sse2 case
 Patch100:       sse2_nojit.patch
 # PATCH-FIX-OPENSUSE Switch to use python3 at build time
 Patch102:       qtdeclarative-switch-to-python3.patch
+Patch103:       qtdeclarative-5.15.0-FixMaxXMaxYExtent.patch
 BuildRequires:  fdupes
 BuildRequires:  libQt5Core-private-headers-devel >= %{version}
 BuildRequires:  libQt5Gui-private-headers-devel >= %{version}
@@ -226,6 +229,8 @@
 %{_libqt5_archdatadir}/qml/Qt/labs/sharedimage/
 %{_libqt5_archdatadir}/qml/Qt/labs/qmlmodels/
 %{_libqt5_archdatadir}/qml/Qt/labs/wavefrontmesh/
+%dir %{_libqt5_archdatadir}/qml/Qt/test
+%{_libqt5_archdatadir}/qml/Qt/test/qtestroot/
 %{_libqt5_plugindir}/qmltooling
 
 %files private-headers-devel
@@ -246,8 +251,11 @@
 %{_libqt5_libdir}/libQt5Q*.so
 %{_libqt5_libdir}/libQt5*.a
 %{_libqt5_libdir}/pkgconfig/Qt5Q*.pc
+%{_libqt5_libdir}/metatypes/qt5quick*_metatypes.json
+%{_libqt5_libdir}/metatypes/qt5qml*_metatypes.json
 %{_libqt5_archdatadir}/mkspecs/modules/*.pri
 %{_libqt5_archdatadir}/mkspecs/features/qmlcache.prf
+%{_libqt5_archdatadir}/mkspecs/features/qmltypes.prf
 %{_libqt5_archdatadir}/mkspecs/features/qtquickcompiler.prf
 %{_libqt5_archdatadir}/qml/QtTest
 

++++++ fix-subpixel-positioned-text.patch ++++++
>From 40ba29cae5cdb2ebd6330870a0f15e2e75d40de0 Mon Sep 17 00:00:00 2001
From: Eskil Abrahamsen Blomfeldt <[email protected]>
Date: Tue, 05 May 2020 11:36:24 +0200
Subject: [PATCH] Fix subpixel positioned text with Text.NativeRendering

We would be generating subpixel positioned glyphs based on the
relative positions of the glyphs, ignoring the fractional part
contributed by the origin of the text. So if the text origin was
inside a pixel, the subpixel antialiasing would be wrong and we
would see kerning errors.

This was especially visible when using AlignHCenter on text
with hinting disabled and resizing the item it was aligning to.

Pick-to: 5.15
Task-number: QTBUG-49646
Change-Id: I0e709ba2b5d2440e34c94c6f819befe0a65a113a
---

diff --git a/src/quick/scenegraph/qsgdefaultglyphnode_p.cpp 
b/src/quick/scenegraph/qsgdefaultglyphnode_p.cpp
index be6ef25..831586c 100644
--- a/src/quick/scenegraph/qsgdefaultglyphnode_p.cpp
+++ b/src/quick/scenegraph/qsgdefaultglyphnode_p.cpp
@@ -789,11 +789,12 @@
                                    const QMargins &margins)
 {
     Q_ASSERT(m_font.isValid());
+    QPointF position(p.x(), p.y() - m_font.ascent());
     QVector<QFixedPoint> fixedPointPositions;
     const int glyphPositionsSize = glyphPositions.size();
     fixedPointPositions.reserve(glyphPositionsSize);
     for (int i=0; i < glyphPositionsSize; ++i)
-        
fixedPointPositions.append(QFixedPoint::fromPointF(glyphPositions.at(i)));
+        fixedPointPositions.append(QFixedPoint::fromPointF(position + 
glyphPositions.at(i)));
 
     QTextureGlyphCache *cache = glyphCache();
 
@@ -815,18 +816,16 @@
     Q_ASSERT(geometry->sizeOfVertex() == sizeof(QVector4D));
     ushort *ip = geometry->indexDataAsUShort();
 
-    QPointF position(p.x(), p.y() - m_font.ascent());
     bool supportsSubPixelPositions = 
fontD->fontEngine->supportsSubPixelPositions();
     for (int i=0; i<glyphIndexes.size(); ++i) {
+         QPointF glyphPosition = glyphPositions.at(i) + position;
          QFixed subPixelPosition;
          if (supportsSubPixelPositions)
-             subPixelPosition = 
fontD->fontEngine->subPixelPositionForX(QFixed::fromReal(glyphPositions.at(i).x()));
+             subPixelPosition = 
fontD->fontEngine->subPixelPositionForX(QFixed::fromReal(glyphPosition.x()));
 
          QTextureGlyphCache::GlyphAndSubPixelPosition 
glyph(glyphIndexes.at(i), subPixelPosition);
          const QTextureGlyphCache::Coord &c = cache->coords.value(glyph);
 
-         QPointF glyphPosition = glyphPositions.at(i) + position;
-
          // On a retina screen the glyph positions are not pre-scaled (as 
opposed to
          // eg. the raster paint engine). To ensure that we get the same 
behavior as
          // the raster engine (and CoreText itself) when it comes to rounding 
of the

++++++ qtdeclarative-5.15.0-FixMaxXMaxYExtent.patch ++++++
Parent:     f5a4e984 (QQuickTextInputPrivate: refactor getImplicitWidth() to 
calculateImplicitWidth())
Author:     David Redondo <[email protected]>
AuthorDate: 2020-05-13 11:04:23 +0200
Commit:     Mitch Curtis <[email protected]>
CommitDate: 2020-05-25 10:58:35 +0200

QQuickItemView: Fix max(X/Y)Extent()

QQuickFlickable maxXExtent() and maxYExtent() return the amount of space
that is not shown when inside a ScrollView. QQuickItemView however just
returned width() if vertical and height() if horizontal. In these cases
just defer to the QQuickFlickable base implementation like minXExtent()
and minYExtent() already do.

This change also adds tst_qquicklistview2 to speed up development.
tst_QQuickListView is almost 9000 lines long, and compiling it
is slow. In addition, a similar approach (creating a second test to
avoid the slowness of a massive one) already exists for QQuickItem
tests.

Fixes: QTBUG-83890
Pick-to: 5.15
Change-Id: I7f4060c2f46ae07611bedceca0d322c5f7f6affb
========================================================================================================================
--- a/src/quick/items/qquickitemview.cpp
+++ b/src/quick/items/qquickitemview.cpp
@@ -1393,7 +1393,7 @@
 {
     Q_D(const QQuickItemView);
     if (d->layoutOrientation() == Qt::Horizontal)
-        return height();
+        return QQuickFlickable::maxYExtent();
 
     if (d->vData.maxExtentDirty) {
         d->maxExtent = d->maxExtentForAxis(d->vData, false);
@@ -1421,7 +1421,7 @@
 {
     Q_D(const QQuickItemView);
     if (d->layoutOrientation() == Qt::Vertical)
-        return width();
+        return QQuickFlickable::maxXExtent();
 
     if (d->hData.maxExtentDirty) {
         d->maxExtent = d->maxExtentForAxis(d->hData, true);

--- a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
+++ b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
@@ -73,6 +73,8 @@
     tst_QQuickListView();
 
 private slots:
+    // WARNING: please add new tests to tst_qquicklistview2; this file is too 
slow to work with.
+
     void init();
     void cleanupTestCase();
     // Test QAbstractItemModel model types
@@ -297,6 +299,8 @@
 
     void requiredObjectListModel();
 
+    // WARNING: please add new tests to tst_qquicklistview2; this file is too 
slow to work with.
+
 private:
     template <class T> void items(const QUrl &source);
     template <class T> void changed(const QUrl &source);
@@ -10042,6 +10046,8 @@
     }
 }
 
+// WARNING: please add new tests to tst_qquicklistview2; this file is too slow 
to work with.
+
 QTEST_MAIN(tst_QQuickListView)
 
 #include "tst_qquicklistview.moc"

--- a/tests/auto/quick/qquicklistview2/data/maxXExtent.qml
+++ b/tests/auto/quick/qquicklistview2/data/maxXExtent.qml
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2020 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.15
+
+Item {
+    property alias view: view
+
+    ListView {
+        id: view
+        model: 10
+        width: 200
+        height: 200
+
+        Rectangle {
+            anchors.fill: parent
+            color: "transparent"
+            border.color: "darkorange"
+        }
+
+        delegate: Rectangle {
+            width: 100
+            height: 100
+            Text {
+                text: modelData
+            }
+        }
+    }
+}

--- a/tests/auto/quick/qquicklistview2/data/maxYExtent.qml
+++ b/tests/auto/quick/qquicklistview2/data/maxYExtent.qml
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** Copyright (C) 2020 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.15
+
+Item {
+    property alias view: view
+
+    ListView {
+        id: view
+        model: 10
+        width: 200
+        height: 200
+        orientation: ListView.Horizontal
+
+        Rectangle {
+            anchors.fill: parent
+            color: "transparent"
+            border.color: "darkorange"
+        }
+
+        delegate: Rectangle {
+            width: 100
+            height: 100
+            Text {
+                text: modelData
+            }
+        }
+    }
+}

--- a/tests/auto/quick/qquicklistview2/qquicklistview2.pro
+++ b/tests/auto/quick/qquicklistview2/qquicklistview2.pro
@@ -0,0 +1,12 @@
+CONFIG += testcase
+TARGET = tst_qquicklistview2
+macos:CONFIG -= app_bundle
+
+SOURCES += tst_qquicklistview2.cpp
+
+include (../../shared/util.pri)
+include (../shared/util.pri)
+
+TESTDATA = data/*
+
+QT += core-private gui-private qml-private quick-private testlib qmltest

--- a/tests/auto/quick/qquicklistview2/tst_qquicklistview2.cpp
+++ b/tests/auto/quick/qquicklistview2/tst_qquicklistview2.cpp
@@ -0,0 +1,114 @@
+/****************************************************************************
+**
+** Copyright (C) 2020 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtTest/QtTest>
+#include <QtQuickTest/QtQuickTest>
+#include <QtQml/qqmlapplicationengine.h>
+#include <QtQuick/qquickview.h>
+#include <QtQuick/private/qquicklistview_p.h>
+
+#include "../../shared/util.h"
+#include "../shared/viewtestutil.h"
+
+using namespace QQuickViewTestUtil;
+
+class tst_QQuickListView2 : public QQmlDataTest
+{
+    Q_OBJECT
+
+public:
+    tst_QQuickListView2();
+
+private slots:
+    void maxExtent_data();
+    void maxExtent();
+};
+
+tst_QQuickListView2::tst_QQuickListView2()
+{
+}
+
+class FriendlyItemView : public QQuickItemView
+{
+    friend class ItemViewAccessor;
+};
+
+class ItemViewAccessor
+{
+public:
+    ItemViewAccessor(QQuickItemView *itemView) :
+        mItemView(reinterpret_cast<FriendlyItemView*>(itemView))
+    {
+    }
+
+    qreal maxXExtent() const
+    {
+        return mItemView->maxXExtent();
+    }
+
+    qreal maxYExtent() const
+    {
+        return mItemView->maxYExtent();
+    }
+
+private:
+    FriendlyItemView *mItemView = nullptr;
+};
+
+void tst_QQuickListView2::maxExtent_data()
+{
+    QTest::addColumn<QString>("qmlFilePath");
+
+    QTest::addRow("maxXExtent") << "maxXExtent.qml";
+    QTest::addRow("maxYExtent") << "maxYExtent.qml";
+}
+
+void tst_QQuickListView2::maxExtent()
+{
+    QFETCH(QString, qmlFilePath);
+
+    QScopedPointer<QQuickView> window(createView());
+    QVERIFY(window);
+    window->setSource(testFileUrl(qmlFilePath));
+    QVERIFY2(window->status() == QQuickView::Ready, 
qPrintable(QDebug::toString(window->errors())));
+    window->resize(640, 480);
+    window->show();
+    QVERIFY(QTest::qWaitForWindowExposed(window.data()));
+
+    QQuickListView *view = 
window->rootObject()->property("view").value<QQuickListView*>();
+    QVERIFY(view);
+    ItemViewAccessor viewAccessor(view);
+    if (view->orientation() == QQuickListView::Vertical)
+        QCOMPARE(viewAccessor.maxXExtent(), 0);
+    else if (view->orientation() == QQuickListView::Horizontal)
+        QCOMPARE(viewAccessor.maxYExtent(), 0);
+}
+
+QTEST_MAIN(tst_QQuickListView2)
+
+#include "tst_qquicklistview2.moc"

--- a/tests/auto/quick/quick.pro
+++ b/tests/auto/quick/quick.pro
@@ -65,6 +65,7 @@
     qquickitem2 \
     qquickitemlayer \
     qquicklistview \
+    qquicklistview2 \
     qquicktableview \
     qquickloader \
     qquickmousearea \
++++++ qtdeclarative-everywhere-src-5.14.1.tar.xz -> 
qtdeclarative-everywhere-src-5.15.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/libqt5-qtdeclarative/qtdeclarative-everywhere-src-5.14.1.tar.xz
 
/work/SRC/openSUSE:Factory/.libqt5-qtdeclarative.new.3606/qtdeclarative-everywhere-src-5.15.0.tar.xz
 differ: char 26, line 1


Reply via email to