Age | Commit message (Collapse) | Author | |
---|---|---|---|
2016-09-18 | JNI: Finalizers must be able to run with pointer being null. | Sebastian Rasmussen | |
Applications must be able to run e.g. Document.destroy() and later set that reference to null and have the JVM successfully run the finalizer an arbitrary time later. Previously the JVM would fail to do so because the finalizer would throw an exception since the native pointer was null. | |||
2016-09-17 | Java bindings: Improve exception messages | Robin Watts | |
2016-09-16 | Call Memento_fin in java Document_destroy(). | Robin Watts | |
As reasonable a place to call it as we can hope for. If we ever have 2 documents open and we close 1 then it will dump more blocks than we like, but when we get to that stage we can worry about it then. | |||
2016-09-16 | Android JNI context fixes. | Robin Watts | |
In the JNI code, we attach a cloned context onto each thread we encounter in thread local storage. When the thread shuts down, we should destroy that context. This can theoretically be achieved on pthreads by using the destructor registered to the tls slot. I have yet to see Android ever actually call this destructor yet though. No such mechanism exists for windows thread, so we'll just leak here for now. There is a potential fix for this, but it's hairy, so details are left in a comment in the code. | |||
2016-09-16 | JNI: Handle the case where an object's native pointer is NULL. | Sebastian Rasmussen | |
If Java code creates e.g. a Document object and later calls Document.destroy() and then keeps using the Document object the library would end up crashing because the native pointer was null. This case rather special case is now handled. | |||
2016-09-16 | JNI: Do not fail on using null as a value in a dictionary. | Sebastian Rasmussen | |
The underlying pdf_dict_put() converts into a null object. | |||
2016-09-16 | JNI: Check if get_context has thrown exception, | Sebastian Rasmussen | |
But do not check it twice. | |||
2016-09-16 | JNI: Avoid throwing IllegalargumentException. | Sebastian Rasmussen | |
2016-09-16 | JNI: Avoid getting context if not needed. | Sebastian Rasmussen | |
2016-09-16 | JNI: Remove forgotten FIXME. | Sebastian Rasmussen | |
This case can be handled gracefully since commit 2d3eca6dec6b8fc7a169b3fc357904069df6b6c4. | |||
2016-09-15 | JNI: Ensure that BufferInputStream position is in range. | Sebastian Rasmussen | |
2016-09-15 | JNI: Catch fitz exceptions and convert to Java exceptions. | Sebastian Rasmussen | |
2016-09-15 | JNI: Don't replace Java exception with one from fitz. | Sebastian Rasmussen | |
The JNI interface throws exceptions of its own, keep those instead of replacing them. | |||
2016-09-15 | JNI: Throw IllegalArgumentException for null arguments. | Sebastian Rasmussen | |
2016-09-15 | JNI: Delete global ref to Separation class after use. | Sebastian Rasmussen | |
2016-09-15 | JNI: Rename member variable to fit with usage. | Sebastian Rasmussen | |
Page_getSeparation() does the corresponding conversion. | |||
2016-09-15 | JNI: Check context in consistent way. | Sebastian Rasmussen | |
Also there is no need to check self pointer since JVM does not even call the JNI binding for null pointers. | |||
2016-09-15 | JNI: Fix compiler warning about unused variables. | Sebastian Rasmussen | |
2016-09-14 | Rename helper function in mupdf_native.c | Robin Watts | |
This avoids a symbol clash when using scripts/destatic.sh | |||
2016-09-14 | Android example - Add proofing support. | fred ross-perry | |
2016-09-14 | Android example - drawing ink annotations | fred ross-perry | |
This commit puts in the UI for drawing with color and line thickness. But it does not yet save this to the document. | |||
2016-09-14 | Fix clang compiler warnings. | Sebastian Rasmussen | |
2016-09-08 | Add options to control heuristics in structured text. | Sebastian Rasmussen | |
2016-09-08 | JNI: Separating big fz_try()s into smaller scopes. | Sebastian Rasmussen | |
By making the scope smaller fitz exceptions and Java exceptions can be disentangled. This makes it clearer what happens in failure cases. | |||
2016-09-08 | JNI: Remove redundant cleanup. | Sebastian Rasmussen | |
2016-09-08 | JNI: Delete local reference to text span font. | Sebastian Rasmussen | |
If a large number of text spans uses a huge number of fonts the JMV may run out of local references since we never cleaned up the local reference to the font objects. | |||
2016-09-08 | JNI: Copy data back to Java arrays. | Sebastian Rasmussen | |
The Java arrays are the destination when reading from Buffer. | |||
2016-09-08 | JNI: Make sure to keep fitz objects passed to Java objects. | Sebastian Rasmussen | |
2016-09-08 | JNI: Handle errors from AndroidBitmap_unlockPixels(). | Sebastian Rasmussen | |
2016-09-08 | JNI: Move failure testing code outside of fz_try(). | Sebastian Rasmussen | |
2016-09-08 | JNI: Use Android enum for detecting failure. | Sebastian Rasmussen | |
2016-09-08 | JNI: Add a number of new to_*() C to Java conversions. | Sebastian Rasmussen | |
Adding to_Rect_safe(), to_jRectArray_safe(), to_ColorSpace_safe() to_Image_safe() and to_Point_safe() disentangles fitz exceptions from Java exception and also makes the code more uniform. | |||
2016-09-08 | JNI: Handle exceptions from JVM properly. | Sebastian Rasmussen | |
2016-09-08 | JNI: Cosmetic reordering of code. | Sebastian Rasmussen | |
Including removal of unnecessary #ifdef. | |||
2016-09-08 | JNI: Throw OutOfBoundsException for out of range values. | Sebastian Rasmussen | |
2016-09-08 | JNI: Throw IOException when Buffer fails to read/write. | Sebastian Rasmussen | |
2016-09-08 | JNI: Make exceptions unchecked. | Sebastian Rasmussen | |
Previously all exceptions thrown by the library would be converted into checked exceptions, but there was no sensible response to expect from a client. | |||
2016-09-08 | JNI: Check arguments and throw suitable exceptions. | Sebastian Rasmussen | |
2016-09-01 | JNI: Support size() and push() for arrays. | Sebastian Rasmussen | |
2016-09-01 | JNI: Keep arguments before giving them to constructor. | Sebastian Rasmussen | |
The arguments will be freed by the finalizer of the object. The finalizer for an object is called even if the constructor throws an Exception or an OutOfMemoryError. | |||
2016-09-01 | JNI: get_context() may throw error and should be handled separately. | Sebastian Rasmussen | |
2016-09-01 | JNI: Do not check self pointer, it is always valid. | Sebastian Rasmussen | |
If an object reference is NULL the JVM will signal NullPointerException before the JNI-code is executed. | |||
2016-09-01 | JNI: Check for exceptions after calling method. | Sebastian Rasmussen | |
The return value from CallObjectMethod() is not valid if an exception is thrown, so check for exceptions before looking at the return value. Mentioned at http://developer.android.com/training/articles/perf-jni.html | |||
2016-09-01 | JNI: Use short form of NULL checks. | Sebastian Rasmussen | |
2016-09-01 | JNI: Use jboolean/JNI_TRUE/JNI_FALSE everywhere. | Sebastian Rasmussen | |
2016-09-01 | JNI: Whitespace/comment/error message cleanup. | Sebastian Rasmussen | |
2016-09-01 | JNI: Remove unused nativeAnnots/-Links. | Sebastian Rasmussen | |
2016-09-01 | JNI: Remove unused variables and cast byte array region. | Sebastian Rasmussen | |
Fixes two compiler warnings. | |||
2016-09-01 | JNI: Update to new pdf_load_stream interface. | Sebastian Rasmussen | |
2016-08-23 | Java - correct the JNI signatures for bbox fields in StructuredText inner ↵ | Fred Ross-Perry | |
classes. |