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 |https://commits.kde.org/kri |ta/02ac4216a4913fe3e5f69e72 |ta/3a50b43867cb70b10d139c5d |81c5f72a6df91c9e |b8e1217d96217d50 --- Comment #20 from Dmitry Kazakov <dimul...@gmail.com> --- Git commit 3a50b43867cb70b10d139c5db8e1217d96217d50 by Dmitry Kazakov. Committed on 29/03/2017 at 10:03. Pushed by dkazakov into branch 'krita/3.1'. 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/3a50b43867cb70b10d139c5db8e1217d96217d50 -- You are receiving this mail because: You are watching all bug changes.