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

Dmitry Kazakov <dimul...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Latest Commit|                            |https://invent.kde.org/kde/
                   |                            |krita/commit/0f9c5472581252
                   |                            |a6c5e34ec912a292138d960ef8
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED

--- Comment #5 from Dmitry Kazakov <dimul...@gmail.com> ---
Git commit 0f9c5472581252a6c5e34ec912a292138d960ef8 by Dmitry Kazakov.
Committed on 06/09/2019 at 13:46.
Pushed by dkazakov into branch 'master'.

Fix crash after cropping a specific image

This patch ends the era of the custom "empty extent" value
QRect(quint32_MAX, quint32_MAX, 0, 0). When I started refactoring
tile engine ten years ago in 2009, this "empty extent" flag was
already present. It was just a result of the way how extent was
calculated those days. I guess it was also considered as
an "optimization", or as "a flag" that could ease debugging a bit
(and it actually did help debugging a couple of times).

Years passed by and I considered to remove this custom value multiple
times. It was always causing troubles, because the QRect is not safe
against integer oveflows. But the problem was, there was code outside
tiles engine that relied on this behavior. So I was always scared of
the actual removal. Even when the tile engine was rewritten again
to become lockfree in 2017, I insisted on keeping the old behavior...

So, it looks like now all code that relies on this custom value is gone,
so it should be safe to remove it.

Funny side, I guess it was one of few artifacts that were still kept
in Krita since 'tiles' and 'tiles_new' days (has anyone ever wondered
why the engine's folder is called 'tiles3'?) ;)

M  +9    -9    libs/image/tests/kis_iterator_test.cpp
M  +11   -11   libs/image/tests/kis_iterators_ng_test.cpp
M  +10   -10   libs/image/tiles3/KisTiledExtentManager.cpp
M  +14   -4    libs/image/tiles3/kis_memento.h
M  +1    -1    libs/image/tiles3/tests/kis_tiled_data_manager_test.cpp

https://invent.kde.org/kde/krita/commit/0f9c5472581252a6c5e34ec912a292138d960ef8

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

Reply via email to