diff --git a/wmserver/src/starting_window.cpp b/wmserver/src/starting_window.cpp index c66586df..740e4da7 100644 --- a/wmserver/src/starting_window.cpp +++ b/wmserver/src/starting_window.cpp @@ -39,7 +39,9 @@ sptr StartingWindow::CreateWindowNode(sptr inf return nullptr; } property->SetRequestRect(info->GetWindowRect()); - property->SetWindowMode(info->GetWindowMode()); + if (WindowHelper::IsValidWindowMode(info->GetWindowMode())) { + property->SetWindowMode(info->GetWindowMode()); + } property->SetDisplayId(info->GetDisplayId()); property->SetWindowType(info->GetWindowType()); if (info->GetShowFlagWhenLocked()) { diff --git a/wmserver/src/window_controller.cpp b/wmserver/src/window_controller.cpp index bb962140..fdaf173b 100644 --- a/wmserver/src/window_controller.cpp +++ b/wmserver/src/window_controller.cpp @@ -68,6 +68,12 @@ void WindowController::StartingWindow(sptr info, sptrGetWindowMode()) && + (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()); + } } if (windowRoot_->AddWindowNode(0, node, true) != WMError::WM_OK) { return;