Selecting a vector shape and using swap color will randomly swap and not swap or keep in memory the background color when you return back STEPS TO REPRODUCE 1. set a vector object with colors 2. press swap foreground with background colors to make the fill and outline colors to swap OBSERVED RESULT the object will sometimes swap colors correctly and other times it will remember the previous background color regardless if it was edited or not EXPECTED RESULT swap fill and outline colors of the object SOFTWARE/OS VERSIONS Windows: 10 Qt Version: 5.12.12 ADDITIONAL INFORMATION Video Demonstration https://krita-artists.org/uploads/default/original/3X/e/6/e6e238955b20cb7352f459986883a758ea472169.webm
Hi! Can you please share the output of Help -> Show system information for bug reports?
Created attachment 153682 [details] Krita system information
Thanks for your comment! Automatically switching the status of this bug to REPORTED so that the KDE team knows that the bug is ready to get confirmed. In the future you may also do this yourself when providing needed information.
You seem to be using pigment.o plugin. Can you please disable it and then retest? (see Bug 458913).
As requested I tested it without Pigment.o installed in the system and it still does it, because all my testing was with Krita alone. To elaborate on why pigment is not in the way : Pigment.o was there in "read only" mode to assist me during this testing sessions. Also the released Pigment.o does not own any colors never did and can't and shouldn't (contrary to popular belief alot of the time). What it does is a redundancy check once, and once only. If the color spirals out of control is because Krita READ color is different from Krita WRITE color which means Krita did not pass the test with itself. Also the FG and BG color are treated independently so swapping within Krita would not cause update lag in Pigment.o as itself uses the Krita action to swap colors and then it just reacts to it. Adding to this version 2 (that I am using now) locks itself out of vectors because, vector layers haven't matched READ and WRITE for more than a year now. Before that vector layers were stable and everything was working. I have ignored this "pigmento bug" for a while since I would be correcting to probably to a Krita bug just to be reverted back again and having to redo it again, BUT alot of time has passed and no changes so I imagined it was really be a new way to do things with vectors. So I test to know how to do things ... But during my testing I just see it is just a collection of small bugs doing asynchrony that pass under the radar and not really a new way to do things as I was expecting now. So I report.
Git commit 2dfa0d19cd176ef70c082c4970fc76e1b0116900 by Sharaf Zaman. Committed on 18/11/2022 at 17:47. Pushed by szaman into branch 'master'. Bugfix: Vector shapes not swapping the current fg/bg color. It is really difficult to see why this used to work before. But to get to the reason for the bug, let's say we press the swap button on paintop box. And the current active widget is "Fill" tab. So, the KoFillConfigWidget (d->fillVariant = Fill) is activated. So, when we swap the color, the color of Stroke is changed through the color of Fill, but the d->colorAction's color is that of the fill, but since we are swapping it for Stroke. The if (currentKoColor() == color) returns true and this we skip swapping it for stroke. We also fix the colorAction button for Stroke, it didn't work properly (for the same reason, Fill changed the color back to what it was when swapping). (A TODO for future (which maybe somewhere near, given some things are still buggy with this file), we really have to decouple Stroke and Fill types). M +4 -5 libs/ui/widgets/KoFillConfigWidget.cpp https://invent.kde.org/graphics/krita/commit/2dfa0d19cd176ef70c082c4970fc76e1b0116900
Hello! I have fixed the issue, I would really appreciate if you could test the nightly -- since this part of code is something which has been buggy for quite some time now.
version : krita-nightly-x64-5.2.0-prealpha-9cb8ac659f seems to be working I cannot trigger it anymore as I was doing it before. with and without pigmento on the mix. I would say this one is fixed. thank you.
Thank you for testing!
Git commit 9f2751f236e48280c70a96178ede93051f7575ae by Sharaf Zaman. Committed on 14/12/2022 at 04:59. Pushed by szaman into branch 'krita/5.1'. Bugfix: Vector shapes not swapping the current fg/bg color. It is really difficult to see why this used to work before. But to get to the reason for the bug, let's say we press the swap button on paintop box. And the current active widget is "Fill" tab. So, the KoFillConfigWidget (d->fillVariant = Fill) is activated. So, when we swap the color, the color of Stroke is changed through the color of Fill, but the d->colorAction's color is that of the fill, but since we are swapping it for Stroke. The if (currentKoColor() == color) returns true and this we skip swapping it for stroke. We also fix the colorAction button for Stroke, it didn't work properly (for the same reason, Fill changed the color back to what it was when swapping). (A TODO for future (which maybe somewhere near, given some things are still buggy with this file), we really have to decouple Stroke and Fill types). (cherry picked from commit 2dfa0d19cd176ef70c082c4970fc76e1b0116900) M +4 -5 libs/ui/widgets/KoFillConfigWidget.cpp https://invent.kde.org/graphics/krita/commit/9f2751f236e48280c70a96178ede93051f7575ae