diff --git a/services/form_render_service/src/form_render_record.cpp b/services/form_render_service/src/form_render_record.cpp index 9a153ba403c2989b2b01c17af92ef31188a40d93..c9766c41ee60c6e279e88b0a13329f93d5db6a55 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.");