Skip to content
  • Nelson Benítez León's avatar
    Form.cc: fix checkbox lacking /AP cannot change state · 91fa06ee
    Nelson Benítez León authored
    When a checkbox had no /AP key (which is not mandatory)
    poppler was silently ignoring the setState() call that
    changes the checked/unchecked state.
    
    Fixed by using getOnStr() instead of accessing onStr
    directly, as the former has code in place to return
    correct values when the field is a checkbox and has
    no names for the On/Off states (as a result of not
    having the /AP key which could contain those names).
    
    A testcase is included. An example definition of an
    affected checkbox follows:
    
    /F 4
    /FT /Btn
    /H /P
    /MK /BC [1,0,0] /BG [1,1,1] /CA (4)
    /Q 0
    /Rect [235.277,654.247,249.224,668.194]
    /Subtype /Widget
    /T (basiccheckbox)
    /Type /Annot
    /V /Off
    
    Fixes issue #655
    91fa06ee