diff --git a/src/windows/native/sun/windows/awt_Toolkit.cpp b/src/windows/native/sun/windows/awt_Toolkit.cpp index cab78049f238613890afc30984612524b39aeaf0..687dc8b5a7e8b72e95aacb406700b5134428b3e3 100644 --- a/src/windows/native/sun/windows/awt_Toolkit.cpp +++ b/src/windows/native/sun/windows/awt_Toolkit.cpp @@ -528,9 +528,6 @@ BOOL AwtToolkit::Dispose() { tk.m_isActive = FALSE; - awt_dnd_uninitialize(); - awt_clipboard_uninitialize((JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2)); - // dispose Direct3D-related resources. This should be done // before AwtObjectList::Cleanup() as the d3d will attempt to // shutdown when the last of its windows is disposed of @@ -539,6 +536,9 @@ BOOL AwtToolkit::Dispose() { AwtObjectList::Cleanup(); AwtFont::Cleanup(); + awt_dnd_uninitialize(); + awt_clipboard_uninitialize((JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2)); + if (tk.m_inputMethodHWnd != NULL) { ::SendMessage(tk.m_inputMethodHWnd, WM_IME_CONTROL, IMC_OPENSTATUSWINDOW, 0); }