diff --git a/panel/panel-window.c b/panel/panel-window.c index 4dd8bddf0deaf1e2f7b07fab4ce0a9a3c887c438..58208cbcb6ffbb3d15b7e427357d98620f1f8bc4 100644 --- a/panel/panel-window.c +++ b/panel/panel-window.c @@ -2259,16 +2259,16 @@ panel_window_snap_position (PanelWindow *window) /* make the same calculation whether the panel is snapped or not (avoids flickering * when the pointer moves slowly) */ borders = panel_base_window_get_borders (PANEL_BASE_WINDOW (window)); - if (! PANEL_HAS_FLAG (borders, PANEL_BORDER_TOP)) + if (!PANEL_HAS_FLAG (borders, PANEL_BORDER_TOP) && PANEL_HAS_FLAG (borders, PANEL_BORDER_BOTTOM)) alloc.height++; - if (! PANEL_HAS_FLAG (borders, PANEL_BORDER_BOTTOM)) + else if (PANEL_HAS_FLAG (borders, PANEL_BORDER_TOP) && !PANEL_HAS_FLAG (borders, PANEL_BORDER_BOTTOM)) { alloc.y--; alloc.height++; } - if (! PANEL_HAS_FLAG (borders, PANEL_BORDER_LEFT)) + if (!PANEL_HAS_FLAG (borders, PANEL_BORDER_LEFT) && PANEL_HAS_FLAG (borders, PANEL_BORDER_RIGHT)) alloc.width++; - if (! PANEL_HAS_FLAG (borders, PANEL_BORDER_RIGHT)) + else if (PANEL_HAS_FLAG (borders, PANEL_BORDER_LEFT) && !PANEL_HAS_FLAG (borders, PANEL_BORDER_RIGHT)) { alloc.x--; alloc.width++;