summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Deucher <agd5f@yahoo.com>2004-10-21 04:31:52 +0000
committerAlex Deucher <agd5f@yahoo.com>2004-10-21 04:31:52 +0000
commit5b6ce4975f129b9d630eeb514507f6ac83111c6b (patch)
treeddf4b5edc0e1db008da62432a597d5453f9952f2
parent421efa788e177d91cbe41dedd4f4201c902cbcd5 (diff)
Make sure the overlay is off when switching modes, otherwise you can get a
chip lockup if you switch modes with a video playing
-rw-r--r--src/savage_driver.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/savage_driver.c b/src/savage_driver.c
index 3c2d291..0446a45 100644
--- a/src/savage_driver.c
+++ b/src/savage_driver.c
@@ -1938,7 +1938,7 @@ static void SavageLeaveVT(int scrnIndex, int flags)
psav->LockHeld = 1;
}
#endif
- if (psav->FBStart2nd)
+ if (psav->FBStart2nd || (psav->videoFlags & VF_STREAMS_ON))
SavageStreamsOff(pScrn);
SavageWriteMode(pScrn, vgaSavePtr, SavageSavePtr, FALSE);
SavageResetStreams(pScrn);
@@ -3683,7 +3683,7 @@ Bool SavageSwitchMode(int scrnIndex, DisplayModePtr mode, int flags)
TRACE(("SavageSwitchMode\n"));
- if (psav->FBStart2nd)
+ if (psav->FBStart2nd || (psav->videoFlags & VF_STREAMS_ON))
SavageStreamsOff(xf86Screens[scrnIndex]);
success = SavageModeInit(xf86Screens[scrnIndex], mode);