summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2018-06-26 11:20:01 +0200
committerTor Andersson <tor.andersson@artifex.com>2018-07-04 17:23:21 +0200
commit2b9d084882cc04b79e194368e8d1393f55d36d61 (patch)
tree22100f92d7e513528c9841f87757eb082cf182ef /platform
parent7fb50ef76d207ef05d42f6b237bdbbc721fddfe4 (diff)
downloadmupdf-2b9d084882cc04b79e194368e8d1393f55d36d61.tar.xz
java: Fix bugs introduced when caching text strings in pdf_obj.
Diffstat (limited to 'platform')
-rw-r--r--platform/java/mupdf_native.c24
1 files changed, 8 insertions, 16 deletions
diff --git a/platform/java/mupdf_native.c b/platform/java/mupdf_native.c
index 5a1b0cb7..9173278f 100644
--- a/platform/java/mupdf_native.c
+++ b/platform/java/mupdf_native.c
@@ -617,7 +617,7 @@ static int find_fids(JNIEnv *env)
cls_TextChar = get_class(&err, env, PKG"StructuredText$TextChar");
mid_TextChar_init = get_method(&err, env, "<init>", "(L"PKG"StructuredText;)V");
- fid_TextChar_quad = get_field(&err, env, "bbox", "L"PKG"Quad;");
+ fid_TextChar_quad = get_field(&err, env, "quad", "L"PKG"Quad;");
fid_TextChar_c = get_field(&err, env, "c", "I");
cls_TextLine = get_class(&err, env, PKG"StructuredText$TextLine");
@@ -8470,22 +8470,19 @@ FUN(PDFObject_asString)(JNIEnv *env, jobject self)
{
fz_context *ctx = get_context(env);
pdf_obj *obj = from_PDFObject(env, self);
- char *str = NULL;
- jstring jstr;
+ const char *str = NULL;
if (!ctx || !obj) return NULL;
fz_try(ctx)
- str = pdf_to_utf8(ctx, obj);
+ str = pdf_to_text_string(ctx, obj);
fz_catch(ctx)
{
jni_rethrow(env, ctx);
return NULL;
}
- jstr = (*env)->NewStringUTF(env, str);
- fz_free(ctx, str);
- return jstr;
+ return (*env)->NewStringUTF(env, str);
}
JNIEXPORT jobject JNICALL
@@ -8828,8 +8825,7 @@ FUN(PDFAnnotation_getContents)(JNIEnv *env, jobject self)
{
fz_context *ctx = get_context(env);
pdf_annot *annot = from_PDFAnnotation(env, self);
- char *contents = NULL;
- jstring result;
+ const char *contents = NULL;
if (!ctx || !annot) return NULL;
@@ -8841,8 +8837,7 @@ FUN(PDFAnnotation_getContents)(JNIEnv *env, jobject self)
return NULL;
}
- result = (*env)->NewStringUTF(env, contents);
- return result;
+ return (*env)->NewStringUTF(env, contents);
}
JNIEXPORT void JNICALL
@@ -8873,8 +8868,7 @@ FUN(PDFAnnotation_getAuthor)(JNIEnv *env, jobject self)
{
fz_context *ctx = get_context(env);
pdf_annot *annot = from_PDFAnnotation(env, self);
- char *author = NULL;
- jstring result;
+ const char *author = NULL;
if (!ctx || !annot) return NULL;
@@ -8886,9 +8880,7 @@ FUN(PDFAnnotation_getAuthor)(JNIEnv *env, jobject self)
return NULL;
}
- result = (*env)->NewStringUTF(env, author);
- fz_free(ctx, author);
- return result;
+ return (*env)->NewStringUTF(env, author);
}
JNIEXPORT void JNICALL