diff --git a/adapter/ohos/entrance/ace_container.cpp b/adapter/ohos/entrance/ace_container.cpp index 99fb6d0dfa4adeedc9068b80b016c6c552ebb5cf..ee770b15f5de4e42f2ac9e338754ead87bf136e9 100644 --- a/adapter/ohos/entrance/ace_container.cpp +++ b/adapter/ohos/entrance/ace_container.cpp @@ -1411,7 +1411,7 @@ std::shared_ptr AceContainer::GetAbilityContextBy { auto context = runtimeContext_.lock(); CHECK_NULL_RETURN(context, nullptr); - return context->CreateModuleContext(bundle, module); + return isFormRender_ ? nullptr : context->CreateModuleContext(bundle, module); } void AceContainer::UpdateConfiguration(const std::string& colorMode, const std::string& deviceAccess, diff --git a/adapter/ohos/entrance/ui_content_impl.cpp b/adapter/ohos/entrance/ui_content_impl.cpp index 3d79bbfe74e9e2457d9dec305b8475b9ac80df11..bfd2455e8ca1a8955248d596b9b6a904508af3a2 100644 --- a/adapter/ohos/entrance/ui_content_impl.cpp +++ b/adapter/ohos/entrance/ui_content_impl.cpp @@ -271,11 +271,7 @@ private: UIContentImpl::UIContentImpl(OHOS::AbilityRuntime::Context* context, void* runtime) : runtime_(runtime) { CHECK_NULL_VOID(context); - const auto& obj = context->GetBindingObject(); - auto ref = obj->Get(); - auto object = AbilityRuntime::ConvertNativeValueTo(ref->Get()); - auto weak = static_cast*>(object->GetNativePointer()); - context_ = *weak; + context_ = context->weak_from_this(); LOGI("Create UIContentImpl successfully."); } @@ -293,23 +289,14 @@ UIContentImpl::UIContentImpl(OHOS::AbilityRuntime::Context* context, void* runti minCompatibleVersionCode_ = applicationInfo->minCompatibleVersionCode; isBundle_ = (hapModuleInfo->compileMode == AppExecFwk::CompileMode::JS_BUNDLE); SetConfiguration(context->GetConfiguration()); - const auto& obj = context->GetBindingObject(); - CHECK_NULL_VOID(obj); - auto ref = obj->Get(); - CHECK_NULL_VOID(ref); - auto object = AbilityRuntime::ConvertNativeValueTo(ref->Get()); - CHECK_NULL_VOID(object); - auto weak = static_cast*>(object->GetNativePointer()); - CHECK_NULL_VOID(weak); - context_ = *weak; + context_ = context->weak_from_this(); LOGI("Create form UIContentImpl successfully."); } UIContentImpl::UIContentImpl(OHOS::AppExecFwk::Ability* ability) { CHECK_NULL_VOID(ability); - auto weak = static_cast>(ability->GetAbilityContext()); - context_ = weak; + context_ = ability->GetAbilityContext(); LOGI("Create UIContentImpl successfully."); }