Bug 476298

Summary: Undo/redo select picker color
Product: [Applications] krita Reporter: mart113
Component: ToolsAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED NOT A BUG    
Severity: normal    
Priority: NOR    
Version First Reported In: 5.2.1   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description mart113 2023-10-29 18:23:54 UTC
STEPS TO REPRODUCE 
(quickly)
1. select Color Sampler Tool with my shortcut (and pick a color)
2. select Freehand Brush Tool with my shortcut ( 1-2 quick brush stokes), 
4. repeat 1. 2. a lot
3. undo/redo a lot
4. repeat until it happens

OBSERVED RESULT
When using undo/redo the brush tool swap to the color sampler. 

EXPECTED RESULT
Undo/redo the brushstrokes keeping the tool I'm using.

ADDITIONAL INFORMATION
Hi, I'm using 4 shortcuts for my workflow, all assigned at buttons on my tablet: 
CTRL+Z (undo) / CTRL+SHIFT+Z (redo) 
B (select Freehand Brush Tool) / P (select Color Sampler Tool)

I deleted all the alternate invocations shortcuts related to the picker color (and even every shortcuts related to CTRL in the Canvas Input Settings). I also, changed my shortcuts and it had no effect. 
Seems happening less when I using redo.

The last bug (crash) I reported is definitively fixed by disabling windows' geolocation ! 
I like your soft, if you find a solution to this it would be TOTALLY usable ! And if you fix the liquify + undo crash it would be perfect :)

Cheers.
Comment 1 mart113 2023-11-05 13:09:08 UTC
WARNING: modifiers state became inconsistent! Trying to fix that...
     inputEvent->modifiers() = QFlags<Qt::KeyboardModifier>(NoModifier)
     d->matcher.debugPressedKeys() = QVector(Qt::Key_Z, Qt::Key_Shift, Qt::Key_Control)
WARNING: modifiers state became inconsistent! Trying to fix that...
     inputEvent->modifiers() = QFlags<Qt::KeyboardModifier>(ShiftModifier|ControlModifier)
     d->matcher.debugPressedKeys() = QVector()
WARNING: modifiers state became inconsistent! Trying to fix that...
     inputEvent->modifiers() = QFlags<Qt::KeyboardModifier>(ShiftModifier|ControlModifier)
     d->matcher.debugPressedKeys() = QVector()
Comment 2 mart113 2023-11-14 20:47:58 UTC
I tried to replicate with my keyboard and two other keys assigned on the soft =  Ok
with my device and the same two other keys assigned on the soft =BUG
with my device CTRL+Z / CTRL+SHIFT+Z assigned on the buttons, no keys assigned on the soft = Nothing
with my device no shortcut = Nothing