diff --git a/window_scene/screen_session_manager/src/fold_screen_controller/super_fold_state_manager.cpp b/window_scene/screen_session_manager/src/fold_screen_controller/super_fold_state_manager.cpp index d88a426a9af46678801807e191bd7d26fd3fbad7..2ee4487eae0d1141d38ad54e88dc121b533aa8ae 100644 --- a/window_scene/screen_session_manager/src/fold_screen_controller/super_fold_state_manager.cpp +++ b/window_scene/screen_session_manager/src/fold_screen_controller/super_fold_state_manager.cpp @@ -514,7 +514,7 @@ DMError SuperFoldStateManager::RefreshExternalRegion() TLOGW(WmsLogTag::DMS, "extend screen not connect"); return DMError::DM_OK; } - sptr mainScreenSession = ScreenSessionManager::GetInstance().GetDefaultScreenSession(); + sptr mainScreenSession = ScreenSessionManager::GetInstance().GetScreenSessionByRsId(SCREEN_ID_FULL); if (mainScreenSession == nullptr) { TLOGE(WmsLogTag::DMS, "GetScreenSession null"); return DMError::DM_ERROR_NULLPTR; diff --git a/window_scene/screen_session_manager/src/screen_session_manager.cpp b/window_scene/screen_session_manager/src/screen_session_manager.cpp index fbf6275b054586307fa84dce0f63c1a13038e29d..66e98b6ebac8def0649acbb9ff57b0d0c9ca9af8 100644 --- a/window_scene/screen_session_manager/src/screen_session_manager.cpp +++ b/window_scene/screen_session_manager/src/screen_session_manager.cpp @@ -1445,6 +1445,9 @@ void ScreenSessionManager::HandleScreenConnectEvent(sptr screenSe HandlePhysicalMirrorConnect(screenSession, phyMirrorEnable); auto clientProxy = GetClientProxy(); #ifdef FOLD_ABILITY_ENABLE + if (FoldScreenStateInternel::IsSuperFoldDisplayDevice()) { + SuperFoldStateManager::GetInstance().RefreshExternalRegion(); + } if (foldScreenController_ != nullptr) { if ((screenId == 0 || (screenId == SCREEN_ID_MAIN && isCoordinationFlag_ == true)) && clientProxy) { TLOGW(WmsLogTag::DMS, "event: connect %{public}" PRIu64 ", %{public}" PRIu64 ", "