Diffusion Krita aeec54c45b25

Fix artifacts when moving control points of path shape

Authored by dkazakov on Aug 30 2019, 12:43 PM.

Description

Fix artifacts when moving control points of path shape

In older (non-multithreaded) days calligra used extremely
hackish way of updating vactor shapes. It first called shape->update(),
then changed shape, then called shape->update() again. It could only work
when the updates were guaranteed to be queued and parsed in the next
window paint event. We don't have this guarantee in Krita for years,
so this method just cannot work. Instead, we should manually aggregate
dirty rect in the call and then call
shape->updateAbsolute(oldDirtyRect | shape->boundingRect). That is the only
way to guarantee that updates will happen correctly.

BUG:411334

Details

Committed
dkazakovSep 13 2019, 8:56 AM
Parents
R37:b92431e2c48d: Fix extremely slow dragging of points in a shape with KoPathTool
Branches
Unknown
Tags
Unknown