From b954e88c658b07eb04cc260eee6773c49c4f1230 Mon Sep 17 00:00:00 2001 From: zenix_zxy Date: Wed, 16 Jul 2025 21:00:54 +0800 Subject: [PATCH] test Signed-off-by: zenix_zxy Change-Id: I281588d69d7d2a99a35be6124d8511b99584158f --- .../implementation/common_method_modifier.cpp | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/frameworks/core/interfaces/native/implementation/common_method_modifier.cpp b/frameworks/core/interfaces/native/implementation/common_method_modifier.cpp index 4e15a4e9317..6a6673b19d0 100644 --- a/frameworks/core/interfaces/native/implementation/common_method_modifier.cpp +++ b/frameworks/core/interfaces/native/implementation/common_method_modifier.cpp @@ -5609,15 +5609,17 @@ void BindContextMenuBase(Ark_NativePointer node, } auto type = Converter::OptConvertPtr(responseType).value_or(ResponseType::LONG_PRESS); auto contentBuilder = [callback = CallbackHelper(*optValue), node, frameNode, type]( - MenuParam menuParam, std::function&& previewBuildFunc) { - auto builder = [node, frameNode, callback]() { - auto uiNode = callback.BuildSync(node); - PipelineContext::SetCallBackNode(AceType::WeakClaim(frameNode)); - ViewStackProcessor::GetInstance()->Push(uiNode); - }; - ViewAbstractModelStatic::BindContextMenuStatic( - AceType::Claim(frameNode), type, std::move(builder), menuParam, std::move(previewBuildFunc)); - ViewAbstractModelStatic::BindDragWithContextMenuParamsStatic(frameNode, menuParam); + MenuParam menuParam, std::function&& previewBuildFunc) { + callback.BuildAsync([frameNode, menuParam, type, previewBuildFunc](const RefPtr& uiNode) { + std::function previewFuncCopy = previewBuildFunc; + auto builder = [frameNode, uiNode]() { + PipelineContext::SetCallBackNode(AceType::WeakClaim(frameNode)); + ViewStackProcessor::GetInstance()->Push(uiNode); + }; + ViewAbstractModelStatic::BindContextMenuStatic( + AceType::Claim(frameNode), type, std::move(builder), menuParam, std::move(previewFuncCopy)); + ViewAbstractModelStatic::BindDragWithContextMenuParamsStatic(frameNode, menuParam); + }, node); }; menuParam.previewMode = MenuPreviewMode::NONE; auto menuOption = Converter::GetOptPtr(options); -- Gitee