Skip to content
Snippets Groups Projects
Gaël Bonithon's avatar
Gaël Bonithon authored
Another special case not properly locked: this filling can start while
the GarconMenu is loading, because its status is updated only at the end
of the loading.

The other occurrence of `garcon_gtk_menu_add()` that fills the root menu
is protected because it is in the GAsyncReadyCallback, so after the task
is finished and before another one is started. As for the third
occurrence of `garcon_gtk_menu_add()` which fills sub-menus, it is
protected by `g_signal_connect_object()` which keeps a reference on the
sub-GarconMenu.

Fixes criticals such as
"g_node_last_child: assertion 'node != NULL' failed".

Fixes: d2c7068e
Related: !18
4a053d16
History
Name Last commit Last update
..