Skip to content

core: Fix behavior when AVM2 focus change events are fired for AVM1 interactives#23204

Merged
kjarosh merged 1 commit intoruffle-rs:masterfrom
ChrisCPI:mixed-avm-focuschange
Mar 11, 2026
Merged

core: Fix behavior when AVM2 focus change events are fired for AVM1 interactives#23204
kjarosh merged 1 commit intoruffle-rs:masterfrom
ChrisCPI:mixed-avm-focuschange

Conversation

@ChrisCPI
Copy link
Contributor

@ChrisCPI ChrisCPI commented Mar 8, 2026

Fixes #18095 (the sites linked in this issue are no longer accessible, but I can attest to the fact that this would've fixed it)
Fixes #21481

When the target needs to resolve to the stage, prevent the events from firing when the related object is not AVM2 or None.

@ChrisCPI ChrisCPI force-pushed the mixed-avm-focuschange branch from 54d3041 to 1f6d262 Compare March 8, 2026 06:46
@kjarosh kjarosh added mixed-avm Mixing AVM1 and AVM2 A-core Area: Core player, where no other category fits T-fix Type: Bug fix (in something that's supposed to work already) labels Mar 8, 2026
@ChrisCPI ChrisCPI force-pushed the mixed-avm-focuschange branch from 1f6d262 to 575caf3 Compare March 8, 2026 22:55
…nteractives

The stage is only used as the `target` if the related object is AVM2, or if it is `None`.
@kjarosh kjarosh force-pushed the mixed-avm-focuschange branch from 575caf3 to fb17c88 Compare March 11, 2026 22:19
@kjarosh kjarosh enabled auto-merge (rebase) March 11, 2026 22:19
@kjarosh kjarosh merged commit aadd936 into ruffle-rs:master Mar 11, 2026
26 checks passed
Hancock33 added a commit to Hancock33/batocera.piboy that referenced this pull request Mar 15, 2026
-------------------------------------------------------------------------------------
azahar.mk 67159593828c074937a08c2d833584fe44464b27 # Version: Commits on Mar 12, 2026
-------------------------------------------------------------------------------------
shader_jit_a64_compiler: Added missing include

Fixes a build issue on ARM64 Linux w/ GCC

Fix proposed by PabloMK7,

------------------------------------------------------------------------------------------
dolphin-emu.mk 56b9b37ac80716361b7f4f89bf3754f28930eea7 # Version: Commits on Mar 12, 2026
------------------------------------------------------------------------------------------
Merge pull request #14406 from jordan-woyak/baseboard-minor-cleanups

SI_DeviceAMBaseboard: Minor cleanups.,

------------------------------------------------------------------------------------------
duckstation.mk ec5e676511b73efda6b212692d02d59d84705f3a # Version: Commits on Mar 12, 2026
------------------------------------------------------------------------------------------
CI: Update to latest AppImage utilities,

-----------------------------------------------------------------------------------
eden.mk 395613b01f918b559f0a3b1718c78f81987c49d4 # Version: Commits on Mar 12, 2026
-----------------------------------------------------------------------------------
[common/logging] Simplify logging logic and fix issues when logging before system is created (#3688)

--------------------------------------------------------------------------------------
flycast.mk 273fc8fbdd400412dd1a680914265590b7d2c4d1 # Version: Commits on Mar 12, 2026
--------------------------------------------------------------------------------------
force DCNet for Power Smash and Pro Yakyuu Team de Asobou Net!,

----------------------------------------------------
pcsx2.mk v2.7.180 # Version: Commits on Mar 12, 2026
----------------------------------------------------
- [GS: Add hotkey for cycling Blending Accuracy](PCSX2/pcsx2#14112)

,

-----------------------------------------------------------------------------------
play.mk 97186a986b4ce3a71d4dc2fe6a650b14f497b748 # Version: Commits on Mar 11, 2026
-----------------------------------------------------------------------------------
GSH_Vulkan: Add some annotations to help with debugging.,

-------------------------------------------------------------------------------------
ppsspp.mk 52d26f6acde511eb8666bc9cf0f46af815f16378 # Version: Commits on Mar 12, 2026
-------------------------------------------------------------------------------------
Merge pull request #21421 from hrydgard/split-mmpx-upscaler

Split MMPX texture upscaling shader into regular and advanced,

-------------------------------------------------
vice.mk r46026 # Version: Commits on Mar 12, 2026
-------------------------------------------------
null

-------------------------------------------------------------------------------------------
xenia-canary.mk 3b8debcf5b6dc8c772c5f0c5f07a894d074e3888 # Version: Commits on Mar 12, 2026
-------------------------------------------------------------------------------------------
[Memory] Fix watch race condition causing crashes on Linux

When two threads fault on the same watched page, the second thread may

find the watch already cleared by the first. TriggerCallbacks returned

false in this case, leaving the SIGSEGV unhandled. Return true instead

so the instruction retries — the page is already unprotected.

This is the signal-safe equivalent of the QueryProtect check that

handles the same race on Windows. Fixes a regression from dbd58b.,

-------------------------------------------------------------------------------------------
xenia-native.mk 3b8debcf5b6dc8c772c5f0c5f07a894d074e3888 # Version: Commits on Mar 12, 2026
-------------------------------------------------------------------------------------------
[Memory] Fix watch race condition causing crashes on Linux

When two threads fault on the same watched page, the second thread may

find the watch already cleared by the first. TriggerCallbacks returned

false in this case, leaving the SIGSEGV unhandled. Return true instead

so the instruction retries — the page is already unprotected.

This is the signal-safe equivalent of the QueryProtect check that

handles the same race on Windows. Fixes a regression from dbd58b.,

-------------------------------------------------------------------------------------
ikemen.mk 577296c233b0ed0e7d98823e013dd9413163c676 # Version: Commits on Mar 12, 2026
-------------------------------------------------------------------------------------
Merge pull request #3397 from ikemen-engine/fix3

fix: challenger start button detection,

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

* chore: Bump quinn-proto from 0.11.13 to 0.11.14 by @dependabot[bot] in ruffle-rs/ruffle#23231

* chore: Bump tar from 7.5.10 to 7.5.11 in /web by @dependabot[bot] in ruffle-rs/ruffle#23232

* chore: Bump the npm-minor group in /web with 7 updates by @dependabot[bot] in ruffle-rs/ruffle#23234

* core: Add object1_or_null and use it when firing onSetFocus/onKillFocus by @ChrisCPI in ruffle-rs/ruffle#23230

* core: Fix behavior when AVM2 focus change events are fired for AVM1 interactives by @ChrisCPI in ruffle-rs/ruffle#23204

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

---------------------------------------------------------------------------------------
thextech.mk 88b47147e005f414d0157d021155baff67a531a5 # Version: Commits on Mar 12, 2026
---------------------------------------------------------------------------------------
Move quitIntegrations to main (where it will be called),

------------------------------------------------------------------------------------
tic80.mk 5997f32499ddb237c9eb2648bb800bf2c6712b32 # Version: Commits on Mar 12, 2026
------------------------------------------------------------------------------------
Create THIRD_PARTY_LICENSES doc and LICENSES folder (#2904),

------------------------------------------------------------------------------------
box64.mk 4a4a03cd2add8a19a842b3c62a65431bbe9615ed # Version: Commits on Mar 12, 2026
------------------------------------------------------------------------------------
[WOW64] Fixed build on my machine (#3660)

I had this error:

```

ld.lld: error: duplicate symbol: _stricmp

>>> defined at /home/ksco/Dev/box64/wine/common/crt.c:133

>>>            objects.a(crt.c.obj)

>>> defined at ntdll.a(ntdll.dll)

```,

---------------------------------------------------------------------------------------
etlegacy.mk da785c255863d06aeeebe34478a2a0554b55fa71 # Version: Commits on Mar 10, 2026
---------------------------------------------------------------------------------------
game: use incoming damage direction for gibs

Prefer the exact damage vector captured during G_Damage when emitting

EV_GIB_PLAYER so explosive gibs keep travelling with the incoming blast

direction.

Make CG_GibPlayer treat the transmitted gib direction as the primary

launch vector instead of layering it on top of a fixed upward kick.

Also add a small upward correction for steep downward gib directions so

close overhead explosions do not drive every gib straight into the

floor.

Also tag EV_GIB_PLAYER with a heavy-projectile weapon only for direct

(non-radius) panzer, bazooka, and mortar gib kills, then use that tag

client-side to scale the launch speed up significantly.,

----------------------------------------------------------------------------------------
openmohaa.mk 42a9d00bbfb75a4827abaf7021da685e4e4799ea # Version: Commits on Mar 09, 2026
----------------------------------------------------------------------------------------
Fix incorrect variable reference,

--------------------------------------------------------------------------------------------------------------
lightguns-games-precalibrations.mk b2a36161d99ea81b2fdd454941b50927a4cc14eb # Version: Commits on Mar 12, 2026
--------------------------------------------------------------------------------------------------------------
fix opwolf3 calibration,

----------------------------------------------------------------------------------------
retroarch.mk 902aaac598321bbf1feeaf3f4502ec53bf45c386 # Version: Commits on Mar 12, 2026
----------------------------------------------------------------------------------------
core_info improvements:

* Bugfixes:

1.  Fixed operator precedence in core_info_core_file_id_is_equal — moved ) so sizeof(core_file_id_a) is passed as the buffer size (256) instead of sizeof(...) == 0 which evaluated to 1.

2. core_info_list_free now frees the struct itself. Removed the redundant free(core_info_list) calls in core_info_list_new error paths, and core_info_deinit_list no longer leaks.

3. core_info_get_core_updater_info now calls config_file_free(conf) before returning NULL on malloc failure.

4. core_info_init_current_core now calls core_info_free_current_core() first if there's an existing allocation.

5. Removed dead if (!info) continue checks in core_info_cache_find and core_info_check_uninstalled (address-of array element is never NULL).

6. Removed redundant double-assignments of capacity, refresh, and version in core_info_cache_list_new.

7. Cache writer now tracks a first_written flag instead of relying on i > 0, preventing a leading comma when early entries are skipped.

8. Added NULL guard for display_name in core_info_qsort_cmp before strcasecmp.

* Performance:

1. Collapsed four identical core_info_current_supports_* functions into one core_info_current_supports_savestate_level helper.

2. Batched consecutive rjsonwriter_raw calls (e.g. \:\ + \ \ → \: \, \,\ + \\

\ → \,\

\), roughly halving function call overhead in the JSON write loop.

* Memory:

1. Replaced 8 bool fields in core_info_t with a single uint8_t flags bitfield and CORE_INFO_FLAG_* defines. Saves ~28 bytes per struct with typical alignment.

2. Cache hits in core_info_list_new now use core_info_transfer instead of core_info_copy, moving pointers instead of deep-copying ~30 strings/lists per cached core.

3. core_info_init_current_core now uses calloc instead of malloc + 25 manual zeroing assignments.,

----------------------------------------------------------------------------------------
doomretro.mk c28b2588ee06df4ee670abf4425788e4cb0065ce # Version: Commits on Mar 12, 2026
----------------------------------------------------------------------------------------
Remove water reflections,

--------------------------------------------------------------------------------------
vkquake.mk 94e06775db70daf60860f46a6f32e87224b77441 # Version: Commits on Mar 11, 2026
--------------------------------------------------------------------------------------
snd_xmp.c: handle the tricky xmp_set_position() return code better,

--------------------------------------------------------------------------------------
yquake2.mk a1e9bc9e19853d727499c6299ed39eb2e9957ba4 # Version: Commits on Mar 11, 2026
--------------------------------------------------------------------------------------
game: make item in drop item const,

-----------------------------------------------------------------------------------------
sonicmania.mk ca19403c95c15e6abc893999b0f3de035c3aea17 # Version: Commits on Mar 12, 2026
-----------------------------------------------------------------------------------------
Add missing circle in off-screen ta ghost display

Fixes #325,

----------------------------------------------------------------------------------
trx.mk 848b06c89f2742615c2f9df7968ddbc0d661765d # Version: Commits on Mar 12, 2026
----------------------------------------------------------------------------------
objects/security_guard: add security guard control

This adds control for the London Security Guard.,

------------------------------------------------------------------------------------------
xash3d-fwgs.mk 00e2e8e50280eee610905c6662cc74e42af4b88d # Version: Commits on Mar 11, 2026
------------------------------------------------------------------------------------------
3rdparty: mainui: update,

-----------------------------------------------------------------------------------------------
libretro-dolphin.mk 0bd59770735c8728983e5087025b52d496004edd # Version: Commits on Mar 11, 2026
-----------------------------------------------------------------------------------------------
libretro: add gc/wiispeak/logitech microphone support,

-----------------------------------------------------------------------------------------------
libretro-flycast.mk 273fc8fbdd400412dd1a680914265590b7d2c4d1 # Version: Commits on Mar 12, 2026
-----------------------------------------------------------------------------------------------
force DCNet for Power Smash and Pro Yakyuu Team de Asobou Net!,

-----------------------------------------------------------------------------------------------
libretro-jollycv.mk 86f8e8607e0e36f596b911c59b04e48052953756 # Version: Commits on Mar 12, 2026
-----------------------------------------------------------------------------------------------
libretro: Add CreatiVision Auto-Reset hack and poll for reset outside of callbacks,

--------------------------------------------------------------------------------------------
libretro-pcsx.mk 2736b68758169fc7d4d419abd8ba7cbc828d298c # Version: Commits on Mar 12, 2026
--------------------------------------------------------------------------------------------
Merge branch 'master' (Mar 12 2026) into libretro,

----------------------------------------------------------------------------------------------
libretro-ppsspp.mk 52d26f6acde511eb8666bc9cf0f46af815f16378 # Version: Commits on Mar 12, 2026
----------------------------------------------------------------------------------------------
Merge pull request #21421 from hrydgard/split-mmpx-upscaler

Split MMPX texture upscaling shader into regular and advanced,

---------------------------------------------------------------------------------------------
libretro-tic80.mk 1699d081d72ef3e93f40f79d9ba26be62705c12a # Version: Commits on Mar 12, 2026
---------------------------------------------------------------------------------------------
Baremetal build fix (#2907)

* Attempt fixing Baremetal build

* Fixes Baremetal build

The first test worked, so applying to the second baremetal build too,

--------------------------------------------------------------------------------------------
slang-shaders.mk a7f237c52e50a18ee5ddbfe1c8f1f0e68192af7d # Version: Commits on Mar 12, 2026
--------------------------------------------------------------------------------------------
Update mmpx-ex.slang (#866),
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-core Area: Core player, where no other category fits mixed-avm Mixing AVM1 and AVM2 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.

Bug with text inputs NewCP/CPImagined - Can't type into login fields after few seconds

2 participants