Author: dchapyshev
Date: Fri Sep  9 23:03:42 2016
New Revision: 72639

URL: http://svn.reactos.org/svn/reactos?rev=72639&view=rev
Log:
[NtUser]
- Initialize cbSize filed for HIGHCONTRASTW
- SOUNDSENTRY -> SOUNDSENTRYW
- Add checks of size for SPI_GETHIGHCONTRAST and SPI_SETHIGHCONTRAST

Modified:
    trunk/reactos/win32ss/user/ntuser/sysparams.c

Modified: trunk/reactos/win32ss/user/ntuser/sysparams.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/sysparams.c?rev=72639&r1=72638&r2=72639&view=diff
==============================================================================
--- trunk/reactos/win32ss/user/ntuser/sysparams.c       [iso-8859-1] (original)
+++ trunk/reactos/win32ss/user/ntuser/sysparams.c       [iso-8859-1] Fri Sep  9 
23:03:42 2016
@@ -310,7 +310,8 @@
     gspv.mousekeys.cbSize = sizeof(MOUSEKEYS);
     gspv.stickykeys.cbSize = sizeof(STICKYKEYS);
     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 */
     SpiFixupValues();
@@ -1103,6 +1104,7 @@
 
             if (!SpiSet(&gspv.filterkeys, pvParam, sizeof(FILTERKEYS), fl))
                 return 0;
+
             if (fl & SPIF_UPDATEINIFILE)
             {
                 // FIXME: What to do?
@@ -1287,28 +1289,28 @@
 
         case SPI_GETSOUNDSENTRY:
         {
-            LPSOUNDSENTRY SoundsEntry = (LPSOUNDSENTRY)pvParam;
-
-            if (uiParam != 0 && uiParam != sizeof(SOUNDSENTRY))
-                return 0;
-
-            if (!SoundsEntry || SoundsEntry->cbSize != sizeof(SOUNDSENTRY))
-                return 0;
-
-            return SpiGet(pvParam, &gspv.soundsentry, sizeof(SOUNDSENTRY), fl);
+            LPSOUNDSENTRYW SoundsEntry = (LPSOUNDSENTRYW)pvParam;
+
+            if (uiParam != 0 && uiParam != sizeof(SOUNDSENTRYW))
+                return 0;
+
+            if (!SoundsEntry || SoundsEntry->cbSize != sizeof(SOUNDSENTRYW))
+                return 0;
+
+            return SpiGet(pvParam, &gspv.soundsentry, sizeof(SOUNDSENTRYW), 
fl);
         }
 
         case SPI_SETSOUNDSENTRY:
         {
-            LPSOUNDSENTRY SoundsEntry = (LPSOUNDSENTRY)pvParam;
-
-            if (uiParam != 0 && uiParam != sizeof(SOUNDSENTRY))
-                return 0;
-
-            if (!SoundsEntry || SoundsEntry->cbSize != sizeof(SOUNDSENTRY))
-                return 0;
-
-            if (!SpiSet(&gspv.soundsentry, pvParam, sizeof(SOUNDSENTRY), fl))
+            LPSOUNDSENTRYW SoundsEntry = (LPSOUNDSENTRYW)pvParam;
+
+            if (uiParam != 0 && uiParam != sizeof(SOUNDSENTRYW))
+                return 0;
+
+            if (!SoundsEntry || SoundsEntry->cbSize != sizeof(SOUNDSENTRYW))
+                return 0;
+
+            if (!SpiSet(&gspv.soundsentry, pvParam, sizeof(SOUNDSENTRYW), fl))
                 return 0;
 
             if (fl & SPIF_UPDATEINIFILE)
@@ -1319,16 +1321,37 @@
         }
 
         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:
-            if (!SpiSet(&gspv.highcontrast, pvParam, sizeof(HIGHCONTRAST), fl))
-                return 0;
+        {
+            LPHIGHCONTRASTW highcontrast = (LPHIGHCONTRASTW)pvParam;
+
+            if (uiParam != 0 && uiParam != sizeof(HIGHCONTRASTW))
+                return 0;
+
+            if (!highcontrast || highcontrast->cbSize != sizeof(HIGHCONTRASTW))
+                return 0;
+
+            if (!SpiSet(&gspv.highcontrast, pvParam, sizeof(HIGHCONTRASTW), 
fl))
+                return 0;
+
             if (fl & SPIF_UPDATEINIFILE)
             {
                 // FIXME: What to do?
             }
             return (UINT_PTR)KEY_DESKTOP;
+        }
 
         case SPI_GETKEYBOARDPREF:
             return SpiGetInt(pvParam, &gspv.bKbdPref, fl);
@@ -1881,7 +1904,7 @@
             break;
 
         case SPI_GETICONMETRICS:
-            cbSize = sizeof(ICONMETRICS);
+            cbSize = sizeof(ICONMETRICSW);
             break;
 
         case SPI_GETWORKAREA:
@@ -1913,11 +1936,11 @@
             break;
 
         case SPI_GETSOUNDSENTRY:
-            cbSize = sizeof(SOUNDSENTRY);
+            cbSize = sizeof(SOUNDSENTRYW);
             break;
 
         case SPI_GETHIGHCONTRAST:
-            cbSize = sizeof(HIGHCONTRAST);
+            cbSize = sizeof(HIGHCONTRASTW);
             break;
 
         case SPI_GETANIMATION:
@@ -1995,12 +2018,12 @@
             break;
 
         case SPI_SETSOUNDSENTRY:
-            cbSize = sizeof(SOUNDSENTRY);
+            cbSize = sizeof(SOUNDSENTRYW);
             bToUser = FALSE;
             break;
 
         case SPI_SETHIGHCONTRAST:
-            cbSize = sizeof(HIGHCONTRAST);
+            cbSize = sizeof(HIGHCONTRASTW);
             bToUser = FALSE;
             break;
 


Reply via email to