mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-02-08 17:32:23 +01:00
community/krita: fix crash with C locale
This commit is contained in:
parent
e383ff1baa
commit
d77fbd5b3f
@ -2,14 +2,16 @@
|
||||
# Maintainer: Bart Ribbers <bribbers@disroot.org>
|
||||
pkgname=krita
|
||||
pkgver=4.2.9
|
||||
pkgrel=0
|
||||
pkgrel=1
|
||||
arch="all !armhf !mips !mips64" # Blocked by py3-qt5 -> qt5-qtdeclarative
|
||||
url="https://krita.org/"
|
||||
pkgdesc="Free digital painting application. Digital Painting, Creative Freedom!"
|
||||
license="GPL-2.0-or-later"
|
||||
makedepends="extra-cmake-modules qt5-qtbase-dev qt5-qtsvg-dev qt5-qtmultimedia-dev qt5-qttools-dev kconfig-dev kwidgetsaddons-dev kcompletion-dev kcoreaddons-dev kguiaddons-dev ki18n-dev kitemmodels-dev kitemviews-dev kwindowsystem-dev karchive-dev kcrash-dev libxi-dev boost-dev libraw-dev fftw-dev eigen-dev exiv2-dev lcms2-dev quazip-dev gsl-dev zlib-dev openexr-dev tiff-dev libjpeg-turbo-dev giflib-dev libheif-dev python3-dev py3-qt5 poppler-qt5-dev xcb-util-dev"
|
||||
checkdepends="xvfb-run"
|
||||
source="https://download.kde.org/stable/krita/$pkgver/krita-$pkgver.tar.xz"
|
||||
source="https://download.kde.org/stable/krita/$pkgver/krita-$pkgver.tar.xz
|
||||
fix-crash-with-c-locale.patch
|
||||
"
|
||||
subpackages="$pkgname-lang"
|
||||
options="!check" # Breaks compilation on Musl https://bugs.kde.org/show_bug.cgi?id=412058
|
||||
|
||||
@ -32,4 +34,5 @@ package() {
|
||||
DESTDIR="$pkgdir" make -C build install
|
||||
}
|
||||
|
||||
sha512sums="66eef3d1b5647e62551276662ef4332f15abc022f1032f27a2ad695a8d2dc5fa758146492a9da2b8cbd4a52e47c576473029d2aa9728dea3bec869b8173f08c0 krita-4.2.9.tar.xz"
|
||||
sha512sums="66eef3d1b5647e62551276662ef4332f15abc022f1032f27a2ad695a8d2dc5fa758146492a9da2b8cbd4a52e47c576473029d2aa9728dea3bec869b8173f08c0 krita-4.2.9.tar.xz
|
||||
e7a9117d012df4181e05de970f2210264b8685ee76c98b33795f8095d9a17b24b20e6ce920f944b4b5cb940cf672af5ba5fd0ffae9f53085a4f97da61b1e69f6 fix-crash-with-c-locale.patch"
|
||||
|
||||
75
community/krita/fix-crash-with-c-locale.patch
Normal file
75
community/krita/fix-crash-with-c-locale.patch
Normal file
@ -0,0 +1,75 @@
|
||||
From 3349c1dba99da9963eb275ae6ac7cdb8ed0c0e1b Mon Sep 17 00:00:00 2001
|
||||
From: Boudewijn Rempt <boud@valdyas.org>
|
||||
Date: Sat, 11 Apr 2020 16:33:09 +0200
|
||||
Subject: [PATCH] Check whether the uiLanguages list isn't empty
|
||||
|
||||
Because Qt can crash or assert on list.first() if the list is
|
||||
empty.
|
||||
|
||||
BUG:419947
|
||||
---
|
||||
krita/main.cc | 35 ++++++++++++++++++-----------------
|
||||
1 file changed, 18 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/krita/main.cc b/krita/main.cc
|
||||
index e01fd10969..908f7abe03 100644
|
||||
--- a/krita/main.cc
|
||||
+++ b/krita/main.cc
|
||||
@@ -334,7 +334,6 @@ extern "C" int main(int argc, char **argv)
|
||||
qputenv("LANG", locale.name().toLocal8Bit());
|
||||
#endif
|
||||
|
||||
-
|
||||
const QStringList rtlLanguages = QStringList()
|
||||
<< "ar" << "dv" << "he" << "ha" << "ku" << "fa" << "ps" << "ur" << "yi";
|
||||
|
||||
@@ -366,28 +365,30 @@ extern "C" int main(int argc, char **argv)
|
||||
}
|
||||
}
|
||||
|
||||
- QString envLanguage = uiLanguages.first();
|
||||
- envLanguage.replace(QChar('-'), QChar('_'));
|
||||
+ if (uiLanguages.size() > 0 ) {
|
||||
+ QString envLanguage = uiLanguages.first();
|
||||
+ envLanguage.replace(QChar('-'), QChar('_'));
|
||||
|
||||
- for (int i = 0; i < uiLanguages.size(); i++) {
|
||||
- QString uiLanguage = uiLanguages[i];
|
||||
- // Strip the country code
|
||||
- int idx = uiLanguage.indexOf(QChar('-'));
|
||||
+ for (int i = 0; i < uiLanguages.size(); i++) {
|
||||
+ QString uiLanguage = uiLanguages[i];
|
||||
+ // Strip the country code
|
||||
+ int idx = uiLanguage.indexOf(QChar('-'));
|
||||
|
||||
- if (idx != -1) {
|
||||
- uiLanguage = uiLanguage.left(idx);
|
||||
- uiLanguages.replace(i, uiLanguage);
|
||||
+ if (idx != -1) {
|
||||
+ uiLanguage = uiLanguage.left(idx);
|
||||
+ uiLanguages.replace(i, uiLanguage);
|
||||
+ }
|
||||
}
|
||||
- }
|
||||
- dbgKrita << "Converted ui languages:" << uiLanguages;
|
||||
+ dbgKrita << "Converted ui languages:" << uiLanguages;
|
||||
#ifdef Q_OS_MAC
|
||||
- // See https://bugs.kde.org/show_bug.cgi?id=396370
|
||||
- KLocalizedString::setLanguages(QStringList() << uiLanguages.first());
|
||||
- qputenv("LANG", (envLanguage + ".UTF-8").toLocal8Bit());
|
||||
+ // See https://bugs.kde.org/show_bug.cgi?id=396370
|
||||
+ KLocalizedString::setLanguages(QStringList() << uiLanguages.first());
|
||||
+ qputenv("LANG", (envLanguage + ".UTF-8").toLocal8Bit());
|
||||
#else
|
||||
- KLocalizedString::setLanguages(QStringList() << uiLanguages);
|
||||
- qputenv("LANG", envLanguage.toLocal8Bit());
|
||||
+ KLocalizedString::setLanguages(QStringList() << uiLanguages);
|
||||
+ qputenv("LANG", envLanguage.toLocal8Bit());
|
||||
#endif
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.26.0
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user