[poppler] Object management helper class

Albert Astals Cid aacid at kde.org
Sun May 29 20:57:13 UTC 2016


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: 
 * 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


More information about the poppler mailing list