Skip to content

core: Fix mouse cursor not inheriting from button-mode parent MovieClips#23389

Merged
evilpie merged 2 commits into
ruffle-rs:masterfrom
robinmiau:robinmiau-patch-2
Apr 11, 2026
Merged

core: Fix mouse cursor not inheriting from button-mode parent MovieClips#23389
evilpie merged 2 commits into
ruffle-rs:masterfrom
robinmiau:robinmiau-patch-2

Conversation

@robinmiau
Copy link
Copy Markdown
Contributor

Fixes #21379

Previously, mouse_cursor only checked whether the hovered object itself was a button-mode clip, so hovering over a child inside a button-mode Sprite would always show the arrow cursor.

This walks the ancestor chain to find the nearest button-mode MovieClip and uses its useHandCursor/enabled state to determine the cursor, stopping at the first match so a disabled intermediate ancestor isn't silently skipped.

@kjarosh kjarosh added A-input Area: Input handling T-fix Type: Bug fix (in something that's supposed to work already) labels Apr 4, 2026
@n0samu
Copy link
Copy Markdown
Member

n0samu commented Apr 5, 2026

@robinmiau clippy is complaining about a nested if statement in your code, be sure to fix that. Thanks for tracking down and fixing this, it's a significant UX improvement!

@Lord-McSweeney
Copy link
Copy Markdown
Collaborator

This also seems to fix the mouse cursor not changing to a hand when mousing over the ball in Can Your Pet (#10013)

Enhance mouse cursor logic for button-mode Sprites to inherit hand cursor from nearest button-mode ancestor.
@evilpie evilpie force-pushed the robinmiau-patch-2 branch from 9810324 to 4a4daf3 Compare April 11, 2026 07:44
@evilpie evilpie enabled auto-merge (squash) April 11, 2026 07:44
@evilpie evilpie merged commit aefa3bd into ruffle-rs:master Apr 11, 2026
26 checks passed
Hancock33 added a commit to Hancock33/batocera.piboy that referenced this pull request Apr 12, 2026
-------------------------------------------------------------------------------------
azahar.mk e8c75b4107c94e932241de6af648f6ee212e8ddf # Version: Commits on Apr 11, 2026
-------------------------------------------------------------------------------------
libretro: vulkan: wait before ticking (#2004)

Ensure the scheduler worker thread has finished processing all dispatched command chunks before the rasterizer cache's garbage collector destroys sentenced surfaces.,

-----------------------------------------------------------------------------------
cemu.mk 7e5516f94d9dc47db56cbbf24f788faf2c6a05eb # Version: Commits on Apr 12, 2026
-----------------------------------------------------------------------------------
Vulkan: Fix compile error on glibc 2.43 (#1870),

-----------------------------------------------------
ryujinx.mk 1.3.268 # Version: Commits on Apr 12, 2026
-----------------------------------------------------
1.3.268

-------------------------------------------------------------------------------------
ikemen.mk da4bd09f0a9d618b10e56e5a9afc314cde4fc5a2 # Version: Commits on Apr 11, 2026
-------------------------------------------------------------------------------------
Merge pull request #3496 from ikemen-engine/fix2

fix: storyboard fading regression,

-------------------------------------------------------------------------------------------
moonlight-qt.mk a766c9cafc9e8ea026ba95bd9e25870914aae4e2 # Version: Commits on Apr 12, 2026
-------------------------------------------------------------------------------------------
Disable texture sharing on Qualcomm GPUs

See #1857,

---------------------------------------------------------------
ruffle.mk nightly-2026-04-12 # Version: Commits on Apr 12, 2026
---------------------------------------------------------------
## What's Changed

* core: Fix mouse cursor not inheriting from button-mode parent MovieClips by @robinmiau in ruffle-rs/ruffle#23389

**Full Changelog**: ruffle-rs/ruffle@nightly-2026-04-11...nightly-2026-04-12,

------------------------------------------------------------------------------------------
fallout2-ce.mk 6e6f82414eeabb07b1790f32dfe5953c345eae20 # Version: Commits on Apr 11, 2026
------------------------------------------------------------------------------------------
Update readme to reflect f2_res.ini migration, add fallout2.cfg to files (#368)

* Update readme to reflect f2_res.ini migration, add fallout2.cfg to files

* Better defaults, valid example resolution, explain scaling,

---------------------------------------------------------------------------------------
mangohud.mk 4e69793b9b77a394b8f7842a78de235eaf3859df # Version: Commits on Apr 11, 2026
---------------------------------------------------------------------------------------
nvidia: Update params in the infinite loop

`params` was getting loaded only once at startup, making the initial setup determine what stats will be loaded ignoring preset change,

----------------------------------------------------------------------------------------
retroarch.mk 46de0d315ae3dbdd656e004bf268ac831f9f79af # Version: Commits on Apr 12, 2026
----------------------------------------------------------------------------------------
Fix 'Playlist names are no longer sorted' issue #18927,

----------------------------------------------------------------------------------------
doomretro.mk fcd44e86c58f713f2d0bee77d0eaf6fb7b39934d # Version: Commits on Apr 12, 2026
----------------------------------------------------------------------------------------
Implement redo in console with CTRL+Y,

---------------------------------------------------------------------------------------------
libretro-citra.mk e8c75b4107c94e932241de6af648f6ee212e8ddf # Version: Commits on Apr 11, 2026
---------------------------------------------------------------------------------------------
libretro: vulkan: wait before ticking (#2004)

Ensure the scheduler worker thread has finished processing all dispatched command chunks before the rasterizer cache's garbage collector destroys sentenced surfaces.,

--------------------------------------------------------------------------------------------
libretro-pc98.mk 5d47f3a04b0b8ea78f625eeec354ac132c80df06 # Version: Commits on Apr 12, 2026
--------------------------------------------------------------------------------------------
Merge pull request #209 from kt-devoss/pr/fix-sdl2-path

fix: correct SDL2 include path in compiler_base.h,

--------------------------------------------------------------------------------------------
libretro-pcsx.mk 13f09ce0e3eb375e02879c51926d2b7c54e5f86b # Version: Commits on Apr 12, 2026
--------------------------------------------------------------------------------------------
Merge branch 'master' (Apr 12 2026) into libretro,

----------------------------------------------------------------------------------------------
libretro-stella.mk 7d9148f97c9f4ba8903ba3e19cbfb418c779bbb5 # Version: Commits on Apr 12, 2026
----------------------------------------------------------------------------------------------
Some minor cleanups to StateManager class.,

--------------------------------------------------------------------------------------------
slang-shaders.mk f33c9825e2c99fd75e75cdf9ff5bddadcb006c2c # Version: Commits on Apr 12, 2026
--------------------------------------------------------------------------------------------
(FSR) Now compatible with SM4.0 (so it works with D3D10), textureGather

was not available on SM4.0,
@Benman2785
Copy link
Copy Markdown

does not fix Obama vs Zombies (Instruction and Achievements button)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-input Area: Input handling T-fix Type: Bug fix (in something that's supposed to work already)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Incorrect mouse cursor behavior over interactive objects

6 participants