Enclose outline fixing in begin/end operation.
Enclose outline fixing in begin/end operation.

Normally pdf_begin_operation() is unconditionally called and
then after fz_try(), in the fz_always() block, pdf_end_operation()
is called.

This implementation is unusual in that the variable fixed is used
to signal to the caller whether pdf_begin_operation() has been
called or not, and thus whether pdf_end_operation() must be called
in fz_always().

It is possible to use the normal approach at the expense of having
one function detect outline pointer inconsistencies and and another
fixing those inconsistencies. The drawback then is that the
detection code is duplicated. This was the motivation for choosing
the unusual approach.

TamirEvan/mupdf,ArtifexSoftware/mupdf,ArtifexSoftware/mupdf,ArtifexSoftware/mupdf,TamirEvan/mupdf,TamirEvan/mupdf,ArtifexSoftware/mupdf,ArtifexSoftware/mupdf,ArtifexSoftware/mupdf,TamirEvan/mupdf,TamirEvan/mupdf,ArtifexSoftware/mupdf,TamirEvan/mupdf,ArtifexSoftware/mupdf,TamirEvan/mupdf,TamirEvan/mupdf