diff --git a/services/src/peruser_session.cpp b/services/src/peruser_session.cpp index 0463b54286690e9f4436c6241ac7a08a68c34c0e..c67651e7e9f31c76ff2ae14e7cf4d7fecc8ea117 100644 --- a/services/src/peruser_session.cpp +++ b/services/src/peruser_session.cpp @@ -1136,7 +1136,8 @@ std::shared_ptr PerUserSession::GetRealCurrentIme(bool needMinGuar } } #ifdef IMF_SCREENLOCK_MGR_ENABLE - if (ScreenLock::ScreenLockManager::GetInstance()->IsScreenLocked()) { + auto screenLockMgr = ScreenLock::ScreenLockManager::GetInstance(); + if (screenLockMgr != nullptr && screenLockMgr->IsScreenLocked()) { auto preconfiguredIme = ImeInfoInquirer::GetInstance().GetDefaultImeCfg(); auto defaultIme = ImeCfgManager::GetInstance().GetCurrentImeCfg(userId_); if (preconfiguredIme != nullptr && (defaultIme == nullptr || defaultIme->imeId != preconfiguredIme->imeId)) {