diff --git a/WeaselTSF/CandidateList.cpp b/WeaselTSF/CandidateList.cpp index 66c40be82..cdf2c3e62 100644 --- a/WeaselTSF/CandidateList.cpp +++ b/WeaselTSF/CandidateList.cpp @@ -309,12 +309,14 @@ void CCandidateList::StartUI() { void CCandidateList::EndUI() { com_ptr pThreadMgr = _tsf->_GetThreadMgr(); - com_ptr emgr; - auto hr = pThreadMgr->QueryInterface(&emgr); - if (FAILED(hr)) - return; - if (emgr != NULL) - emgr->EndUIElement(uiid); + if (pThreadMgr) { + com_ptr emgr; + auto hr = pThreadMgr->QueryInterface(&emgr); + if (FAILED(hr)) + return; + if (emgr != NULL) + emgr->EndUIElement(uiid); + } _DisposeUIWindow(); }