diff --git a/reactos/drivers/video/displays/framebuf/screen.c b/reactos/drivers/video/displays/framebuf/screen.c index 43b7a39b649..ebe48975253 100644 --- a/reactos/drivers/video/displays/framebuf/screen.c +++ b/reactos/drivers/video/displays/framebuf/screen.c @@ -90,6 +90,13 @@ GetAvailableModes( 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) && @@ -101,6 +108,7 @@ GetAvailableModes( ModeInfoPtr->Length = 0; } + ModeInfoPtr = (PVIDEO_MODE_INFORMATION) (((PUCHAR)ModeInfoPtr) + Modes.ModeInformationLength); }