From fb840daefbf01bcd37ceebb5d039ba96c2c84ee2 Mon Sep 17 00:00:00 2001 From: chyyy0213 Date: Thu, 7 Jul 2022 10:17:07 +0800 Subject: [PATCH] add mode check for startingWindow Signed-off-by: chyyy0213 Change-Id: I33fd0299bf214a1594c5afa7202e46d3834ef1a2 Signed-off-by: chyyy0213 --- wmserver/src/starting_window.cpp | 4 +++- wmserver/src/window_controller.cpp | 6 ++++++ 2 files changed, 9 insertions(+), 1 deletion(-) 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;