gspv.serialkeys.cbSize = sizeof(SERIALKEYS);
gspv.soundsentry.cbSize = sizeof(SOUNDSENTRYW);
gspv.highcontrast.cbSize = sizeof(HIGHCONTRASTW);
+ gspv.animationinfo.cbSize = sizeof(ANIMATIONINFO);
/* Make sure we don't use broken values */
SpiFixupValues();
case SPI_GETNONCLIENTMETRICS:
{
- LPNONCLIENTMETRICSW metrics = (LPNONCLIENTMETRICSW)pvParam;
-
- if (uiParam != 0 && uiParam != sizeof(NONCLIENTMETRICSW))
- return 0;
-
- if (!metrics || metrics->cbSize != sizeof(NONCLIENTMETRICSW))
- return 0;
-
return SpiGet(pvParam, &gspv.ncm, sizeof(NONCLIENTMETRICSW), fl);
}
{
LPNONCLIENTMETRICSW metrics = (LPNONCLIENTMETRICSW)pvParam;
- if (uiParam != 0 && uiParam != sizeof(NONCLIENTMETRICSW))
- return 0;
-
- if (!metrics || metrics->cbSize != sizeof(NONCLIENTMETRICSW))
- return 0;
-
- if (!SpiSet(&gspv.ncm, pvParam, sizeof(NONCLIENTMETRICSW), fl))
+ /* Fixup user's structure size */
+ metrics->cbSize = sizeof(NONCLIENTMETRICSW);
+
+ if (!SpiSet(&gspv.ncm, metrics, sizeof(NONCLIENTMETRICSW), fl))
return 0;
if (fl & SPIF_UPDATEINIFILE)
case SPI_GETMINIMIZEDMETRICS:
{
- LPMINIMIZEDMETRICS metrics = (LPMINIMIZEDMETRICS)pvParam;
-
- if (uiParam != 0 && uiParam != sizeof(MINIMIZEDMETRICS))
- return 0;
-
- if (!metrics || metrics->cbSize != sizeof(MINIMIZEDMETRICS))
- return 0;
-
return SpiGet(pvParam, &gspv.mm, sizeof(MINIMIZEDMETRICS), fl);
}
{
LPMINIMIZEDMETRICS metrics = (LPMINIMIZEDMETRICS)pvParam;
- if (uiParam != 0 && uiParam != sizeof(MINIMIZEDMETRICS))
- return 0;
+ /* Fixup user's structure size */
+ metrics->cbSize = sizeof(MINIMIZEDMETRICS);
- if (!metrics || metrics->cbSize != sizeof(MINIMIZEDMETRICS))
- return 0;
-
- if (!SpiSet(&gspv.mm, pvParam, sizeof(MINIMIZEDMETRICS), fl))
+ if (!SpiSet(&gspv.mm, metrics, sizeof(MINIMIZEDMETRICS), fl))
return 0;
gspv.mm.iWidth = max(0, gspv.mm.iWidth);
case SPI_GETICONMETRICS:
{
- LPICONMETRICSW IconMetrics = (LPICONMETRICSW)pvParam;
-
- if (uiParam != 0 && uiParam != sizeof(ICONMETRICSW))
- return 0;
-
- if (!IconMetrics || IconMetrics->cbSize != sizeof(ICONMETRICSW))
- return 0;
-
return SpiGet(pvParam, &gspv.im, sizeof(ICONMETRICSW), fl);
}
case SPI_SETICONMETRICS:
{
- LPICONMETRICSW IconMetrics = (LPICONMETRICSW)pvParam;
+ LPICONMETRICSW metrics = (LPICONMETRICSW)pvParam;
- if (uiParam != 0 && uiParam != sizeof(ICONMETRICSW))
- return 0;
-
- if (!IconMetrics || IconMetrics->cbSize != sizeof(ICONMETRICSW))
- return 0;
+ /* Fixup user's structure size */
+ metrics->cbSize = sizeof(ICONMETRICSW);
- if (!SpiSet(&gspv.im, pvParam, sizeof(ICONMETRICSW), fl))
+ if (!SpiSet(&gspv.im, metrics, sizeof(ICONMETRICSW), fl))
return 0;
if (fl & SPIF_UPDATEINIFILE)
return SpiGetInt(pvParam, &gspv.bFlatMenu, fl);
case SPI_SETFLATMENU:
- return SpiSetBool(&gspv.bFlatMenu, uiParam, KEY_MOUSE, L"", fl);
+ return SpiSetBool(&gspv.bFlatMenu, (BOOL)pvParam, KEY_MOUSE, L"", fl);
case SPI_GETDROPSHADOW:
return SpiGetInt(pvParam, &gspv.bDropShadow, fl);