diff --git a/src/utils.py b/src/utils.py index 54c38ea95..696afc780 100644 --- a/src/utils.py +++ b/src/utils.py @@ -1698,7 +1698,6 @@ def delete_widget(page: fitz.Page, widget: fitz.Widget) -> fitz.Widget: raise ValueError("bad type: widget") nextwidget = widget.next page.delete_annot(annot) - widget._annot.__del__() widget._annot.parent = None keylist = list(widget.__dict__.keys()) for key in keylist: diff --git a/tests/test_widgets.py b/tests/test_widgets.py index 47ec6e8eb..773160f21 100644 --- a/tests/test_widgets.py +++ b/tests/test_widgets.py @@ -227,11 +227,15 @@ def test_2391(): field_field_value = field.on_state() field.update() -# def test_deletewidget(): -# pdf = fitz.open(filename) -# page = pdf[0] -# field = page.first_widget -# page.delete_widget(field) +def test_3216(): + document = fitz.open(filename) + for page in document: + while 1: + w = page.first_widget + print(f'{w=}') + if not w: + break + page.delete_widget(w) def test_add_widget():