diff options
-rw-r--r-- | .SRCINFO | 4 | ||||
-rw-r--r-- | 0001-Change-nearest-color-lookup-logic-for-finding-floss-.patch | 63 | ||||
-rw-r--r-- | PKGBUILD | 9 |
3 files changed, 72 insertions, 4 deletions
@@ -1,7 +1,7 @@ pkgbase = kxstitch pkgdesc = The program that lets you create cross stitch patterns and charts. pkgver = 2.1.1 - pkgrel = 7 + pkgrel = 8 url = https://userbase.kde.org/KXStitch install = kxstitch.install arch = i686 @@ -19,10 +19,12 @@ pkgbase = kxstitch source = kxstitch.install source = qt5.11.patch::https://cgit.kde.org/kxstitch.git/patch/?id=ca0f451dceecadc696ba6777084f22ceb5d372f0 source = imagemagick7.patch + source = 0001-Change-nearest-color-lookup-logic-for-finding-floss-.patch sha1sums = 6f712bca3173b90149b67640fb1b63d02725c9ef sha1sums = 8e58ce0776eff7ef29394a2f7a089191a4af0b1d sha1sums = d1a904efd34eca16d839d6d54356cb01abaa15a7 sha1sums = 59dc498eb3e555b0f85a717f0588b3a217f8cbbb + sha1sums = 5f3f53bbe65adc95a0165142bea45ede7ec71591 pkgname = kxstitch diff --git a/0001-Change-nearest-color-lookup-logic-for-finding-floss-.patch b/0001-Change-nearest-color-lookup-logic-for-finding-floss-.patch new file mode 100644 index 000000000000..6edf8cfe8067 --- /dev/null +++ b/0001-Change-nearest-color-lookup-logic-for-finding-floss-.patch @@ -0,0 +1,63 @@ +From a7b7789cd0a1837b2eb8545aef8f41fcc16e48af Mon Sep 17 00:00:00 2001 +From: Sean Enck <enckse@voidedtech.com> +Date: Fri, 12 Oct 2018 15:27:41 -0400 +Subject: [PATCH] Change nearest color lookup logic for finding floss during + import + +Due to an issue (suspected in ImageMagick 7.0.7.24 -> 25) it appears a nullptr +is being returned when trying to find a matching color (no match or +close match found). Increase the tracking of matching colors accordingly +to find the 'nearest' and return. + +Signed-off-by: Sean Enck <enckse@voidedtech.com> +--- + src/FlossScheme.cpp | 18 +++++++++--------- + 1 file changed, 9 insertions(+), 9 deletions(-) + +diff --git a/src/FlossScheme.cpp b/src/FlossScheme.cpp +index e4cd117..49b1e48 100644 +--- a/src/FlossScheme.cpp ++++ b/src/FlossScheme.cpp +@@ -11,7 +11,6 @@ + + #include "FlossScheme.h" + +- + FlossScheme::FlossScheme() + : m_map(nullptr) + { +@@ -64,22 +63,23 @@ Floss *FlossScheme::find(const QString &name) const + Floss *FlossScheme::find(const QColor &color) const + { + QListIterator<Floss *> flossIterator(m_flosses); +- ++ Floss *nearest; ++ float near; ++ float closest = 100; ++ nearest = nullptr; + while (flossIterator.hasNext()) { + Floss *floss = flossIterator.next(); + QColor c = floss->color(); +- + if (c == color) { + return floss; + } +- +- // the color mapping may not be perfect so search for a near match. +- if (abs(color.red()-c.red())<2 && abs(color.green()-c.green())<2 && abs(color.blue()-c.blue())<2) { +- return floss; ++ near = abs(color.red()-c.red()) + abs(color.green()-c.green()) + abs(color.blue()-color.blue()); ++ if (near < closest) { ++ closest = near; ++ nearest = floss; + } + } +- +- return nullptr; ++ return nearest; + } + + +-- +2.19.1 + @@ -2,7 +2,7 @@ # Contributor : enckse <enckse [at] gmail [dot] com> pkgname=kxstitch pkgver=2.1.1 -pkgrel=7 +pkgrel=8 pkgdesc="The program that lets you create cross stitch patterns and charts." arch=('i686' 'x86_64') depends=('plasma-workspace' 'imagemagick>=7.0.0') @@ -12,11 +12,13 @@ license=('GPL') source=("https://download.kde.org/stable/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.xz" "${pkgname}.install" "qt5.11.patch::https://cgit.kde.org/kxstitch.git/patch/?id=ca0f451dceecadc696ba6777084f22ceb5d372f0" - "imagemagick7.patch") + "imagemagick7.patch" + "0001-Change-nearest-color-lookup-logic-for-finding-floss-.patch") sha1sums=('6f712bca3173b90149b67640fb1b63d02725c9ef' '8e58ce0776eff7ef29394a2f7a089191a4af0b1d' 'd1a904efd34eca16d839d6d54356cb01abaa15a7' - '59dc498eb3e555b0f85a717f0588b3a217f8cbbb') + '59dc498eb3e555b0f85a717f0588b3a217f8cbbb' + '5f3f53bbe65adc95a0165142bea45ede7ec71591') install=${pkgname}.install build() { @@ -24,6 +26,7 @@ build() { cp ../*.patch . patch -p1 < qt5.11.patch patch -p1 < imagemagick7.patch + patch -p1 < 0001-Change-nearest-color-lookup-logic-for-finding-floss-.patch rm -rf build mkdir build cd build |