Regression: Mouse cursor jumps to the left when keep clicking on the colour circle under Windows #109968

Closed
opened 2023-07-11 15:19:31 +02:00 by Blender-King · 10 comments

System Information
Operating system: Windows 10, 21H2
Graphics card: Intel A770

Blender Version
Broken: 3.4, 3.6.0
Worked: 3.3

Short description of error
If I keep clicking random place in the colour circle, the mouse pointer randomly jumps to the left edge of the circle. This seems to be happening only under Windows, not under Linux.
I have only one Windows installation, so I am not sure if this would happen on other computers. Please check for it.

Exact steps for others to reproduce the error

  • Just keep clicking random places on the color circle for about 10 seconds. (See the attached screen recording.)

Not necessary: I was using a 4K monitor with 200% scaling and Blender interface scaling was 1.0.

**System Information** Operating system: Windows 10, 21H2 Graphics card: Intel A770 **Blender Version** Broken: 3.4, 3.6.0 Worked: 3.3 **Short description of error** If I keep clicking random place in the colour circle, the mouse pointer randomly jumps to the left edge of the circle. This seems to be happening only under Windows, not under Linux. I have only one Windows installation, so I am not sure if this would happen on other computers. Please check for it. **Exact steps for others to reproduce the error** - Just keep clicking random places on the color circle for about 10 seconds. (See the attached screen recording.) Not necessary: ~~I was using a 4K monitor with 200% scaling and Blender interface scaling was 1.0.~~
Blender-King added the
Type
Report
Status
Needs Triage
Priority
Normal
labels 2023-07-11 15:19:31 +02:00
Member

Hi, thanks for the report. Can confirm the regression.

Hi, thanks for the report. Can confirm the regression.
Member

Also noticed similar behavior when editing properties from redo panel

Also noticed similar behavior when editing properties from redo panel
Contributor

The error is in GHOST_SystemWin32::processCursorEvent, I found out that the screen_co mouse position can jump from one coordinate to another in some adjustments made inside the function

image

The error is in `GHOST_SystemWin32::processCursorEvent`, I found out that the `screen_co` mouse position can jump from one coordinate to another in some adjustments made inside the function ![image](/attachments/5c613a03-cab3-4a31-a2bd-fb0fa7ad5cf7)
Member

Caused by 9fd6dae793
@ideasman42 ^

The error is in GHOST_SystemWin32::processCursorEvent

seems so.

Caused by 9fd6dae7939a65b67045749a0eadeb6864ded183 @ideasman42 ^ > The error is in GHOST_SystemWin32::processCursorEvent seems so.
Pratik Borhade changed title from Mouse cursor jumps to the left when keep clicking on the colour circle under Windows to Regression: Mouse cursor jumps to the left when keep clicking on the colour circle under Windows 2023-08-04 09:04:54 +02:00
Pratik Borhade added this to the 3.6 LTS milestone 2023-08-04 09:05:00 +02:00
Member

Also noticed similar behavior when editing properties from redo panel

Above bug is also caused by the same commit. Not sure if separate report is needed for it.
How to repro:

  • In default scene, add sphere
  • Expand redo panel
  • Change any int/flot property with click drag (cursor shifts to screen center)
> Also noticed similar behavior when editing properties from redo panel Above bug is also caused by the same commit. Not sure if separate report is needed for it. How to repro: - In default scene, add sphere - Expand redo panel - Change any int/flot property with click drag (cursor shifts to screen center)

@Blender-King is this related to the 200% scaling of your monitor? Does it happen if the monitor is not scaled?

At the moment I don't have a Win32 development system, and would like to have developers using Windows supporting this platform if at all possible.

Of course the commit that caused this can always be reverted however reverting both:

... re-introduces a bug in GHOST/Wayland and is just avoiding a bug/limitation in GHOST/Win32, accepting the underlying API's aren't reliable on some platforms, so I don't see this as a good long term solution.

My sense is GHOST/Win32 should be able to function in a similar way to X11 or macOS, as Guillermo points out, the issue may be a problem detecting wrapping.

@Blender-King is this related to the 200% scaling of your monitor? Does it happen if the monitor is not scaled? At the moment I don't have a Win32 development system, and would like to have developers using Windows supporting this platform if at all possible. Of course the commit that caused this can always be reverted however reverting both: - 9fd6dae7939a65b67045749a0eadeb6864ded183 - 4c4e8cc926a672ac60692b3fb8c20249f9cae679 ... re-introduces a bug in GHOST/Wayland and is just avoiding a bug/limitation in GHOST/Win32, accepting the underlying API's aren't reliable on some platforms, so I don't see this as a good long term solution. My sense is GHOST/Win32 should be able to function in a similar way to X11 or macOS, as Guillermo points out, the issue may be a problem detecting wrapping.
Harley Acheson self-assigned this 2023-08-08 04:53:45 +02:00
Member

@Guillermo - nice work investigating this.

When I looked at this earlier I could recreate the complaint at will (multiple fast and short drags in the color circle). But I never found any odd values when this problem occurred. As in the event mouse position never suddenly changed. It didn't make a lot of sense to me.

Will do some debugging in GHOST_SystemWin32::processCursorEvent and hopefully can figure things out. Might ask you some questions if things don't make sense.

@Guillermo - nice work investigating this. When I looked at this earlier I could recreate the complaint at will (multiple fast and short drags in the color circle). But I never found any odd values when this problem occurred. As in the event mouse position never suddenly changed. It didn't make a lot of sense to me. Will do some debugging in GHOST_SystemWin32::processCursorEvent and hopefully can figure things out. Might ask you some questions if things don't make sense.
Author

@Blender-King is this related to the 200% scaling of your monitor? Does it happen if the monitor is not scaled?

Yes. I installed 3.6.1, changed DPI of the monitor to 100%, started Blender (the resolution scale was 1.00) and mouse jumping still happened when I kept clicking random points on the colour circle.

> @Blender-King is this related to the 200% scaling of your monitor? Does it happen if the monitor is not scaled? > Yes. I installed 3.6.1, changed DPI of the monitor to 100%, started Blender (the resolution scale was 1.00) and mouse jumping still happened when I kept clicking random points on the colour circle.
Blender Bot added
Status
Resolved
and removed
Status
Confirmed
labels 2023-10-09 22:09:17 +02:00
Member

@Harley hi, can we backport fix to 3.6LTS?

@Harley hi, can we backport fix to 3.6LTS?
Member

@PratikPB2123 - hi, can we backport fix to 3.6LTS?

As long as it is not a version coming soon out soon. But after a month or so sure!

> @PratikPB2123 - hi, can we backport fix to 3.6LTS? As long as it is not a version coming soon out soon. But after a month or so sure!
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
5 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#109968
No description provided.