From e0edbde9d24ef34fd27cd72d691e18923ab7a7ca Mon Sep 17 00:00:00 2001 From: raul Date: Mon, 29 May 2023 17:23:26 +0800 Subject: [PATCH] fix formRenderer crash Signed-off-by: raul Change-Id: I7374916da6076abcecd1b66eb9dadc0ee421d842 --- services/form_render_service/src/form_render_record.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/form_render_service/src/form_render_record.cpp b/services/form_render_service/src/form_render_record.cpp index 9a153ba403..c9766c41ee 100644 --- a/services/form_render_service/src/form_render_record.cpp +++ b/services/form_render_service/src/form_render_record.cpp @@ -275,7 +275,6 @@ std::shared_ptr FormRenderRecord::GetFormRendererGroup(c const std::shared_ptr &context, const std::shared_ptr &runtime) { HILOG_INFO("Get formRendererGroup."); - std::lock_guard lock(formRendererGroupMutex_); auto key = formJsInfo.formId; auto iter = formRendererGroupMap_.find(key); if (iter != formRendererGroupMap_.end()) { @@ -317,6 +316,7 @@ void FormRenderRecord::HandleUpdateInJsThread(const FormJsInfo &formJsInfo, cons auto renderType = want.GetIntParam(Constants::FORM_RENDER_TYPE_KEY, Constants::RENDER_FORM); HILOG_INFO("renderType is %{public}d.", renderType); if (renderType == Constants::RENDER_FORM) { + std::lock_guard lock(formRendererGroupMutex_); auto formRendererGroup = GetFormRendererGroup(formJsInfo, context, runtime_); if (formRendererGroup == nullptr) { HILOG_ERROR("Create formRendererGroup failed."); -- Gitee