diff --git a/src/layout/IHyprLayout.cpp b/src/layout/IHyprLayout.cpp index cb1f064bb..1f3055556 100644 --- a/src/layout/IHyprLayout.cpp +++ b/src/layout/IHyprLayout.cpp @@ -455,7 +455,7 @@ static void performSnap(Vector2D& sourcePos, Vector2D& sourceSize, PHLWINDOW DRA // corner snapping const double BORDERDIFF = OTHERBORDERSIZE - DRAGGINGBORDERSIZE; - if (sourceX.start == SURFBX.end || SURFBX.start == sourceX.end) { + if (snaps & (SNAP_LEFT | SNAP_RIGHT)) { const SRange SURFY = {SURF.y - BORDERDIFF, SURF.y + SURF.h + BORDERDIFF}; if (CORNER & (CORNER_TOPLEFT | CORNER_TOPRIGHT) && canSnap(sourceY.start, SURFY.start, GAPSIZE)) { SNAP(sourceY.start, sourceY.end, SURFY.start); @@ -465,7 +465,7 @@ static void performSnap(Vector2D& sourcePos, Vector2D& sourceSize, PHLWINDOW DRA snaps |= SNAP_DOWN; } } - if (sourceY.start == SURFBY.end || SURFBY.start == sourceY.end) { + if (snaps & (SNAP_UP | SNAP_DOWN)) { const SRange SURFX = {SURF.x - BORDERDIFF, SURF.x + SURF.w + BORDERDIFF}; if (CORNER & (CORNER_TOPLEFT | CORNER_BOTTOMLEFT) && canSnap(sourceX.start, SURFX.start, GAPSIZE)) { SNAP(sourceX.start, sourceX.end, SURFX.start);