https://bugs.kde.org/show_bug.cgi?id=374142
Dmitry Kazakov <dimul...@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Latest Commit| |https://commits.kde.org/kri | |ta/02ac4216a4913fe3e5f69e72 | |81c5f72a6df91c9e Status|CONFIRMED |RESOLVED Resolution|--- |FIXED --- Comment #19 from Dmitry Kazakov <dimul...@gmail.com> --- Git commit 02ac4216a4913fe3e5f69e7281c5f72a6df91c9e by Dmitry Kazakov. Committed on 25/03/2017 at 16:49. Pushed by dkazakov into branch 'kazakov/svg-loading'. Fix resetting the paint device cache on every iterator completion This bug should have happened one day. We should reset the paint device cache not only on the creation of the iterator, but also on its completion. The actual bug happened because of concurrency, while the stroke was filling the selection, an delayed updateGUI() in the status bar requested selection->selectedExactRect(), which effectively updated the cache with empty rect (which it was at that moment). And when the iterator completed with the updated seleciton, the cache was already initialized with wrong (empty) rect. Now all the iterators notify the paint device about their completion using a special interface, therefore the problem cannot happen, all the editing event will be synchronized. A +33 -0 libs/image/kis_iterator_complete_listener.h [License: GPL (v2+)] M +6 -2 libs/image/kis_paint_device.cc M +31 -8 libs/image/kis_paint_device_data.h M +12 -12 libs/image/kis_paint_device_strategies.h M +13 -11 libs/image/kis_repeat_iterators_pixel.h M +4 -2 libs/image/kis_wrapped_hline_iterator.h M +4 -2 libs/image/kis_wrapped_line_iterator_base.h M +2 -1 libs/image/kis_wrapped_random_accessor.cpp M +1 -0 libs/image/kis_wrapped_random_accessor.h M +4 -2 libs/image/kis_wrapped_vline_iterator.h M +11 -1 libs/image/tiles3/kis_base_iterator.h M +2 -2 libs/image/tiles3/kis_hline_iterator.cpp M +1 -1 libs/image/tiles3/kis_hline_iterator.h M +7 -2 libs/image/tiles3/kis_random_accessor.cc M +3 -1 libs/image/tiles3/kis_random_accessor.h M +2 -2 libs/image/tiles3/kis_vline_iterator.cpp M +1 -1 libs/image/tiles3/kis_vline_iterator.h https://commits.kde.org/krita/02ac4216a4913fe3e5f69e7281c5f72a6df91c9e -- You are receiving this mail because: You are watching all bug changes.