Skip to content

Bugfix: Unstable canvas when touch rotation is enabled

I extracted the Touch zoom and rotation action out of their individual classes, to apply transformation in the correct order. Sadly this does duplicate a few lines of code.

There is still a little drift with rotation but it seems unrelated to this and I could only reproduce it with fractional DPI scaling, without DPI scaling there seems none: https://photos.app.goo.gl/4d9KZPxFpBq7sSwg6

NOTE: I didn't add checks which were introduced in !333 (closed), because sometimes if the pinch operation was fast enough it would be immediately rejected. It may be the case with highDPI devices only, but this needs output from tablet logger for a proper fix.

Test Plan

BUG:436232

Formalities Checklist

  • I confirmed this builds.
  • I confirmed Krita ran and the relevant functions work.
  • I tested the relevant unit tests and can confirm they are not broken. (If not possible, don't hesitate to ask for help!)
  • I made sure my commits build individually and have good descriptions as per KDE guidelines.
  • I made sure my code conforms to the standards set in the HACKING file.
  • I can confirm the code is licensed and attributed appropriately, and that unattributed code is mine, as per KDE Licensing Policy.

Merge request reports