https://bugs.kde.org/show_bug.cgi?id=514871

            Bug ID: 514871
           Summary: [regression] Canvas runs off when click+hold very
                    zoomed in (ex. when doing pixel art operations)
    Classification: Applications
           Product: krita
      Version First git master (please specify the git hash!)
       Reported In:
          Platform: Compiled Sources
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: Tools
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

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

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to