forked from pool/krita
Compare commits
15 Commits
Author | SHA256 | Date | |
---|---|---|---|
55a3c0a283 | |||
|
39a87fcd5f | ||
|
5c33b4dbb9 | ||
44e72f92a2 | |||
|
32eab59fb9 | ||
c37514e8fb | |||
|
392de79aa1 | ||
e0ed01d728 | |||
|
098024bbd6 | ||
6e24ad8b70 | |||
|
7670fbed45 | ||
41073d8d0b | |||
|
7c574092a4 | ||
bec9b2ff37 | |||
|
de72346652 |
144
0001-Fix-build-with-libheif-1.20.patch
Normal file
144
0001-Fix-build-with-libheif-1.20.patch
Normal file
@@ -0,0 +1,144 @@
|
|||||||
|
From 169339accb9e4e0e0e9921176c5cd60d340b7b04 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Halla Rempt <halla@valdyas.org>
|
||||||
|
Date: Thu, 10 Jul 2025 10:08:24 +0200
|
||||||
|
Subject: [PATCH] Fix build with libheif 1.20
|
||||||
|
|
||||||
|
https://github.com/strukturag/libheif/issues/1419 introduced a
|
||||||
|
source incompatible api change, this patch by Brad Smith make
|
||||||
|
Krita build with 1.20. I've also checked with 1.15.2, which we
|
||||||
|
use and it still builds.
|
||||||
|
|
||||||
|
BUG:506778
|
||||||
|
(cherry picked from commit 6ad4fa68a9e1ce06fc884e34f3cedcdd4b9a2076)
|
||||||
|
---
|
||||||
|
plugins/impex/heif/HeifExport.cpp | 24 +++++++++++++++---------
|
||||||
|
plugins/impex/heif/HeifImport.cpp | 22 ++++++++++++++--------
|
||||||
|
2 files changed, 29 insertions(+), 17 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/plugins/impex/heif/HeifExport.cpp b/plugins/impex/heif/HeifExport.cpp
|
||||||
|
index 3e70cf925e..ccbc8034b5 100644
|
||||||
|
--- a/plugins/impex/heif/HeifExport.cpp
|
||||||
|
+++ b/plugins/impex/heif/HeifExport.cpp
|
||||||
|
@@ -137,6 +137,12 @@ KisImportExportErrorCode HeifExport::convert(KisDocument *document, QIODevice *i
|
||||||
|
HeifLock lock;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#if LIBHEIF_HAVE_VERSION(1, 20, 0)
|
||||||
|
+ using HeifStrideType = size_t;
|
||||||
|
+#else
|
||||||
|
+ using HeifStrideType = int;
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
KisImageSP image = document->savingImage();
|
||||||
|
const KoColorSpace *cs = image->colorSpace();
|
||||||
|
|
||||||
|
@@ -250,10 +256,10 @@ KisImportExportErrorCode HeifExport::convert(KisDocument *document, QIODevice *i
|
||||||
|
img.add_plane(heif_channel_G, width,height, 8);
|
||||||
|
img.add_plane(heif_channel_B, width,height, 8);
|
||||||
|
|
||||||
|
- int strideR = 0;
|
||||||
|
- int strideG = 0;
|
||||||
|
- int strideB = 0;
|
||||||
|
- int strideA = 0;
|
||||||
|
+ HeifStrideType strideR = 0;
|
||||||
|
+ HeifStrideType strideG = 0;
|
||||||
|
+ HeifStrideType strideB = 0;
|
||||||
|
+ HeifStrideType strideA = 0;
|
||||||
|
|
||||||
|
uint8_t *ptrR = img.get_plane(heif_channel_R, &strideR);
|
||||||
|
uint8_t *ptrG = img.get_plane(heif_channel_G, &strideG);
|
||||||
|
@@ -289,7 +295,7 @@ KisImportExportErrorCode HeifExport::convert(KisDocument *document, QIODevice *i
|
||||||
|
img.create(width, height, heif_colorspace_RGB, chroma);
|
||||||
|
img.add_plane(heif_channel_interleaved, width, height, 12);
|
||||||
|
|
||||||
|
- int stride = 0;
|
||||||
|
+ HeifStrideType stride = 0;
|
||||||
|
|
||||||
|
uint8_t *ptr = img.get_plane(heif_channel_interleaved, &stride);
|
||||||
|
|
||||||
|
@@ -330,8 +336,8 @@ KisImportExportErrorCode HeifExport::convert(KisDocument *document, QIODevice *i
|
||||||
|
|
||||||
|
img.add_plane(heif_channel_Y, width, height, 8);
|
||||||
|
|
||||||
|
- int strideG = 0;
|
||||||
|
- int strideA = 0;
|
||||||
|
+ HeifStrideType strideG = 0;
|
||||||
|
+ HeifStrideType strideA = 0;
|
||||||
|
|
||||||
|
uint8_t *ptrG = img.get_plane(heif_channel_Y, &strideG);
|
||||||
|
uint8_t *ptrA = [&]() -> uint8_t * {
|
||||||
|
@@ -363,8 +369,8 @@ KisImportExportErrorCode HeifExport::convert(KisDocument *document, QIODevice *i
|
||||||
|
|
||||||
|
img.add_plane(heif_channel_Y, width, height, 12);
|
||||||
|
|
||||||
|
- int strideG = 0;
|
||||||
|
- int strideA = 0;
|
||||||
|
+ HeifStrideType strideG = 0;
|
||||||
|
+ HeifStrideType strideA = 0;
|
||||||
|
|
||||||
|
uint8_t *ptrG = img.get_plane(heif_channel_Y, &strideG);
|
||||||
|
uint8_t *ptrA = [&]() -> uint8_t * {
|
||||||
|
diff --git a/plugins/impex/heif/HeifImport.cpp b/plugins/impex/heif/HeifImport.cpp
|
||||||
|
index 3c1a52cc28..6bceea85eb 100644
|
||||||
|
--- a/plugins/impex/heif/HeifImport.cpp
|
||||||
|
+++ b/plugins/impex/heif/HeifImport.cpp
|
||||||
|
@@ -214,6 +214,12 @@ KisImportExportErrorCode HeifImport::convert(KisDocument *document, QIODevice *i
|
||||||
|
HeifLock lock;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#if LIBHEIF_HAVE_VERSION(1, 20, 0)
|
||||||
|
+ using HeifStrideType = size_t;
|
||||||
|
+#else
|
||||||
|
+ using HeifStrideType = int;
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
// Wrap input stream into heif Reader object
|
||||||
|
Reader_QIODevice reader(io);
|
||||||
|
|
||||||
|
@@ -387,8 +393,8 @@ KisImportExportErrorCode HeifImport::convert(KisDocument *document, QIODevice *i
|
||||||
|
|
||||||
|
if (heifChroma == heif_chroma_monochrome) {
|
||||||
|
dbgFile << "monochrome heif file, bits:" << luma;
|
||||||
|
- int strideG = 0;
|
||||||
|
- int strideA = 0;
|
||||||
|
+ HeifStrideType strideG = 0;
|
||||||
|
+ HeifStrideType strideA = 0;
|
||||||
|
const uint8_t *imgG = heifimage.get_plane(heif_channel_Y, &strideG);
|
||||||
|
const uint8_t *imgA =
|
||||||
|
heifimage.get_plane(heif_channel_Alpha, &strideA);
|
||||||
|
@@ -409,10 +415,10 @@ KisImportExportErrorCode HeifImport::convert(KisDocument *document, QIODevice *i
|
||||||
|
} else if (heifChroma == heif_chroma_444) {
|
||||||
|
dbgFile << "planar heif file, bits:" << luma;
|
||||||
|
|
||||||
|
- int strideR = 0;
|
||||||
|
- int strideG = 0;
|
||||||
|
- int strideB = 0;
|
||||||
|
- int strideA = 0;
|
||||||
|
+ HeifStrideType strideR = 0;
|
||||||
|
+ HeifStrideType strideG = 0;
|
||||||
|
+ HeifStrideType strideB = 0;
|
||||||
|
+ HeifStrideType strideA = 0;
|
||||||
|
const uint8_t* imgR = heifimage.get_plane(heif_channel_R, &strideR);
|
||||||
|
const uint8_t* imgG = heifimage.get_plane(heif_channel_G, &strideG);
|
||||||
|
const uint8_t* imgB = heifimage.get_plane(heif_channel_B, &strideB);
|
||||||
|
@@ -439,7 +445,7 @@ KisImportExportErrorCode HeifImport::convert(KisDocument *document, QIODevice *i
|
||||||
|
displayNits,
|
||||||
|
colorSpace);
|
||||||
|
} else if (heifChroma == heif_chroma_interleaved_RGB || heifChroma == heif_chroma_interleaved_RGBA) {
|
||||||
|
- int stride = 0;
|
||||||
|
+ HeifStrideType stride = 0;
|
||||||
|
dbgFile << "interleaved SDR heif file, bits:" << luma;
|
||||||
|
|
||||||
|
const uint8_t *img = heifimage.get_plane(heif_channel_interleaved, &stride);
|
||||||
|
@@ -461,7 +467,7 @@ KisImportExportErrorCode HeifImport::convert(KisDocument *document, QIODevice *i
|
||||||
|
colorSpace);
|
||||||
|
|
||||||
|
} else if (heifChroma == heif_chroma_interleaved_RRGGBB_LE || heifChroma == heif_chroma_interleaved_RRGGBBAA_LE || heifChroma == heif_chroma_interleaved_RRGGBB_BE || heifChroma == heif_chroma_interleaved_RRGGBB_BE) {
|
||||||
|
- int stride = 0;
|
||||||
|
+ HeifStrideType stride = 0;
|
||||||
|
dbgFile << "interleaved HDR heif file, bits:" << luma;
|
||||||
|
|
||||||
|
const uint8_t *img =
|
||||||
|
--
|
||||||
|
2.50.0
|
||||||
|
|
132
5d44af277b005692241a09f30e11bb0d16166823.patch
Normal file
132
5d44af277b005692241a09f30e11bb0d16166823.patch
Normal file
@@ -0,0 +1,132 @@
|
|||||||
|
From 5d44af277b005692241a09f30e11bb0d16166823 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Freya Lupen <penguinflyer2222@gmail.com>
|
||||||
|
Date: Thu, 25 Jul 2024 08:37:45 -0500
|
||||||
|
Subject: [PATCH] Fix Python invalid escape sequence warnings
|
||||||
|
|
||||||
|
If Python finds a string with an invalid backslash escape such as '\*',
|
||||||
|
it will throw a Syntax or Deprecation warning. In the future this will
|
||||||
|
become an error. The fix is to use a raw string r'\*' instead, which
|
||||||
|
won't attempt to interpolate the escape sequences in the regexes.
|
||||||
|
|
||||||
|
BUG:489526
|
||||||
|
---
|
||||||
|
.../comics_project_management_tools/comics_exporter.py | 6 +++---
|
||||||
|
.../exporters/CPMT_ACBF_XML_Exporter.py | 4 ++--
|
||||||
|
.../exporters/CPMT_po_parser.py | 8 ++++----
|
||||||
|
.../python/scripter/ui_scripter/editor/pythoneditor.py | 2 +-
|
||||||
|
plugins/python/scripter/ui_scripter/syntax/syntax.py | 8 ++++----
|
||||||
|
5 files changed, 14 insertions(+), 14 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/plugins/python/comics_project_management_tools/comics_exporter.py b/plugins/python/comics_project_management_tools/comics_exporter.py
|
||||||
|
index 73fe21bcbe3..6cb3f2a095f 100644
|
||||||
|
--- a/plugins/python/comics_project_management_tools/comics_exporter.py
|
||||||
|
+++ b/plugins/python/comics_project_management_tools/comics_exporter.py
|
||||||
|
@@ -420,7 +420,7 @@ class comicsExporter():
|
||||||
|
def handleShapeDescription(self, shape, list, textOnly=False):
|
||||||
|
return
|
||||||
|
# Turn off shape retrieval for now until the new text tool is finished.
|
||||||
|
- """
|
||||||
|
+ r"""
|
||||||
|
if (shape.type() != "KoSvgTextShapeID" and textOnly is True):
|
||||||
|
return
|
||||||
|
shapeDesc = {}
|
||||||
|
@@ -429,7 +429,7 @@ class comicsExporter():
|
||||||
|
listOfPoints = [rect.topLeft(), rect.topRight(), rect.bottomRight(), rect.bottomLeft()]
|
||||||
|
shapeDoc = minidom.parseString(shape.toSvg())
|
||||||
|
docElem = shapeDoc.documentElement
|
||||||
|
- svgRegExp = re.compile('[MLCSQHVATmlzcqshva]\d+\.?\d* \d+\.?\d*')
|
||||||
|
+ svgRegExp = re.compile(r'[MLCSQHVATmlzcqshva]\d+\.?\d* \d+\.?\d*')
|
||||||
|
transform = docElem.getAttribute("transform")
|
||||||
|
coord = []
|
||||||
|
adjust = QTransform()
|
||||||
|
@@ -539,7 +539,7 @@ class comicsExporter():
|
||||||
|
fontsize = int(size)
|
||||||
|
font = QFont(family, fontsize)
|
||||||
|
string = el.toxml()
|
||||||
|
- string = re.sub("\<.*?\>", " ", string)
|
||||||
|
+ string = re.sub(r"\<.*?\>", " ", string)
|
||||||
|
string = string.replace(" ", " ")
|
||||||
|
width = min(QFontMetrics(font).width(string.strip()), rect.width())
|
||||||
|
height = QFontMetrics(font).height()
|
||||||
|
diff --git a/plugins/python/comics_project_management_tools/exporters/CPMT_ACBF_XML_Exporter.py b/plugins/python/comics_project_management_tools/exporters/CPMT_ACBF_XML_Exporter.py
|
||||||
|
index 985b83b6409..386f39bd384 100644
|
||||||
|
--- a/plugins/python/comics_project_management_tools/exporters/CPMT_ACBF_XML_Exporter.py
|
||||||
|
+++ b/plugins/python/comics_project_management_tools/exporters/CPMT_ACBF_XML_Exporter.py
|
||||||
|
@@ -507,8 +507,8 @@ def write_xml(configDictionary = {}, pageData = [], pagesLocationList = [], loc
|
||||||
|
figureOut = figure_out_type(svg.documentElement())
|
||||||
|
type = figureOut[0]
|
||||||
|
inverted = figureOut[1]
|
||||||
|
- string = re.sub("\<\/*?text.*?\>",'', str(v["text"]))
|
||||||
|
- string = re.sub("\s+?", " ", string)
|
||||||
|
+ string = re.sub(r"\<\/*?text.*?\>",'', str(v["text"]))
|
||||||
|
+ string = re.sub(r"\s+?", " ", string)
|
||||||
|
translationEntry = poParser.get_entry_for_key(string, lang)
|
||||||
|
string = translationEntry.get("trans", string)
|
||||||
|
svg.setContent("<text>"+string+"</text>")
|
||||||
|
diff --git a/plugins/python/comics_project_management_tools/exporters/CPMT_po_parser.py b/plugins/python/comics_project_management_tools/exporters/CPMT_po_parser.py
|
||||||
|
index 3d35218d27e..73a1227443a 100644
|
||||||
|
--- a/plugins/python/comics_project_management_tools/exporters/CPMT_po_parser.py
|
||||||
|
+++ b/plugins/python/comics_project_management_tools/exporters/CPMT_po_parser.py
|
||||||
|
@@ -46,8 +46,8 @@ class po_file_parser():
|
||||||
|
key = ""
|
||||||
|
if self.key_xml:
|
||||||
|
text = entry.get("text", "")
|
||||||
|
- text = re.sub("\<.*?\>", " ", text)
|
||||||
|
- key += str(re.sub("\s+", " ", text)).strip()
|
||||||
|
+ text = re.sub(r"\<.*?\>", " ", text)
|
||||||
|
+ key += str(re.sub(r"\s+", " ", text)).strip()
|
||||||
|
else:
|
||||||
|
key += entry.get("text", None)
|
||||||
|
if key is not None:
|
||||||
|
@@ -111,8 +111,8 @@ class po_file_parser():
|
||||||
|
entry = {}
|
||||||
|
entry["trans"] = " "
|
||||||
|
if self.key_xml:
|
||||||
|
- key = re.sub("\<.*?\>", " ", key)
|
||||||
|
- key = re.sub("\s+", " ", key)
|
||||||
|
+ key = re.sub(r"\<.*?\>", " ", key)
|
||||||
|
+ key = re.sub(r"\s+", " ", key)
|
||||||
|
key = key.strip()
|
||||||
|
if key in self.translationDict.keys():
|
||||||
|
translations = {}
|
||||||
|
diff --git a/plugins/python/scripter/ui_scripter/editor/pythoneditor.py b/plugins/python/scripter/ui_scripter/editor/pythoneditor.py
|
||||||
|
index 76572ab1e3c..da3efbc89c1 100644
|
||||||
|
--- a/plugins/python/scripter/ui_scripter/editor/pythoneditor.py
|
||||||
|
+++ b/plugins/python/scripter/ui_scripter/editor/pythoneditor.py
|
||||||
|
@@ -271,7 +271,7 @@ class CodeEditor(QPlainTextEdit):
|
||||||
|
self.dedentBlock(blockNumber)
|
||||||
|
|
||||||
|
def autoindent(self):
|
||||||
|
- """The return key has just been pressed (and processed by the editor)
|
||||||
|
+ r"""The return key has just been pressed (and processed by the editor)
|
||||||
|
now insert leading spaces to reflect an appropriate indent level
|
||||||
|
against the previous line.
|
||||||
|
This will depend on the end of the previous line. If it ends:
|
||||||
|
diff --git a/plugins/python/scripter/ui_scripter/syntax/syntax.py b/plugins/python/scripter/ui_scripter/syntax/syntax.py
|
||||||
|
index abc7903b3cb..b0d3088e038 100644
|
||||||
|
--- a/plugins/python/scripter/ui_scripter/syntax/syntax.py
|
||||||
|
+++ b/plugins/python/scripter/ui_scripter/syntax/syntax.py
|
||||||
|
@@ -30,16 +30,16 @@ class PythonHighlighter (QSyntaxHighlighter):
|
||||||
|
# Comparison
|
||||||
|
'==', '!=', '<', '<=', '>', '>=',
|
||||||
|
# Arithmetic
|
||||||
|
- '\+', '-', '\*', '/', '//', '\%', '\*\*',
|
||||||
|
+ r'\+', '-', r'\*', '/', '//', r'\%', r'\*\*',
|
||||||
|
# In-place
|
||||||
|
- '\+=', '-=', '\*=', '/=', '\%=',
|
||||||
|
+ r'\+=', '-=', r'\*=', '/=', r'\%=',
|
||||||
|
# Bitwise
|
||||||
|
- '\^', '\|', '\&', '\~', '>>', '<<',
|
||||||
|
+ r'\^', r'\|', r'\&', r'\~', '>>', '<<',
|
||||||
|
]
|
||||||
|
|
||||||
|
# Python braces
|
||||||
|
braces = [
|
||||||
|
- '\{', '\}', '\(', '\)', '\[', '\]',
|
||||||
|
+ r'\{', r'\}', r'\(', r'\)', r'\[', r'\]',
|
||||||
|
]
|
||||||
|
|
||||||
|
def __init__(self, document, syntaxStyle):
|
||||||
|
--
|
||||||
|
GitLab
|
||||||
|
|
3
krita-5.2.10.tar.xz
Normal file
3
krita-5.2.10.tar.xz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:00db535f09a1f842af0f6dac6288fd01769b9f132faea33a08c10835739c5407
|
||||||
|
size 190972756
|
BIN
krita-5.2.10.tar.xz.sig
Normal file
BIN
krita-5.2.10.tar.xz.sig
Normal file
Binary file not shown.
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:cf78ddb39700c92928cf14d7611b8ef3870d8f5b83ef590d43e218bec5dafd54
|
|
||||||
size 186685456
|
|
Binary file not shown.
228
krita.changes
228
krita.changes
@@ -1,3 +1,231 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jul 10 13:23:40 UTC 2025 - Christophe Marin <christophe@krop.fr>
|
||||||
|
|
||||||
|
- Add upstream change:
|
||||||
|
* 0001-Fix-build-with-libheif-1.20.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jul 9 10:32:59 UTC 2025 - Christophe Marin <christophe@krop.fr>
|
||||||
|
|
||||||
|
- Update to 5.2.10
|
||||||
|
https://krita.org/en/posts/2025/krita-5.2.10-released/
|
||||||
|
* Raster layer opacity changes now properly clear the animation
|
||||||
|
cache. (kde#499389)
|
||||||
|
* Fix incorrect scaling of animated transform mask values.
|
||||||
|
(kde#469881)
|
||||||
|
* Allow resetting onion skins to default values. (kde#466977)
|
||||||
|
* Fix a crash in clipboard handling. (kde#501560)
|
||||||
|
* Resize canvas: reset the canvas size when toggling the
|
||||||
|
"preserve aspect ratio" button. (kde#452605)
|
||||||
|
* TIFF: Tiff files would append the entire image again on
|
||||||
|
saving again because we didn't truncate the file on
|
||||||
|
saving. (kde#500870)
|
||||||
|
* Fix a crash when autosaving extremely big files.
|
||||||
|
* Make updating the rulers more responsive during canvas
|
||||||
|
transformations
|
||||||
|
* Make panning more responsive
|
||||||
|
* Improve performance of the statusbar
|
||||||
|
* Fix the transform tool to show reordered layers preview
|
||||||
|
(kde#503201)
|
||||||
|
* OpenRaster: default group layers to non-passthrough mode,
|
||||||
|
following the specitication. Thanks Wareya Na!
|
||||||
|
* Palettes: use the title field for the palette name for
|
||||||
|
Adobe Color Book palettes
|
||||||
|
* Fix the brush preview when creating a new preset with canvas
|
||||||
|
mirroring enabled. (kde#501153)
|
||||||
|
* Fix handling of groups in palette files
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri May 30 11:51:38 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
|
||||||
|
|
||||||
|
- backport 5d44af277b005692241a09f30e11bb0d16166823.patch:
|
||||||
|
Fix Python invalid escape sequence warnings boo#1243841
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jan 30 07:56:44 UTC 2025 - Christophe Marin <christophe@krop.fr>
|
||||||
|
|
||||||
|
- Update to 5.2.9
|
||||||
|
* Add shortcuts to bezier curve and freehand path
|
||||||
|
* Fix original offsets not being accounted for when copying
|
||||||
|
from another document (kde#490998)
|
||||||
|
* Fix updates when copy-pasting multiple nodes into a new document
|
||||||
|
* Fix infinite loop when trying to update pass-through nodes
|
||||||
|
(kde#493774, kde#493830, kde#493837)
|
||||||
|
* Fix Photobash Crash
|
||||||
|
* Bug fix: Added A1 and A2 sizes when creating a document
|
||||||
|
* Fix a crash when trying to merge down a layer created after
|
||||||
|
a reference image addition
|
||||||
|
* Possibly fix saving EXR files with extremely low alpha values
|
||||||
|
* Fix infinite loop when a clone layer is connected to a
|
||||||
|
group with clones
|
||||||
|
* Dynamic brush tool shouldn't load the saved smoothing
|
||||||
|
configuration (kde#493249)
|
||||||
|
* Fix bogus offset when saving EXR with moved layers
|
||||||
|
* Try to keep color space profile when saving EXR of
|
||||||
|
incompatible type
|
||||||
|
* Fix crash when re-importing the same resource, but changed
|
||||||
|
(kde#484796)
|
||||||
|
* Fix range of Saturation and Value brush options (kde#487469)
|
||||||
|
* Check pointer before dereferencing. (kde#479405)
|
||||||
|
* Fix loading .kpp files with embedded top-level resources
|
||||||
|
(kde#487866, kde#456586, kde#456197)
|
||||||
|
* Fix a crash when trying to clear scratchpad while it is busy
|
||||||
|
(kde#488800)
|
||||||
|
* Fix the current preset thumbnail to be present in the preset
|
||||||
|
save dialog (kde#488673, kde#446792)
|
||||||
|
* JPEG XL: Fix potential lockup when loading multipage images
|
||||||
|
* Set the correct shortcut for zoom in in the action file
|
||||||
|
(kde#484365)
|
||||||
|
* Fixed: some tools is interrupted by recorder. (kde#488472,
|
||||||
|
kde#477715, kde#484783)
|
||||||
|
* Make sure that the text tool is not interrupted by the
|
||||||
|
recorder (kde#495768)
|
||||||
|
* Recover "Clean Up" button in the Krita's Recordings Manager
|
||||||
|
(kde#455207)
|
||||||
|
* Fix a possible saving lockout due to incorrect ownership of
|
||||||
|
the saving mutex (kde#496018)
|
||||||
|
* Fixes to the unit spinboxes, a new context menu has been
|
||||||
|
added to change the unit.
|
||||||
|
* Make vector and raster selections to behave in the same way
|
||||||
|
when creating tiny selections (kde#445935)
|
||||||
|
* Fix unclosed paths when intersecting two rectangular
|
||||||
|
selections (kde#408369)
|
||||||
|
* Fix crash when closing Krita while Calligraphy Tool is
|
||||||
|
active (kde#496257)
|
||||||
|
* Fix following existing shape in the Calligraphy Tool
|
||||||
|
(kde#433288)
|
||||||
|
* Fix "Copy into new Layer" action when working with vector
|
||||||
|
layers (kde#418317)
|
||||||
|
* Make sure that eraser button is properly initialized on
|
||||||
|
Krita start (kde#408440)
|
||||||
|
* Fix focus issues in Canvas Size dialog (kde#474809)
|
||||||
|
* Disable snapping to image center by default (kde#466718)
|
||||||
|
* Make sure that point-based snap points have higher priority
|
||||||
|
than line-based ones (kde#492434)
|
||||||
|
* Implement canvas decorations for Snap-to-guides feature
|
||||||
|
-Don't allow lowering/raising a mask into a locked layer
|
||||||
|
* Fix display profile conversion flags to be updated on
|
||||||
|
settings change (kde#496388)
|
||||||
|
* Switch color history in the popup palette to use last-used
|
||||||
|
sorting (kde#441900)
|
||||||
|
* Add Unify Layers Color Space action
|
||||||
|
* Fix incorrect action text for "Paste Shape Style"
|
||||||
|
(kde#497035)
|
||||||
|
* Fix backward compatibility of Per-Channel filter (kde#497336)
|
||||||
|
* Fix rendering of the warning icon in the composite op
|
||||||
|
selector
|
||||||
|
* Simplify path point and control point move strategies.
|
||||||
|
* Fix an assert when modifying Mesh Gradient on a shape
|
||||||
|
(kde#496519)
|
||||||
|
* Fix aspect ratio of Resource Manager tooltips
|
||||||
|
* Improve rendering of pattern thumbnails
|
||||||
|
* Fix artifacts when painting under a gaussian blus layer in
|
||||||
|
WA-mode (kde#434938)
|
||||||
|
* Fix an assert when undoing merging of locked layers
|
||||||
|
(kde#497389)
|
||||||
|
* Remove ignoring of the mouse events in KoPathTool (kde#411855)
|
||||||
|
* Use traceback instead of cgitb (kde#497859)
|
||||||
|
* Fix ambiguous "break path" shortcut in Shape Edit Tool
|
||||||
|
(kde#429503)
|
||||||
|
* Add position indepndent property to libraqm
|
||||||
|
* Fix python Py_SetPath() deprecation by always using qputenv()
|
||||||
|
* JPEG XL export: Fix unable to set EPF value to -1 (encoder
|
||||||
|
chooses)
|
||||||
|
* G'Mic has been updated to 3.5.0 stable.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 20 17:17:50 UTC 2024 - Christophe Marin <christophe@krop.fr>
|
||||||
|
|
||||||
|
- Stop using the %suse_update_desktop_file macro
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Oct 1 21:38:05 UTC 2024 - Christophe Marin <christophe@krop.fr>
|
||||||
|
|
||||||
|
- Update to 5.2.6:
|
||||||
|
* Fix a critical error with pass-through group layers (kde#493774)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Sep 29 15:21:49 UTC 2024 - Christophe Marin <christophe@krop.fr>
|
||||||
|
|
||||||
|
- Update to 5.2.5
|
||||||
|
https://krita.org/en/posts/2024/krita-5-2-5-released/
|
||||||
|
* Correctly adjust audio playback when animation framerate is
|
||||||
|
changed.
|
||||||
|
* Fix no layer being activated on opening a document (kde#490375)
|
||||||
|
* [mlt] Fix incorrect usage of get_frame API (kde#489146)
|
||||||
|
* Fix forbidden cursor blinking when switching tools with
|
||||||
|
shortcuts (kde#490255)
|
||||||
|
* Fix conflicts between mouse and touch actions requested
|
||||||
|
concurrently (kde#489537)
|
||||||
|
* Only check for the presence of bt2020PQColorSpace on
|
||||||
|
Windows (kde#490301)
|
||||||
|
* Run macdeployqt after searching for missing libs (kde#490181)
|
||||||
|
* Fix crash when deleting composition
|
||||||
|
* Fix scaling down image with 1px grid spacing (kde#490898)
|
||||||
|
* Fix layer activation issue when opening multiple
|
||||||
|
documents (kde#490843)
|
||||||
|
* Make clip-board pasting code a bit more robust (kde#490636)
|
||||||
|
* Fix a number of issues with frame generation (kde#486417)
|
||||||
|
* A number of changes related to qt6 port changes.
|
||||||
|
* Fix black canvas appearing when "Limit animation frame size"
|
||||||
|
is active (kde#486417)
|
||||||
|
* WebP: fix colorspace export issue when dithering is
|
||||||
|
enabled (kde#491231)
|
||||||
|
* WebP: preserve color profile on export if color model is RGB(A)
|
||||||
|
* Fix layer selection when a layer was removed while view was inactive
|
||||||
|
* Fix On-Canvas Brush Editor's decimal sliders (kde#447800, kde#457744)
|
||||||
|
* Make sure file layers are updated when image size or resolution
|
||||||
|
changes (kde#467257, kde#470110)
|
||||||
|
* Fix Advanced Export of the image with filter masks or layer
|
||||||
|
styles (kde#476980)
|
||||||
|
* Avoid memory leak in the advanced export function
|
||||||
|
* Fix mipmaps not being regenerated after transformation was
|
||||||
|
finished or cancelled (kde#480973)
|
||||||
|
* [Gentoo] Don't use xsimd::default_arch in the pixel scaler code
|
||||||
|
* KisZug: Fix ODR violation for map_*
|
||||||
|
* Fix a crash in Filter Brush when changing the filter type (kde#478419)
|
||||||
|
* PSD: Don't test reference layer for homogenous check (kde#492236)
|
||||||
|
* Fix an assert that should have been a safe assert (kde#491665)
|
||||||
|
* Set minimum freetype version to 2.11 (kde#489377)
|
||||||
|
* Set Krita Default on restoring defaults (kde#488478)
|
||||||
|
* Fix loading translated news (kde#489477)
|
||||||
|
* Make sure that older files with simple transform masks load
|
||||||
|
fine & Fix infinite loop with combination of
|
||||||
|
clone + transform-mask-on-source (kde#492320)
|
||||||
|
* Fix more cycling updates in clone/transform-masks
|
||||||
|
combinations (kde#443766)
|
||||||
|
* Fix incorrect threaded image access in multiple clone
|
||||||
|
layers (kde#449964)
|
||||||
|
* TIFF: Ignore resolution if set to 0 (kde#473090)
|
||||||
|
* Specific Color Selector: Update labels fox HSX (kde#475551)
|
||||||
|
* Specific Color Selector: Fix RGB sliders changing
|
||||||
|
length (kde#453649)
|
||||||
|
* Specific Color Selector: Fix float slider step 1 -> 0.01
|
||||||
|
* Specific Color Selector: Fix holding down spinbox
|
||||||
|
arrows (kde#453366)
|
||||||
|
* Fix clone layers resetting the animation cache (kde#484353)
|
||||||
|
* Fix an assert when trying to activate an image
|
||||||
|
snapshot (kde#492114)
|
||||||
|
* Fix redo actions to appear when undoing juggler-compressed
|
||||||
|
actions (kde#491186)
|
||||||
|
* Update cache when cloning perspective assistants (kde#493185)
|
||||||
|
* Fix a warning on undoing flattening a group (kde#474122)
|
||||||
|
* Relink clones to the new layer when flattening (kde#476514)
|
||||||
|
* Fix onion skins rendering on layers with a transform
|
||||||
|
masks (kde#457136)
|
||||||
|
* Fix perspective value for hovering pixel
|
||||||
|
* Fix Move and Transform tool to work with Pass-Through
|
||||||
|
groups (kde#457957)
|
||||||
|
* JPEG XL: Export: implement streaming encoding and progress
|
||||||
|
reporting
|
||||||
|
* Deselect selection when pasting from the clipboard (kde#459162)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Sep 15 15:26:32 UTC 2024 - Giacomo Comes <gcomes.obs@gmail.com>
|
||||||
|
|
||||||
|
- Revert to use default gcc on Tumbleweed
|
||||||
|
* issue between boost and gcc14 has been fixed
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Sep 11 20:54:45 UTC 2024 - Christophe Marin <christophe@krop.fr>
|
Wed Sep 11 20:54:45 UTC 2024 - Christophe Marin <christophe@krop.fr>
|
||||||
|
|
||||||
|
BIN
krita.keyring
BIN
krita.keyring
Binary file not shown.
19
krita.spec
19
krita.spec
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package krita
|
# spec file for package krita
|
||||||
#
|
#
|
||||||
# Copyright (c) 2024 SUSE LLC
|
# Copyright (c) 2025 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
%define pyver python311
|
%define pyver python311
|
||||||
%endif
|
%endif
|
||||||
Name: krita
|
Name: krita
|
||||||
Version: 5.2.3
|
Version: 5.2.10
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Digital Painting Application
|
Summary: Digital Painting Application
|
||||||
License: BSD-2-Clause AND GPL-2.0-or-later AND LGPL-2.0-or-later AND LGPL-2.1-or-later AND GPL-3.0-or-later AND CC0-1.0 AND LGPL-2.0-only
|
License: BSD-2-Clause AND GPL-2.0-or-later AND LGPL-2.0-or-later AND LGPL-2.1-or-later AND GPL-3.0-or-later AND CC0-1.0 AND LGPL-2.0-only
|
||||||
@@ -41,17 +41,16 @@ Source2: krita.keyring
|
|||||||
%endif
|
%endif
|
||||||
# PATCH-FIX-UPSTREAM
|
# PATCH-FIX-UPSTREAM
|
||||||
Patch0: 0004-Fix-build-with-sip6.8.patch
|
Patch0: 0004-Fix-build-with-sip6.8.patch
|
||||||
|
# PATCH-FIX-UPSTREAM
|
||||||
|
Patch1: 5d44af277b005692241a09f30e11bb0d16166823.patch
|
||||||
|
# PATCH-FIX-UPSTREAM
|
||||||
|
Patch2: 0001-Fix-build-with-libheif-1.20.patch
|
||||||
BuildRequires: %{pyver}-devel
|
BuildRequires: %{pyver}-devel
|
||||||
BuildRequires: %{pyver}-qt5-devel
|
BuildRequires: %{pyver}-qt5-devel
|
||||||
BuildRequires: %{pyver}-sip-devel
|
BuildRequires: %{pyver}-sip-devel
|
||||||
BuildRequires: OpenEXR-devel
|
BuildRequires: OpenEXR-devel
|
||||||
BuildRequires: extra-cmake-modules
|
BuildRequires: extra-cmake-modules
|
||||||
BuildRequires: fftw3-devel
|
BuildRequires: fftw3-devel
|
||||||
# gcc 14 became the default compiler despite knowing it was causing boost issue. Stick to gcc 13 for the moment
|
|
||||||
%if 0%{?suse_version} > 1500
|
|
||||||
BuildRequires: gcc13-c++
|
|
||||||
BuildRequires: gcc13-PIE
|
|
||||||
%endif
|
|
||||||
BuildRequires: giflib-devel
|
BuildRequires: giflib-devel
|
||||||
BuildRequires: gsl-devel
|
BuildRequires: gsl-devel
|
||||||
%if 0%{?suse_version} > 1500
|
%if 0%{?suse_version} > 1500
|
||||||
@@ -73,7 +72,6 @@ BuildRequires: libtiff-devel
|
|||||||
BuildRequires: openjpeg2-devel
|
BuildRequires: openjpeg2-devel
|
||||||
BuildRequires: perl
|
BuildRequires: perl
|
||||||
BuildRequires: pkgconfig
|
BuildRequires: pkgconfig
|
||||||
BuildRequires: update-desktop-files
|
|
||||||
BuildRequires: zlib-devel
|
BuildRequires: zlib-devel
|
||||||
BuildRequires: cmake(Immer)
|
BuildRequires: cmake(Immer)
|
||||||
BuildRequires: cmake(KF5Completion)
|
BuildRequires: cmake(KF5Completion)
|
||||||
@@ -146,9 +144,6 @@ Development headers and libraries for Krita.
|
|||||||
%autosetup -p1
|
%autosetup -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%if 0%{?suse_version} > 1500
|
|
||||||
export CC=gcc-13 CXX=g++-13
|
|
||||||
%endif
|
|
||||||
%cmake_kf5 -d build -- -DKRITA_ENABLE_PCH:BOOL=OFF
|
%cmake_kf5 -d build -- -DKRITA_ENABLE_PCH:BOOL=OFF
|
||||||
|
|
||||||
%cmake_build
|
%cmake_build
|
||||||
@@ -156,8 +151,6 @@ export CC=gcc-13 CXX=g++-13
|
|||||||
%install
|
%install
|
||||||
%kf5_makeinstall -C build
|
%kf5_makeinstall -C build
|
||||||
|
|
||||||
%suse_update_desktop_file -r org.kde.krita Qt KDE Graphics RasterGraphics
|
|
||||||
|
|
||||||
%find_lang %{name}
|
%find_lang %{name}
|
||||||
|
|
||||||
chmod -x %{buildroot}%{_kf5_applicationsdir}/*.desktop
|
chmod -x %{buildroot}%{_kf5_applicationsdir}/*.desktop
|
||||||
|
Reference in New Issue
Block a user