Tried your fix, no luck. :-(
Verified, by adding `printf()`, that the `finalize()` function is only called once.
It is very sensitive to exact local conditions, and after resizing the window a few times to make the overflow menu come and go, I can now longer make the bug happen at all, so not surprised you couldn't reproduce it.
Sometimes, on start-up, I get a whole bunch of GTK errors, like this: ```(geany:30311): Gtk-WARNING **: 13:16:14.355: Negative content width -17 (allocation 1, extents 9x9) while allocating gadget (node entry, owner GtkEntry) (geany:30311): Gtk-WARNING **: 13:16:14.355: Negative content height -1 (allocation 1, extents 1x1) while allocating gadget (node entry, owner GtkEntry) (geany:30311): Gtk-WARNING **: 13:16:14.355: Negative content width -1 (allocation 1, extents 1x1) while allocating gadget (node scrolledwindow, owner GtkScrolledWindow) (geany:30311): Gtk-WARNING **: 13:16:14.355: Negative content height -1 (allocation 1, extents 1x1) while allocating gadget (node scrolledwindow, owner GtkScrolledWindow) (geany:30311): Gtk-CRITICAL **: 13:16:14.355: gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkScrollbar (geany:30311): Gtk-CRITICAL **: 13:16:14.355: gtk_widget_get_preferred_width_for_height: assertion 'height >= 0' failed (geany:30311): Gtk-WARNING **: 13:16:14.355: gtk_widget_size_allocate(): attempt to allocate widget with width 13 and height -25 (geany:30311): Gtk-CRITICAL **: 13:16:14.355: gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkScrollbar ``` which may or may not be from `doclist`, or from another part of `addons`.
I'll see what I can find out if it starts to happen again, other wise not a lot we can do, except hope that it's not some random corruption happening elsewhere and waiting to trip us up...