mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-01-06 07:20:10 +01:00
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.
(cherry picked from commit aedd2f566d)
This commit is contained in:
parent
2a822c2311
commit
ffdf013905
1 changed files with 4 additions and 4 deletions
|
|
@ -210,14 +210,14 @@ xf86RandR13Pan (xf86CrtcPtr crtc, int x, int y)
|
|||
}
|
||||
/* Validate against [xy]1 after [xy]2, to be sure that results are > 0 for [xy]1 > 0 */
|
||||
if (crtc->panningTotalArea.x2 > crtc->panningTotalArea.x1) {
|
||||
if (newX >= crtc->panningTotalArea.x2 - width)
|
||||
newX = crtc->panningTotalArea.x2 - width - 1;
|
||||
if (newX > crtc->panningTotalArea.x2 - width)
|
||||
newX = crtc->panningTotalArea.x2 - width;
|
||||
if (newX < crtc->panningTotalArea.x1)
|
||||
newX = crtc->panningTotalArea.x1;
|
||||
}
|
||||
if (crtc->panningTotalArea.y2 > crtc->panningTotalArea.y1) {
|
||||
if (newY >= crtc->panningTotalArea.y2 - height)
|
||||
newY = crtc->panningTotalArea.y2 - height - 1;
|
||||
if (newY > crtc->panningTotalArea.y2 - height)
|
||||
newY = crtc->panningTotalArea.y2 - height;
|
||||
if (newY < crtc->panningTotalArea.y1)
|
||||
newY = crtc->panningTotalArea.y1;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue