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
_______________________________________________
poppler mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/poppler

Reply via email to