mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 18:25:58 +00:00
use the dmSize we got from caller and fall back to SIZEOF_DEVMODEA_300 in case we got some unexpected value as it's done in Windows
svn path=/trunk/; revision=37373
This commit is contained in:
parent
08d47079cf
commit
ee17e42aa7
1 changed files with 8 additions and 11 deletions
|
@ -242,18 +242,15 @@ EnumDisplaySettingsExA(
|
||||||
COPYS(dmDeviceName, CCHDEVICENAME );
|
COPYS(dmDeviceName, CCHDEVICENAME );
|
||||||
COPYN(dmSpecVersion);
|
COPYN(dmSpecVersion);
|
||||||
COPYN(dmDriverVersion);
|
COPYN(dmDriverVersion);
|
||||||
switch (DevModeW.dmSize)
|
switch (lpDevMode->dmSize)
|
||||||
{
|
{
|
||||||
case SIZEOF_DEVMODEW_300:
|
case SIZEOF_DEVMODEA_300:
|
||||||
|
case SIZEOF_DEVMODEA_400:
|
||||||
|
case SIZEOF_DEVMODEA_500:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
lpDevMode->dmSize = SIZEOF_DEVMODEA_300;
|
lpDevMode->dmSize = SIZEOF_DEVMODEA_300;
|
||||||
break;
|
break;
|
||||||
case SIZEOF_DEVMODEW_400:
|
|
||||||
lpDevMode->dmSize = SIZEOF_DEVMODEA_400;
|
|
||||||
break;
|
|
||||||
case SIZEOF_DEVMODEW_500:
|
|
||||||
default: /* FIXME what to do??? */
|
|
||||||
lpDevMode->dmSize = SIZEOF_DEVMODEA_500;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
COPYN(dmDriverExtra);
|
COPYN(dmDriverExtra);
|
||||||
COPYN(dmFields);
|
COPYN(dmFields);
|
||||||
|
@ -276,7 +273,7 @@ EnumDisplaySettingsExA(
|
||||||
COPYN(dmDisplayFlags); // aka dmNup
|
COPYN(dmDisplayFlags); // aka dmNup
|
||||||
COPYN(dmDisplayFrequency);
|
COPYN(dmDisplayFrequency);
|
||||||
|
|
||||||
if (DevModeW.dmSize <= SIZEOF_DEVMODEW_300)
|
if (lpDevMode->dmSize <= SIZEOF_DEVMODEW_300)
|
||||||
return TRUE; // we're done with 0x300 fields
|
return TRUE; // we're done with 0x300 fields
|
||||||
|
|
||||||
COPYN(dmICMMethod);
|
COPYN(dmICMMethod);
|
||||||
|
@ -286,7 +283,7 @@ EnumDisplaySettingsExA(
|
||||||
COPYN(dmReserved1);
|
COPYN(dmReserved1);
|
||||||
COPYN(dmReserved2);
|
COPYN(dmReserved2);
|
||||||
|
|
||||||
if (DevModeW.dmSize <= SIZEOF_DEVMODEW_400)
|
if (lpDevMode->dmSize <= SIZEOF_DEVMODEW_400)
|
||||||
return TRUE; // we're done with 0x400 fields
|
return TRUE; // we're done with 0x400 fields
|
||||||
|
|
||||||
COPYN(dmPanningWidth);
|
COPYN(dmPanningWidth);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue