From f25c7103df4119ed1ffb79dac97c606d7df3b10e Mon Sep 17 00:00:00 2001 From: xiaojianfeng Date: Mon, 28 Feb 2022 21:22:10 +0800 Subject: [PATCH] fix makemirror fush bug Signed-off-by: xiaojianfeng Change-Id: Ie50efdbe2e60ef5958de13c8be730e332d57bcaf --- dmserver/src/abstract_screen.cpp | 4 ++++ dmserver/src/display_manager_service.cpp | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/dmserver/src/abstract_screen.cpp b/dmserver/src/abstract_screen.cpp index 75e399a8..f5ef4cae 100644 --- a/dmserver/src/abstract_screen.cpp +++ b/dmserver/src/abstract_screen.cpp @@ -84,6 +84,10 @@ void AbstractScreen::InitRSDisplayNode(RSDisplayNodeConfig& config) } rsDisplayNode_ = rsDisplayNode; rSDisplayNodeConfig_ = config; + auto transactionProxy = RSTransactionProxy::GetInstance(); + if (transactionProxy != nullptr) { + transactionProxy->FlushImplicitTransaction(); + } } DMError AbstractScreen::GetScreenSupportedColorGamuts(std::vector& colorGamuts) diff --git a/dmserver/src/display_manager_service.cpp b/dmserver/src/display_manager_service.cpp index c4e5ad24..e349da00 100644 --- a/dmserver/src/display_manager_service.cpp +++ b/dmserver/src/display_manager_service.cpp @@ -380,6 +380,10 @@ std::shared_ptr DisplayManagerService::GetRSDisplayNodeByDisplayI void DisplayManagerService::SetShotScreen(ScreenId mainScreenId, std::vector shotScreenIds) { WLOGFI("SetShotScreen. mainScreenId: %{public}" PRIu64"", mainScreenId); + if (shotScreenIds.empty()) { + WLOGFI("shotScreenIds is empty"); + return; + } std::shared_ptr displayNode = abstractScreenController_->GetRSDisplayNodeByScreenId(mainScreenId); if (displayNode == nullptr) { WLOGFE("SetShotScreen error, cannot get DisplayNode");