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);  | 
