From b7d5922b0ad4a47e2ea57590f4dbf1c7b8cd65fa Mon Sep 17 00:00:00 2001 From: edde746 <86283021+edde746@users.noreply.github.com> Date: Sat, 25 Jul 2026 00:22:14 +0200 Subject: [PATCH] fix(ci): repair Windows native checks --- .github/workflows/ci.yml | 4 ++-- .../mpv/mpv_player_property_contract_test.cpp | 19 ++++++++----------- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c5da1a17..fb7a75f2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -505,8 +505,8 @@ jobs: if ($LASTEXITCODE -ne 0) { throw "Unable to resolve the Flutter SDK version" } - $versionJson = $versionOutput | Where-Object { $_ -match '^\s*\{' } | Select-Object -Last 1 - if (-not $versionJson) { + $versionJson = $versionOutput -join "`n" + if ([string]::IsNullOrWhiteSpace($versionJson)) { throw "Flutter did not report machine-readable version JSON" } $version = $versionJson | ConvertFrom-Json diff --git a/windows/runner/mpv/mpv_player_property_contract_test.cpp b/windows/runner/mpv/mpv_player_property_contract_test.cpp index 6340225b..c2a28beb 100644 --- a/windows/runner/mpv/mpv_player_property_contract_test.cpp +++ b/windows/runner/mpv/mpv_player_property_contract_test.cpp @@ -45,7 +45,6 @@ void Check(bool condition, const char* message) { } std::atomic g_forwarded_mouse_messages{0}; -std::atomic g_forwarded_pointer_messages{0}; constexpr UINT kBlockWindowThreadMessage = WM_APP + 0x0505; std::atomic g_block_entered{nullptr}; std::atomic g_block_release{nullptr}; @@ -63,10 +62,6 @@ LRESULT CALLBACK CountingWindowProc(HWND hwnd, UINT message, WPARAM wparam, LPAR } return 0; } - if (message == WM_POINTERUPDATE) { - g_forwarded_pointer_messages.fetch_add(1, std::memory_order_relaxed); - return 0; - } if (message == WM_MOUSEMOVE) { g_forwarded_mouse_messages.fetch_add(1, std::memory_order_relaxed); return 0; @@ -253,7 +248,7 @@ void TestTimedOutSubclassDetachCanBeAdopted() { g_block_entered.store(block_entered, std::memory_order_release); g_block_release.store(block_release, std::memory_order_release); g_block_exited.store(block_exited, std::memory_order_release); - g_forwarded_pointer_messages.store(0, std::memory_order_relaxed); + g_forwarded_mouse_messages.store(0, std::memory_order_relaxed); { MpvPlayer original; @@ -289,11 +284,13 @@ void TestTimedOutSubclassDetachCanBeAdopted() { ::WaitForSingleObject(block_exited, 1000) == WAIT_OBJECT_0, "the owner thread must leave the deterministic blocking message"); ::SendMessageW(windows.inner, WM_NULL, 0, 0); - ::SendMessageW( - windows.inner, WM_POINTERUPDATE, MAKEWPARAM(1, POINTER_FLAG_UPDATE | POINTER_FLAG_INRANGE), MAKELPARAM(12, 13)); + ::SendMessageW(windows.inner, WM_MOUSEMOVE, 0, MAKELPARAM(12, 13)); + for (int attempt = 0; attempt < 100 && g_forwarded_mouse_messages.load(std::memory_order_relaxed) < 1; ++attempt) { + ::Sleep(10); + } Check( - g_forwarded_pointer_messages.load(std::memory_order_relaxed) == 1, - "the adopted generation must resume pointer forwarding"); + g_forwarded_mouse_messages.load(std::memory_order_relaxed) == 1, + "the adopted generation must resume input forwarding"); MpvPlayerPropertyContractTestPeer::ReleaseTestWindows(replacement); Check( @@ -309,7 +306,7 @@ void TestTimedOutSubclassDetachCanBeAdopted() { ::CloseHandle(block_exited); ::PostThreadMessageW(windows.owner_thread, WM_QUIT, 0, 0); window_owner.join(); - g_forwarded_pointer_messages.store(0, std::memory_order_relaxed); + g_forwarded_mouse_messages.store(0, std::memory_order_relaxed); } void TestTimedOutSubclassInstallCannotOutliveItsState() {