From 45b21c41ef3abd73de11d1adc6f5475105e1a5b7 Mon Sep 17 00:00:00 2001 From: "Pierre-Loup A. Griffais" Date: Tue, 20 Mar 2012 16:46:22 -0700 Subject: [PATCH] xrandr: move transform limit checking after scaling This would trigger for legit scaled matrices, resulting in the wrong extents getting computed. Signed-off-by: Pierre-Loup A. Griffais Reviewed-by: Keith Packard Signed-off-by: Aaron Plattner --- xrandr.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/xrandr.c b/xrandr.c index 35dff3e..b7f468b 100644 --- a/xrandr.c +++ b/xrandr.c @@ -432,14 +432,15 @@ transform_point (XTransform *transform, double *xp, double *yp) v = 0; for (i = 0; i < 3; i++) v += (XFixedToDouble (transform->matrix[j][i]) * vector[i]); - if (v > 32767 || v < -32767) - return False; result[j] = v; } if (!result[2]) return False; - for (j = 0; j < 2; j++) + for (j = 0; j < 2; j++) { vector[j] = result[j] / result[2]; + if (vector[j] > 32767 || vector[j] < -32767) + return False; + } *xp = vector[0]; *yp = vector[1]; return True; -- 2.32.0.93.g670b81a890