Summary: | Painting on filter masks created from vector selections generally produces crashes or artifacts | ||
---|---|---|---|
Product: | [Applications] krita | Reporter: | tomtomtomreportingin |
Component: | Tools/Freehand | Assignee: | Dmitry Kazakov <dimula73> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | dimula73 |
Priority: | NOR | Keywords: | regression |
Version: | 4.4.2 | ||
Target Milestone: | --- | ||
Platform: | Appimage | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/graphics/krita/commit/9887c3717152f6dbbd127ed69dcba2d4011d9472 | Version Fixed In: | |
Sentry Crash Report: | |||
Attachments: | Filter mask artifact |
Description
tomtomtomreportingin
2021-01-31 03:07:12 UTC
Git commit 6fc84c8bff6821d9866a7d7da871e10294536c8a by Dmitry Kazakov. Committed on 03/02/2021 at 11:45. Pushed by dkazakov into branch 'master'. Workaround recursive calls in UndoStack In some cases, when the user clicks in the history docker too quickly, the undo requests may arrive recursively. Because there are a few commands that demand processEvent() calls after their execution. This patch workarounds the recursive issue using the ticket-like system for the requests and ensuring that all of them are executed at the topmost level of recursion. M +72 -12 libs/ui/KisDocument.cpp https://invent.kde.org/graphics/krita/commit/6fc84c8bff6821d9866a7d7da871e10294536c8a Git commit 9321eb2b22f0a330ba5d63bb7bb03a779de8fe28 by Dmitry Kazakov. Committed on 04/02/2021 at 12:55. Pushed by dkazakov into branch 'master'. Crash when undoing reincarnation of a shape selection too quickly It may happen that the update jobs are still accessing the shape selection pointer via KisSelection::updateProjection(), while undo command is busy reincarnating the shape selection into a raster one. We should guard the shape selection pointer from such concurrent access. M +50 -4 libs/image/kis_selection.cc https://invent.kde.org/graphics/krita/commit/9321eb2b22f0a330ba5d63bb7bb03a779de8fe28 Git commit d97692a969b2bd2ca553eb004f5eba71ea33e452 by Dmitry Kazakov. Committed on 17/02/2021 at 05:38. Pushed by dkazakov into branch 'krita/4.3'. Workaround recursive calls in UndoStack In some cases, when the user clicks in the history docker too quickly, the undo requests may arrive recursively. Because there are a few commands that demand processEvent() calls after their execution. This patch workarounds the recursive issue using the ticket-like system for the requests and ensuring that all of them are executed at the topmost level of recursion. M +72 -12 libs/ui/KisDocument.cpp https://invent.kde.org/graphics/krita/commit/d97692a969b2bd2ca553eb004f5eba71ea33e452 Git commit 9887c3717152f6dbbd127ed69dcba2d4011d9472 by Dmitry Kazakov. Committed on 17/02/2021 at 05:38. Pushed by dkazakov into branch 'krita/4.3'. Crash when undoing reincarnation of a shape selection too quickly It may happen that the update jobs are still accessing the shape selection pointer via KisSelection::updateProjection(), while undo command is busy reincarnating the shape selection into a raster one. We should guard the shape selection pointer from such concurrent access. M +50 -4 libs/image/kis_selection.cc https://invent.kde.org/graphics/krita/commit/9887c3717152f6dbbd127ed69dcba2d4011d9472 Hi Dmitry, while the crash does seem to be fixed now in 4.4.3 beta-1, the rectangular artifacts described in the report still seem to exist. Also, it seems that these artifacts are more than visual, as they seem to genuinely affect the painting area, so they cannot be wiped away by hiding and unhiding the layer. I'll attach an image showing this artifact and how it affects the canvas. Created attachment 136177 [details]
Filter mask artifact
|