From ff38d59cff92e0a50f0dd70384fbc4dd11d969c4 Mon Sep 17 00:00:00 2001 From: Harini Malothu Date: Fri, 11 Jul 2025 03:13:30 -0700 Subject: [PATCH] # Fixed Type Conversion Error in DynamicEventPayload (#52525) Summary: Resolves https://github.com/microsoft/react-native-windows/issues/14797 We were facing a type conversion error in the DynamicEventPayload::extractValue() method. The function signature declares a return type of std::optional, but when handling INT64 values, but when handling `INT64` values, the code was directly returning `dynamic.asInt()` without proper type conversion We faced the issue while integrating https://github.com/microsoft/react-native-windows/pull/14791 ## Changelog: [General][Fixed] Pull Request resolved: https://github.com/facebook/react-native/pull/52525 Test Plan: The fix involved wrapping the dynamic.asInt() call with static_cast(), creating the corrected line: return static_cast(dynamic.asInt()) Tested E2E in RNW Reviewed By: andrewdacenko Differential Revision: D78083842 Pulled By: rshest fbshipit-source-id: 8dbedd67fa7c21e89b863d8b1bc7b9e0d7978b9f --- .../ReactCommon/react/renderer/core/DynamicEventPayload.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react-native/ReactCommon/react/renderer/core/DynamicEventPayload.cpp b/packages/react-native/ReactCommon/react/renderer/core/DynamicEventPayload.cpp index 76001da3b28..295c443c032 100644 --- a/packages/react-native/ReactCommon/react/renderer/core/DynamicEventPayload.cpp +++ b/packages/react-native/ReactCommon/react/renderer/core/DynamicEventPayload.cpp @@ -36,7 +36,7 @@ std::optional DynamicEventPayload::extractValue( if (dynamic.type() == folly::dynamic::Type::DOUBLE) { return dynamic.asDouble(); } else if (dynamic.type() == folly::dynamic::Type::INT64) { - return dynamic.asInt(); + return static_cast(dynamic.asInt()); } return std::nullopt; }