Canvas runs off when you zoom in the canvas and click and hold in the rectangle tool, line tool, rectangular selection tool, gradient tool, bezier curves tool, and probably many others. (It even runs off if you click and hold the polygonal selection tool though it's not how you're supposed to use it). It makes many tools completely unusable in those conditions, and it's a regression. I believe it's related to the warnings we now see in the console about the offsets. That warning happens only once/twice per opening Krita but I noticed weirdness about pixel art operations roughly around the time that warning started to show up in my console. "The imageRectInWidgetPixels topLeft() does not match the documentOffsetF! imageRectInWidgetPixels: QRectF(-0.6,-0.6 0x0) documentOffsetF: QPointF(1,1) Dialog "krita/generators/seexpr" has a widget without an object name: QScrollBar(0x5e0e79d37ef0) Dialog "krita/generators/seexpr" has a widget without an object name: QScrollBar(0x5e0e6a886d60) Dialog "krita/generators/seexpr" has a widget without an objectName: QScrollBar(0x5e0e79d37ef0) Dialog "krita/generators/seexpr" has a widget without an objectName: QScrollBar(0x5e0e6a886d60) QPainter::begin: Paint device returned engine == 0, type: 2 QPainter::setRenderHint: Painter must be active to set rendering hints QPainter::setWorldTransform: Painter not active The imageRectInWidgetPixels topLeft() does not match the documentOffsetF! imageRectInWidgetPixels: QRectF(-0.6,-0.6 0x0) documentOffsetF: QPointF(1,1) corrected offset: QPointF(-1757,-208)" SUMMARY STEPS TO REPRODUCE 1. Create a 2000x2000 (or 200x200, or any other) canvas 2. Zoom in enough to see the pixel grid, one pixel should be around 0.5-1cm on your screen (comfortable zoom for pixel art) (it's around 4000% on 2000x2000 canvas) 3. Try to create a rectangle of size 5x5 using the Rectangle Tool OBSERVED RESULT Canvas runs off and you can't make any precise rectangle. EXPECTED RESULT You can make a precise rectangle. SOFTWARE/OS VERSIONS git master: e8631b83ba Krita Version: 5.3.0-prealpha (git 249e1df) Hidpi: true Qt Version (compiled): 5.15.7 Version (loaded): 5.15.7 OS Information Build ABI: x86_64-little_endian-lp64 Build CPU: x86_64 CPU: x86_64 Kernel Type: linux Kernel Version: 6.5.0-45-generic Pretty Productname: Ubuntu 20.04.6 LTS Product Type: ubuntu Product Version: 20.04 Desktop: Appimage build: Yes Locale Languages: en_US, en, en_Latn_US C locale: en_US.UTF-8 QLocale current: en QLocale system: en QTextCodec for locale: UTF-8 OpenGL Info Qt Platform Name: "xcb" Vendor: "Mesa/X.org" Renderer: "llvmpipe (LLVM 12.0.0, 256 bits)" Driver version: "4.5 (Core Profile) Mesa 21.2.6" Shading language: "4.50" Requested format: QSurfaceFormat(version 3.3, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile QSurfaceFormat::CompatibilityProfile) Current format: QSurfaceFormat(version 4.5, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile QSurfaceFormat::CoreProfile) GL version: 4.5 Supports deprecated functions false Is OpenGL ES: false supportsBufferMapping: true supportsBufferInvalidation: true forceDisableTextureBuffers: false
It's caused by b89e641c9f3b63f98827dddde25b82a2a1b10147, which was merged as part of https://invent.kde.org/graphics/krita/-/merge_requests/2423 .
A possibly relevant merge request was started @ https://invent.kde.org/graphics/krita/-/merge_requests/2632
*** Bug 516983 has been marked as a duplicate of this bug. ***
Git commit 280ca966f0eaf4a43adfa24d1224f0d834754ea7 by Dmitry Kazakov, on behalf of Agata Cacko. Committed on 03/03/2026 at 14:28. Pushed by dkazakov into branch 'master'. Fix zoom being too fast when zoomed in Before this commit, it wasn't possible to create a rectangle with a good control over what's going on when you were very zoomed in (enough to see pixels) on a big canvas (like 2000 x 2000, zoom > 4000). The speed of canvas running off was too quick to make a controlled action. This commit scales the speed of the movement by the zoom, so the speed of the canvas is the same visually when zoomed in or zoomed out. Commit made and tested by Agata Cacko <tamtamy.tymona@gmail.com> but the code was written by Dmitry Kazakov. M +12 -3 libs/flake/KoToolProxy.cpp https://invent.kde.org/graphics/krita/-/commit/280ca966f0eaf4a43adfa24d1224f0d834754ea7
Git commit 386e16b734abc83835f88b8d1e472a19ad2652ec by Dmitry Kazakov. Committed on 03/03/2026 at 14:28. Pushed by dkazakov into branch 'krita/6.0'. Fix zoom being too fast when zoomed in Before this commit, it wasn't possible to create a rectangle with a good control over what's going on when you were very zoomed in (enough to see pixels) on a big canvas (like 2000 x 2000, zoom > 4000). The speed of canvas running off was too quick to make a controlled action. This commit scales the speed of the movement by the zoom, so the speed of the canvas is the same visually when zoomed in or zoomed out. Commit made and tested by Agata Cacko <tamtamy.tymona@gmail.com> but the code was written by Dmitry Kazakov. (cherry picked from commit 280ca966f0eaf4a43adfa24d1224f0d834754ea7) 6a065d7f Fix zoom being too fast when zoomed in 9edd2afd Use better implementation for the scaling calculations Co-authored-by: Agata Cacko <tamtamy.tymona@gmail.com> M +12 -3 libs/flake/KoToolProxy.cpp https://invent.kde.org/graphics/krita/-/commit/386e16b734abc83835f88b8d1e472a19ad2652ec