< prev index next >
src/java.desktop/windows/native/libawt/windows/awt_FileDialog.cpp
Print this page
*** 257,273 ****
jboolean multipleMode = JNI_FALSE;
OPENFILENAME ofn;
memset(&ofn, 0, sizeof(ofn));
! /*
! * There's a situation (see bug 4906972) when InvokeFunction (by which this method is called)
! * returnes earlier than this method returnes. Probably it's caused due to ReplyMessage system call.
! * So for the avoidance of this mistiming we need to make new global reference here
! * (not local as it's used by the hook) and then manage it independently of the calling thread.
! */
! peer = env->NewGlobalRef((jobject)p);
try {
DASSERT(peer);
target = env->GetObjectField(peer, AwtObject::targetID);
parent = env->GetObjectField(peer, AwtFileDialog::parentID);
--- 257,267 ----
jboolean multipleMode = JNI_FALSE;
OPENFILENAME ofn;
memset(&ofn, 0, sizeof(ofn));
! peer = (jobject)p;
try {
DASSERT(peer);
target = env->GetObjectField(peer, AwtObject::targetID);
parent = env->GetObjectField(peer, AwtFileDialog::parentID);
< prev index next >