Bug 458867

Summary: [Contiguous Selection Tool] Selecting color-labeled layers in animation always refers to first frame
Product: [Applications] krita Reporter: CJ <ccriddler>
Component: Tools/SelectionAssignee: Deif Lou <ginoba>
Status: RESOLVED FIXED    
Severity: normal CC: ginoba
Priority: NOR    
Version First Reported In: 5.1.0   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: A screen recording showing the bug in action

Description CJ 2022-09-08 08:23:44 UTC
Created attachment 151918 [details]
A screen recording showing the bug in action

SUMMARY
When using the contiguous selection tool, if the "reference" option is set to color-labeled layers, it will only reference the first frame of that layer's animation.

STEPS TO REPRODUCE
1. Create two blank animation frames on an empty layer.
2. Draw some lines on the first and second frame.
3. Set that layer's color to any non-blank color.
4. Switch to the contiguous selection tool
5. In the tool options, set "reference" to use color-labeled layers (tag icon), and select the matching layer color.
6. Move to the second frame in the timeline
7. Click anywhere on the canvas

OBSERVED RESULT
The contiguous selection tool refers to the lines drawn on the first frame.

EXPECTED RESULT
The contiguous selection tool should refer to the lines drawn on the currently selected frame.

SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: Arch Linux 5.19.6-arch1-1
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
After following the same steps on Krita 5.0.0, I found this behavior works as expected in that version.
Comment 1 Deif Lou 2022-09-16 12:55:08 UTC
related to https://bugs.kde.org/show_bug.cgi?id=459013
Comment 2 Bug Janitor Service 2022-09-17 20:41:43 UTC
A possibly relevant merge request was started @ https://invent.kde.org/graphics/krita/-/merge_requests/1588
Comment 3 Deif Lou 2022-09-20 10:27:13 UTC
Git commit 94aeaddf66b118e3b7e7d0e091986fc4aad32bc9 by Deif Lou.
Committed on 20/09/2022 at 10:26.
Pushed by deiflou into branch 'master'.

Fix regression when using KisKisMergeLabeledLayersCommand

From 5.1 on KisMergeLabeledLayersCommand seemed to always use the first frame
to create the merged reference device
Related: bug 459013

M  +20   -16   libs/image/commands_new/KisMergeLabeledLayersCommand.cpp
M  +52   -7    libs/image/commands_new/KisMergeLabeledLayersCommand.h
M  +1    -3    libs/ui/KisView.cpp
M  +20   -15   plugins/tools/basictools/kis_tool_fill.cc
M  +1    -0    plugins/tools/basictools/kis_tool_fill.h
M  +7    -4    plugins/tools/selectiontools/kis_tool_select_contiguous.cc
M  +1    -0    plugins/tools/selectiontools/kis_tool_select_contiguous.h
M  +7    -4    plugins/tools/selectiontools/kis_tool_select_similar.cc
M  +1    -0    plugins/tools/selectiontools/kis_tool_select_similar.h
M  +6    -4    plugins/tools/tool_enclose_and_fill/KisToolEncloseAndFill.cpp
M  +3    -2    plugins/tools/tool_enclose_and_fill/KisToolEncloseAndFill.h

https://invent.kde.org/graphics/krita/commit/94aeaddf66b118e3b7e7d0e091986fc4aad32bc9
Comment 4 Deif Lou 2022-09-20 12:09:52 UTC
Git commit 3d0b7143030956067a9d0e4f3f164143df215eab by Deif Lou.
Committed on 20/09/2022 at 12:08.
Pushed by deiflou into branch 'krita/5.1'.

Fix regression when using KisKisMergeLabeledLayersCommand

From 5.1 on KisMergeLabeledLayersCommand seemed to always use the first frame
to create the merged reference device
Related: bug 459013

M  +3    -0    plugins/tools/basictools/kis_tool_fill.cc
M  +4    -0    plugins/tools/selectiontools/kis_tool_select_contiguous.cc
M  +4    -0    plugins/tools/selectiontools/kis_tool_select_similar.cc
M  +4    -0    plugins/tools/tool_enclose_and_fill/KisToolEncloseAndFill.cpp

https://invent.kde.org/graphics/krita/commit/3d0b7143030956067a9d0e4f3f164143df215eab