https://bugs.kde.org/show_bug.cgi?id=445476
Dmitry Kazakov <dimul...@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Latest Commit| |https://invent.kde.org/grap | |hics/krita/commit/a8e0e4f40 | |37f8998ba01a33e3dad7e87046e | |2b33 Status|REPORTED |RESOLVED --- Comment #19 from Dmitry Kazakov <dimul...@gmail.com> --- Git commit a8e0e4f4037f8998ba01a33e3dad7e87046e2b33 by Dmitry Kazakov. Committed on 23/11/2021 at 13:36. Pushed by dkazakov into branch 'master'. [not for 5.0] Fix flickering of tilt-controlled brushes on tablet release When the stylus leaves the tablet surface a pair of KisToolPaint::activatePrimaryAction()/deactivatePrimaryAction() events is delivered to the tool. They request update of the tool outline, but since there is no pointer event available, this outline was generated via a non-tilted/non-rotated fallback case. It caused a visible flickering while painting. The patch implements multiple things: 1) It severely refactors KoPointerEvent to allow copying and storage of such events. Now the class became "much more simple and understandable" (c) due to the usage of boost::variant2 (which is technically a C++17's std::variant). 2) Now the tool can request the last delivered pointer event from the canvas via KoToolBase::lastDeliveredPointerEvent(). M +277 -130 libs/flake/KoPointerEvent.cpp M +48 -47 libs/flake/KoPointerEvent.h M +11 -0 libs/flake/KoToolBase.cpp M +7 -0 libs/flake/KoToolBase.h M +13 -8 libs/flake/KoToolProxy.cpp M +2 -0 libs/flake/KoToolProxy.h M +4 -1 libs/flake/KoToolProxy_p.h M +0 -1 libs/ui/canvas/kis_tool_proxy.cpp M +3 -43 libs/ui/input/kis_input_manager.cpp M +4 -1 libs/ui/tool/kis_tool_freehand_helper.cpp M +1 -1 libs/ui/tool/kis_tool_paint.cc M +1 -5 libs/ui/widgets/kis_scratch_pad_event_filter.cpp https://invent.kde.org/graphics/krita/commit/a8e0e4f4037f8998ba01a33e3dad7e87046e2b33 -- You are receiving this mail because: You are watching all bug changes.