зеркало из https://github.com/mozilla/pjs.git
Bug 477911 [TSF] crash after committing long IME transaction string at losing focus r=VYV03354, sr=roc
This commit is contained in:
Родитель
09d85790f6
Коммит
8959279358
|
@ -116,7 +116,6 @@ nsTextStore::Create(nsWindow* aWindow,
|
|||
PRBool
|
||||
nsTextStore::Destroy(void)
|
||||
{
|
||||
Blur();
|
||||
if (mWindow) {
|
||||
// When blurred, Tablet Input Panel posts "blur" messages
|
||||
// and try to insert text when the message is retrieved later.
|
||||
|
@ -141,25 +140,6 @@ nsTextStore::Destroy(void)
|
|||
return PR_TRUE;
|
||||
}
|
||||
|
||||
PRBool
|
||||
nsTextStore::Focus(void)
|
||||
{
|
||||
HRESULT hr = sTsfThreadMgr->SetFocus(mDocumentMgr);
|
||||
NS_ENSURE_TRUE(SUCCEEDED(hr), PR_FALSE);
|
||||
PR_LOG(sTextStoreLog, PR_LOG_ALWAYS,
|
||||
("TSF: Focused\n"));
|
||||
return PR_TRUE;
|
||||
}
|
||||
|
||||
PRBool
|
||||
nsTextStore::Blur(void)
|
||||
{
|
||||
sTsfThreadMgr->SetFocus(NULL);
|
||||
PR_LOG(sTextStoreLog, PR_LOG_ALWAYS,
|
||||
("TSF: Blurred\n"));
|
||||
return PR_TRUE;
|
||||
}
|
||||
|
||||
STDMETHODIMP
|
||||
nsTextStore::QueryInterface(REFIID riid,
|
||||
void** ppv)
|
||||
|
@ -1374,8 +1354,11 @@ nsTextStore::OnFocusChange(PRBool aFocus,
|
|||
return NS_ERROR_NOT_AVAILABLE;
|
||||
|
||||
if (aFocus) {
|
||||
if (sTsfTextStore->Create(aWindow, aIMEEnabled))
|
||||
sTsfTextStore->Focus();
|
||||
PRBool bRet = sTsfTextStore->Create(aWindow, aIMEEnabled);
|
||||
NS_ENSURE_TRUE(bRet, NS_ERROR_FAILURE);
|
||||
NS_ENSURE_TRUE(sTsfTextStore->mDocumentMgr, NS_ERROR_FAILURE);
|
||||
HRESULT hr = sTsfThreadMgr->SetFocus(sTsfTextStore->mDocumentMgr);
|
||||
NS_ENSURE_TRUE(SUCCEEDED(hr), NS_ERROR_FAILURE);
|
||||
} else {
|
||||
sTsfTextStore->Destroy();
|
||||
}
|
||||
|
|
|
@ -181,8 +181,6 @@ protected:
|
|||
|
||||
PRBool Create(nsWindow*, PRUint32);
|
||||
PRBool Destroy(void);
|
||||
PRBool Focus(void);
|
||||
PRBool Blur(void);
|
||||
|
||||
// If aDispatchTextEvent is true, this method will dispatch text event if
|
||||
// this is called during IME composing. aDispatchTextEvent should be true
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Загрузка…
Ссылка в новой задаче