diff --git a/services/src/peruser_session.cpp b/services/src/peruser_session.cpp index 799bb79..1b6d18a 100644 --- a/services/src/peruser_session.cpp +++ b/services/src/peruser_session.cpp @@ -1221,7 +1221,9 @@ namespace MiscServices { sptr client = new InputClientProxy(clientObject); sptr interface = client; int remainClientNum = 0; - imsCore[0]->SetClientState(false); + if (imsCore[0] != nullptr) { + imsCore[0]->SetClientState(false); + } HideKeyboard(client); int ret = RemoveClient(client, remainClientNum); if (ret != ErrorCode::NO_ERROR) { @@ -1241,7 +1243,9 @@ namespace MiscServices { MessageParcel *data = msg->msgContent_; sptr clientObject = data->ReadRemoteObject(); sptr client = new InputClientProxy(clientObject); - imsCore[0]->SetClientState(true); + if (imsCore[0] != nullptr) { + imsCore[0]->SetClientState(true); + } ShowKeyboard(client); }