diff --git a/frameworks/bridge/declarative_frontend/jsview/dialog/js_custom_dialog_controller.cpp b/frameworks/bridge/declarative_frontend/jsview/dialog/js_custom_dialog_controller.cpp index c8eecb7438900a53632dbd89a95fc392070d884c..e7b399ee5c3187ce02a4d753f5921f99ed3592a4 100644 --- a/frameworks/bridge/declarative_frontend/jsview/dialog/js_custom_dialog_controller.cpp +++ b/frameworks/bridge/declarative_frontend/jsview/dialog/js_custom_dialog_controller.cpp @@ -117,7 +117,7 @@ void JSCustomDialogController::DestructorCallback(JSCustomDialogController* cont void JSCustomDialogController::ShowDialog(const JSCallbackInfo& info) { - LOGD("JSCustomDialogController(ShowDialog)"); + LOGI("JSCustomDialogController(ShowDialog)"); auto container = Container::Current(); if (!container) { return; @@ -153,9 +153,10 @@ void JSCustomDialogController::ShowDialog(const JSCallbackInfo& info) void JSCustomDialogController::CloseDialog() { - LOGD("JSCustomDialogController(CloseDialog)"); + LOGI("JSCustomDialogController(CloseDialog)"); auto container = Container::Current(); if (!container) { + LOGE("container is null."); return; } auto context = container->GetPipelineContext(); diff --git a/frameworks/core/components/stack/stack_element.cpp b/frameworks/core/components/stack/stack_element.cpp index 0a8cdcabff72778139d54d8e6b1f3ec99345e5a6..0af3207d29072573226b27c2e5991d3144fa69a7 100644 --- a/frameworks/core/components/stack/stack_element.cpp +++ b/frameworks/core/components/stack/stack_element.cpp @@ -99,6 +99,7 @@ bool StackElement::PushDialog(const RefPtr& newComponent, bool disabl bool StackElement::PopDialog(int32_t id) { + LOGI("StackElement::PopDialog id is %{public}d", id); auto context = context_.Upgrade(); if (context) { AccessibilityEvent stackEvent; diff --git a/frameworks/core/pipeline/base/flutter_render_context.cpp b/frameworks/core/pipeline/base/flutter_render_context.cpp index 3c8f0af84c686b13a4bb04dfe45427bae161c85d..c4cab3be4ebb39b4a4cedb6adf50f100dcf6078e 100644 --- a/frameworks/core/pipeline/base/flutter_render_context.cpp +++ b/frameworks/core/pipeline/base/flutter_render_context.cpp @@ -22,6 +22,8 @@ namespace OHOS::Ace { namespace { +constexpr int32_t OVERFLOW_PLATFORM_VERSION = 7; + inline bool ShouldPaint(const RefPtr& node) { return node != nullptr && node->GetVisible() && !node->GetHidden(); @@ -52,8 +54,14 @@ void FlutterRenderContext::PaintChild(const RefPtr& child, const Off return; } + bool canChildOverflow = false; + auto pipeline = child->GetContext().Upgrade(); + if (pipeline) { + canChildOverflow = pipeline->GetMinPlatformVersion() >= OVERFLOW_PLATFORM_VERSION; + } + Rect rect = child->GetTransitionPaintRect() + offset; - if (!child->IsPaintOutOfParent() && !estimatedRect_.IsIntersectWith(rect)) { + if (!(child->IsPaintOutOfParent() || canChildOverflow) && !estimatedRect_.IsIntersectWith(rect)) { #if defined(WINDOWS_PLATFORM) || defined(MAC_PLATFORM) child->ClearAccessibilityRect(); #endif diff --git a/frameworks/core/pipeline/pipeline_context.cpp b/frameworks/core/pipeline/pipeline_context.cpp index d28092db24aa1516c073cefecd83bed2639c3b0e..2de3aebf9808b80d309c30ac03ab6b87367a8ab3 100644 --- a/frameworks/core/pipeline/pipeline_context.cpp +++ b/frameworks/core/pipeline/pipeline_context.cpp @@ -1098,6 +1098,7 @@ RefPtr PipelineContext::ShowDialog( if (!lastStack) { return nullptr; } + LOGI("PipelineContext::ShowDialog id is %{public}d", dialog->GetDialogId()); lastStack->PushDialog(dialog); return dialog; }