diff --git a/wmserver/src/starting_window.cpp b/wmserver/src/starting_window.cpp index 5ee378f3..97e96d00 100644 --- a/wmserver/src/starting_window.cpp +++ b/wmserver/src/starting_window.cpp @@ -59,7 +59,10 @@ sptr StartingWindow::CreateWindowNode(const sptrSetRequestRect(info->GetWindowRect()); - property->SetWindowMode(info->GetWindowMode()); + if (WindowHelper::IsValidWindowMode(info->GetWindowMode())) { + property->SetWindowMode(info->GetWindowMode()); + } + property->SetDisplayId(info->GetDisplayId()); property->SetWindowType(info->GetWindowType()); property->AddWindowFlag(WindowFlag::WINDOW_FLAG_NEED_AVOID); diff --git a/wmserver/src/window_controller.cpp b/wmserver/src/window_controller.cpp index 3c6c77ba..12379fe7 100644 --- a/wmserver/src/window_controller.cpp +++ b/wmserver/src/window_controller.cpp @@ -73,7 +73,9 @@ void WindowController::StartingWindow(sptr info, sptrGetWindowMode() != info->GetWindowMode()) { + + if (WindowHelper::IsValidWindowMode(info->GetWindowMode()) && + (node->GetWindowMode() != info->GetWindowMode())) { WLOGFW("set starting window mode. starting mode is: %{public}u, window mode is:%{public}u.", node->GetWindowMode(), info->GetWindowMode()); node->SetWindowMode(info->GetWindowMode());