diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2018-08-11 09:31:47 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2018-08-11 09:31:47 (GMT) |
commit | c010f11b90428ffb403b998386433c572b63be49 (patch) | |
tree | e85d41162d145aab39fa91a0e65e7e1fecf9b97b /src | |
parent | fb787e91c384458a5e66d09ab1cbb0c2b639b188 (diff) |
Taken into account that panel docking can evolve without main menus.
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/menus/view.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/gui/menus/view.c b/src/gui/menus/view.c index bf8976c..4591c0f 100644 --- a/src/gui/menus/view.c +++ b/src/gui/menus/view.c @@ -599,7 +599,21 @@ static void mcb_view_change_panel_docking(GtkCheckMenuItem *menuitem, GPanelItem { gboolean active; /* Etat de sélection du menu */ - active = gtk_check_menu_item_get_active(menuitem); + /** + * Comme l'accrochage et le décrochage d'un panneau peuvent se réaliser + * sans l'aide de ce menu (via les menus des stations d'accueil par exemple), + * on ne peut se baser sur l'état de ce menu, mis à jour uniquement à + * l'affichage, pour basculer lors de l'activation dudit menu via les raccourcis. + * + * L'appel suivant peut donc conduire à des erreurs, ie on réaccroche un + * panneau déjà accroché ou l'inverse : + * + * active = gtk_check_menu_item_get_active(menuitem); + * + * On préfèrera donc se baser sur l'état courant du panneau. + */ + + active = !g_panel_item_is_docked(item); if (active) g_panel_item_dock(item); |