diff options
Diffstat (limited to 'mate-panel/panel-toplevel.c')
-rw-r--r-- | mate-panel/panel-toplevel.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/mate-panel/panel-toplevel.c b/mate-panel/panel-toplevel.c index d6d8fda7..19d14b3c 100644 --- a/mate-panel/panel-toplevel.c +++ b/mate-panel/panel-toplevel.c @@ -3666,10 +3666,15 @@ panel_toplevel_hide (PanelToplevel *toplevel, panel_toplevel_update_hide_buttons (toplevel); } - if (toplevel->priv->animate && gtk_widget_get_realized (GTK_WIDGET (toplevel))) + if (toplevel->priv->animate && gtk_widget_get_realized (GTK_WIDGET (toplevel))) { panel_toplevel_start_animation (toplevel); - else if (toplevel->priv->attached) + } + + /* if the toplevel is attached (-> drawer), hide it after the animation + * this hides the hide button properly as well */ + if (toplevel->priv->attached) { gtk_widget_hide (GTK_WIDGET (toplevel)); + } gtk_widget_queue_resize (GTK_WIDGET (toplevel)); } @@ -3714,10 +3719,15 @@ panel_toplevel_unhide (PanelToplevel *toplevel) if (toplevel->priv->attach_toplevel) panel_toplevel_push_autohide_disabler (toplevel->priv->attach_toplevel); - if (toplevel->priv->animate && gtk_widget_get_realized (GTK_WIDGET (toplevel))) + if (toplevel->priv->animate && gtk_widget_get_realized (GTK_WIDGET (toplevel))) { panel_toplevel_start_animation (toplevel); - else if (toplevel->priv->attached) + } + + /* if the toplevel is attached (-> drawer), unhide it after the animation + * (same as for hide) */ + if (toplevel->priv->attached) { gtk_widget_show (GTK_WIDGET (toplevel)); + } gtk_widget_queue_resize (GTK_WIDGET (toplevel)); |