Bug 434266

Summary: Visual artifacting when drawing after toggling "Limit to layer bounds" in Colorize Mask options
Product: [Applications] krita Reporter: tomtomtomreportingin
Component: Tools/ColorizeAssignee: Krita Bugs <krita-bugs-null>
Status: CONFIRMED ---    
Severity: minor CC: griffinvalley
Priority: NOR    
Version First Reported In: 5.2.9   
Target Milestone: ---   
Platform: Appimage   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: Screenshot of the glitch.

Description tomtomtomreportingin 2021-03-11 02:42:23 UTC
SUMMARY
In the Colorize Mask options, after toggling "Limit to layer bounds", artifacting masked to the paint layer occurs when drawing. This occurs no matter whether you're enabling or disabling the option.

STEPS TO REPRODUCE
1. Draw a circle.
2. Select Colorize Mask tool.
3. Toggle "Limit to layer bounds".
4. Draw on the circle.

OBSERVED RESULT
Artifacting masked to the circle occurs.

EXPECTED RESULT
No artifacting,

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Debian sid
KDE Plasma Version: 5.20.5
KDE Frameworks Version: 5.78.0
Qt Version: 5.12.9 (Appimage)

ADDITIONAL INFORMATION
The behavior is fixed by disabling and re-enabling "Edit key strokes."
Comment 1 wolthera 2021-09-09 12:32:28 UTC
Created attachment 141421 [details]
Screenshot of the glitch.

Seems the filter-preview is affected.
Comment 2 wolthera 2021-09-26 16:09:25 UTC
Tried to fix this one, but there's some oddities.

It seems to be almost fixed when adding regeneratePrefilteredDeviceIfNeeded(); to all the setting setters, however, this gives odd rendering artifacts when toggling, a if there's two different bounding boxes being edited. This error also shows when toggling the layer properties.

Given that the setNeedsUpdate(true); doesn't seem to do much, I suspect that the updateCompressor just isn't working as expected (it in fact never seems to timeout???). (prefilterRecalculationCompressor isn't being started by anything, for what it's worth).

I also think the artifact I describe in the second paragraph is caused by the wrong bounding box being cleared before the prefilter is added. It's quite mysterious in any case.
Comment 3 Dmitry Kazakov 2024-08-22 16:39:03 UTC
Remove triaged keyword from CONFIRMED bugs