Bug#1119159: In a PDF with forms, evince allows the user to place a checkmark only once, but the user should be able to select and deselect a box multiple times at his/her will

Peter Müller PeterMueller at ro.ru
Mon Oct 27 19:50:49 GMT 2025


Package: evince
Version: 48.1-3


Open the attached file doc.pdf (the first page of https://www.stmb.bayern.de/assets/stmi/wohnen/wohngeld/35_mz_antrag.pdf) with evince from an xterm:

$ evince doc.pdf &

In item “2 Haben Sie in den letzten zwölf Monaten bereits Wohngeld beantragt oder erhalten?”, using the mouse,
1. click on the tickbox near “ja”,
2. then click on the tickbox near “nein”, and
3. at last click on the tickbox near “ja”.

Observations:
- After 1., a checkmark appears near “ja”, as it should.
- After 2., a checkmark disappears near “ja” and appears near “nein”, as it should.
- After 3., the checkmark near “nein” disappears, but the checkmark near “ja” doesn't appear (which is surprising and unexpected). Instead, the box near “ja” simply gets focus (a fine-dashed square inside the original square is seen; cf. the screenshot). The following messages appear in the xterm:

«
(org.gnome.Evince:103104): Atk-CRITICAL **: 20:18:02.810: atk_state_set_clear_states: assertion 'ATK_IS_STATE_SET (set)' failed
  
(org.gnome.Evince:103104): Atk-CRITICAL **: 20:18:02.810: atk_state_set_or_sets: assertion 'ATK_IS_STATE_SET (set)' failed
  
(org.gnome.Evince:103104): GLib-GObject-CRITICAL **: 20:18:02.810: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
»

If we now quit evince without saving, the last message is repeated with a new timestamp:

«
(org.gnome.Evince:103104): GLib-GObject-CRITICAL **: 20:19:06.446: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
»

To the journal, the following message is appended:

«
Okt 27 20:30:07 AnonyPC gnome-shell[3023]: JS ERROR: TypeError: this.actor is null
                                            _syncEnabled at resource:///org/gnome/shell/ui/windowManager.js:144:25
                                            onStopped at resource:///org/gnome/shell/ui/windowManager.js:161:35
                                            _makeEaseCallback/<@resource:///org/gnome/shell/ui/environment.js:65:22
                                            _easeActorProperty/<@resource:///org/gnome/shell/ui/environment.js:247:60
                                            _destroyWindowDone at resource:///org/gnome/shell/ui/windowManager.js:1612:21
                                            onStopped at resource:///org/gnome/shell/ui/windowManager.js:1580:39
                                            _makeEaseCallback/<@resource:///org/gnome/shell/ui/environment.js:65:22
                                            _easeActor/<@resource:///org/gnome/shell/ui/environment.js:160:64
                                            @resource:///org/gnome/shell/ui/init.js:21:20
»



If, instead of quitting without saving, we quit with saving and overwrite the original file, we will never be able to visibly mark the box in the overwritten file with evince again :-(.

I don't know whether the PDF file or evince or both are wrong; please debug the issue.  If the file is wrong, evince should complain in advance in an understandable way.  In any case, at least the failing assertions in the console could be replaced by actionable or at least end-user–understandable messages.


We get a variant of the described bug as follows:
1. click on the tickbox near “ja”,
2. then click on the tickbox near “ja” again, and
3. at last click on the tickbox near “ja” again.

In this case,
- after step 1, the checkmark appears as it should,
- after step 2, the checkmark disappears as it should,
- after step 3, the checkmark doesn't appear (which is surprising and unexpected). Instead, the box near “ja” simply gets focus (a fine-dashed square inside the original square is seen). No messages are printed to the console. Upon exit without saving, the journal gets the same as above (with another timestamp):
«
Okt 27 20:36:13 AnonyPC gnome-shell[3023]: JS ERROR: TypeError: this.actor is null
                                            _syncEnabled at resource:///org/gnome/shell/ui/windowManager.js:144:25
                                            onStopped at resource:///org/gnome/shell/ui/windowManager.js:161:35
                                            _makeEaseCallback/<@resource:///org/gnome/shell/ui/environment.js:65:22
                                            _easeActorProperty/<@resource:///org/gnome/shell/ui/environment.js:247:60
                                            _destroyWindowDone at resource:///org/gnome/shell/ui/windowManager.js:1612:21
                                            onStopped at resource:///org/gnome/shell/ui/windowManager.js:1580:39
                                            _makeEaseCallback/<@resource:///org/gnome/shell/ui/environment.js:65:22
                                            _easeActor/<@resource:///org/gnome/shell/ui/environment.js:160:64
                                            @resource:///org/gnome/shell/ui/init.js:21:20
»
If we save the file on exit by rewriting the file, we will never be able to visibly mark the box again :-(.


Gratefully,
Peter
-------------- next part --------------
A non-text attachment was scrubbed...
Name: doc.pdf
Type: application/pdf
Size: 242683 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-gnome-maintainers/attachments/20251027/7d99bd0e/attachment-0001.pdf>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: screenshot.png
Type: image/png
Size: 3988 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-gnome-maintainers/attachments/20251027/7d99bd0e/attachment-0001.png>


More information about the pkg-gnome-maintainers mailing list