summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
Diffstat (limited to 'platform')
-rw-r--r--platform/java/mupdf_native.c40
1 files changed, 19 insertions, 21 deletions
diff --git a/platform/java/mupdf_native.c b/platform/java/mupdf_native.c
index d8d713e3..9110dbd5 100644
--- a/platform/java/mupdf_native.c
+++ b/platform/java/mupdf_native.c
@@ -1005,26 +1005,6 @@ FUN(Context_gprfSupportedNative)(JNIEnv * env, jclass class)
/* Conversion functions: C to Java. These all throw fitz exceptions. */
-static inline jobject to_Annotation(fz_context *ctx, JNIEnv *env, fz_annot *annot)
-{
- jobject jannot;
- pdf_annot *pannot;
-
- if (!ctx || !annot) return NULL;
-
- fz_keep_annot(ctx, annot);
-
- pannot = pdf_annot_from_fz_annot(ctx, annot);
- if (pannot)
- jannot = (*env)->NewObject(env, cls_PDFAnnotation, mid_PDFAnnotation_init, jlong_cast(annot));
- else
- jannot = (*env)->NewObject(env, cls_Annotation, mid_Annotation_init, jlong_cast(annot));
- if (!jannot)
- fz_throw_java(ctx, env);
-
- return jannot;
-}
-
static inline jobject to_ColorSpace(fz_context *ctx, JNIEnv *env, fz_colorspace *cs)
{
jobject jcs;
@@ -1154,6 +1134,24 @@ static inline jfloatArray to_jfloatArray(fz_context *ctx, JNIEnv *env, const flo
/* Conversion functions: C to Java. None of these throw fitz exceptions. */
+static inline jobject to_Annotation_safe(fz_context *ctx, JNIEnv *env, fz_annot *annot)
+{
+ jobject jannot;
+ pdf_annot *pannot;
+
+ if (!ctx || !annot) return NULL;
+
+ fz_keep_annot(ctx, annot);
+
+ pannot = pdf_annot_from_fz_annot(ctx, annot);
+ if (pannot)
+ jannot = (*env)->NewObject(env, cls_PDFAnnotation, mid_PDFAnnotation_init, jlong_cast(annot));
+ else
+ jannot = (*env)->NewObject(env, cls_Annotation, mid_Annotation_init, jlong_cast(annot));
+
+ return jannot;
+}
+
static inline jobject to_ColorSpace_safe(fz_context *ctx, JNIEnv *env, fz_colorspace *cs)
{
jobject jcs;
@@ -4874,7 +4872,7 @@ FUN(Page_getAnnotations)(JNIEnv *env, jobject self)
annot = annots;
for (i = 0; annot && i < annot_count; i++)
{
- jobject jannot = to_Annotation(ctx, env, annot);
+ jobject jannot = to_Annotation_safe(ctx, env, annot);
if (!jannot) return NULL;
(*env)->SetObjectArrayElement(env, jannots, i, jannot);