[SCM] qtdeclarative packaging branch, ubuntu+1, updated. debian/5.6.0-rc-1-54-ga7e19d5
Timo Jyrinki
timo at moszumanska.debian.org
Wed Mar 9 14:29:00 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/qt/qtdeclarative.git;a=commitdiff;h=95d532e
The following commit has been merged in the ubuntu+1 branch:
commit 95d532e5b468dda1d48126cde8e651fd40fe4e53
Author: Timo Jyrinki <timo.jyrinki at canonical.com>
Date: Wed Mar 9 14:26:01 2016 +0000
Drop backported upstream patches now included:
* Drop backported upstream patches now included:
- Add-QQuickAsyncImageProvider.patch
- Add-isTabFence-private-flag.patch
- Don-t-change-the-currentItem-after-a-viewport-resize.patch
- Don-t-make-currentIndex-skip-an-extra-item-on-remova.patch
- Fix-memory-leak-when-using-async-image-providers.patch
- Flickable-avoid-perturbing-the-timeline-further-whil.patch
- Image-fix-crash-when-switching-between-multiple-scre.patch
- Make-sure-we-stop-animators-if-they-are-yet-to-be-st.patch
- MultiPointTouchArea-Fixed-released-duplication-on-mo.patch
- QQuickItem-fix-an-infinite-loop-nextItemInFocusChain.patch
- WIP-QQuickItem-fix-another-infinite-loop-in-nextItem.patch
- qmlplugindump-Don-t-try-to-import-Qt.test.qtestroot.patch
---
debian/changelog | 13 +
debian/patches/Add-QQuickAsyncImageProvider.patch | 1145 --------------------
debian/patches/Add-isTabFence-private-flag.patch | 363 -------
...e-the-currentItem-after-a-viewport-resize.patch | 140 ---
...currentIndex-skip-an-extra-item-on-remova.patch | 154 ---
...ory-leak-when-using-async-image-providers.patch | 26 -
...void-perturbing-the-timeline-further-whil.patch | 50 -
...rash-when-switching-between-multiple-scre.patch | 50 -
...e-stop-animators-if-they-are-yet-to-be-st.patch | 31 -
...ouchArea-Fixed-released-duplication-on-mo.patch | 65 --
...fix-an-infinite-loop-nextItemInFocusChain.patch | 85 --
...tem-fix-another-infinite-loop-in-nextItem.patch | 133 ---
...ump-Don-t-try-to-import-Qt.test.qtestroot.patch | 36 -
debian/patches/series | 14 -
14 files changed, 13 insertions(+), 2292 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index 5c298c4..4c9bb5b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,19 @@ qtdeclarative-opensource-src (5.6.0~rc-1ubuntu1) UNRELEASED; urgency=medium
* Merge with Debian.
* Update symbols.
+ * Drop backported upstream patches now included:
+ - Add-QQuickAsyncImageProvider.patch
+ - Add-isTabFence-private-flag.patch
+ - Don-t-change-the-currentItem-after-a-viewport-resize.patch
+ - Don-t-make-currentIndex-skip-an-extra-item-on-remova.patch
+ - Fix-memory-leak-when-using-async-image-providers.patch
+ - Flickable-avoid-perturbing-the-timeline-further-whil.patch
+ - Image-fix-crash-when-switching-between-multiple-scre.patch
+ - Make-sure-we-stop-animators-if-they-are-yet-to-be-st.patch
+ - MultiPointTouchArea-Fixed-released-duplication-on-mo.patch
+ - QQuickItem-fix-an-infinite-loop-nextItemInFocusChain.patch
+ - WIP-QQuickItem-fix-another-infinite-loop-in-nextItem.patch
+ - qmlplugindump-Don-t-try-to-import-Qt.test.qtestroot.patch
-- Timo Jyrinki <timo-jyrinki at ubuntu.com> Tue, 26 Jan 2016 10:07:50 +0000
diff --git a/debian/patches/Add-QQuickAsyncImageProvider.patch b/debian/patches/Add-QQuickAsyncImageProvider.patch
deleted file mode 100644
index 64668c8..0000000
--- a/debian/patches/Add-QQuickAsyncImageProvider.patch
+++ /dev/null
@@ -1,1145 +0,0 @@
-From f9c1b6e9c7ad3fbceef32590c5b7b6a9719fd453 Mon Sep 17 00:00:00 2001
-From: Albert Astals Cid <albert.astals at canonical.com>
-Date: Fri, 13 Mar 2015 17:29:57 +0100
-Subject: [PATCH] Add QQuickAsyncImageProvider
-
-It allows for providers to implement threading on their side
-
-Change-Id: I34042b213ce7697a3e39470387357d733e15723c
-Reviewed-by: Gunnar Sletta <gunnar at sletta.org>
----
- .../ImageResponseProviderCore/qmldir | 2 +
- .../doc/src/imageresponseprovider.qdoc | 35 +++
- .../imageresponseprovider-example.qml | 48 ++++
- .../imageresponseprovider.cpp | 123 ++++++++++
- .../imageresponseprovider.pro | 15 ++
- .../imageresponseprovider.qmlproject | 14 ++
- examples/quick/quick.pro | 1 +
- src/qml/qml/qqmlengine.cpp | 4 +
- src/qml/qml/qqmlengine.h | 4 +-
- src/quick/util/qquickimageprovider.cpp | 124 +++++++++-
- src/quick/util/qquickimageprovider.h | 32 +++
- src/quick/util/qquickpixmapcache.cpp | 271 +++++++++++++--------
- .../tst_qquickimageprovider.cpp | 98 ++++++++
- 13 files changed, 673 insertions(+), 98 deletions(-)
- create mode 100644 examples/quick/imageresponseprovider/ImageResponseProviderCore/qmldir
- create mode 100644 examples/quick/imageresponseprovider/doc/src/imageresponseprovider.qdoc
- create mode 100644 examples/quick/imageresponseprovider/imageresponseprovider-example.qml
- create mode 100644 examples/quick/imageresponseprovider/imageresponseprovider.cpp
- create mode 100644 examples/quick/imageresponseprovider/imageresponseprovider.pro
- create mode 100644 examples/quick/imageresponseprovider/imageresponseprovider.qmlproject
-
-diff --git a/examples/quick/imageresponseprovider/ImageResponseProviderCore/qmldir b/examples/quick/imageresponseprovider/ImageResponseProviderCore/qmldir
-new file mode 100644
-index 0000000..3a5821b
---- /dev/null
-+++ b/examples/quick/imageresponseprovider/ImageResponseProviderCore/qmldir
-@@ -0,0 +1,2 @@
-+plugin qmlimageresponseproviderplugin
-+
-diff --git a/examples/quick/imageresponseprovider/doc/src/imageresponseprovider.qdoc b/examples/quick/imageresponseprovider/doc/src/imageresponseprovider.qdoc
-new file mode 100644
-index 0000000..afe1d40
---- /dev/null
-+++ b/examples/quick/imageresponseprovider/doc/src/imageresponseprovider.qdoc
-@@ -0,0 +1,35 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2015 Canonical Limited and/or its subsidiary(-ies)
-+** Contact: http://www.qt.io/licensing/
-+**
-+** This file is part of the documentation of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:FDL$
-+** 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 http://www.qt.io/terms-conditions. For further
-+** information use the contact form at http://www.qt.io/contact-us.
-+**
-+** GNU Free Documentation License Usage
-+** Alternatively, this file may be used under the terms of the GNU Free
-+** Documentation License version 1.3 as published by the Free Software
-+** Foundation and appearing in the file included in the packaging of
-+** this file. Please review the following information to ensure
-+** the GNU Free Documentation License version 1.3 requirements
-+** will be met: http://www.gnu.org/copyleft/fdl.html.
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+/*!
-+ itle C++ Extensions: Image Response Provider Example
-+ \example imageresponseprovider
-+
-+ This examples shows how to use QQuickImageProvider to serve images
-+ asynchronously to QML image elements.
-+*/
-+
-diff --git a/examples/quick/imageresponseprovider/imageresponseprovider-example.qml b/examples/quick/imageresponseprovider/imageresponseprovider-example.qml
-new file mode 100644
-index 0000000..20c1e69
---- /dev/null
-+++ b/examples/quick/imageresponseprovider/imageresponseprovider-example.qml
-@@ -0,0 +1,48 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2015 Canonical Limited and/or its subsidiary(-ies)
-+** Contact: http://www.qt.io/licensing/
-+**
-+** This file is part of the demonstration applications of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:BSD$
-+** You may use this file under the terms of the BSD license as follows:
-+**
-+** "Redistribution and use in source and binary forms, with or without
-+** modification, are permitted provided that the following conditions are
-+** met:
-+** * Redistributions of source code must retain the above copyright
-+** notice, this list of conditions and the following disclaimer.
-+** * Redistributions in binary form must reproduce the above copyright
-+** notice, this list of conditions and the following disclaimer in
-+** the documentation and/or other materials provided with the
-+** distribution.
-+** * Neither the name of The Qt Company Ltd nor the names of its
-+** contributors may be used to endorse or promote products derived
-+** from this software without specific prior written permission.
-+**
-+**
-+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+import QtQuick 2.0
-+import "ImageResponseProviderCore"
-+
-+Column {
-+ Image { source: "image://async/slow" }
-+ Image { source: "image://async/fast" }
-+}
-+
-diff --git a/examples/quick/imageresponseprovider/imageresponseprovider.cpp b/examples/quick/imageresponseprovider/imageresponseprovider.cpp
-new file mode 100644
-index 0000000..bdec291
---- /dev/null
-+++ b/examples/quick/imageresponseprovider/imageresponseprovider.cpp
-@@ -0,0 +1,123 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2015 Canonical Limited and/or its subsidiary(-ies)
-+** Contact: http://www.qt.io/licensing/
-+**
-+** This file is part of the demonstration applications of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:BSD$
-+** You may use this file under the terms of the BSD license as follows:
-+**
-+** "Redistribution and use in source and binary forms, with or without
-+** modification, are permitted provided that the following conditions are
-+** met:
-+** * Redistributions of source code must retain the above copyright
-+** notice, this list of conditions and the following disclaimer.
-+** * Redistributions in binary form must reproduce the above copyright
-+** notice, this list of conditions and the following disclaimer in
-+** the documentation and/or other materials provided with the
-+** distribution.
-+** * Neither the name of The Qt Company Ltd nor the names of its
-+** contributors may be used to endorse or promote products derived
-+** from this software without specific prior written permission.
-+**
-+**
-+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+
-+#include <qqmlextensionplugin.h>
-+
-+#include <qqmlengine.h>
-+#include <qquickimageprovider.h>
-+#include <QDebug>
-+#include <QImage>
-+#include <QThreadPool>
-+
-+class AsyncImageResponse : public QQuickImageResponse, public QRunnable
-+{
-+ public:
-+ AsyncImageResponse(const QString &id, const QSize &requestedSize)
-+ : m_id(id), m_requestedSize(requestedSize), m_texture(0)
-+ {
-+ setAutoDelete(false);
-+ }
-+
-+ QQuickTextureFactory *textureFactory() const
-+ {
-+ return m_texture;
-+ }
-+
-+ void run()
-+ {
-+ QImage image(50, 50, QImage::Format_RGB32);
-+ if (m_id == "slow") {
-+ qDebug() << "Slow, red, sleeping for 5 seconds";
-+ QThread::sleep(5);
-+ image.fill(Qt::red);
-+ } else {
-+ qDebug() << "Fast, blue, sleeping for 1 second";
-+ QThread::sleep(1);
-+ image.fill(Qt::blue);
-+ }
-+ if (m_requestedSize.isValid())
-+ image = image.scaled(m_requestedSize);
-+ m_texture = QQuickTextureFactory::textureFactoryForImage(image);
-+ emit finished();
-+ }
-+
-+ QString m_id;
-+ QSize m_requestedSize;
-+ QQuickTextureFactory *m_texture;
-+};
-+
-+class AsyncImageProvider : public QQuickAsyncImageProvider
-+{
-+public:
-+ QQuickImageResponse *requestImageResponse(const QString &id, const QSize &requestedSize)
-+ {
-+ AsyncImageResponse *response = new AsyncImageResponse(id, requestedSize);
-+ pool.start(response);
-+ return response;
-+ }
-+
-+private:
-+ QThreadPool pool;
-+};
-+
-+
-+class ImageProviderExtensionPlugin : public QQmlExtensionPlugin
-+{
-+ Q_OBJECT
-+ Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
-+public:
-+ void registerTypes(const char *uri)
-+ {
-+ Q_UNUSED(uri);
-+ }
-+
-+ void initializeEngine(QQmlEngine *engine, const char *uri)
-+ {
-+ Q_UNUSED(uri);
-+ engine->addImageProvider("async", new AsyncImageProvider);
-+ }
-+
-+};
-+
-+
-+#define QQmlExtensionInterface_iid "org.qt-project.Qt.QQmlExtensionInterface"
-+
-+#include "imageresponseprovider.moc"
-diff --git a/examples/quick/imageresponseprovider/imageresponseprovider.pro b/examples/quick/imageresponseprovider/imageresponseprovider.pro
-new file mode 100644
-index 0000000..856ddde
---- /dev/null
-+++ b/examples/quick/imageresponseprovider/imageresponseprovider.pro
-@@ -0,0 +1,15 @@
-+TEMPLATE = lib
-+CONFIG += plugin
-+QT += qml quick
-+
-+DESTDIR = ImageResponseProviderCore
-+TARGET = qmlimageresponseproviderplugin
-+
-+SOURCES += imageresponseprovider.cpp
-+
-+EXAMPLE_FILES = imageresponseprovider-example.qml
-+
-+target.path = $$[QT_INSTALL_EXAMPLES]/quick/imageresponseprovider/ImageResponseProviderCore
-+qml.files = ImageResponseProviderCore/qmldir
-+qml.path = $$[QT_INSTALL_EXAMPLES]/quick/imageresponseprovider/ImageResponseProviderCore
-+INSTALLS = target qml
-diff --git a/examples/quick/imageresponseprovider/imageresponseprovider.qmlproject b/examples/quick/imageresponseprovider/imageresponseprovider.qmlproject
-new file mode 100644
-index 0000000..2bb4016
---- /dev/null
-+++ b/examples/quick/imageresponseprovider/imageresponseprovider.qmlproject
-@@ -0,0 +1,14 @@
-+import QmlProject 1.0
-+
-+Project {
-+ /* Include .qml, .js, and image files from current directory and subdirectories */
-+ QmlFiles {
-+ directory: "."
-+ }
-+ JavaScriptFiles {
-+ directory: "."
-+ }
-+ ImageFiles {
-+ directory: "."
-+ }
-+}
-diff --git a/examples/quick/quick.pro b/examples/quick/quick.pro
-index a412c53..c5ef461 100644
---- a/examples/quick/quick.pro
-+++ b/examples/quick/quick.pro
-@@ -20,6 +20,7 @@ SUBDIRS = quick-accessibility \
- tutorials \
- customitems \
- imageprovider \
-+ imageresponseprovider \
- window \
- particles \
- demos \
-diff --git a/src/qml/qml/qqmlengine.cpp b/src/qml/qml/qqmlengine.cpp
-index 92e98e3..96fb2f1 100644
---- a/src/qml/qml/qqmlengine.cpp
-+++ b/src/qml/qml/qqmlengine.cpp
-@@ -247,6 +247,10 @@ void QQmlEnginePrivate::activateDesignerMode()
- The QQuickImageProvider::requestPixmap() method will be called for all image requests.
-
alue Texture The Image Provider provides QSGTextureProvider based images.
- The QQuickImageProvider::requestTexture() method will be called for all image requests.
-+
alue ImageResponse The Image provider provides QQuickTextureFactory based images.
-+ Should only be used in QQuickAsyncImageProvider or its subclasses.
-+ The QQuickAsyncImageProvider::requestImageResponse() method will be called for all image requests.
-+ Since Qt 5.6
- \omitvalue Invalid
- */
-
-diff --git a/src/qml/qml/qqmlengine.h b/src/qml/qml/qqmlengine.h
-index df673c1..61a8842 100644
---- a/src/qml/qml/qqmlengine.h
-+++ b/src/qml/qml/qqmlengine.h
-@@ -52,7 +52,9 @@ public:
- Image,
- Pixmap,
- Texture,
-- Invalid
-+ Invalid,
-+ ImageResponse
-+ // ### Qt6: reorder these, and give Invalid a fixed large value
- };
-
- enum Flag {
-diff --git a/src/quick/util/qquickimageprovider.cpp b/src/quick/util/qquickimageprovider.cpp
-index a231209..a2fe4c8 100644
---- a/src/quick/util/qquickimageprovider.cpp
-+++ b/src/quick/util/qquickimageprovider.cpp
-@@ -33,6 +33,9 @@
-
- #include "qquickimageprovider.h"
-
-+#include "qquickpixmapcache_p.h"
-+#include <QtQuick/private/qsgcontext_p.h>
-+
- QT_BEGIN_NAMESPACE
-
- class QQuickImageProviderPrivate
-@@ -95,6 +98,23 @@ QImage QQuickTextureFactory::image() const
- return QImage();
- }
-
-+/*!
-+ Returns a QQuickTextureFactory holding given the image.
-+
-+ \since 5.6
-+ */
-+
-+QQuickTextureFactory *QQuickTextureFactory::textureFactoryForImage(const QImage &image)
-+{
-+ if (image.isNull())
-+ return 0;
-+ QQuickTextureFactory *texture = QSGContext::createTextureFactoryFromImage(image);
-+ if (texture)
-+ return texture;
-+ return new QQuickDefaultTextureFactory(image);
-+}
-+
-+
-
- /*!
-
n QSGTexture *QQuickTextureFactory::createTexture(QQuickWindow *window) const
-@@ -118,6 +138,67 @@ QImage QQuickTextureFactory::image() const
-
-
- /*!
-+
--
qtdeclarative packaging
More information about the pkg-kde-commits
mailing list