aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO4
-rw-r--r--0001-Avoid-double-deletion-of-mBuffer.patch31
-rw-r--r--0001-Fix-brcm-egl-build-by-correcting-commit-usage.patch30
-rw-r--r--0001-Fix-build-with-qreal-as-float.patch32
-rw-r--r--0001-Fix-crash-in-QQuickPixmapReader-friends.patch112
-rw-r--r--PKGBUILD5
-rw-r--r--qpi-proprietary.sh2
7 files changed, 36 insertions, 180 deletions
diff --git a/.SRCINFO b/.SRCINFO
index f8a1526475d2..d96d5b0e5e3c 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,9 +1,9 @@
# Generated by mksrcinfo v8
-# Mon Jun 5 09:07:48 UTC 2017
+# Tue Jun 13 01:30:44 UTC 2017
pkgbase = qt-sdk-raspberry-pi
pkgdesc = Qt SDK for the Raspberry Pi 1/2/3
pkgver = 5.9.0
- pkgrel = 8
+ pkgrel = 9
url = http://chaos-reins.com/qpi/
install = qpi.install
arch = x86_64
diff --git a/0001-Avoid-double-deletion-of-mBuffer.patch b/0001-Avoid-double-deletion-of-mBuffer.patch
new file mode 100644
index 000000000000..c116b210dbb6
--- /dev/null
+++ b/0001-Avoid-double-deletion-of-mBuffer.patch
@@ -0,0 +1,31 @@
+From 1c4d31b99afaa6121b4265783f70b6cc9951b786 Mon Sep 17 00:00:00 2001
+From: Donald Carr <d@chaos-reins.com>
+Date: Tue, 13 Jun 2017 11:19:30 -0700
+Subject: [PATCH] Avoid double deletion of mBuffer
+
+Both WaylandBrcmBuffer and WaylandBuffer were calling
+
+wl_buffer_destroy(mBuffer)
+
+without the subclass nulling the pointer on deletion
+
+Change-Id: I66a553a3d11a1ef90bbfe6ad0fb49f40fe1a0bdb
+---
+ src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.cpp b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.cpp
+index 9842f61c..f2709983 100644
+--- a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.cpp
++++ b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.cpp
+@@ -91,6 +91,7 @@ public:
+ {
+ wl_array_release(&m_array);
+ wl_buffer_destroy(mBuffer);
++ mBuffer = nullptr;
+ }
+
+ QSize size() const { return m_size; }
+--
+2.13.1
+
diff --git a/0001-Fix-brcm-egl-build-by-correcting-commit-usage.patch b/0001-Fix-brcm-egl-build-by-correcting-commit-usage.patch
deleted file mode 100644
index 9cdfe7c8434d..000000000000
--- a/0001-Fix-brcm-egl-build-by-correcting-commit-usage.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 458ce42f8177cc51f882fc408d8252d30ece660c Mon Sep 17 00:00:00 2001
-From: Donald Carr <sirspudd@gmail.com>
-Date: Thu, 17 Nov 2016 15:04:43 -0800
-Subject: [PATCH] Fix brcm-egl build by correcting commit() usage
-
-Adjusted existing call to commit() in keeping with parallel changes in 5b807802
-
-Change-Id: I31c17336efa9a79a5f6c1719702215db7239a97d
----
- src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.cpp | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.cpp b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.cpp
-index 4d56d66..9842f61 100644
---- a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.cpp
-+++ b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.cpp
-@@ -252,9 +252,7 @@ void QWaylandBrcmEglWindow::swapBuffers()
- return;
-
- m_buffers[m_current]->bind();
-- attach(m_buffers[m_current], 0, 0);
-- damage(QRect(QPoint(), geometry().size()));
-- commit();
-+ commit(m_buffers[m_current], QRegion(0, 0, geometry().size().width(), geometry().size().height()));
-
- m_current = (m_current + 1) % m_count;
- m_buffers[m_current]->waitForRelease();
---
-2.10.2
-
diff --git a/0001-Fix-build-with-qreal-as-float.patch b/0001-Fix-build-with-qreal-as-float.patch
deleted file mode 100644
index d3f460afec50..000000000000
--- a/0001-Fix-build-with-qreal-as-float.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 7dbbe0deb80beb7c1d6539a1f1856803fcbf8957 Mon Sep 17 00:00:00 2001
-From: Donald Carr <d@chaos-reins.com>
-Date: Mon, 22 May 2017 15:49:11 -0700
-Subject: [PATCH] Fix build with qreal as float
-
-Change-Id: I324c3805c953371c659903d7c4115caf7266b4ea
----
- src/plugins/scenegraph/openvg/qsgopenvghelpers.cpp | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/src/plugins/scenegraph/openvg/qsgopenvghelpers.cpp b/src/plugins/scenegraph/openvg/qsgopenvghelpers.cpp
-index 6bc99d32a..ab5cfb48b 100644
---- a/src/plugins/scenegraph/openvg/qsgopenvghelpers.cpp
-+++ b/src/plugins/scenegraph/openvg/qsgopenvghelpers.cpp
-@@ -220,10 +220,10 @@ void qDrawTiled(VGImage image, const QSize imageSize, const QRectF &targetRect,
- void qDrawBorderImage(VGImage image, const QSizeF &textureSize, const QRectF &targetRect, const QRectF &innerTargetRect, const QRectF &subSourceRect)
- {
- // Create normalized margins
-- QMarginsF margins(qMax(innerTargetRect.left() - targetRect.left(), 0.0),
-- qMax(innerTargetRect.top() - targetRect.top(), 0.0),
-- qMax(targetRect.right() - innerTargetRect.right(), 0.0),
-- qMax(targetRect.bottom() - innerTargetRect.bottom(), 0.0));
-+ QMarginsF margins(qMax(innerTargetRect.left() - targetRect.left(), qreal(0.0)),
-+ qMax(innerTargetRect.top() - targetRect.top(), qreal(0.0)),
-+ qMax(targetRect.right() - innerTargetRect.right(), qreal(0.0)),
-+ qMax(targetRect.bottom() - innerTargetRect.bottom(), qreal(0.0)));
-
- QRectF sourceRect(0, 0, textureSize.width(), textureSize.height());
-
---
-2.13.0
-
diff --git a/0001-Fix-crash-in-QQuickPixmapReader-friends.patch b/0001-Fix-crash-in-QQuickPixmapReader-friends.patch
deleted file mode 100644
index 90f1786ca7fe..000000000000
--- a/0001-Fix-crash-in-QQuickPixmapReader-friends.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-From dd39b4a61543da1a6ad66d0288702b0ea053388b Mon Sep 17 00:00:00 2001
-From: Albert Astals Cid <albert.astals@canonical.com>
-Date: Wed, 5 Apr 2017 11:57:45 +0200
-Subject: [PATCH] Fix crash in QQuickPixmapReader & friends
-
-In 9c50216c7bbbdb2bb51d4485286bf09e12fb5b62 I made the mistake
-of not copying providerOptions inside QQuickPixmapReply as
-is done for requestSize and url since i thought that i could
-just use the data pointer to access it, but that's not possible since
-data can get deleted in other thread so we need to copy
-the value
-
-Change-Id: Ie1d466b210108e1af1f0c8d3c618d4516448b73d
----
- src/quick/util/qquickpixmapcache.cpp | 18 +++++++++---------
- 1 file changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/src/quick/util/qquickpixmapcache.cpp b/src/quick/util/qquickpixmapcache.cpp
-index be27cba98..86a17ffb9 100644
---- a/src/quick/util/qquickpixmapcache.cpp
-+++ b/src/quick/util/qquickpixmapcache.cpp
-@@ -141,6 +141,7 @@ public:
- QUrl url;
-
- bool loading;
-+ QQuickImageProviderOptions providerOptions;
- int redirectCount;
-
- class Event : public QEvent {
-@@ -204,7 +205,7 @@ protected:
- private:
- friend class QQuickPixmapReaderThreadObject;
- void processJobs();
-- void processJob(QQuickPixmapReply *, const QUrl &, const QString &, const QQuickImageProviderOptions &, QQuickImageProvider::ImageType, QQuickImageProvider *);
-+ void processJob(QQuickPixmapReply *, const QUrl &, const QString &, QQuickImageProvider::ImageType, QQuickImageProvider *);
- #if QT_CONFIG(qml_network)
- void networkRequestDone(QNetworkReply *);
- #endif
-@@ -664,7 +665,7 @@ void QQuickPixmapReader::processJobs()
- PIXMAP_PROFILE(pixmapStateChanged<QQuickProfiler::PixmapLoadingStarted>(url));
-
- locker.unlock();
-- processJob(job, url, localFile, job->data->providerOptions, imageType, provider);
-+ processJob(job, url, localFile, imageType, provider);
- locker.relock();
- }
- }
-@@ -676,7 +677,6 @@ void QQuickPixmapReader::processJobs()
- }
-
- void QQuickPixmapReader::processJob(QQuickPixmapReply *runningJob, const QUrl &url, const QString &localFile,
-- const QQuickImageProviderOptions &providerOptions,
- QQuickImageProvider::ImageType imageType, QQuickImageProvider *provider)
- {
- // fetch
-@@ -707,7 +707,7 @@ void QQuickPixmapReader::processJob(QQuickPixmapReply *runningJob, const QUrl &u
- {
- QImage image;
- if (providerV2) {
-- image = providerV2->requestImage(imageId(url), &readSize, runningJob->requestSize, providerOptions);
-+ image = providerV2->requestImage(imageId(url), &readSize, runningJob->requestSize, runningJob->providerOptions);
- } else {
- image = provider->requestImage(imageId(url), &readSize, runningJob->requestSize);
- }
-@@ -728,7 +728,7 @@ void QQuickPixmapReader::processJob(QQuickPixmapReply *runningJob, const QUrl &u
- {
- QPixmap pixmap;
- if (providerV2) {
-- pixmap = providerV2->requestPixmap(imageId(url), &readSize, runningJob->requestSize, providerOptions);
-+ pixmap = providerV2->requestPixmap(imageId(url), &readSize, runningJob->requestSize, runningJob->providerOptions);
- } else {
- pixmap = provider->requestPixmap(imageId(url), &readSize, runningJob->requestSize);
- }
-@@ -749,7 +749,7 @@ void QQuickPixmapReader::processJob(QQuickPixmapReply *runningJob, const QUrl &u
- {
- QQuickTextureFactory *t;
- if (providerV2) {
-- t = providerV2->requestTexture(imageId(url), &readSize, runningJob->requestSize, providerOptions);
-+ t = providerV2->requestTexture(imageId(url), &readSize, runningJob->requestSize, runningJob->providerOptions);
- } else {
- t = provider->requestTexture(imageId(url), &readSize, runningJob->requestSize);
- }
-@@ -772,7 +772,7 @@ void QQuickPixmapReader::processJob(QQuickPixmapReply *runningJob, const QUrl &u
- {
- QQuickImageResponse *response;
- if (providerV2) {
-- response = providerV2->requestImageResponse(imageId(url), runningJob->requestSize, providerOptions);
-+ response = providerV2->requestImageResponse(imageId(url), runningJob->requestSize, runningJob->providerOptions);
- } else {
- QQuickAsyncImageProvider *asyncProvider = static_cast<QQuickAsyncImageProvider*>(provider);
- response = asyncProvider->requestImageResponse(imageId(url), runningJob->requestSize);
-@@ -794,7 +794,7 @@ void QQuickPixmapReader::processJob(QQuickPixmapReply *runningJob, const QUrl &u
- QFile f(localFile);
- QSize readSize;
- if (f.open(QIODevice::ReadOnly)) {
-- if (!readImage(url, &f, &image, &errorStr, &readSize, runningJob->requestSize, providerOptions))
-+ if (!readImage(url, &f, &image, &errorStr, &readSize, runningJob->requestSize, runningJob->providerOptions))
- errorCode = QQuickPixmapReply::Loading;
- } else {
- errorStr = QQuickPixmap::tr("Cannot open: %1").arg(url.toString());
-@@ -1075,7 +1075,7 @@ void QQuickPixmap::purgeCache()
- }
-
- QQuickPixmapReply::QQuickPixmapReply(QQuickPixmapData *d)
--: data(d), engineForReader(0), requestSize(d->requestSize), url(d->url), loading(false), redirectCount(0)
-+: data(d), engineForReader(0), requestSize(d->requestSize), url(d->url), loading(false), providerOptions(d->providerOptions), redirectCount(0)
- {
- if (finishedIndex == -1) {
- finishedIndex = QMetaMethod::fromSignal(&QQuickPixmapReply::finished).methodIndex();
---
-2.12.1
-
diff --git a/PKGBUILD b/PKGBUILD
index 468e6b54f5c5..592edcbe7c62 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -49,7 +49,6 @@ fi
if [[ -f target-host ]]; then
unset LOCAL_PI_VER
_target_host=true
- _minimal=false
fi
if [[ -f full-build ]]; then
@@ -77,7 +76,7 @@ _pkgvermajmin="5.9"
_pkgverpatch=".0"
# {alpha/beta/beta2/rc}
_dev_suffix=""
-pkgrel=8
+pkgrel=9
pkgver="${_pkgvermajmin}${_pkgverpatch}"
$_build_from_head && pkgver=6.6.6
_pkgver=${pkgver}
@@ -115,7 +114,6 @@ fi
if $_building && $_minimal; then
_skip_qtscript=true;
_skip_qtwebengine=true;
- pkgname="${pkgname}-minimal"
fi
if $_target_host; then
@@ -293,6 +291,7 @@ if $_patching; then
cd ${_waylanddir}
#patch -p1 < ${startdir}/0001-Fix-brcm-egl-build-by-correcting-commit-usage.patch
+ patch -p1 < ${startdir}/0001-Avoid-double-deletion-of-mBuffer.patch
#cd ${_webenginedir}
# reverse patch which breaks dynamic loading of EGL/GLESvs with rpi proprietary drivers
diff --git a/qpi-proprietary.sh b/qpi-proprietary.sh
index 8ae3ce97b624..b847a7ae32fa 100644
--- a/qpi-proprietary.sh
+++ b/qpi-proprietary.sh
@@ -1,2 +1,2 @@
export QT_WAYLAND_CLIENT_BUFFER_INTEGRATION=brcm
-#export QT_QPA_PLATFORM=wayland
+export QT_QPA_PLATFORM=wayland