3.6 LTS: Fixes for wayland & animation player #114353

Merged
Philipp Oeser merged 6 commits from ideasman42/blender:pr-wayland-anim-player-fixes-36 into blender-v3.6-release 2023-11-07 15:32:27 +01:00

6 Commits

Author SHA1 Message Date
Campbell Barton 9bcd903ce7 Fix incorrect screen-size under Wayland with transformed outputs
buildbot/vexp-code-patch-coordinator Build done. Details
- The transform was incorrectly accessed as a flag.
- Missing checks for 270 degree rotation.

Back ported from [0].

[0]: ee15925716
2023-11-07 14:48:18 +01:00
Campbell Barton 601141e01c Fix crash dragging images into the animation player
Resolve issues with the animation player drag & drop.

- IMB_exit ran before attempting to load the dropped image,
  crashing when the image was loaded.
- The old event consumer wasn't removed from the system
  causing events to be processed that accessed freed stack memory.

Back ported from [0].

[0]: 51467b0611
2023-11-07 14:48:18 +01:00
Campbell Barton 4b34443c10 Fix invalid surface size under Wayland when GHOST set the window size
When the window manager set the window size, there were no checks
the size is a multiple of the buffer scale (a requirement for Wayland).

This meant setting the window size could exit Blender without warning
if an invalid window size was set.

Back ported changes from [0] & [1].

[0]: 3ad21b2169
[1]: 46159c131d
2023-11-07 14:48:18 +01:00
Campbell Barton 4eca55cc11 Fix drag & drop crash when dragging over window decorations on Wayland
Missing null checks for drag events for non-GHOST surfaces
(typically window decorations).

Back ported from [0].

[0]: 3e9403bd76
2023-11-07 14:48:18 +01:00
Campbell Barton 6e51a2eaea Fix #107523: Cursor not cleared when panning stops
Back ported from [0].

[0]: 4e4fc8c276
2023-11-07 14:48:18 +01:00
Campbell Barton 98ec3826ac Fix mouse cursor failing to update for blocking actions on Wayland
Changes to the mouse cursor would only display when the main loop
was being handled, so blocking actions such as file load wouldn't
refresh the cursor.

Solve by flushing the display when the cursor changes.

Back ported from [0].

[0]: 8337b3dd3f
2023-11-07 14:48:18 +01:00