Bug 415935

Summary: Colorize Mask: Cursor disappears when there's no colorize mask layer
Product: [Applications] krita Reporter: Rebecca Breu <rebecca>
Component: Tools/ColorizeAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: ahab.greybeard, halla
Priority: NOR    
Version: 4.2.8   
Target Milestone: ---   
Platform: Debian stable   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Rebecca Breu 2020-01-06 15:10:16 UTC
SUMMARY

When activating the Colorize Mask Tool and there's no colorize mask layer yet, the cursor disappears while over the canvas.

This happens in the 4.2.8 appimage and the current master built in docker.


STEPS TO REPRODUCE
1. In a document that doesn't have a colorize mask yet, click on the colorize mask tool
2. Move your pointer over the canvas
3. No cursor
4. Press shift or alt
5. The "pointy finger"/"click" cursor appears as it should be from the start

Switch to a different tool and back to the colorize mask, and the cursor will be gone again. Once you've created a colorize mask and the cursor is a brush, it will always appear correctly.



Krita

 Version: 4.2.8
 Languages: en_US
 Hidpi: false

Qt

  Version (compiled): 5.12.5
  Version (loaded): 5.12.5

OS Information

  Build ABI: x86_64-little_endian-lp64
  Build CPU: x86_64
  CPU: x86_64
  Kernel Type: linux
  Kernel Version: 4.9.0-9-amd64
  Pretty Productname: Debian GNU/Linux 9 (stretch)
  Product Type: debian
  Product Version: 9

OpenGL Info
 
  Vendor:  "Intel Open Source Technology Center" 
  Renderer:  "Mesa DRI Intel(R) Kabylake GT2 " 
  Version:  "3.0 Mesa 13.0.6" 
  Shading language:  "1.30" 
  Requested format:  QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), 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 3.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::NoProfile) 
     Version: 3.0
     Supports deprecated functions true 
     is OpenGL ES: false 

QPA OpenGL Detection Info 
  supportsDesktopGL: true 
  supportsOpenGLES: true 
  isQtPreferOpenGLES: false 

Hardware Information

  GPU Acceleration: auto
  Memory: 15796 Mb
  Number of Cores: 4
  Swap Location: /tmp

Current Settings

	Current Swap Location: /tmp
	Undo Enabled: 1
	Undo Stack Limit: 100
	Use OpenGL: 1
	Use OpenGL Texture Buffer: 1
	Use AMD Vectorization Workaround: 0
	Canvas State: OPENGL_SUCCESS
	Autosave Interval: 300
	Use Backup Files: 1
	Number of Backups Kept: 1
	Backup File Suffix: ~
	Backup Location: Same Folder as the File
	Use Win8 Pointer Input: 0
	Use RightMiddleTabletButton Workaround: 0
	Levels of Detail Enabled: 1
	Use Zip64: 0
Comment 1 Ahab Greybeard 2020-01-06 17:11:35 UTC
After Step 2. I see a pointing finger cursor immediately. If I click the canvas with it then a colourise mask is created.

I'm using Debian 10 but I can't think why that would make a difference.

SYSTEM INFORMATION:
Krita

 Version: 4.2.8
 Languages: en_GB, en
 Hidpi: true

Qt

  Version (compiled): 5.12.5
  Version (loaded): 5.12.5

OS Information

  Build ABI: x86_64-little_endian-lp64
  Build CPU: x86_64
  CPU: x86_64
  Kernel Type: linux
  Kernel Version: 4.19.0-6-amd64
  Pretty Productname: Debian GNU/Linux 10 (buster)
  Product Type: debian
  Product Version: 10

OpenGL Info
 
  Vendor:  "NVIDIA Corporation" 
  Renderer:  "GeForce GTX 750 Ti/PCIe/SSE2" 
  Version:  "4.6.0 NVIDIA 418.74" 
  Shading language:  "4.60 NVIDIA" 
  Requested format:  QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), 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.6, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), 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) 
     Version: 4.6
     Supports deprecated functions true 
     is OpenGL ES: false 

QPA OpenGL Detection Info 
  supportsDesktopGL: true 
  supportsOpenGLES: true 
  isQtPreferOpenGLES: false 

Hardware Information

  GPU Acceleration: auto
  Memory: 16039 Mb
  Number of Cores: 8
  Swap Location: /tmp

Current Settings

	Current Swap Location: /tmp
	Undo Enabled: 1
	Undo Stack Limit: 18
	Use OpenGL: 1
	Use OpenGL Texture Buffer: 1
	Use AMD Vectorization Workaround: 0
	Canvas State: OPENGL_SUCCESS
	Autosave Interval: 360
	Use Backup Files: 1
	Number of Backups Kept: 1
	Backup File Suffix: ~
	Backup Location: Same Folder as the File
	Use Win8 Pointer Input: 0
	Use RightMiddleTabletButton Workaround: 0
	Levels of Detail Enabled: 0
	Use Zip64: 0
Comment 2 Halla Rempt 2020-01-07 12:45:38 UTC
What are your cursor settings? I can reproduce the issue on my laptop, with cursors set to No Cursor/Preview Outline/While painting show outline.
Comment 3 Halla Rempt 2020-01-07 12:52:13 UTC
Never mind, I've found the issue...
Comment 4 Ahab Greybeard 2020-01-07 13:05:25 UTC
My cursor settings were Crosshair/Preview Outline/While painting(Show outline + Use effective size).

I changed to No Cursor/Preview Outline/While painting(Show outline) and I still have the finger cursor when I select the Colorize Mask Editing Tool and move the arrow pointer cursor onto the workspace/canvas.
Comment 5 Ahab Greybeard 2020-01-07 13:06:07 UTC
As soon  as I posted :)
Comment 6 Halla Rempt 2020-01-07 14:09:09 UTC
Git commit f30b0574a3f1624546ad8fd431da6931a6b9edea by Boudewijn Rempt.
Committed on 07/01/2020 at 14:07.
Pushed by rempt into branch 'master'.

Show the hand cursor if there is no colorize mask yet

M  +12   -3    plugins/tools/tool_lazybrush/kis_tool_lazy_brush.cpp

https://invent.kde.org/kde/krita/commit/f30b0574a3f1624546ad8fd431da6931a6b9edea
Comment 7 Halla Rempt 2020-01-08 13:56:23 UTC
Git commit fc54c03ea10f5e7a9ee9cdbf83ce482338e620c7 by Boudewijn Rempt.
Committed on 08/01/2020 at 13:34.
Pushed by rempt into branch 'krita/4.2'.

Show the hand cursor if there is no colorize mask yet
(cherry picked from commit f30b0574a3f1624546ad8fd431da6931a6b9edea)

M  +12   -3    plugins/tools/tool_lazybrush/kis_tool_lazy_brush.cpp

https://invent.kde.org/kde/krita/commit/fc54c03ea10f5e7a9ee9cdbf83ce482338e620c7