From: Egbert Eich Date: Fri Jan 15 16:52:18 2016 +0100 Subject: [PATCH]Panning: Set panning state in xf86RandR12ScreenSetSize() Patch-mainline: to be upstreamed References: boo#771521 Signed-off-by: Egbert Eich Right after verifying the panning area the per-crtc panning state should be set. This fixes panning when set in the configuration. Bugzilla: https://bugzilla.suse.com/show_bug.cgi?id=771521 Signed-off-by: Egbert Eich --- hw/xfree86/modes/xf86RandR12.c | 3 +++ 1 file changed, 3 insertions(+) Index: xorg-server-1.20.5/hw/xfree86/modes/xf86RandR12.c =================================================================== --- xorg-server-1.20.5.orig/hw/xfree86/modes/xf86RandR12.c +++ xorg-server-1.20.5/hw/xfree86/modes/xf86RandR12.c @@ -685,6 +685,7 @@ xf86RandR12ScreenSetSize(ScreenPtr pScre WindowPtr pRoot = pScreen->root; PixmapPtr pScrnPix; Bool ret = FALSE; + Bool panning = FALSE; int c; if (randrp->virtualX == -1 || randrp->virtualY == -1) { @@ -713,6 +714,7 @@ xf86RandR12ScreenSetSize(ScreenPtr pScre if (crtc->panningTrackingArea.y2 > crtc->panningTrackingArea.y1) crtc->panningTrackingArea.y2 += height - pScreen->height; xf86RandR13VerifyPanningArea(crtc, width, height); + panning = panning ? TRUE : PANNING_ENABLED (crtc); xf86RandR13Pan(crtc, randrp->pointerX, randrp->pointerY); } } @@ -722,6 +724,7 @@ xf86RandR12ScreenSetSize(ScreenPtr pScre pScreen->height = pScrnPix->drawable.height = height; randrp->mmWidth = pScreen->mmWidth = mmWidth; randrp->mmHeight = pScreen->mmHeight = mmHeight; + randrp->panning = panning; xf86SetViewport(pScreen, pScreen->width - 1, pScreen->height - 1); xf86SetViewport(pScreen, 0, 0);