summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaarten Maathuis <madman2003@gmail.com>2008-12-19 19:10:23 +0100
committerMaarten Maathuis <madman2003@gmail.com>2008-12-19 19:10:23 +0100
commitaedd2f566df585db7a1614f302cc8d3feda54275 (patch)
treefd11f75528e9ef73c3e7bdecc9a3bff1c6eca67a
parent332d65ec7a6e94d75efe95d53742f137835274de (diff)
randr/xfree86: Fix a one off error in the panning calculations.
- Example: mode 1280x1024, panned area 1281x1024 panned_area.x2 = 1281 mode.width = 1280 If you substract 1280 from 1281, then that leaves you with one. Which is the one pixel that you need to move to actually see the last pixel collumn. Substracting 1 from this will consistently prevent you from seeing the right and bottom edge.
-rw-r--r--hw/xfree86/modes/xf86RandR12.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/hw/xfree86/modes/xf86RandR12.c b/hw/xfree86/modes/xf86RandR12.c
index a378e3aed..8c4a1fb5b 100644
--- a/hw/xfree86/modes/xf86RandR12.c
+++ b/hw/xfree86/modes/xf86RandR12.c
@@ -210,14 +210,14 @@ xf86RandR13Pan (xf86CrtcPtr crtc, int x, int y)
210 } 210 }
211 /* Validate against [xy]1 after [xy]2, to be sure that results are > 0 for [xy]1 > 0 */ 211 /* Validate against [xy]1 after [xy]2, to be sure that results are > 0 for [xy]1 > 0 */
212 if (crtc->panningTotalArea.x2 > crtc->panningTotalArea.x1) { 212 if (crtc->panningTotalArea.x2 > crtc->panningTotalArea.x1) {
213 if (newX >= crtc->panningTotalArea.x2 - width) 213 if (newX > crtc->panningTotalArea.x2 - width)
214 newX = crtc->panningTotalArea.x2 - width - 1; 214 newX = crtc->panningTotalArea.x2 - width;
215 if (newX < crtc->panningTotalArea.x1) 215 if (newX < crtc->panningTotalArea.x1)
216 newX = crtc->panningTotalArea.x1; 216 newX = crtc->panningTotalArea.x1;
217 } 217 }
218 if (crtc->panningTotalArea.y2 > crtc->panningTotalArea.y1) { 218 if (crtc->panningTotalArea.y2 > crtc->panningTotalArea.y1) {
219 if (newY >= crtc->panningTotalArea.y2 - height) 219 if (newY > crtc->panningTotalArea.y2 - height)
220 newY = crtc->panningTotalArea.y2 - height - 1; 220 newY = crtc->panningTotalArea.y2 - height;
221 if (newY < crtc->panningTotalArea.y1) 221 if (newY < crtc->panningTotalArea.y1)
222 newY = crtc->panningTotalArea.y1; 222 newY = crtc->panningTotalArea.y1;
223 } 223 }