From 08f257e9c44a9df97a960298375488211f97aaca Mon Sep 17 00:00:00 2001 From: ssreedharan Date: Fri, 24 Nov 2017 13:18:36 +0530 Subject: 8176072: READING attributes are not available on TSF Reviewed-by: ssadetsky --- .../classes/sun/awt/windows/WInputMethod.java | 2 +- .../native/sun/windows/awt_InputTextInfor.cpp | 24 +++++++++++++++------- 2 files changed, 18 insertions(+), 8 deletions(-) (limited to 'src/windows') diff --git a/src/windows/classes/sun/awt/windows/WInputMethod.java b/src/windows/classes/sun/awt/windows/WInputMethod.java index de7c478c08..7010f32d8c 100644 --- a/src/windows/classes/sun/awt/windows/WInputMethod.java +++ b/src/windows/classes/sun/awt/windows/WInputMethod.java @@ -493,7 +493,7 @@ final class WInputMethod extends InputMethodAdapter // set Clause and Reading Information if (clauseBoundary!=null && clauseReading!=null && clauseReading.length!=0 && clauseBoundary.length==clauseReading.length+1 && - clauseBoundary[0]==0 && clauseBoundary[clauseReading.length]==text.length() ) + clauseBoundary[0]==0 && clauseBoundary[clauseReading.length]<=text.length() ) { for (int i=0; iGetClauseInfor(lpBndClauseW, lpReadingClauseW); + } } int* bndClauseW = NULL; @@ -346,10 +352,14 @@ int AwtInputTextInfor::GetClauseInfor(int*& lpBndClauseW, jstring*& lpReadingCla // int AwtInputTextInfor::GetAttributeInfor(int*& lpBndAttrW, BYTE*& lpValAttrW) { if (m_cStrW == 0 || m_cAttrW != m_cStrW) { - lpBndAttrW = NULL; - lpValAttrW = NULL; + if (NULL == m_pResultTextInfor) { + lpBndAttrW = NULL; + lpValAttrW = NULL; - return 0; + return 0; + } else { + return m_pResultTextInfor->GetAttributeInfor(lpBndAttrW, lpValAttrW); + } } int* bndAttrW = NULL; -- cgit v1.2.3