Bug 430168 - Brush presets change when switching windows or selecting tools in the toolbox docker
Summary: Brush presets change when switching windows or selecting tools in the toolbox...
Status: CONFIRMED
Alias: None
Product: krita
Classification: Applications
Component: Dockers (show other bugs)
Version: 4.4.2-beta1
Platform: Appimage Linux
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
: 422086 (view as bug list)
Depends on:
Blocks:
 
Reported: 2020-12-08 20:57 UTC by Autumn Lansing
Modified: 2022-06-28 08:53 UTC (History)
3 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 Autumn Lansing 2020-12-08 20:57:27 UTC
I've been experiencing some maddening issues with brush presets. There are two slightly different problems. I'm not sure if they're related, but they have a lot in common, so I'm posting them as one bug.

I use sessions, and I don't know if these problems occur when not using sessions. I'm also was not sure which component to select for the bug report. I chose Dockers, as this involves two of them.

------

The first problem is related to opacity. An actively-selected brush with opacity less than 100% will be changed to 100% opacity in the following situations:

a. Upon starting Krita, when using sessions, when the second window opens. The brush's opacity is fine when the first window opens, but once Krita starts to open the second, the opacity becomes 100%.

STEPS TO REPRODUCE
1. Using sessions, open more than one window and select a brush with opacity.
2. Save the session and close it.
3. Reopen the session.

OBSERVED RESULT
The selected brush's opacity will change to 100% when the second window opens.

EXPECTED RESULT
The brush's opacity should be unchanged.

---

b. When clicking on one of the icons in the toolbox docker, the opacity of the brush will change to 100%. This only happens once per icon though. After you reset the brush by clicking "reload brush preset," this does not happen for the same icon, but it will happen for another icon that hasn't previously been selected. This also happens per window. If you switch to another window, the bug starts all over again.

STEPS TO REPRODUCE
1. Open Krita with a saved session.
2. Select a brush with opacity. Reload it to clear up the above issue if affected.
3. Click on one of the icons in the toolbox docker.

OBSERVED RESULT
The selected brush's opacity will change to 100%.

EXPECTED RESULT
The brush's opacity should be unchanged.

------

The second part of this bug doesn't change opacity, however, the small "pencil" overlay in the Brush Presets docker that signifies when a brush has been changed from its original preset appears on the active brush when doing certain things, even though the brush settings seem not to have not been changed, at least not obviously. This happens when:

a. Switching to another opened window (in sessions) for the first time. Once you click the "reload original preset" button, it doesn't happen again when selecting that same window.

STEPS TO REPRODUCE
1. Using sessions, select a brush with opacity and clear up any issues with the first part of this bug, as above.
2. Switch to another open window.

OBSERVED RESULT
The "pencil" overlay appears on the selected brush, though the brush's settings don't appear to have been changed.

EXPECTED RESULT
The overlay shouldn't appear and the brush settings shouldn't change.

---

b. When selecting one of the selection tools. Simply clicking on the icon in the toolbox docker or hitting the new keyboard shortcuts will cause this to happen repeatedly until you click one of the non-selection tool icons in the docker, for example the Assistant Tool. Using that example, the overlay appears on the brush preset the first time you click the Assistant Tool icon, and, after you reload the preset, will appear again when you click on one of the selection tools, but after that it does not appear again when clicking on any icons in the toolbox docker.

STEPS TO REPRODUCE
1. Using sessions, reload the brush presets to clear up issues with the first part of this bug.
2. Click on one of the selection tools and then reload the brush's presets again to clear up issues with the second part of this bug.
3. Now, click on one of the selection tools again.

OBSERVED RESULT
The "pencil" overlay appears on the selected brush, though the brush's settings don't appear to have been changed.

EXPECTED RESULT
The overlay shouldn't appear and the brush settings shouldn't change.

------

This behavior was occurring in 4.1 as well, but I didn't figure out what was causing it until just today. I hope my descriptions are clear. I spent an hour-and-a-half tracking down all the situations that cause it to happen.

SOFTWARE/OS VERSIONS
Krita

 Version: 4.4.2-beta1
 Languages: en_US, en
 Hidpi: true

Qt

  Version (compiled): 5.12.9
  Version (loaded): 5.12.9

OS Information

  Build ABI: x86_64-little_endian-lp64
  Build CPU: x86_64
  CPU: x86_64
  Kernel Type: linux
  Kernel Version: 5.8.18-300.fc33.x86_64
  Pretty Productname: Fedora 33 (Cinnamon)
  Product Type: fedora
  Product Version: 33
  Desktop: X-Cinnamon

OpenGL Info
 
  Vendor:  "NVIDIA Corporation" 
  Renderer:  "Quadro 600/PCIe/SSE2" 
  Version:  "4.6.0 NVIDIA 390.138" 
  Shading language:  "4.60 NVIDIA" 
  Requested format:  QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::CompatibilityProfile) 
  Current format:    QSurfaceFormat(version 4.6, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::CompatibilityProfile) 
     Version: 4.6
     Supports deprecated functions true 
     is OpenGL ES: false 

QPA OpenGL Detection Info 
  supportsDesktopGL: true 
  supportsOpenGLES: true 
  isQtPreferOpenGLES: false 

Hardware Information

  GPU Acceleration: auto
  Memory: 24037 Mb
  Number of Cores: 4
  Swap Location: /tmp

Current Settings

  Current Swap Location: /tmp
  Current Swap Location writable: true
  Undo Enabled: true
  Undo Stack Limit: 30
  Use OpenGL: true
  Use OpenGL Texture Buffer: true
  Use AMD Vectorization Workaround: false
  Canvas State: OPENGL_SUCCESS
  Autosave Interval: 900
  Use Backup Files: true
  Number of Backups Kept: 1
  Backup File Suffix: ~
  Backup Location: Same Folder as the File
  Backup Location writable: false
  Use Win8 Pointer Input: false
  Use RightMiddleTabletButton Workaround: false
  Levels of Detail Enabled: false
  Use Zip64: false


Display Information
Number of screens: 2
	Screen: 0
		Name: DVI-I-1
		Depth: 24
		Scale: 1
		Resolution in pixels: 1920x1080
		Manufacturer: HPN
		Model: HP VH240a-
		Refresh Rate: 60
	Screen: 1
		Name: DP-0
		Depth: 24
		Scale: 1
		Resolution in pixels: 1920x1080
		Manufacturer: LG Electronics
		Model: LG IPS FULLHD
		Refresh Rate: 60
Comment 1 Autumn Lansing 2020-12-08 21:06:54 UTC
In relation to the first part of the bug, I'll also add that when a new window is manually opened in an active session, brushes with opacity less than 100% will have that opacity changed to 100% as well.
Comment 2 Autumn Lansing 2020-12-24 19:25:29 UTC
Just updating to say this still happens in 4.4.2-beta2.
Comment 3 Halla Rempt 2020-12-24 21:37:42 UTC
Yes, we haven't fixed this yet, or even had time to triage the report, sorry for that! Since it wasn't a regression -- you note it also happens in 4.1 -- it didn't have priority for 4.4.2-beta2. We only fix regressions after the first beta has been released, because any bug fix brings with it the chance for another regression.
Comment 4 Autumn Lansing 2020-12-26 01:22:50 UTC
No worries. That's understandable.

Let me add that today I discovered another event that triggers this bug:

Plugging in my graphics tablet, an Intuos 4, while a brush with less than 100% opacity is selected, will also trigger the "edited" icon on the brush preset the first time the pen comes close enough to the tablet to be active.

STEPS TO REPRODUCE
1. Select a brush with less than 100% opacity.
2. Plug in a graphics tablet.
3. Bring the pen into contact with the tablet.

OBSERVED RESULT
The "pencil" overlay appears on the selected brush, though the brush's settings don't appear to have been changed.

EXPECTED RESULT
The overlay shouldn't appear and the brush settings shouldn't change.

I've also noticed other instances of this bug happening while working. I haven't yet figured out what triggers those events however.

I also have two brushes that switch opacity at least once a day. My sketch pencil, at 75% opacity, and my eraser, at 100%, will sometimes trade opacities. I don't know what triggers that yet either. I'm assuming it's related to the other instances.

I hope this extra information helps triage the bug when you're ready to tackle it.
Comment 5 Tiar 2021-03-22 23:46:33 UTC
There is bug 422086 which seems to be related, if not a duplicate. Both reports have lots of information and slightly so I'm not sure if I should mark one as duplicate and if so, which one.
Comment 6 Halla Rempt 2021-09-07 09:44:43 UTC
*** Bug 422086 has been marked as a duplicate of this bug. ***