Bug 474525

Summary: [Selection tools] Tracing interupted by Krita when an Overview Docker refreshes.
Product: [Applications] krita Reporter: David REVOY <info>
Component: DockersAssignee: Dmitry Kazakov <dimula73>
Status: RESOLVED FIXED    
Severity: normal CC: dimula73
Priority: NOR Keywords: regression, release_blocker
Version: 5.2.0-beta2   
Target Milestone: ---   
Platform: Appimage   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: ^ video of the bug

Description David REVOY 2023-09-14 15:17:27 UTC
Created attachment 161624 [details]
^ video of the bug

SUMMARY
Hey, on testing the betas of Krita 5.2, I always had this weird behavior: many selection interupted: I continue to trace, but Krita does as if I lifted the stylus off the surface of the tablet in the middle of my gesture and close it. But I had no idea how to reproduce. Now I investigated it a bit more, and I found a way to reproduce and even filmed it to find what could be potentially the cause (the Overview Docker refreshing preview). 

Mp4 movie in attachement, 3.2MB (MP4, 720p)

STEPS TO REPRODUCE
1. On a Krita setup of GUI with the Overview Docker
2. Create a big new document (eg. 7000x4000px)
3. Draw (with brush) a big spiral and immediately switch to a selection tool (by shortcut eg. Ctrl+R for rectangular ) and trace a selection. 

OBSERVED RESULT
If you are quick enough your selection will be interupted.

EXPECTED RESULT
Finishing the tracing of my selection.

OBSERVATIONS
- couldn't reproduce in 5.1.5.
- couldn't reproduce with Overview Docker closed.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Fedora latest, Kde. Appimage 5.2 (beta2) .
Comment 1 Bug Janitor Service 2023-09-15 11:22:41 UTC
A possibly relevant merge request was started @ https://invent.kde.org/graphics/krita/-/merge_requests/1937
Comment 2 Dmitry Kazakov 2023-09-18 13:04:00 UTC
Git commit 36babc4378d8d32fe7d5f1e1c7440edfdf9ba9cc by Dmitry Kazakov.
Committed on 18/09/2023 at 15:03.
Pushed by dkazakov into branch 'master'.

[test before 5.2.0] Fix cancelling of the selection when doing two consequtive selections

Back in 2013 we used to switch node properties without undo/redo
information. Hence we needed this notification in
KisImage::nodeChanged(). Now we use undo+strokes for the switch,
so requestStrokeEnd() is emitted explicitly by the stroke.

This change looks a bit scary for 5.2.0, because the change is in
a rather deep place, so we should test it well before backporting.

M  +0    -1    libs/image/kis_image.cc

https://invent.kde.org/graphics/krita/-/commit/36babc4378d8d32fe7d5f1e1c7440edfdf9ba9cc
Comment 3 David REVOY 2023-10-07 17:18:00 UTC
Hey, as I could still reproduce in krita-5.2.0-x86_64.appimage (I got it from https://download.kde.org/stable/krita/5.2.0/ ) I came back here and read the commit message. Did the fix was too scary to be backported to 5.2?
Comment 4 Dmitry Kazakov 2023-11-15 09:11:04 UTC
Git commit f37d42e735fb970228a9381711ddfec8a2c94ca8 by Dmitry Kazakov.
Committed on 15/11/2023 at 10:10.
Pushed by dkazakov into branch 'krita/5.2'.

[test before 5.2.0] Fix cancelling of the selection when doing two consequtive selections

Back in 2013 we used to switch node properties without undo/redo
information. Hence we needed this notification in
KisImage::nodeChanged(). Now we use undo+strokes for the switch,
so requestStrokeEnd() is emitted explicitly by the stroke.

This change looks a bit scary for 5.2.0, because the change is in
a rather deep place, so we should test it well before backporting.

M  +0    -1    libs/image/kis_image.cc

https://invent.kde.org/graphics/krita/-/commit/f37d42e735fb970228a9381711ddfec8a2c94ca8
Comment 5 Dmitry Kazakov 2023-11-15 09:11:25 UTC
Hi, David!

Thank you for the reminder! I've backported the fix! :)