Package: xserver-xorg-video-savage
Version: 1:2.1.2+git20070512-0.2debug
Followup-For: Bug #423485

The attached patch fixes (or works around) the problem by setting currentMode 
to the new mode as 
soon as the mode switching has occured, and before SavageAdjustFrame is called.

There are probably better ways to fix this. It seems like the pScrn->frameX? 
adjustment is done 
in xf86SwitchMode as well, so maybe it could be taken out from 
SavageDoAdjustFrame which then 
would not need the currentMode.
Index: xserver-xorg-video-savage-2.1.2+git20070512/src/savage_driver.c
===================================================================
--- xserver-xorg-video-savage-2.1.2+git20070512.orig/src/savage_driver.c	2007-05-13 00:58:41.000000000 +0200
+++ xserver-xorg-video-savage-2.1.2+git20070512/src/savage_driver.c	2007-05-13 01:16:25.000000000 +0200
@@ -3547,6 +3547,7 @@
 
         /* do it! */
         SavageWriteMode(pScrn, vganew, new, TRUE);
+	pScrn->currentMode = mode;
 
         if (psav->FBStart2nd) {
 	    SavageStreamsOn(pScrn);
@@ -3809,6 +3810,7 @@
 
     /* do it! */
     SavageWriteMode(pScrn, vganew, new, TRUE);
+    pScrn->currentMode = mode;
 
     if (psav->FBStart2nd) {
         SavageStreamsOn(pScrn);

Reply via email to