Bug 435365 - Eraser mode effects fill with foreground color
Summary: Eraser mode effects fill with foreground color
Status: RESOLVED INTENTIONAL
Alias: None
Product: krita
Classification: Applications
Component: General (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-04-04 21:36 UTC by Squeaky Pancakes
Modified: 2021-08-22 21:32 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Squeaky Pancakes 2021-04-04 21:36:33 UTC
SUMMARY
Having eraser mode set makes the fill with background/foreground and special fill background/foreground will erase selection.

STEPS TO REPRODUCE
1. put down a color
2. select an area 
3. select a different color
4. set eraser mode/switch to an eraser brush
5. Use edit > fill with foreground or edit > fill special > fill with foreground 

OBSERVED RESULT
The selection will erase

EXPECTED RESULT
The area should be filled with the newly selected color.

SOFTWARE/OS VERSIONS
Linux: Devuan 3 and Atrix
Krita 3.0 to 4.4.3

ADDITIONAL INFORMATION
Tested this with 4.4.3 but noticed it worked all the way back in 3.0 but seems to have gotten more noticeable in 4.0 where you can set eraser mode with a selection tool active. It might work in older versions but I was testing with the official appimages.
Comment 1 Ahab Greybeard 2021-04-05 06:10:14 UTC
The manual has this to say about eraser mode:

"By toggling the E key, your current brush switches between erasing and painting. This erasing method works with most of the tools. You can erase using the line tool, rectangle tool, and even the gradient tool."

And also the Fill tool, it would seem.
Comment 2 Squeaky Pancakes 2021-04-13 15:21:38 UTC
(In reply to Ahab Greybeard from comment #1)
> The manual has this to say about eraser mode:
> 
> "By toggling the E key, your current brush switches between erasing and
> painting. This erasing method works with most of the tools. You can erase
> using the line tool, rectangle tool, and even the gradient tool."
> 
> And also the Fill tool, it would seem.

Erase filling seems counter intuitive to me especially when there is already a clear tool that does just that. Further more if I'm using the freehand select tool the eraser mode is greyed out which looks like it wont have an effect, which it wont on the selecting of things but things like the fill tool which can't show whether it will effect it or not but its most likely going to be used with a selection.
Comment 3 Ahab Greybeard 2021-04-13 15:49:21 UTC
Erase filling works for all selected areas no matter which selection tool was used to select them.

Selection tools are not painting tools so the Erase icon could be expected to be greyed out for these as it is for the Transform tool and Move Tool etc.

However, it is not greyed out for the Rectangular, Elliptical and Polygonal selection tools. I think that's an oversight that needs to be reported even though it has no effect on functionality.

Only a developer can say what's supposed to happen.
Comment 4 Tiar 2021-08-22 21:32:11 UTC
It sounds like it's intentional behaviour. @Squeaky if you get confused about it, maybe you could start a discussion on krita-artists.org on how to change the design to make this behaviour more obvious, so users won't get confused.

"Erase filling seems counter intuitive to me especially when there is already a clear tool that does just that."
This is not true though, Fill Tool has lots of different options which makes it much more powerful in the Erase mode than the Clear feature. Clear just clears the whole selection; Fill Tool can for example erase only parts with the same color, or clear the whole selection, or it can erase just one part of the selection if your selection has multiple parts (like if you selected a few rectangles at once).
And the selection is irrelevant; Fill Tool can work without a selection, too. (Clear can work without a selection too, clearing a whole layer; but Fill Tool has options that finetune its behaviour to only clear what you want to clear).

Basically, Fill Tool is more advanced than just Clear, so we can't remove the Erase mode from Fill Tool without removing functionality from Krita (which would be bad, since there are always users who use the functionality, even if you don't use it).