[poppler] Optional Content improvements and glib support (second try)

Albert Astals Cid aacid at kde.org
Sun Nov 2 11:18:12 PST 2008


A Diumenge 26 Octubre 2008, Carlos Garcia Campos va escriure:
> I've finally decided to add optional content support to the glib
> bindings. Some of the issues I reported the first time I looked at OC
> code are still there so here is a set of patches:
>
> 0001-Delete-the-optContent-object-if-it-s-invalid.patch
>
> This just adds a typical isOk() method to OCGs class so that the object
> can be removed from memory when it's not valid

As far as i understand this is a memory optimization that does not need to go 
to stable, right?

>
> 0002-Minor-code-cleanup-and-consistency-issues.patch
>
> This patch was already approved by Brad indeed
>  - Ref() -> getRef()
>  - State() -> getState()
>  - Name() -> getName()
> quite trivial. It contains also the changes needed for the qt4 frontend,
> but I don't have Qt installed so it's untested.
>
> 0004-Do-not-show-hidden-optional-content.patch
>
> Right now, optional content only works for XObjects. This patch add
> support for any drawing operation, using a stack for the markedContent.

Just wondering if we could optimize things a bit more, i mean, for example in 
Gfx::doAxialShFill if we are not going to draw could we just return at the 
very beginning of the function?

More important: In broken documents with more opEndMarkedContent than 
opBeginMarkedContent the code will crash and in broken documents with less 
opEndMarkedContent than opBeginMarkedContent the code will leak memory. Could 
you fix that?

Nitpicks: GBool contentIsHidden (void); is too C-ish in C++ you don't use 
(void) for functions without parameters, please move to GBool 
contentIsHidden(); (we don't put a space between function name and ( either)

>
> 0005-Check-annotation-optional-content-properties-before.patch
>
> This one adds support also for annotations
>
> 0006-Fix-memory-leaks-in-OptionalContent.patch
>
> Two memory leaks I reported and I had forgotten.

This one should be put on stable too, right?

Albert

>
> 0003--glib-Show-action-titles-when-printing-the-index-in.patch
> 0007--glib-Add-Optional-Content-support.patch
> 0008--glib-demo-Add-Optional-Content-demo.patch
>
> These are glib only.




More information about the poppler mailing list