This commit is contained in:
Yuri Nesterenko 2009-08-12 00:32:35 -07:00
commit 3ee6a85bc7
2 changed files with 4 additions and 4 deletions

View file

@ -1596,18 +1596,18 @@ void AwtToolkit::RegisterEmbedderProcessId(HWND embedder)
} }
JNIEnv* AwtToolkit::m_env; JNIEnv* AwtToolkit::m_env;
HANDLE AwtToolkit::m_thread; DWORD AwtToolkit::m_threadId;
void AwtToolkit::SetEnv(JNIEnv *env) { void AwtToolkit::SetEnv(JNIEnv *env) {
if (m_env != NULL) { // If already cashed (by means of embeddedInit() call). if (m_env != NULL) { // If already cashed (by means of embeddedInit() call).
return; return;
} }
m_thread = GetCurrentThread(); m_threadId = GetCurrentThreadId();
m_env = env; m_env = env;
} }
JNIEnv* AwtToolkit::GetEnv() { JNIEnv* AwtToolkit::GetEnv() {
return (m_env == NULL || m_thread != GetCurrentThread()) ? return (m_env == NULL || m_threadId != GetCurrentThreadId()) ?
(JNIEnv*)JNU_GetEnv(jvm, JNI_VERSION_1_2) : m_env; (JNIEnv*)JNU_GetEnv(jvm, JNI_VERSION_1_2) : m_env;
} }

View file

@ -442,7 +442,7 @@ public:
private: private:
static JNIEnv *m_env; static JNIEnv *m_env;
static HANDLE m_thread; static DWORD m_threadId;
public: public:
static void SetEnv(JNIEnv *env); static void SetEnv(JNIEnv *env);
static JNIEnv* GetEnv(); static JNIEnv* GetEnv();