diff --git a/window_scene/session/host/src/session.cpp b/window_scene/session/host/src/session.cpp index b80ead6e7d1c35109e8b82feadc2cbd45457c991..539ae59ea144c915cde8dd62a0a885b4f209bb8f 100644 --- a/window_scene/session/host/src/session.cpp +++ b/window_scene/session/host/src/session.cpp @@ -4001,6 +4001,10 @@ void Session::NotifyOccupiedAreaChangeInfo(sptr info, TLOGD(WmsLogTag::WMS_KEYBOARD, "session stage is nullptr"); return; } + if(state_ == SessionState::STATE_DISCONNECT) { + TLOGD(WmsLogTag::WMS_KEYBOARD, "session is disconnect"); + return; + } if (CheckEmptyKeyboardAvoidAreaIfNeeded()) { info = sptr::MakeSptr(); TLOGD(WmsLogTag::WMS_KEYBOARD, "Occupied area needs to be empty when in floating mode");