- Revert hacks added by GreatLord in revisons 15521 and 15522.
- Fix mode enumeration code on few places.
Modified: trunk/reactos/drivers/video/displays/framebuf/screen.c

Modified: trunk/reactos/drivers/video/displays/framebuf/screen.c
--- trunk/reactos/drivers/video/displays/framebuf/screen.c	2005-05-26 19:22:45 UTC (rev 15526)
+++ trunk/reactos/drivers/video/displays/framebuf/screen.c	2005-05-26 19:57:54 UTC (rev 15527)
@@ -90,17 +90,9 @@
 
    while (ulTemp--)
    {
-	   /*
-	     FIXME
-		 Do only remove no supporet mode not reste the ModeInfoPtr->Length=0
-         if the mode should be betwin 8 - 32 it will not found the rest 
-		 of the mode that comes after it. That why 24bits graphic card 
-		 fails. and that reason We add 15bpp check here
-	  */
       if ((ModeInfoPtr->NumberOfPlanes != 1) ||
           !(ModeInfoPtr->AttributeFlags & VIDEO_MODE_GRAPHICS) ||
           ((ModeInfoPtr->BitsPerPlane != 8) &&
-		   (ModeInfoPtr->BitsPerPlane != 15) &&
            (ModeInfoPtr->BitsPerPlane != 16) &&
            (ModeInfoPtr->BitsPerPlane != 24) &&
            (ModeInfoPtr->BitsPerPlane != 32)))
@@ -108,7 +100,6 @@
          ModeInfoPtr->Length = 0;
       }
 
-
       ModeInfoPtr = (PVIDEO_MODE_INFORMATION)
          (((PUCHAR)ModeInfoPtr) + Modes.ModeInformationLength);
    }
@@ -167,7 +158,6 @@
       ModeInfoPtr = ModeInfo;
       while (ModeCount-- > 0)
       {
-
          if (ModeInfoPtr->Length > 0 &&
 	     pDevMode->dmPelsWidth == ModeInfoPtr->VisScreenWidth &&
              pDevMode->dmPelsHeight == ModeInfoPtr->VisScreenHeight &&
@@ -179,7 +169,8 @@
             break;
          }
 
-         ModeInfoPtr++;
+         ModeInfoPtr = (PVIDEO_MODE_INFORMATION)
+            (((PUCHAR)ModeInfoPtr) + ModeInfoSize);
       }
    }
 
@@ -392,6 +383,7 @@
    {
       if (ModeInfoPtr->Length == 0)
       {
+         ModeInfoPtr = (PVIDEO_MODE_INFORMATION)(((ULONG_PTR)ModeInfoPtr) + ModeInfoSize);
          continue;
       }