summaryrefslogtreecommitdiff
path: root/dev-qt/qtsvg
diff options
context:
space:
mode:
Diffstat (limited to 'dev-qt/qtsvg')
-rw-r--r--dev-qt/qtsvg/Manifest3
-rw-r--r--dev-qt/qtsvg/files/qtsvg-5.14.0-revert-keep-aspectratio.patch85
-rw-r--r--dev-qt/qtsvg/qtsvg-5.14.0-r1.ebuild (renamed from dev-qt/qtsvg/qtsvg-5.14.0.ebuild)4
3 files changed, 90 insertions, 2 deletions
diff --git a/dev-qt/qtsvg/Manifest b/dev-qt/qtsvg/Manifest
index 4ffc1a508b64..be56fd9c956b 100644
--- a/dev-qt/qtsvg/Manifest
+++ b/dev-qt/qtsvg/Manifest
@@ -1,3 +1,4 @@
+AUX qtsvg-5.14.0-revert-keep-aspectratio.patch 4104 BLAKE2B f447969d89147457ad577dcbd5e67b3dd59ad0a47b63f97f0d10d060708953cfb3bd5567d8b9f53cb6514ed006fb6b950f38a353f6a66bcfc23b748eb8af0934 SHA512 100003b8c2df0c40d54d8a62c84c976e9c071c6a7795ba91f12630df0377ba2772836db7694f5371b87f6091f30708f493529634cc938968ae019bd8369b8631
DIST qtsvg-everywhere-src-5.12.3.tar.xz 1859680 BLAKE2B 9ee0a2dbde09ef19fc72285f5ec9b865fd65c23bbecc4fcc8969a5f84bbe31818a086e066f32873e0cfd82aaab4a077660eabd2cbcc7494e84949c64b4a99740 SHA512 23517dbdc30d7128fcbeb12a301eeeb300424bb17bc0d156d5e9298c092d3d3afd2cba45768f2512e58977ee2408450f50c385e03a47ccaf3ff6bc7e4fddf61a
DIST qtsvg-everywhere-src-5.12.5.tar.xz 1860340 BLAKE2B 51162f36eb7a645d5670f4d425596fa4fe96d5149833074ab1147ccb0b6ad603cf00a45b116f09beb1c692c071248c5a425aa3f4948e0dc4af4ba131537b795d SHA512 3d7f89d106b36c8a0fd04c6e6f0ccde0c50ced7192980ea7d9330ba73d9307559e60ed2b10c28481a419d19aaae6609bde9e1dd74ccedf340dacf0194a60429d
DIST qtsvg-everywhere-src-5.13.2.tar.xz 1890380 BLAKE2B 7b15ea615afe387e39ef4aec60489319230447abe560bbe2ce5dcc283a6ed6d49a44971306baf51791ac910feb25896324d48a21ff3a85ffa4a480354c077ceb SHA512 fbe2df9e8756c8982c0e91c0d0356e50dd22d898087dfd028dfa6ed363ea18e1ddce5d5838d705e2d31509d1d823ccddcaf5f8916c587919e10a39ae04ee0090
@@ -5,5 +6,5 @@ DIST qtsvg-everywhere-src-5.14.0.tar.xz 1865488 BLAKE2B 2d0510907c0592e688896d4e
EBUILD qtsvg-5.12.3.ebuild 451 BLAKE2B 4fec4a1db6e4f9356b6694af96026bd63da867159d3719cdae73189ee84838d50c75a46471fd0061f534c8409a743585fce87fddbd114a560dc780a89454d95e SHA512 a9d56575038000380c279bcb598cdb34c135c1c73769a4052c3c50cbf56486dd4086e08e3a877c6179edc268f4d37b619bead08921a62ddfc47289028cfe8474
EBUILD qtsvg-5.12.5.ebuild 454 BLAKE2B d5f7aef3f4373c51d3af0ddddc84d6b5c64c77778734a3ceffac5982ebdf17ebe625970ddd24322cf490b801f654cac4ef9d6313072c6586597d0e774444b152 SHA512 36e3a8ce8869e8b617683e40ddf0031416fc039748c3211c692106e9b84507b99495d2a699b12a9e759d992b5343dc27f4647973f960d8234b62810a5a03b321
EBUILD qtsvg-5.13.2.ebuild 453 BLAKE2B 6d36a6e147c6196645b4e03b92ce44e8032b11527eb28d4852b495451821521335e81c41adf1ed1df0c1d515ebf21b33d3abba92916abcb16ff72f9d98e1e3f0 SHA512 753f690f89d442cc04ecc07c89cd5d1f486d68eff71c65a0a9f5b379573d5e1830d7398e488203d2deef6dde309cf006c9820f3bd1edaeaf502aa60f0bd472ab
-EBUILD qtsvg-5.14.0.ebuild 457 BLAKE2B 6560ce0d4b6302d76a804f9da6bec07ccd76052786e1d809c17fe4fc2fb8b1c082a0a3911ec984035045a09c69a21affab1f0bc1e63ec9319cfaa822061f955e SHA512 2678e34b30a855eb56fbb863ba3f5945a322aece8bbcd983b7b2989e4cf9c514d0669e2bf9aee45b08fff27d8f320d2cc72653803ca272b68596386fbc59c75f
+EBUILD qtsvg-5.14.0-r1.ebuild 533 BLAKE2B b034c1466db0b54a09f4858d775280cb3bc12ca695ed1a94c7c863ccce4871e19c6d8cbff58afe6bd8683bebd70994d2a55265257ed5cb5878696fd51ebc8bbf SHA512 57e9caa099ba165ae5ebbcc2bf3804608824e1bc67a793c4be28cc36498adc442c8f5e712b7263f2322c2734b25bbb29e8789e221992c04397f727238efa5944
MISC metadata.xml 481 BLAKE2B 210b94f2e7cdb09b2e07ec4a931ea47d5aed734be52e9dcb132ae174fc0707ebd82feff52e44490c7133274c4dd31b0898f9fa54ce700b635b6a45c2cbf2b5c6 SHA512 bc22732d392630b21ba3895b22a3b1835fe639f930bad0ebab511757df89ebbb30530f0c482ff0a7eb24c7ba844f0b2448040dc5252ac98b0ac01423f236829f
diff --git a/dev-qt/qtsvg/files/qtsvg-5.14.0-revert-keep-aspectratio.patch b/dev-qt/qtsvg/files/qtsvg-5.14.0-revert-keep-aspectratio.patch
new file mode 100644
index 000000000000..589492ca6bab
--- /dev/null
+++ b/dev-qt/qtsvg/files/qtsvg-5.14.0-revert-keep-aspectratio.patch
@@ -0,0 +1,85 @@
+From 51694a5e293ae4eb7b83167e7cb54822907eb594 Mon Sep 17 00:00:00 2001
+From: Eirik Aavitsland <eirik.aavitsland@qt.io>
+Date: Thu, 9 Jan 2020 11:03:44 +0100
+Subject: [PATCH] Revert the keep-aspectratio feature for 5.14.1
+
+This was introduced as non-optional behavior for 5.14.0, but caused
+many regressions. This patch reverts that, and instead prepares for
+introducing it as an opt-in feature in Qt 5.15.
+
+[ChangeLog][QSVGRenderer] In Qt 5.14.0, rendering would keep aspect
+ratio implied by the viewbox, independently of the specified target
+area. This caused many regressions with existing code, so is reverted
+now in 5.14.1. The feature will instead be available as an opt-in in
+Qt 5.15.
+
+Task-number: QTBUG-81259
+Change-Id: I3efa2db864eb80ee00e8a067e56d9912bab36442
+---
+ src/svg/qsvgtinydocument.cpp | 14 ++++++++------
+ tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp | 3 +++
+ 2 files changed, 11 insertions(+), 6 deletions(-)
+
+diff --git a/src/svg/qsvgtinydocument.cpp b/src/svg/qsvgtinydocument.cpp
+index 56960bf..b364634 100644
+--- a/src/svg/qsvgtinydocument.cpp
++++ b/src/svg/qsvgtinydocument.cpp
+@@ -420,9 +420,10 @@ void QSvgTinyDocument::mapSourceToTarget(QPainter *p, const QRectF &targetRect,
+ source = viewBox();
+
+ if (source != target && !source.isNull()) {
+- if (m_implicitViewBox || !sourceRect.isNull()) {
+- // Code path used when no view box is set, or when an explicit source size is given which
+- // overrides it (which is the case when we're rendering only a specific element by id).
++#if (QT_VERSION >= QT_VERSION_CHECK(5, 15, 0))
++ if (m_implicitViewBox || !preserveAspectRatio()) {
++ // Code path used when no view box is set, or IgnoreAspectRatio requested
++#endif
+ QTransform transform;
+ transform.scale(target.width() / source.width(),
+ target.height() / source.height());
+@@ -431,10 +432,10 @@ void QSvgTinyDocument::mapSourceToTarget(QPainter *p, const QRectF &targetRect,
+ target.y() - c2.y());
+ p->scale(target.width() / source.width(),
+ target.height() / source.height());
++#if (QT_VERSION >= QT_VERSION_CHECK(5, 15, 0))
+ } else {
+- // Code path used when a view box is specified and we're not rendering a specific element by id
+- // but the entire document. This attempts to emulate the default values of the <preserveAspectRatio>
+- // tag that's implicitly defined when <viewbox> is used.
++ // Code path used when KeepAspectRatio is requested. This attempts to emulate the default values
++ // of the <preserveAspectRatio tag that's implicitly defined when <viewbox> is used.
+
+ // Scale the view box into the view port (target) by preserve the aspect ratio.
+ QSizeF viewBoxSize = source.size();
+@@ -451,6 +452,7 @@ void QSvgTinyDocument::mapSourceToTarget(QPainter *p, const QRectF &targetRect,
+ p->translate(target.x() - source.x(),
+ target.y() - source.y());
+ }
++#endif
+ }
+ }
+
+diff --git a/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp b/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp
+index 309c646..43a3eb8 100644
+--- a/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp
++++ b/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp
+@@ -269,6 +269,8 @@ void tst_QSvgRenderer::testMapViewBoxToTarget()
+ QCOMPARE(picture.boundingRect(), QRect(125, 125, 250, 250));
+ }
+
++#if 0
++ // Requires keep-aspectratio feature
+ { // Viewport and viewBox specified -> scale 500x500 square to 1000x750 while preserving aspect ratio gives 750x750
+ data = "<svg width=\"1000\" height=\"750\" viewBox=\"-250 -250 500 500\"><g><rect x=\"0\" y=\"0\" width=\"500\" height=\"500\" /></g></svg>";
+ QPicture picture;
+@@ -278,6 +280,7 @@ void tst_QSvgRenderer::testMapViewBoxToTarget()
+ painter.end();
+ QCOMPARE(picture.boundingRect(), QRect(500, 375, 750, 750));
+ }
++#endif
+ }
+
+ void tst_QSvgRenderer::testRenderElement()
+--
+2.25.0
diff --git a/dev-qt/qtsvg/qtsvg-5.14.0.ebuild b/dev-qt/qtsvg/qtsvg-5.14.0-r1.ebuild
index f143da2e4881..4716b5e4790f 100644
--- a/dev-qt/qtsvg/qtsvg-5.14.0.ebuild
+++ b/dev-qt/qtsvg/qtsvg-5.14.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -21,3 +21,5 @@ RDEPEND="
DEPEND="${RDEPEND}
test? ( ~dev-qt/qtxml-${PV} )
"
+
+PATCHES=( "${FILESDIR}/${P}-revert-keep-aspectratio.patch" ) # QTBUG-81259