7082294: nsk/regression/b4265661 crashes on windows

Reviewed-by: art, anthony
This commit is contained in:
Oleg Pekhovskiy 2012-10-25 19:50:30 +04:00
parent 6036ad08e5
commit bf6c304c44
2 changed files with 7 additions and 4 deletions

View File

@ -150,6 +150,7 @@ AwtFont::AwtFont(int num, JNIEnv *env, jobject javaFont)
AwtFont::~AwtFont()
{
delete[] m_hFont;
}
void AwtFont::Dispose() {
@ -160,11 +161,12 @@ void AwtFont::Dispose() {
/* NOTE: delete of windows HFONT happens in FontCache::Remove
only when the final reference to the font is disposed */
} else if (font != NULL) {
// if font was not in cache, its not shared and we delete it now
VERIFY(::DeleteObject(font));
// if font was not in cache, its not shared and we delete it now
DASSERT(::GetObjectType(font) == OBJ_FONT);
VERIFY(::DeleteObject(font));
}
m_hFont[i] = NULL;
}
delete[] m_hFont;
AwtObject::Dispose();
}

View File

@ -534,7 +534,6 @@ BOOL AwtToolkit::Dispose() {
D3DInitializer::GetInstance().Clean();
AwtObjectList::Cleanup();
AwtFont::Cleanup();
awt_dnd_uninitialize();
awt_clipboard_uninitialize((JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2));
@ -554,6 +553,8 @@ BOOL AwtToolkit::Dispose() {
::DispatchMessage(&msg);
}
AwtFont::Cleanup();
HWND toolkitHWndToDestroy = tk.m_toolkitHWnd;
tk.m_toolkitHWnd = 0;
VERIFY(::DestroyWindow(toolkitHWndToDestroy) != NULL);