[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [calligra] krita/plugins/paintops/libpaintop: Fixed an assert in the cache when painting with variou
From: Dmitry Kazakov <dimula73 () gmail ! com>
Date: 2012-10-09 10:51:25
Message-ID: 20121009105125.8345BA605D () git ! kde ! org
[Download RAW message or body]
Git commit 8b0bf39d0e61249778884417bb89b3298612cae5 by Dmitry Kazakov.
Committed on 09/10/2012 at 12:50.
Pushed by dkazakov into branch 'master'.
Fixed an assert in the cache when painting with various color sources
M +9 -7 krita/plugins/paintops/libpaintop/kis_dab_cache.cpp
http://commits.kde.org/calligra/8b0bf39d0e61249778884417bb89b3298612cae5
diff --git a/krita/plugins/paintops/libpaintop/kis_dab_cache.cpp \
b/krita/plugins/paintops/libpaintop/kis_dab_cache.cpp index 9106012..192fc9f 100644
--- a/krita/plugins/paintops/libpaintop/kis_dab_cache.cpp
+++ b/krita/plugins/paintops/libpaintop/kis_dab_cache.cpp
@@ -227,28 +227,29 @@ KisFixedPaintDeviceSP KisDabCache::fetchDabCommon(const \
KoColorSpace *cs, }
else {
if (!colorSource) {
- Q_ASSERT(*color.colorSpace() == *cs);
+ KoColor paintColor = color;
+ paintColor.convertTo(cs);
- *m_cachedDabParameters = getDabParameters(color,
+ *m_cachedDabParameters = getDabParameters(paintColor,
scaleX, scaleY,
angle, info,
subPixelX, subPixelY,
softnessFactor);
- m_brush->mask(m_dab, color, scaleX, scaleY, angle,
+ m_brush->mask(m_dab, paintColor, scaleX, scaleY, angle,
info, subPixelX, subPixelY, softnessFactor);
} else if (colorSource->isUniformColor()) {
- Q_ASSERT(*colorSource->colorSpace() == *cs);
- KoColor color = colorSource->uniformColor();
+ KoColor paintColor = colorSource->uniformColor();
+ paintColor.convertTo(cs);
- *m_cachedDabParameters = getDabParameters(color,
+ *m_cachedDabParameters = getDabParameters(paintColor,
scaleX, scaleY,
angle, info,
subPixelX, subPixelY,
softnessFactor);
- m_brush->mask(m_dab, color, scaleX, scaleY, angle,
+ m_brush->mask(m_dab, paintColor, scaleX, scaleY, angle,
info, subPixelX, subPixelY, softnessFactor);
} else {
if (!m_colorSourceDevice || !(*cs == \
*m_colorSourceDevice->colorSpace())) { @@ -259,6 +260,7 @@ KisFixedPaintDeviceSP \
KisDabCache::fetchDabCommon(const KoColorSpace *cs,
QRect maskRect(0, 0, m_brush->maskWidth(scaleX, angle, info), \
m_brush->maskHeight(scaleY, angle, info));
colorSource->colorize(m_colorSourceDevice, maskRect, \
info.pos().toPoint()); + delete m_colorSourceDevice->convertTo(cs);
m_brush->mask(m_dab, m_colorSourceDevice, scaleX, scaleY, angle,
info, subPixelX, subPixelY, softnessFactor);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic