OpenJDK / bsd-port / jdk9 / jdk
changeset 863:95a618c79382
6741364: Some input method problems after the fix for 6585765
Summary: the fix for 6585765 is corrected
Reviewed-by: uta
author | art |
---|---|
date | Tue, 26 Aug 2008 16:31:13 +0400 |
parents | 75755e92430c |
children | 39c8e06919a9 |
files | src/windows/native/sun/windows/awt_InputTextInfor.cpp src/windows/native/sun/windows/awt_InputTextInfor.h |
diffstat | 2 files changed, 8 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/src/windows/native/sun/windows/awt_InputTextInfor.cpp Tue Aug 26 13:09:34 2008 +0400 +++ b/src/windows/native/sun/windows/awt_InputTextInfor.cpp Tue Aug 26 16:31:13 2008 +0400 @@ -131,7 +131,7 @@ JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2); if (m_cStrW > 0) { - m_jtext = MakeJavaString(env, m_lpStrW); + m_jtext = MakeJavaString(env, m_lpStrW, m_cStrW); } // Merge the string if necessary @@ -182,12 +182,12 @@ } -jstring AwtInputTextInfor::MakeJavaString(JNIEnv* env, LPWSTR lpStrW) { +jstring AwtInputTextInfor::MakeJavaString(JNIEnv* env, LPWSTR lpStrW, int cStrW) { - if (env == NULL || lpStrW == NULL) { + if (env == NULL || lpStrW == NULL || cStrW == 0) { return NULL; } else { - return JNU_NewStringPlatform(env, lpStrW); + return env->NewString(reinterpret_cast<jchar*>(lpStrW), cStrW); } } @@ -246,14 +246,14 @@ } ::LCMapString(lcJPN, LCMAP_FULLWIDTH, lpHWStrW, cHWStrW, lpFWStrW, cFWStrW); - readingClauseW[cls] = MakeJavaString(env, lpFWStrW); + readingClauseW[cls] = MakeJavaString(env, lpFWStrW, cFWStrW); delete [] lpFWStrW; } else { - readingClauseW[cls] = MakeJavaString(env, lpHWStrW); + readingClauseW[cls] = MakeJavaString(env, lpHWStrW, cHWStrW); } } else { - readingClauseW[cls] = MakeJavaString(env, (LPWSTR)NULL); + readingClauseW[cls] = NULL; } }
--- a/src/windows/native/sun/windows/awt_InputTextInfor.h Tue Aug 26 13:09:34 2008 +0400 +++ b/src/windows/native/sun/windows/awt_InputTextInfor.h Tue Aug 26 16:31:13 2008 +0400 @@ -58,7 +58,7 @@ ~AwtInputTextInfor(); private: /* helper function to return a java string.*/ - static jstring MakeJavaString(JNIEnv* env, LPWSTR lpStrW); + static jstring MakeJavaString(JNIEnv* env, LPWSTR lpStrW, int cStrW); LPARAM m_flags; /* The message LPARAM. */