Bug 510363 - Bezier Curve Tool: "Autosmooth curve" setting doesn't work when setting up curve only using touch taps
Summary: Bezier Curve Tool: "Autosmooth curve" setting doesn't work when setting up cu...
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Tools (other bugs)
Version First Reported In: 5.2.13
Platform: Android Android 14.x
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords: triaged
Depends on:
Blocks:
 
Reported: 2025-10-07 21:29 UTC by Door1
Modified: 2025-10-16 08:14 UTC (History)
1 user (show)

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


Attachments
Comparison of the Bezier Curve Autosmooth with mouse clicks vs touch taps (162.18 KB, image/jpeg)
2025-10-07 21:29 UTC, Door1
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Door1 2025-10-07 21:29:25 UTC
Created attachment 185587 [details]
Comparison of the Bezier Curve Autosmooth with mouse clicks vs touch taps

SUMMARY

See the attached image to better visualize how this bug looks.


STEPS TO REPRODUCE
1. Select the Bezier Curve Tool
2. In the Tool Options docker, enable "Autosmooth curve"
3. Using your finger, tap on the canvas a few times to setup your curve. (Use ONLY taps. Do not drag with your finger.)

OBSERVED RESULT
The curve is made of straight lines.

EXPECTED RESULT
The curve gets smoothed/curved out, like it would happen if you were using only mouse clicks

SOFTWARE/OS VERSIONS
Android 14
arm64
Krita 5.2.13


ADDITIONAL INFORMATION
I'm not a programmer, but if I were to guess, I'm guessing it's because there's no hovering involved when tapping with the finger.

Would the solution be to create an artificial hover event when tapping the canvas? This is what fixed the transform tool to make it work with touch, ( https://invent.kde.org/graphics/krita/-/commit/61001e3281252522cbc4bc93480438ccb45d4394 ) 

So I wonder if a similar fix would work here.
Comment 1 Dmitry Kazakov 2025-10-16 08:14:23 UTC
Git commit 85b8f3a2977b9c15b101e1bf3245df1e2b49c6ec by Dmitry Kazakov, on behalf of Carsten Hartenfels.
Committed on 16/10/2025 at 08:14.
Pushed by dkazakov into branch 'master'.

Make curve autosmooth work with touch drawing

Another case where the tool expects to receive a move event before a
press event to update its internal state.

M  +13   -1    libs/basicflakes/tools/KoCreatePathTool.cpp
M  +1    -0    libs/basicflakes/tools/KoCreatePathTool.h

https://invent.kde.org/graphics/krita/-/commit/85b8f3a2977b9c15b101e1bf3245df1e2b49c6ec
Comment 2 Dmitry Kazakov 2025-10-16 08:14:43 UTC
Git commit 1e0120ed169b3ed8c515d827e0e49fde38e55666 by Dmitry Kazakov.
Committed on 16/10/2025 at 08:14.
Pushed by dkazakov into branch 'krita/5.2'.

Make curve autosmooth work with touch drawing

Another case where the tool expects to receive a move event before a
press event to update its internal state.


(cherry picked from commit 85b8f3a2977b9c15b101e1bf3245df1e2b49c6ec)

Co-authored-by: Carsten Hartenfels <carsten.hartenfels@pm.me>

M  +13   -1    libs/basicflakes/tools/KoCreatePathTool.cpp
M  +1    -0    libs/basicflakes/tools/KoCreatePathTool.h

https://invent.kde.org/graphics/krita/-/commit/1e0120ed169b3ed8c515d827e0e49fde38e55666