Added SYSMETRICS_Set.
Implemented SPI_SETSHOWSOUNDS action.
diff --git a/include/sysmetrics.h b/include/sysmetrics.h
index ad922d4..d582b3f 100644
--- a/include/sysmetrics.h
+++ b/include/sysmetrics.h
@@ -8,6 +8,7 @@
#define __WINE_SYSMETRICS_H
extern void SYSMETRICS_Init(void); /* sysmetrics.c */
+extern INT SYSMETRICS_Set( INT index, INT value ); /* sysmetrics.c */
extern void SYSCOLOR_Init(void); /* syscolor.c */
/* Wine extensions */
diff --git a/windows/sysmetrics.c b/windows/sysmetrics.c
index 6c274a1..c94ca37 100644
--- a/windows/sysmetrics.c
+++ b/windows/sysmetrics.c
@@ -260,6 +260,23 @@
/***********************************************************************
+ * SYSMETRICS_Set
+ *
+ * Sets system metrics.
+ */
+INT SYSMETRICS_Set( INT index, INT value )
+{
+ if ((index < 0) || (index > SM_WINE_CMETRICS)) return 0;
+ else
+ {
+ INT prev = sysMetrics[index];
+ sysMetrics[index] = value;
+ return prev;
+ }
+}
+
+
+/***********************************************************************
* GetSystemMetrics (USER.179)
*/
INT16 WINAPI GetSystemMetrics16( INT16 index )
@@ -274,5 +291,5 @@
INT WINAPI GetSystemMetrics( INT index )
{
if ((index < 0) || (index > SM_WINE_CMETRICS)) return 0;
- else return sysMetrics[index];
+ return sysMetrics[index];
}
diff --git a/windows/sysparams.c b/windows/sysparams.c
index f39c879..3034d5d 100644
--- a/windows/sysparams.c
+++ b/windows/sysparams.c
@@ -20,6 +20,7 @@
#include "keyboard.h"
#include "user.h"
#include "debugtools.h"
+#include "sysmetrics.h"
DEFAULT_DEBUG_CHANNEL(system);
@@ -404,9 +405,11 @@
WINE_SPI_FIXME(SPI_GETMOUSEKEYS); /* 54 */
WINE_SPI_FIXME(SPI_SETMOUSEKEYS); /* 55 */
case SPI_GETSHOWSOUNDS: /* 56 */
- *(INT *)pvParam = GetSystemMetrics( SM_SHOWSOUNDS );
- break;
- WINE_SPI_FIXME(SPI_SETSHOWSOUNDS); /* 57 */
+ *(INT *)pvParam = GetSystemMetrics( SM_SHOWSOUNDS );
+ break;
+ case SPI_SETSHOWSOUNDS: /* 57 */
+ SYSMETRICS_Set(SM_SHOWSOUNDS, uiParam);
+ break;
WINE_SPI_FIXME(SPI_GETSTICKYKEYS); /* 58 */
WINE_SPI_FIXME(SPI_SETSTICKYKEYS); /* 59 */
WINE_SPI_FIXME(SPI_GETACCESSTIMEOUT); /* 60 */