Bug 404597 - Jumpy, unpredictable zoom behavior right after canvas rotation
Summary: Jumpy, unpredictable zoom behavior right after canvas rotation
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Usability (show other bugs)
Version: nightly build (please specify the git hash!)
Platform: Manjaro Linux
: NOR normal
Target Milestone: ---
Assignee: Dmitry Kazakov
URL:
Keywords: regression, release_blocker, triaged
Depends on:
Blocks:
 
Reported: 2019-02-20 14:01 UTC by M
Modified: 2019-05-04 17:14 UTC (History)
5 users (show)

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


Attachments
Tablet event logs (1.26 MB, text/plain)
2019-04-03 16:28 UTC, Storm Engineer
Details

Note You need to log in before you can comment on or make changes to this bug.
Description M 2019-02-20 14:01:29 UTC
Zooming in on the canvas immediately after rotating it, either with Ctrl + middle button or using the scroll wheel (touch ring on my Intuos) offsets the view. I think this is new, I hadn't noticed it in the nightly build before and it's quite obvious and distracting. It does not happen in 4.1.7.

Version: 4.2.0-pre-alpha (git be454f9)

Wishlist: Is it possible to have Ctrl + middle button zoom towards the starting cursor position? It would be in line with the scroll zoom and I think it feels more natural. Blender for example gives you that option and applies it to all 2D and 3D views.
Comment 1 Storm Engineer 2019-04-02 15:26:56 UTC
I'M experiencing this as well with master since about a week or so. It seems to be random, as it does not always happen, but maybe 1-2 times out of 3.
Comment 2 Storm Engineer 2019-04-02 15:27:27 UTC
Forgot:

Building master from git on Arch.
Comment 3 Storm Engineer 2019-04-03 16:28:32 UTC
Created attachment 119231 [details]
Tablet event logs

I have created tablet event logs, I hope they can be of some use.
Comment 4 wolthera 2019-04-08 14:07:37 UTC
I can confirm on 

Krita

 Version: 4.2.0-pre-alpha (git c5838c0)
 Languages: en_US, en_GB, nl
 Hidpi: false

Qt

  Version (compiled): 5.12.0
  Version (loaded): 5.12.0

OS Information

  Build ABI: x86_64-little_endian-lp64
  Build CPU: x86_64
  CPU: x86_64
  Kernel Type: linux
  Kernel Version: 4.15.0-46-generic
  Pretty Productname: KDE neon User Edition 5.15
  Product Type: neon
  Product Version: 18.04
Comment 5 Storm Engineer 2019-04-11 15:36:50 UTC
Does the reporter or anyone else know of a still good commit so I could do a bisect on this?
Comment 6 M 2019-04-11 19:07:11 UTC
If I remember correctly I was updating the appimage every few days before I reported this on February 20, shortly after I first noticed it.
Comment 7 Storm Engineer 2019-04-12 21:05:28 UTC
Alright, I'll see if I can start from there. Thank you!
Comment 8 Dmitry Kazakov 2019-04-30 18:38:00 UTC
I can confirm the issue :)
Comment 9 Dmitry Kazakov 2019-05-01 16:12:40 UTC
Bisecting points to commit e7cd6d6ff4dd629f72525bd9e1cbf5d37becd965

I still have to find out how it managed to cause it
Comment 10 Storm Engineer 2019-05-01 17:52:08 UTC
Ah, sorry, I wanted to bisect this but life happened and I forgot... :(

As for the how: I noticed that the more I rotate the more it will jump. I hope this helps a bit. Without knowing the code I would guess the value of the rotation somehow gets mixed with the position/panning value.
Comment 11 Dmitry Kazakov 2019-05-04 17:14:00 UTC
Git commit 0a552f7b729bcb417553ab7304a2dde6e45e9b4a by Dmitry Kazakov.
Committed on 04/05/2019 at 17:13.
Pushed by dkazakov into branch 'master'.

Fix canvas jumping when zooming after canvas rotation

One should avoid cycling signals carefully. The bug has been
caused by commit: e7cd6d6ff4dd629f72525bd9e1cbf5d37becd965

M  +3    -0    plugins/dockers/overview/overviewdocker_dock.cpp

https://invent.kde.org/kde/krita/commit/0a552f7b729bcb417553ab7304a2dde6e45e9b4a