Correct bug do not enum other color deep that 8,16,24,32 it will create memmory leek other wise. in the current code. Modified: trunk/reactos/lib/cpl/desk/settings.c _____
Modified: trunk/reactos/lib/cpl/desk/settings.c --- trunk/reactos/lib/cpl/desk/settings.c 2005-05-25 04:16:56 UTC (rev 15492) +++ trunk/reactos/lib/cpl/desk/settings.c 2005-05-25 09:14:29 UTC (rev 15493) @@ -88,7 +88,7 @@
PSETTINGS_ENTRY Settings = NULL; HDC hDC; PSETTINGS_ENTRY Current; - DWORD bpp, xres, yres; + DWORD bpp, xres, yres, checkbpp; /* Get current settings */ *CurrentSettings = NULL; @@ -105,13 +105,16 @@ while (EnumDisplaySettingsEx(DeviceName, iMode, &devmode, dwFlags)) { + if (devmode.dmBitsPerPel==8 || devmode.dmBitsPerPel==16 || devmode.dmBitsPerPel==24 || devmode.dmBitsPerPel==32) checkbpp=1; + else checkbpp=0; + if (devmode.dmPelsWidth < 640 || - devmode.dmPelsHeight < 480) + devmode.dmPelsHeight < 480 || checkbpp == 0) { iMode++; continue; } - + Current = HeapAlloc(GetProcessHeap(), 0, sizeof(SETTINGS_ENTRY)); if (Current != NULL) {