diff options
Diffstat (limited to 'platform/ios/Classes')
-rw-r--r-- | platform/ios/Classes/MuDocRef.m | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/platform/ios/Classes/MuDocRef.m b/platform/ios/Classes/MuDocRef.m index a130fdd3..db82bbab 100644 --- a/platform/ios/Classes/MuDocRef.m +++ b/platform/ios/Classes/MuDocRef.m @@ -10,16 +10,29 @@ if (self) { dispatch_sync(queue, ^{}); - doc = fz_open_document(ctx, aFilename); - if (!doc) + + fz_var(self); + fz_var(doc); + + fz_try(ctx) { - self = nil; + doc = fz_open_document(ctx, aFilename); + if (!doc) + { + self = nil; + } + else + { + pdf_document *idoc = pdf_specifics(doc); + if (idoc) pdf_enable_js(idoc); + interactive = (idoc != NULL) && (pdf_crypt_version(idoc) == 0); + } } - else + fz_catch(ctx) { - pdf_document *idoc = pdf_specifics(doc); - if (idoc) pdf_enable_js(idoc); - interactive = (idoc != NULL) && (pdf_crypt_version(idoc) == 0); + if (doc != NULL) + fz_close_document(doc); + self = nil; } } return self; |