diff --git a/dmserver/src/abstract_screen_controller.cpp b/dmserver/src/abstract_screen_controller.cpp index 2d5a68d5..31ccbf4e 100644 --- a/dmserver/src/abstract_screen_controller.cpp +++ b/dmserver/src/abstract_screen_controller.cpp @@ -725,6 +725,7 @@ void AbstractScreenController::DumpScreenInfo() const PRIu64" %{public}10s %{public}20" PRIu64" ", screen->dmsId_, screen->rsId_, screen->groupDmsId_, isGroup.c_str(), screenType.c_str(), nodeId, isMirrored.c_str(), screen->rSDisplayNodeConfig_.mirrorNodeId); } + DumpScreenGroupInfo(); } void AbstractScreenController::DumpScreenGroupInfo() const diff --git a/dmserver/src/display_manager_service.cpp b/dmserver/src/display_manager_service.cpp index 1845e2b6..b2c9b499 100644 --- a/dmserver/src/display_manager_service.cpp +++ b/dmserver/src/display_manager_service.cpp @@ -133,14 +133,15 @@ DMError DisplayManagerService::DestroyVirtualScreen(ScreenId screenId) return DMError::DM_ERROR_INVALID_PARAM; } WM_SCOPED_TRACE("dms:DestroyVirtualScreen(%" PRIu64")", screenId); - std::map>::iterator iter = displayNodeMap_.find(screenId); + auto rsScreenId = abstractScreenController_->ConvertToRsScreenId(screenId); + std::map>::iterator iter = displayNodeMap_.find(rsScreenId); if (iter == displayNodeMap_.end()) { WLOGFE("DisplayManagerService: displayNode is nullptr"); return abstractScreenController_->DestroyVirtualScreen(screenId); } - displayNodeMap_[screenId]->RemoveFromTree(); + displayNodeMap_[rsScreenId]->RemoveFromTree(); WLOGFE("DisplayManagerService: displayNode remove from tree"); - displayNodeMap_.erase(screenId); + displayNodeMap_.erase(rsScreenId); auto transactionProxy = RSTransactionProxy::GetInstance(); if (transactionProxy != nullptr) { transactionProxy->FlushImplicitTransaction();