Drop timed lock inside post-processing
commitf84e2ddc7530d8b7879f0ad868d8de8d2fa36232
authormalc <moosotc@gmail.com>
Thu, 14 Jul 2016 20:21:59 +0000 (14 23:21 +0300)
committermalc <moosotc@gmail.com>
Thu, 14 Jul 2016 20:21:59 +0000 (14 23:21 +0300)
tree3ef61ba6476de607ed98d82c5cf2ee00ca312d71
parentb92d9bf309ae69b340de611e5cdf709c206e9a51
Drop timed lock inside post-processing

This introduced nasty usability regression - any failure to take the
lock during post-processing results in a "freeze" so to speak. Hence
indicate the failure due to magical -1 post-processing return code and
schedule re-display if seen from the OCaml side, meaning the display
and post-processing will be triggered on any future event (most likely
the notification from the rendering/loading side that will likely
release the lock and allow forward progress)

Things work fine with original offender (visualFAQ.pdf -
http://tug.ctan.org/info/visualFAQ/visualFAQ.pdf) as does scrolling
around (mainly horizontally) in sufficiently large and zoomed in
image, such as:
https://upload.wikimedia.org/wikipedia/commons/c/c4/Vasily_Surikov_-_%D0%91%D0%BE%D1%8F%D1%80%D1%8B%D0%BD%D1%8F_%D0%9C%D0%BE%D1%80%D0%BE%D0%B7%D0%BE%D0%B2%D0%B0_-_Google_Art_Project.jpg)
link.c
main.ml