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 .