提交 05d96cf7 编写于 作者: S serb

8049057: JNI exception pending in jdk/src/windows/native/sun/windows/

Reviewed-by: pchelko, prr
上级 dd55afd3
......@@ -467,7 +467,9 @@ void AwtComponent::InitPeerGraphicsConfig(JNIEnv *env, jobject peer)
jclass win32GCCls = env->FindClass("sun/awt/Win32GraphicsConfig");
DASSERT(win32GCCls != NULL);
DASSERT(env->IsInstanceOf(compGC, win32GCCls));
CHECK_NULL(win32GCCls);
if (win32GCCls == NULL) {
throw std::bad_alloc();
}
env->SetObjectField(peer, AwtComponent::peerGCID, compGC);
}
}
......
......@@ -229,9 +229,10 @@ void AwtCursor::UpdateCursor(AwtComponent *comp) {
if (cur != NULL) {
::SetCursor(cur);
} else {
safe_ExceptionOccurred(env);
if (safe_ExceptionOccurred(env)) {
env->ExceptionClear();
}
}
if (AwtCursor::updateCursorID == NULL) {
jclass cls =
env->FindClass("sun/awt/windows/WGlobalCursorManager");
......
......@@ -758,6 +758,7 @@ Java_sun_awt_windows_WPrinterJob_getDefaultPage(JNIEnv *env, jobject self,
// through print dialog or start of printing
// None of those may have happened yet, so call initPrinter()
initPrinter(env, self);
JNU_CHECK_EXCEPTION(env);
HANDLE hDevNames = AwtPrintControl::getPrintHDName(env, self);
HDC hdc = AwtPrintControl::getPrintDC(env, self);
......@@ -1102,6 +1103,7 @@ Java_sun_awt_windows_WPrinterJob_initPrinter(JNIEnv *env, jobject self) {
jboolean err;
initPrinter(env, self);
JNU_CHECK_EXCEPTION(env);
// check for collation
HGLOBAL hDevNames = AwtPrintControl::getPrintHDName(env, self);
......@@ -1362,6 +1364,13 @@ Java_sun_awt_windows_WPrinterJob__1startDoc(JNIEnv *env, jobject self,
}
initPrinter(env, self);
if (env->ExceptionCheck()) {
if (dest != NULL) {
JNU_ReleaseStringPlatformChars(env, dest, destination);
}
return JNI_FALSE;
}
HDC printDC = AwtPrintControl::getPrintDC(env, self);
SAVE_CONTROLWORD
......@@ -3827,6 +3836,7 @@ void setCapabilities(JNIEnv *env, jobject self, HDC printDC) {
// pixels per inch in y direction
jint yRes = GetDeviceCaps(printDC, LOGPIXELSY);
err = setIntField(env, self, YRES_STR, yRes);
if (err) return;
// x coord of printable area in pixels
jint xOrg = GetDeviceCaps(printDC, PHYSICALOFFSETX);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册