https://bugs.kde.org/show_bug.cgi?id=421363

Sharaf <sharafzaz...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |sharafzaz...@gmail.com

--- Comment #3 from Sharaf <sharafzaz...@gmail.com> ---
Hello!

I looked into this and our 8 bit KisFixedPoint representation fails to map
values lesser than 1 >> 8 which it gets from KisFilterWeightsBuffer. The
trivial solution I came up with is below. It works fine and doesn't seem to
cause problems. But I'm not sure if this is the right place for this guard.
Halla or Dmitry would probably know?

diff --git a/libs/image/kis_filter_weights_buffer.h
b/libs/image/kis_filter_weights_buffer.h
index 4b649ba01c..26d64d66d0 100644
--- a/libs/image/kis_filter_weights_buffer.h
+++ b/libs/image/kis_filter_weights_buffer.h
@@ -154,7 +154,7 @@ public:
         KisFixedPoint supportSrc;
         KisFixedPoint supportDst;

-        if (realScale < 1.0) {
+        if (realScale < 1.0 && realScale > (1 >> 8)) {
             m_weightsPositionScale = KisFixedPoint(realScale);
            
supportSrc.from256Frac(filterStrategy->intSupport(m_weightsPositionScale.toFloat())
/ realScale);
            
supportDst.from256Frac(filterStrategy->intSupport(m_weightsPositionScale.toFloat()));

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to