mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 20:25:39 +00:00
[NtUser]
- Initialize cbSize filed for HIGHCONTRASTW - SOUNDSENTRY -> SOUNDSENTRYW - Add checks of size for SPI_GETHIGHCONTRAST and SPI_SETHIGHCONTRAST svn path=/trunk/; revision=72639
This commit is contained in:
parent
0774f98a1b
commit
e0009ad353
1 changed files with 39 additions and 16 deletions
|
@ -310,7 +310,8 @@ SpiUpdatePerUserSystemParameters(VOID)
|
||||||
gspv.mousekeys.cbSize = sizeof(MOUSEKEYS);
|
gspv.mousekeys.cbSize = sizeof(MOUSEKEYS);
|
||||||
gspv.stickykeys.cbSize = sizeof(STICKYKEYS);
|
gspv.stickykeys.cbSize = sizeof(STICKYKEYS);
|
||||||
gspv.serialkeys.cbSize = sizeof(SERIALKEYS);
|
gspv.serialkeys.cbSize = sizeof(SERIALKEYS);
|
||||||
gspv.soundsentry.cbSize = sizeof(SOUNDSENTRY);
|
gspv.soundsentry.cbSize = sizeof(SOUNDSENTRYW);
|
||||||
|
gspv.highcontrast.cbSize = sizeof(HIGHCONTRASTW);
|
||||||
|
|
||||||
/* Make sure we don't use broken values */
|
/* Make sure we don't use broken values */
|
||||||
SpiFixupValues();
|
SpiFixupValues();
|
||||||
|
@ -1103,6 +1104,7 @@ SpiGetSet(UINT uiAction, UINT uiParam, PVOID pvParam, FLONG fl)
|
||||||
|
|
||||||
if (!SpiSet(&gspv.filterkeys, pvParam, sizeof(FILTERKEYS), fl))
|
if (!SpiSet(&gspv.filterkeys, pvParam, sizeof(FILTERKEYS), fl))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (fl & SPIF_UPDATEINIFILE)
|
if (fl & SPIF_UPDATEINIFILE)
|
||||||
{
|
{
|
||||||
// FIXME: What to do?
|
// FIXME: What to do?
|
||||||
|
@ -1287,28 +1289,28 @@ SpiGetSet(UINT uiAction, UINT uiParam, PVOID pvParam, FLONG fl)
|
||||||
|
|
||||||
case SPI_GETSOUNDSENTRY:
|
case SPI_GETSOUNDSENTRY:
|
||||||
{
|
{
|
||||||
LPSOUNDSENTRY SoundsEntry = (LPSOUNDSENTRY)pvParam;
|
LPSOUNDSENTRYW SoundsEntry = (LPSOUNDSENTRYW)pvParam;
|
||||||
|
|
||||||
if (uiParam != 0 && uiParam != sizeof(SOUNDSENTRY))
|
if (uiParam != 0 && uiParam != sizeof(SOUNDSENTRYW))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (!SoundsEntry || SoundsEntry->cbSize != sizeof(SOUNDSENTRY))
|
if (!SoundsEntry || SoundsEntry->cbSize != sizeof(SOUNDSENTRYW))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
return SpiGet(pvParam, &gspv.soundsentry, sizeof(SOUNDSENTRY), fl);
|
return SpiGet(pvParam, &gspv.soundsentry, sizeof(SOUNDSENTRYW), fl);
|
||||||
}
|
}
|
||||||
|
|
||||||
case SPI_SETSOUNDSENTRY:
|
case SPI_SETSOUNDSENTRY:
|
||||||
{
|
{
|
||||||
LPSOUNDSENTRY SoundsEntry = (LPSOUNDSENTRY)pvParam;
|
LPSOUNDSENTRYW SoundsEntry = (LPSOUNDSENTRYW)pvParam;
|
||||||
|
|
||||||
if (uiParam != 0 && uiParam != sizeof(SOUNDSENTRY))
|
if (uiParam != 0 && uiParam != sizeof(SOUNDSENTRYW))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (!SoundsEntry || SoundsEntry->cbSize != sizeof(SOUNDSENTRY))
|
if (!SoundsEntry || SoundsEntry->cbSize != sizeof(SOUNDSENTRYW))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (!SpiSet(&gspv.soundsentry, pvParam, sizeof(SOUNDSENTRY), fl))
|
if (!SpiSet(&gspv.soundsentry, pvParam, sizeof(SOUNDSENTRYW), fl))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (fl & SPIF_UPDATEINIFILE)
|
if (fl & SPIF_UPDATEINIFILE)
|
||||||
|
@ -1319,16 +1321,37 @@ SpiGetSet(UINT uiAction, UINT uiParam, PVOID pvParam, FLONG fl)
|
||||||
}
|
}
|
||||||
|
|
||||||
case SPI_GETHIGHCONTRAST:
|
case SPI_GETHIGHCONTRAST:
|
||||||
return SpiGet(pvParam, &gspv.highcontrast, sizeof(HIGHCONTRAST), fl);
|
{
|
||||||
|
LPHIGHCONTRASTW highcontrast = (LPHIGHCONTRASTW)pvParam;
|
||||||
|
|
||||||
|
if (uiParam != 0 && uiParam != sizeof(HIGHCONTRASTW))
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
if (!highcontrast || highcontrast->cbSize != sizeof(HIGHCONTRASTW))
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
return SpiGet(pvParam, &gspv.highcontrast, sizeof(HIGHCONTRASTW), fl);
|
||||||
|
}
|
||||||
|
|
||||||
case SPI_SETHIGHCONTRAST:
|
case SPI_SETHIGHCONTRAST:
|
||||||
if (!SpiSet(&gspv.highcontrast, pvParam, sizeof(HIGHCONTRAST), fl))
|
{
|
||||||
|
LPHIGHCONTRASTW highcontrast = (LPHIGHCONTRASTW)pvParam;
|
||||||
|
|
||||||
|
if (uiParam != 0 && uiParam != sizeof(HIGHCONTRASTW))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
if (!highcontrast || highcontrast->cbSize != sizeof(HIGHCONTRASTW))
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
if (!SpiSet(&gspv.highcontrast, pvParam, sizeof(HIGHCONTRASTW), fl))
|
||||||
|
return 0;
|
||||||
|
|
||||||
if (fl & SPIF_UPDATEINIFILE)
|
if (fl & SPIF_UPDATEINIFILE)
|
||||||
{
|
{
|
||||||
// FIXME: What to do?
|
// FIXME: What to do?
|
||||||
}
|
}
|
||||||
return (UINT_PTR)KEY_DESKTOP;
|
return (UINT_PTR)KEY_DESKTOP;
|
||||||
|
}
|
||||||
|
|
||||||
case SPI_GETKEYBOARDPREF:
|
case SPI_GETKEYBOARDPREF:
|
||||||
return SpiGetInt(pvParam, &gspv.bKbdPref, fl);
|
return SpiGetInt(pvParam, &gspv.bKbdPref, fl);
|
||||||
|
@ -1881,7 +1904,7 @@ SpiGetSetProbeBuffer(UINT uiAction, UINT uiParam, PVOID pvParam)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SPI_GETICONMETRICS:
|
case SPI_GETICONMETRICS:
|
||||||
cbSize = sizeof(ICONMETRICS);
|
cbSize = sizeof(ICONMETRICSW);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SPI_GETWORKAREA:
|
case SPI_GETWORKAREA:
|
||||||
|
@ -1913,11 +1936,11 @@ SpiGetSetProbeBuffer(UINT uiAction, UINT uiParam, PVOID pvParam)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SPI_GETSOUNDSENTRY:
|
case SPI_GETSOUNDSENTRY:
|
||||||
cbSize = sizeof(SOUNDSENTRY);
|
cbSize = sizeof(SOUNDSENTRYW);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SPI_GETHIGHCONTRAST:
|
case SPI_GETHIGHCONTRAST:
|
||||||
cbSize = sizeof(HIGHCONTRAST);
|
cbSize = sizeof(HIGHCONTRASTW);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SPI_GETANIMATION:
|
case SPI_GETANIMATION:
|
||||||
|
@ -1995,12 +2018,12 @@ SpiGetSetProbeBuffer(UINT uiAction, UINT uiParam, PVOID pvParam)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SPI_SETSOUNDSENTRY:
|
case SPI_SETSOUNDSENTRY:
|
||||||
cbSize = sizeof(SOUNDSENTRY);
|
cbSize = sizeof(SOUNDSENTRYW);
|
||||||
bToUser = FALSE;
|
bToUser = FALSE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SPI_SETHIGHCONTRAST:
|
case SPI_SETHIGHCONTRAST:
|
||||||
cbSize = sizeof(HIGHCONTRAST);
|
cbSize = sizeof(HIGHCONTRASTW);
|
||||||
bToUser = FALSE;
|
bToUser = FALSE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue