Excerpts from [email protected]'s message of mar mar 29 11:07:04 +0200 2011: > Hi, > > the following patch add a wrapper for JavascriptActions to the glib > bindings. Comments and review welcome. > > > Greets > > José
> From f4b0e8d9f038e3ef4033e2c9af45bb48adf0c224 Mon Sep 17 00:00:00 2001 > From: =?UTF-8?q?Jos=C3=A9=20Aliste?= <[email protected]> > Date: Tue, 29 Mar 2011 04:56:37 -0400 > Subject: [PATCH] glib: add PopplerActionJavaScript wrapper. > --- > glib/poppler-action.cc | 22 ++++++++++++++++++++++ > glib/poppler-action.h | 14 +++++++++++++- > 2 files changed, 35 insertions(+), 1 deletions(-) > diff --git a/glib/poppler-action.cc b/glib/poppler-action.cc > index ca88ca4..8b95543 100644 > --- a/glib/poppler-action.cc > +++ b/glib/poppler-action.cc > @@ -140,6 +140,10 @@ poppler_action_free (PopplerAction *action) > g_list_free (action->ocg_state.state_list); > } > break; > + case POPPLER_ACTION_JAVASCRIPT: > + if (action->javascript.script) > + g_free (action->javascript.script); > + break; > default: > break; > } > @@ -514,6 +518,20 @@ build_movie (PopplerDocument *document, > } You should copy the string in poppler_action_copy() too. > static void > +build_javascript (PopplerAction *action, > + LinkJavaScript *link) > +{ > + action->javascript.script = NULL; PopplerAction is allocated with g_slice_new0() so you don't need initializations. > + if (link) { _poppler_action_new() already checks whether link is NULL to return early. > + GooString *script; > + > + script = link->getScript(); > + if (script) > + action->javascript.script = g_strdup > (script->getCString ()); JavaScript might be PDFDocEncoding or Unicode, we always expose UTF-8 strings in the glib frontend. > + } > +} > + > +static void > build_rendition (PopplerAction *action, > LinkRendition *link) > { > @@ -650,6 +668,10 @@ _poppler_action_new (PopplerDocument *document, > action->type = POPPLER_ACTION_OCG_STATE; > build_ocg_state (document, action, dynamic_cast<LinkOCGState*> > (link)); > break; > + case actionJavaScript: > + action->type = POPPLER_ACTION_JAVASCRIPT; > + build_javascript (action, dynamic_cast<LinkJavaScript*> (link)); > + break; > case actionUnknown: > default: > action->type = POPPLER_ACTION_UNKNOWN; 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
