aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/xfixes/cursor.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2012-12-03 09:16:19 +0100
committermarha <marha@users.sourceforge.net>2012-12-03 09:16:19 +0100
commit17464545a9abdd19312065a578d1f69a6b0b015f (patch)
treed39fde94a445ddde95399d4850ffbbbd357a3a19 /xorg-server/xfixes/cursor.c
parenteba14241fe23d0561687a1e530a57fa0bfc6ab69 (diff)
parentb8da71ffb17d3d16706db04115e9ba1dd8bc49b9 (diff)
downloadvcxsrv-17464545a9abdd19312065a578d1f69a6b0b015f.tar.gz
vcxsrv-17464545a9abdd19312065a578d1f69a6b0b015f.tar.bz2
vcxsrv-17464545a9abdd19312065a578d1f69a6b0b015f.zip
Merge remote-tracking branch 'origin/released'
* origin/released: fontconfig mesa xserver pixman xkeyboard-config git update 3 dec 2012
Diffstat (limited to 'xorg-server/xfixes/cursor.c')
-rw-r--r--xorg-server/xfixes/cursor.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/xorg-server/xfixes/cursor.c b/xorg-server/xfixes/cursor.c
index 360d7ed7f..e5cf4ad5b 100644
--- a/xorg-server/xfixes/cursor.c
+++ b/xorg-server/xfixes/cursor.c
@@ -1094,7 +1094,11 @@ barrier_is_blocking(const struct PointerBarrier * barrier,
if (dir & BarrierNegativeX && x1 == (barrier->x1 - 1))
return FALSE;
/* startpoint adjacent to barrier, moving towards -> block */
- if (x1 == barrier->x1 && y1 >= barrier->y1 && y1 <= barrier->y2) {
+ if (dir & BarrierPositiveX && x1 == (barrier->x1 - 1) && y1 >= barrier->y1 && y1 <= barrier->y2) {
+ *distance = 0;
+ return TRUE;
+ }
+ if (dir & BarrierNegativeX && x1 == barrier->x1 && y1 >= barrier->y1 && y1 <= barrier->y2) {
*distance = 0;
return TRUE;
}
@@ -1106,7 +1110,11 @@ barrier_is_blocking(const struct PointerBarrier * barrier,
if (dir & BarrierNegativeY && y1 == (barrier->y1 - 1))
return FALSE;
/* startpoint adjacent to barrier, moving towards -> block */
- if (y1 == barrier->y1 && x1 >= barrier->x1 && x1 <= barrier->x2) {
+ if (dir & BarrierPositiveY && y1 == (barrier->y1 - 1) && x1 >= barrier->x1 && x1 <= barrier->x2) {
+ *distance = 0;
+ return TRUE;
+ }
+ if (dir & BarrierNegativeY && y1 == barrier->y1 && x1 >= barrier->x1 && x1 <= barrier->x2) {
*distance = 0;
return TRUE;
}