AccountSwitcher causes fractal-next to crash on close
The AccountSwitcher
doesn't release the model (or item) when disposed therefore it causes a crash when fractal-next is closed.
Thread 1 "fractal" received signal SIGSEGV, Segmentation fault.
0x00007ffff786b0ee in gtk_list_item_manager_ensure_items () from /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
> bt
#0 0x00007ffff786b0ee in gtk_list_item_manager_ensure_items () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#1 0x00007ffff786b82f in gtk_list_item_manager_model_items_changed_cb () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#2 0x00007ffff7264fef in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#3 0x00007ffff7277e66 in signal_emit_unlocked_R () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#4 0x00007ffff727eb5c in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#5 0x00007ffff727ecb3 in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#6 0x00007ffff7264fef in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#7 0x00007ffff7277e66 in signal_emit_unlocked_R () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#8 0x00007ffff727eb5c in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#9 0x00007ffff727ecb3 in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#10 0x00007ffff7264fef in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#11 0x00007ffff7277e66 in signal_emit_unlocked_R () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#12 0x00007ffff727eb5c in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#13 0x00007ffff727ecb3 in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#14 0x00007ffff79064f6 in gtk_stack_dispose () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#15 0x00007ffff726a63f in g_object_unref () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#16 0x00007ffff790447e in stack_remove () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#17 0x00007ffff790650d in gtk_stack_dispose () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#18 0x00007ffff726a63f in g_object_unref () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#19 0x00007ffff7154382 in g_hash_table_remove_all_nodes.part () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x00007ffff7155ef3 in g_hash_table_remove_all () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x00007ffff7155f42 in g_hash_table_destroy () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007ffff7154382 in g_hash_table_remove_all_nodes.part () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007ffff7155ef3 in g_hash_table_remove_all () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007ffff7155f42 in g_hash_table_destroy () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#25 0x00007ffff714759e in g_data_set_internal () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x00007ffff79a1ed3 in gtk_widget_dispose () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#27 0x00007ffff7763320 in gtk_application_window_dispose () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#28 0x0000555556376e36 in glib::subclass::object::dispose<fractal::window::imp::Window> (obj=0x55555771e4e0) at /home/julian/code/fractal-next/_build/cargo-home/registry/src/github.com-1ecc6299db9ec823/glib-0.14.5/src/subclass/object.rs:124
#29 0x00007ffff726a63f in g_object_unref () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#30 0x00007ffff787684d in gtk_propagate_event_internal () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#31 0x00007ffff7876f93 in gtk_main_do_event () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#32 0x00007ffff79b3f30 in surface_event () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#33 0x00007ffff7aa92fd in _gdk_marshal_BOOLEAN__POINTERv () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#34 0x00007ffff7ad0c21 in gdk_surface_event_marshallerv () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#35 0x00007ffff7265229 in _g_closure_invoke_va () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#36 0x00007ffff727dd9b in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#37 0x00007ffff727ecb3 in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#38 0x00007ffff7ad4334 in gdk_surface_handle_event () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#39 0x00007ffff7af12be in gdk_event_source_dispatch () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#40 0x00007ffff7168681 in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#41 0x00007ffff7168b68 in g_main_context_iterate.constprop () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#42 0x00007ffff7168c33 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#43 0x00007ffff739bc55 in g_application_run () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#44 0x0000555555d1b7c4 in gio::application::{{impl}}::run_with_args<fractal::application::Application,alloc::string::String> (self=0x7fffffffe360, args=...) at /home/julian/code/fractal-next/_build/cargo-home/registry/src/github.com-1ecc6299db9ec823/gio-0.14.5/src/application.rs:30
#45 0x0000555555d1b888 in gio::application::{{impl}}::run<fractal::application::Application> (self=0x7fffffffe360) at /home/julian/code/fractal-next/_build/cargo-home/registry/src/github.com-1ecc6299db9ec823/gio-0.14.5/src/application.rs:23
#46 0x00005555556e4c1b in fractal::application::Application::run (self=0x7fffffffe360) at src/application.rs:199
#47 0x0000555555ea2d01 in fractal::main () at src/main.rs:58