poppler/Form.cc |    4 ++++
 1 file changed, 4 insertions(+)

New commits:
commit 722baf8baf42e2c7a49e1560aae5235677d1ddee
Author: Carlos Garcia Campos <[email protected]>
Date:   Sun Apr 3 20:17:57 2011 +0200

    forms: check form field is actually terminal before creating the widget

diff --git a/poppler/Form.cc b/poppler/Form.cc
index b9a4a02..7a5860f 100644
--- a/poppler/Form.cc
+++ b/poppler/Form.cc
@@ -491,6 +491,10 @@ FormField::FormField(XRef* xrefA, Object *aobj, const Ref& 
aref, FormField *pare
           children[numChildren - 1] = Form::createFieldFromDict(&childObj, 
xref, ref, this, &usedParentsAux);
         } else if (childObj.dictLookup("Subtype", &obj2)->isName("Widget")) {
           // Child is a widget annotation
+          if (!terminal && numChildren > 0) {
+            error(-1, "Field can't have both Widget AND Field as kids\n");
+            continue;
+          }
           _createWidget(&childObj, ref);
         }
         obj2.free();
_______________________________________________
poppler mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/poppler

Reply via email to