summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorSean Enck2018-10-12 15:41:51 -0400
committerSean Enck2018-10-12 15:41:51 -0400
commitcb56a5ba1162439f87f6d7d79059adb011f7cd85 (patch)
tree1dda3faa4814e78a7c5773157bb3967028b9f367
parent47d51a52da819ad04ca1bedae9e8072b67a3bbbf (diff)
downloadaur-cb56a5ba1162439f87f6d7d79059adb011f7cd85.tar.gz
patching import/floss find issue
-rw-r--r--.SRCINFO4
-rw-r--r--0001-Change-nearest-color-lookup-logic-for-finding-floss-.patch63
-rw-r--r--PKGBUILD9
3 files changed, 72 insertions, 4 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 86905a3cff65..3c3bb2419b38 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
+
diff --git a/PKGBUILD b/PKGBUILD
index 2582f4e97540..f86dead22cf6 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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