diff options
author | Keith Packard <keithp@neko.keithp.com> | 2007-04-19 17:37:18 -0700 |
---|---|---|
committer | Keith Packard <keithp@neko.keithp.com> | 2007-04-19 17:49:48 -0700 |
commit | 7ca4baffb5569ea12b578a4a3f69e93d272d6c6d (patch) | |
tree | 9d26f80de66fe4b0534babd41b9469dac0d61f43 /hw/xfree86/modes/xf86Rotate.c | |
parent | 806a537e644d8cc9e53f3ac52efb49453e5aa1fb (diff) |
Was accidentally disabling rotation updates in mode set.
Setting a mode on an unrotated CRTC was causing all of the rotation updates
to be disabled; the loop looking for active rotation wasn't actually looking
at each crtc, it was looking at the modified crtc many times.
(cherry picked from commit 8b217dee3a6c46b13fc9571a4a9a95bc55686cdb)
Diffstat (limited to 'hw/xfree86/modes/xf86Rotate.c')
-rw-r--r-- | hw/xfree86/modes/xf86Rotate.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/hw/xfree86/modes/xf86Rotate.c b/hw/xfree86/modes/xf86Rotate.c index e8fafd073..94f95a0d7 100644 --- a/hw/xfree86/modes/xf86Rotate.c +++ b/hw/xfree86/modes/xf86Rotate.c @@ -284,7 +284,7 @@ xf86RotateRedisplay(ScreenPtr pScreen) { xf86CrtcPtr crtc = xf86_config->crtc[c]; - if (crtc->rotation != RR_Rotate_0) + if (crtc->rotation != RR_Rotate_0 && crtc->enabled) { BoxRec box; RegionRec crtc_damage; @@ -338,7 +338,8 @@ xf86RotateDestroy (xf86CrtcPtr crtc) } for (c = 0; c < xf86_config->num_crtc; c++) - if (crtc->rotatedPixmap || crtc->rotatedData) + if (xf86_config->crtc[c]->rotatedPixmap || + xf86_config->crtc[c]->rotatedData) return; /* |