Bug 441751 - Brush preset doesn't update in the status bar
Summary: Brush preset doesn't update in the status bar
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Dockers (show other bugs)
Version: 5.0.0-beta1
Platform: Other macOS
: NOR normal
Target Milestone: ---
Assignee: Halla Rempt
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2021-08-30 11:33 UTC by anno2300
Modified: 2021-12-17 13:53 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description anno2300 2021-08-30 11:33:38 UTC
SUMMARY
Often the brush preset doesn't update in the status bar after selecting another brush preset in the docker. It happens sometimes mutilple in a row. When i move the cursor onto the canvas, it will update always.

STEPS TO REPRODUCE
1. Select a brush in the brush preset docker
2. Select another brush in the brush preset docker
3. Check if the brush preset name is changed in the status bar
4. Sometimes (maybe 30-50%) it doesn't change
5. Move the cursor to the canvas, then it updates

EXPECTED RESULT
The brush preset in the status bar should update after selecting a new preset every time, without the requirement to move the cursor over the canvas.


SOFTWARE/OS VERSIONS
macOS: Big Sur 10.5.2
Comment 1 tomtomtomreportingin 2021-08-30 11:48:41 UTC
Can confirm. Easy to reproduce if you swap brushes quickly. It's not nearly as responsive compared to Krita 4.

Also compared to Krita 4, the status bar in Krita 5 for some reason hides some information for some time when a new preset selected.
Comment 2 tomtomtomreportingin 2021-08-30 12:04:05 UTC
The behavior above also occurs when mouse scrolling through the docker, often denoting a brush preset that isn't even selected (it seems to denote whatever brush the cursor is on after the scroll happens).
Comment 3 Halla Rempt 2021-08-30 12:15:18 UTC
That's maybe because the preset is actually being loaded only when you select it.
Comment 4 Halla Rempt 2021-09-06 14:55:19 UTC
Git commit 9202fb2d4e07dfbe5dcd8f005159014ce3df13ea by Halla Rempt.
Committed on 06/09/2021 at 14:54.
Pushed by rempt into branch 'master'.

Set the current preset on the statusbar from KisPaintOpBox

Doing so from the canvas resource managers runs into the signal
rate limiter.

M  +4    -0    libs/ui/kis_paintop_box.cc
M  +5    -0    libs/ui/kis_statusbar.cc
M  +2    -0    libs/ui/kis_statusbar.h
M  +0    -1    libs/ui/kis_zoom_manager.cc
M  +0    -4    libs/ui/tool/kis_tool.cc
M  +0    -5    libs/ui/tool/kis_tool_paint.cc

https://invent.kde.org/graphics/krita/commit/9202fb2d4e07dfbe5dcd8f005159014ce3df13ea
Comment 5 Halla Rempt 2021-09-06 14:55:34 UTC
Git commit eb05e6223d408a19b84298497da74c6e5fb1c085 by Halla Rempt.
Committed on 06/09/2021 at 14:55.
Pushed by rempt into branch 'krita/5.0'.

Set the current preset on the statusbar from KisPaintOpBox

Doing so from the canvas resource managers runs into the signal
rate limiter.
(cherry picked from commit 9202fb2d4e07dfbe5dcd8f005159014ce3df13ea)

M  +4    -0    libs/ui/kis_paintop_box.cc
M  +5    -0    libs/ui/kis_statusbar.cc
M  +2    -0    libs/ui/kis_statusbar.h
M  +0    -1    libs/ui/kis_zoom_manager.cc
M  +0    -4    libs/ui/tool/kis_tool.cc
M  +0    -5    libs/ui/tool/kis_tool_paint.cc

https://invent.kde.org/graphics/krita/commit/eb05e6223d408a19b84298497da74c6e5fb1c085
Comment 6 tomtomtomreportingin 2021-09-12 03:51:36 UTC
I would not say this is fully fixed as there is still at least one case where the status bar doesn't update properly.

Using beta1 git 7f1fe37, reproduction steps:
1. Scroll down presets using scroll wheel.
2. Statusbar updates with unselected preset and selecting new presets won't update it until hovering out of the docker (rapidly selecting new presets somewhat fixes it but not completely)

Haven't been been able to reproduce the issue with a stylus though.
Comment 7 Halla Rempt 2021-09-20 13:16:47 UTC
That's a different issue, though. Weirdly enough, this doesn't happen if the preset docker is undocked.
Comment 8 Halla Rempt 2021-09-20 13:44:08 UTC
Git commit 6420eb843bb050c04da3c706bb342483516ca133 by Halla Rempt.
Committed on 20/09/2021 at 13:42.
Pushed by rempt into branch 'master'.

Return an empty variant for the StatusTip

If this isn't empty, and the resource chooser is in a docker, then
the statusbar will be updated by QHeaderView, which is hidden, but
still does its thing...

M  +2    -2    libs/resources/KisResourceQueryMapper.cpp

https://invent.kde.org/graphics/krita/commit/6420eb843bb050c04da3c706bb342483516ca133
Comment 9 Halla Rempt 2021-09-20 13:44:25 UTC
Git commit 1200129ef270b9ec72f30a4636f26bb881cdfade by Halla Rempt.
Committed on 20/09/2021 at 13:44.
Pushed by rempt into branch 'krita/5.0'.

Return an empty variant for the StatusTip

If this isn't empty, and the resource chooser is in a docker, then
the statusbar will be updated by QHeaderView, which is hidden, but
still does its thing...
(cherry picked from commit 6420eb843bb050c04da3c706bb342483516ca133)

M  +2    -2    libs/resources/KisResourceQueryMapper.cpp

https://invent.kde.org/graphics/krita/commit/1200129ef270b9ec72f30a4636f26bb881cdfade
Comment 10 Dmitry Kazakov 2021-12-17 13:53:13 UTC
Git commit fa8f5cdf275db9160339d39272287652422f04dc by Dmitry Kazakov.
Committed on 17/12/2021 at 13:52.
Pushed by dkazakov into branch 'master'.

Revert "Set the current preset on the statusbar from KisPaintOpBox"

This reverts commit 9202fb2d4e07dfbe5dcd8f005159014ce3df13ea.

The original bug this commit fixed seem to have been caused by some
slow loading of the resources, which is now fixed. And the commit
itself introduces status bar update bugs.
Related: bug 446338

M  +0    -4    libs/ui/kis_paintop_box.cc
M  +0    -5    libs/ui/kis_statusbar.cc
M  +0    -2    libs/ui/kis_statusbar.h
M  +1    -0    libs/ui/kis_zoom_manager.cc
M  +4    -0    libs/ui/tool/kis_tool.cc
M  +5    -0    libs/ui/tool/kis_tool_paint.cc

https://invent.kde.org/graphics/krita/commit/fa8f5cdf275db9160339d39272287652422f04dc
Comment 11 Dmitry Kazakov 2021-12-17 13:53:42 UTC
Git commit a41f52e52243583045786bad0833c23eef017e91 by Dmitry Kazakov.
Committed on 17/12/2021 at 13:53.
Pushed by dkazakov into branch 'krita/5.0'.

Revert "Set the current preset on the statusbar from KisPaintOpBox"

This reverts commit 9202fb2d4e07dfbe5dcd8f005159014ce3df13ea.

The original bug this commit fixed seem to have been caused by some
slow loading of the resources, which is now fixed. And the commit
itself introduces status bar update bugs.
Related: bug 446338
(cherry picked from commit fa8f5cdf275db9160339d39272287652422f04dc)

M  +0    -4    libs/ui/kis_paintop_box.cc
M  +0    -5    libs/ui/kis_statusbar.cc
M  +0    -2    libs/ui/kis_statusbar.h
M  +1    -0    libs/ui/kis_zoom_manager.cc
M  +4    -0    libs/ui/tool/kis_tool.cc
M  +5    -0    libs/ui/tool/kis_tool_paint.cc

https://invent.kde.org/graphics/krita/commit/a41f52e52243583045786bad0833c23eef017e91