Excerpts from Guillermo Amaral's message of dom jun 13 04:40:44 +0200 2010: > Albert Astals Cid <[email protected]> wrote: > > A Dissabte, 12 de juny de 2010, Guillermo Amaral va escriure: > >> > >> I wanted to send in these patches, they allow handling of reset-form and > >> print actions respectably. > >> > >> Please check them out, and if you have any questions please don't hesitate > >> to ask. > > > > Do you have a document that uses them? > > I do, but I dunno if I can share them ATM, looking into it. > But I did make a test pdf that uses both features. :-) > > > Also what is the point of > > > > + } else if (obj2.isName("ResetForm")) { > > + action = new LinkResetForm(obj2.getName()); > > As usual, you are right aacid :) I try a little to hard not to break the > flow of other programs, I think I went to far lol (fixed) > > > And > > if (obj->dictLookup("AA", &tmp)->isDict()) > > seems like an unrelated fix, can you please explain it too? > > Mixed them up, that one should be in the print patch (moved). Sometimes the > AA dict is used to hold a ref to the named object. I have seen it in two > docs so > far, it seems to happen when people set an action to happen on mouse down > instead of mouse up. It should not break anything else (as far as I can > see). >
We should definitely add support for additional actions properly in
poppler.
> diff --git a/poppler/Link.cc b/poppler/Link.cc
> index 5d7b779..e3d6ce7 100644
> --- a/poppler/Link.cc
> +++ b/poppler/Link.cc
> @@ -124,6 +124,10 @@ LinkAction *LinkAction::parseAction(Object *obj,
> GooString *baseURI) {
> } else if (obj2.isName("SetOCGState")) {
> action = new LinkOCGState(obj);
>
> + // ResetForm action
> + } else if (obj2.isName("ResetForm")) {
> + action = new LinkResetForm();
> +
> // unknown action
> } else if (obj2.isName()) {
> action = new LinkUnknown(obj2.getName());
> @@ -856,6 +860,18 @@ LinkOCGState::StateList::~StateList() {
> }
>
> //------------------------------------------------------------------------
> +// LinkFormClear
> +//------------------------------------------------------------------------
> +
> +LinkResetForm::LinkResetForm() {
> + action = new GooString("ResetForm");
this is redundant, you already know it's a LinkResetForm object. You
should parse Fields and Flags here.
Regards,
--
Carlos Garcia Campos
PGP key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x523E6462
signature.asc
Description: PGP signature
_______________________________________________ poppler mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/poppler
