While debugging the Drag&Drop bugs I found hat lots of issues occurred when "just" using queue_free() everywhere. What worked much better was to call remove_child() before freeing the resource. This should prevent the "bug" mentioned in _cleanup. Right now it seems to work as indented but the code isn't pretty. The (rem)oved child-element meddles all sorts of "cleanup" stuff 2 levels above himself which seems messy. The partent should cleanup it's child-node and not the other way around.
This should be possible with a proper signal, now that get_children() should properly work when using remove_child().
While debugging the Drag&Drop bugs I found hat lots of issues occurred when "just" using
queue_free()everywhere. What worked much better was to callremove_child()before freeing the resource. This should prevent the "bug" mentioned in _cleanup. Right now it seems to work as indented but the code isn't pretty. The (rem)oved child-element meddles all sorts of "cleanup" stuff 2 levels above himself which seems messy. The partent should cleanup it's child-node and not the other way around.This should be possible with a proper signal, now that get_children() should properly work when using remove_child().