[poppler] Object management helper class

Adrian Johnson ajohnson at redneon.com
Mon May 30 12:57:43 UTC 2016


On 30/05/16 06:27, Albert Astals Cid wrote:
> Hi guys, related to the previous email about std::unique_ptr I think we would 
> greatly benefit of a class that makes Object management easier.
> 
> Again if you go and check https://bugs.freedesktop.org/attachment.cgi?
> id=124163 we're missing lots of free() and it's hard to prove we won't miss 
> more.
> 
> My suggestion is adding a class called UniqueObject (better name welcome) 
> which will: 

ScopedObject?

>  * Call free on itself when it goes out of scope
> 	So we don't need to add .free() in every other if-chek-error-return
>  * Call free on itself when you write on it
> 	So we can do 
> 
> 	dict->lookup("Decode", &obj1);
>     if (obj1.isNull()) {
>       dict->lookup("D", &obj1);
>     }
> 
> instead of
> 
> 	dict->lookup("Decode", &obj1);
>     if (obj1.isNull()) {
>       obj1.free();
>       dict->lookup("D", &obj1);
>     }
> 
> What do you think?
> 
> Cheers,
>   Albert
> _______________________________________________
> poppler mailing list
> poppler at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/poppler
> 



More information about the poppler mailing list