Previously the .pdfpc file was deleted if pdfpc deemed it unnecessary and was replaced completely with a new one if not. This has some disadvantages: - no links can be used in place of .pdfpc files (neither symlinks nor hard links) - file permissions get overwritten every time This patch uses File.replace_contents() instead of FileUtils.set_contents() to modify the metadata file. It does so if there is some actual useful metadata to write or if threre was a metadata file before. This will work fine with links but does no longer delete unnecessary metadata files after they were created already. This should be no problem because usually metadata is added not removed and the redundant file is harmless anyway.
If something goes wrong, we can skip setting up the controls. Note that other parts of the pipeline are not error checked.
This avoids a segmentation fault when parsing command line options.
In this way we can show our help message instead of gstreamer's default
I believe this is more correct. It handles the url and attach=false options of movie15, and doesn't handle the externalviewer option. Does not work with vala 0.14, since the Poppler bindings don't have all the things we need.
…iption I think this is due to a change in the Poppler bindings. Hopefully it's backwards-compatible.
This allows us to create actions with Object.new(type) and still initialize them separately. Since we generally create actions with the new_from... methods, this doesn't make life more difficult. It also lets us get rid of the blank constructors which were sort of silly. In the movie classes, there are init_other methods that allow one object to initialize another. These are needed because I couldn't figure out how to cast the newly created object to the existing object's type so that the correct initializer would be called.
Such movies may be added in LaTeX with the movie15 package. This requires Poppler.AnnotFileAttachment. Vala 0.14 (and earlier, presumably) don't have this in the .vapi files, so we add it by hand. Vala 0.16 should be converted to .gir files and won't need this.