Bug 507380

Summary: Insert Hold Column function not functioning as intended
Product: [Applications] krita Reporter: Telepurte
Component: AnimationAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: emmetoneill.pdx
Priority: NOR    
Version First Reported In: 5.2.11   
Target Milestone: ---   
Platform: Other   
OS: Microsoft Windows   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Telepurte 2025-07-23 00:31:00 UTC
SUMMARY
When the function Insert Hold Column is activated via hotkey or otherwise, the timeline header moves forwards when it should stay on the same frame.
Sometimes it moves forwards one frame, sometimes it moves forwards more than one frame. Unsure why.

STEPS TO REPRODUCE
1. Select frame on timeline that you wish to increase the duration of via Insert Hold Column
2. Insert Hold Column

OBSERVED RESULT
The timeline header moves forwards and a hold column is added

EXPECTED RESULT
The timeline stays put and a hold column is added

SOFTWARE/OS VERSIONS
Windows: 11
macOS: 
(available in the Info Center app, or by running `kinfo` in a terminal window)
Linux/KDE Plasma: 
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
Comment 1 Emmet O'Neill 2025-07-24 22:47:15 UTC

*** This bug has been marked as a duplicate of bug 507381 ***
Comment 2 Emmet O'Neill 2025-08-06 21:33:36 UTC
Actually, this is not a duplicate and I can confirm the bug.
Comment 3 Emmet O'Neill 2025-08-07 02:50:17 UTC
Git commit cf86a1c8bb9c80bf9a3dd83a9def1d6a2ba08636 by Emmet O'Neill.
Committed on 07/08/2025 at 02:50.
Pushed by emmetoneill into branch 'master'.

UX: Fixed timeline selection shifting when inserting hold frames.

Timeline selection shift upon insertion of new hold frames
could cause animators to continue drawing on the wrong frame
without realizing it.

M  +0    -8    plugins/dockers/animation/KisAnimTimelineFramesModel.cpp

https://invent.kde.org/graphics/krita/-/commit/cf86a1c8bb9c80bf9a3dd83a9def1d6a2ba08636
Comment 4 Emmet O'Neill 2025-08-11 22:50:24 UTC
Git commit ddf8746f628dc1c12dcc7c302cd212a8eda6ca05 by Emmet O'Neill.
Committed on 11/08/2025 at 22:44.
Pushed by emmetoneill into branch 'master'.

UX/Animation: Switch to active KEYFRAME when inserting/removing hold frames.

When inserting or removing hold frames, we now switch the animation time
to the time of the currently active keyframe.

This is meant to make it easier to continue drawing on the correct frame
when adjusting hold frames could otherwise cause the keyframe you're
drawing on to change position from under you.

(Follow up work to previous hold frames bug.)

M  +1    -0    libs/command/kis_command_ids.h
M  +51   -0    libs/image/commands_new/kis_switch_current_time_command.cpp
M  +21   -0    libs/image/commands_new/kis_switch_current_time_command.h
M  +7    -0    libs/image/kis_keyframe_channel.cpp
M  +7    -0    libs/image/kis_keyframe_channel.h
M  +36   -12   plugins/dockers/animation/KisAnimTimelineFramesModel.cpp
M  +1    -1    plugins/dockers/animation/KisAnimTimelineFramesModel.h

https://invent.kde.org/graphics/krita/-/commit/ddf8746f628dc1c12dcc7c302cd212a8eda6ca05