GNOME Bugzilla – Bug 764619
Color paint dynamic parameter and square artifacts when one or two channel are disabled
Last modified: 2017-02-21 22:59:25 UTC
Created attachment 325395 [details] tests with channels and Color parameter When I used the parameter Color on Paint Dynamics and I use only 2 or 1 channel to paint... appears also square artefacts in the borderline. I will try remove the alpha channel... but the behaviour is the same.
Created attachment 325410 [details] [review] quick hack A workaround here is to tick 'Use GimpApplicator' in tool options. Given that this code path seems to work (at least it doesn't have square artifacts) comparing the 2 code paths I've tried the attached quick hack which seems to fix the issue. The idea is to 'translate' the line https://git.gnome.org/browse/gimp/tree/app/paint/gimppaintcore.c#n891 to https://git.gnome.org/browse/gimp/tree/app/paint/gimppaintcore.c#n963 and so add a src_buffer = gimp_drawable_get_buffer (drawable); executed only in the case that otherwise has src_buffer == dest_buffer == core->comp_buffer, that would make the later call mask_components_onto (src_buffer, core->comp_buffer,... equivalent to an expensive copy from core->comp_buffer. Either this is the problem or it is a problem
Perhaps, this bug report has relation with this bug too: https://bugzilla.gnome.org/show_bug.cgi?id=771020
I totally missed this bug. That "quick hack", is that just your usual bug title or actually a bad hack? :) I'm too tired now to follow that code and your patch seems pretty trivial, so just push if you think it's the right thing to do...
Was this pushed yet?
I have tested now with the last git master commit ebd939c and the artifact effect has relationship when 'Force' > 0 on the Tool Options. See 771020 bug.
Comment on attachment 325410 [details] [review] quick hack comment 3
Pushed to master: commit 3d58a233427848f856fa054414b3c237c12fc056 Author: Massimo Valentini <mvalentini@src.gnome.org> Date: Tue Apr 5 12:14:06 2016 +0200 Bug 764619: Color paint dynamic parameter and square artifacts when one or two channel are disabled