diff --git a/jdk/make/lib/Awt2dLibraries.gmk b/jdk/make/lib/Awt2dLibraries.gmk index 04984ef391c..fa7d8725eeb 100644 --- a/jdk/make/lib/Awt2dLibraries.gmk +++ b/jdk/make/lib/Awt2dLibraries.gmk @@ -147,8 +147,6 @@ endif ifeq ($(OPENJDK_TARGET_OS), windows) LIBAWT_DIRS += $(JDK_TOPDIR)/src/java.desktop/share/native/common/awt/utility -else - LIBAWT_EXFILES := java2d/ShaderList.c endif ifneq ($(filter $(OPENJDK_TARGET_OS), solaris linux macosx aix), ) diff --git a/jdk/src/java.desktop/share/native/libfontmanager/HBShaper.c b/jdk/src/java.desktop/share/native/libfontmanager/HBShaper.c index 00c6ee1fa44..485c42a7b96 100644 --- a/jdk/src/java.desktop/share/native/libfontmanager/HBShaper.c +++ b/jdk/src/java.desktop/share/native/libfontmanager/HBShaper.c @@ -278,6 +278,12 @@ JNIEXPORT jboolean JNICALL Java_sun_font_SunLayoutEngine_shape hb_buffer_set_direction(buffer, direction); chars = (*env)->GetCharArrayElements(env, text, NULL); + if ((*env)->ExceptionCheck(env)) { + hb_buffer_destroy(buffer); + hb_font_destroy(hbfont); + free((void*)jdkFontInfo); + return JNI_FALSE; + } len = (*env)->GetArrayLength(env, text); hb_buffer_add_utf16(buffer, chars, len, offset, limit-offset); @@ -309,6 +315,7 @@ JNIEXPORT jboolean JNICALL Java_sun_font_SunLayoutEngine_shape hb_font_destroy(hbfont); free((void*)jdkFontInfo); if (features != NULL) free(features); + (*env)->ReleaseCharArrayElements(env, text, chars, JNI_ABORT); return JNI_TRUE; } diff --git a/jdk/src/java.desktop/share/native/libawt/java2d/ShaderList.c b/jdk/src/java.desktop/windows/native/libawt/java2d/d3d/ShaderList.c similarity index 98% rename from jdk/src/java.desktop/share/native/libawt/java2d/ShaderList.c rename to jdk/src/java.desktop/windows/native/libawt/java2d/d3d/ShaderList.c index d7f69f754fe..e129bcd2a85 100644 --- a/jdk/src/java.desktop/share/native/libawt/java2d/ShaderList.c +++ b/jdk/src/java.desktop/windows/native/libawt/java2d/d3d/ShaderList.c @@ -49,7 +49,7 @@ ShaderList_AddProgram(ShaderList *programList, info = (ShaderInfo *)malloc(sizeof(ShaderInfo)); if (info == NULL) { J2dTraceLn(J2D_TRACE_ERROR, - "OGLContext_AddProgram: could not allocate ShaderInfo"); + "D3DContext_AddProgram: could not allocate ShaderInfo"); return; } diff --git a/jdk/src/java.desktop/share/native/libawt/java2d/ShaderList.h b/jdk/src/java.desktop/windows/native/libawt/java2d/d3d/ShaderList.h similarity index 100% rename from jdk/src/java.desktop/share/native/libawt/java2d/ShaderList.h rename to jdk/src/java.desktop/windows/native/libawt/java2d/d3d/ShaderList.h