summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2008-02-28 01:20:20 -0500
committerDana Jansens <danakj@orodu.net>2008-02-28 01:20:20 -0500
commitff0f8dc6a965ed5bcb70430ec4e1ebd68607a614 (patch)
tree3b2202c4671ae6f99ba6cb0a907c658ad060ec93
parentdbbbbb7d48a03910554ab933ef71eb0e10f7a8e7 (diff)
fix some off-by-one errors in edge finding for moving and resizing windows (bug 3506)
-rw-r--r--openbox/client.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/openbox/client.c b/openbox/client.c
index 39a54820..8fb10bb9 100644
--- a/openbox/client.c
+++ b/openbox/client.c
@@ -4107,17 +4107,17 @@ static void detect_edge(Rect area, ObDirection dir,
if (my_head <= head + 1)
skip_head = TRUE;
/* check if our window's tail is past the tail of this window */
- if (my_head + my_size - 1 <= tail)
+ if (my_head + my_size - 1 < tail)
skip_tail = TRUE;
/* check if the head of this window is closer than the previously
chosen edge (take into account that the previously chosen
edge might have been a tail, not a head) */
- if (head + (*near_edge ? 0 : my_size) < *dest)
+ if (head + (*near_edge ? 0 : my_size) <= *dest)
skip_head = TRUE;
/* check if the tail of this window is closer than the previously
chosen edge (take into account that the previously chosen
edge might have been a head, not a tail) */
- if (tail - (!*near_edge ? 0 : my_size) < *dest)
+ if (tail - (!*near_edge ? 0 : my_size) <= *dest)
skip_tail = TRUE;
break;
case OB_DIRECTION_SOUTH:
@@ -4126,17 +4126,17 @@ static void detect_edge(Rect area, ObDirection dir,
if (my_head >= head - 1)
skip_head = TRUE;
/* check if our window's tail is past the tail of this window */
- if (my_head - my_size + 1 >= tail)
+ if (my_head - my_size + 1 > tail)
skip_tail = TRUE;
/* check if the head of this window is closer than the previously
chosen edge (take into account that the previously chosen
edge might have been a tail, not a head) */
- if (head - (*near_edge ? 0 : my_size) > *dest)
+ if (head - (*near_edge ? 0 : my_size) >= *dest)
skip_head = TRUE;
/* check if the tail of this window is closer than the previously
chosen edge (take into account that the previously chosen
edge might have been a head, not a tail) */
- if (tail + (!*near_edge ? 0 : my_size) > *dest)
+ if (tail + (!*near_edge ? 0 : my_size) >= *dest)
skip_tail = TRUE;
break;
default:
@@ -4144,7 +4144,7 @@ static void detect_edge(Rect area, ObDirection dir,
}
ob_debug("my head %d size %d\n", my_head, my_size);
- ob_debug("head %d tail %d deest %d\n", head, tail, *dest);
+ ob_debug("head %d tail %d dest %d\n", head, tail, *dest);
if (!skip_head) {
ob_debug("using near edge %d\n", head);
*dest = head;