Bug#1040586: krita: Krita Comics Manager crashes creating new template or page
Package: krita
Version: 1:5.1.5+dfsg-2
Followup-For: Bug #1040586
X-Debbugs-Cc: fenixian@gmail.com
Patch: yes
Dear Maintainer,
I have been doing some test and it seems that something changed the way floats
are cast automatically to integers.
I have done a force casting and this workaround works for me. I attach patch
showing the changes.
But I really don't where this come from. My knowledge about PyQt5 and Krita
is limited.
I hope this helps to find a better fix.
Greetings.
-- System Information:
Debian Release: trixie/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 6.3.0-1-amd64 (SMP w/12 CPU threads; PREEMPT)
Locale: LANG=es_ES.UTF-8, LC_CTYPE=es_ES.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages krita depends on:
ii krita-data 1:5.1.5+dfsg-2
ii libc6 2.37-3
ii libexiv2-27 0.27.6-1
ii libfftw3-double3 3.3.10-1
ii libgcc-s1 13.1.0-6
ii libgif7 5.2.1-2.5
ii libgsl27 2.7.1+dfsg-5
ii libheif1 1.16.2-1+b1
ii libimath-3-1-29 3.1.6-1
ii libjpeg62-turbo 1:2.1.5-2
ii libjxl0.7 0.7.0-10
ii libkf5completion5 5.107.0-1
ii libkf5configcore5 5.107.0-1
ii libkf5configgui5 5.107.0-1
ii libkf5coreaddons5 5.107.0-1
ii libkf5crash5 5.107.0-1
ii libkf5guiaddons5 5.107.0-1
ii libkf5i18n5 5.107.0-1
ii libkf5itemviews5 5.107.0-1
ii libkf5widgetsaddons5 5.107.0-1
ii libkf5windowsystem5 5.107.0-1
ii libkseexpr4 4.0.4.0-4
ii libkseexprui4 4.0.4.0-4
ii liblcms2-2 2.14-2
ii libmypaint-1.5-1 1.6.0-2
ii libopencolorio2.1 2.1.2+dfsg1-4+b3
ii libopenexr-3-1-30 3.1.5-5
ii libopenjp2-7 2.5.0-2
ii libpng16-16 1.6.40-1
ii libpoppler-qt5-1 22.12.0-2+b1
ii libpython3.11 3.11.4-1
ii libqt5core5a 5.15.8+dfsg-12
ii libqt5dbus5 5.15.8+dfsg-12
ii libqt5gui5 5.15.8+dfsg-12
ii libqt5multimedia5 5.15.8-2
ii libqt5network5 5.15.8+dfsg-12
ii libqt5printsupport5 5.15.8+dfsg-12
ii libqt5qml5 5.15.8+dfsg-3
ii libqt5quick5 5.15.8+dfsg-3
ii libqt5quickwidgets5 5.15.8+dfsg-3
ii libqt5sql5 5.15.8+dfsg-12
ii libqt5sql5-sqlite 5.15.8+dfsg-12
ii libqt5svg5 5.15.8-3
ii libqt5widgets5 5.15.8+dfsg-12
ii libqt5x11extras5 5.15.8-2
ii libqt5xml5 5.15.8+dfsg-12
ii libquazip5-1 0.9.1-3
ii libraw20 0.20.2-2.1
ii libstdc++6 13.1.0-6
ii libtiff6 4.5.1-1
ii libturbojpeg0 1:2.1.5-2
ii libwebp7 1.2.4-0.2
ii libx11-6 2:1.8.6-1
ii zlib1g 1:1.2.13.dfsg-1
Versions of packages krita recommends:
ii krita-gmic 2.9.4-4+b4
ii python3-pyqt5 5.15.9+dfsg-1
ii python3-sip 4.19.25+dfsg-5+b1
ii qml-module-qtmultimedia 5.15.8-2
Versions of packages krita suggests:
ii colord 1.4.6-2.2
ii ffmpeg 7:5.1.3-1
pn krita-l10n <none>
-- no debconf information
--- comics_project_manager_docker.py 2023-07-08 02:12:56.806462080 +0200
+++ comics_project_manager_docker_fix.py 2023-07-08 02:03:24.677998546 +0200
@@ -93,7 +93,8 @@
topSizeThumbnail = ((rect.height()-imageSize.height())/2)+rect.top()
thumbImage = icon.pixmap(imageSizeHighDPI).toImage()
thumbImage.setDevicePixelRatio(self.devicePixelRatioF)
- painter.drawImage(QRect(leftSideThumbnail, topSizeThumbnail, imageSize.width(), imageSize.height()), thumbImage)
+
+ painter.drawImage(QRect(int(leftSideThumbnail), int(topSizeThumbnail), int(imageSize.width()), int(imageSize.height())), thumbImage)
labelWidth = rect.width()-decoratonSize.width()-(margin*3)
@@ -136,8 +137,8 @@
descRect = QRect(textRect.left(), textRect.bottom()+margin, labelWidth, (rect.bottom()-margin) - (textRect.bottom()+margin))
if textRect.bottom()+metrics.height() < rect.bottom():
- textRect.setBottom(textRect.bottom()+(margin/2))
- textRect.setLeft(textRect.left()-(margin/2))
+ textRect.setBottom(int(textRect.bottom()+(margin/2)))
+ textRect.setLeft(int(textRect.left()-(margin/2)))
painter.setOpacity(0.4)
painter.drawLine(textRect.bottomLeft(), textRect.bottomRight())
painter.setOpacity(1.0)
--- comics_template_dialog.py 2023-07-08 02:12:45.802376577 +0200
+++ comics_template_dialog_fix.py 2023-07-08 01:50:55.808011929 +0200
@@ -296,8 +296,8 @@
bB = self.bleedBottomUnit.pixelsForUnit(self.bleedBottom.value(), self.DPI.value())
mT = self.marginTopUnit.pixelsForUnit(self.marginTop.value(), self.DPI.value())
mB = self.marginBottomUnit.pixelsForUnit(self.marginBottom.value(), self.DPI.value())
-
- template = Application.createDocument((wBase + bL + bR), (hBase + bT + bB), self.templateName.text(), "RGBA", "U8", "sRGB built-in", self.DPI.value())
+
+ template = Application.createDocument(int((wBase + bL + bR)), int((hBase + bT + bB)), self.templateName.text(), "RGBA", "U8", "sRGB built-in", self.DPI.value())
backgroundName = i18n("Background")
if len(template.topLevelNodes()) > 0:
Reply to: