From a4590d2b2339b596efa55612f356938be24f9aa2 Mon Sep 17 00:00:00 2001 From: Vitaly Lipatov Date: Thu, 25 Aug 2005 19:18:49 +0000 Subject: [PATCH] - remove return: now break loop if can't change state during test - add test for value returned by SwapMouseButton - fix SwapMouseButton return value (it returns previous state) --- dlls/user/sysparams.c | 8 +++++++- dlls/user/tests/sysparams.c | 6 +++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/dlls/user/sysparams.c b/dlls/user/sysparams.c index dc2733d7698..a49f75252d6 100644 --- a/dlls/user/sysparams.c +++ b/dlls/user/sysparams.c @@ -2405,10 +2405,16 @@ INT WINAPI GetSystemMetrics( INT index ) /*********************************************************************** * SwapMouseButton (USER32.@) + * Reverse or restore the meaning of the left and right mouse buttons + * fSwap [I ] TRUE - reverse, FALSE - original + * RETURN + * previous state */ BOOL WINAPI SwapMouseButton( BOOL fSwap ) { - return SystemParametersInfoW(SPI_SETMOUSEBUTTONSWAP, fSwap, 0, 0); + BOOL prev = GetSystemMetrics(SM_SWAPBUTTON); + SystemParametersInfoW(SPI_SETMOUSEBUTTONSWAP, fSwap, 0, 0); + return prev; } diff --git a/dlls/user/tests/sysparams.c b/dlls/user/tests/sysparams.c index a3d694de3a0..0631424773a 100644 --- a/dlls/user/tests/sysparams.c +++ b/dlls/user/tests/sysparams.c @@ -1011,7 +1011,7 @@ static void test_SPI_SETMOUSEBUTTONSWAP( void ) /* 33 */ rc=SystemParametersInfoA( SPI_SETMOUSEBUTTONSWAP, vals[i], 0, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE ); if (!test_error_msg(rc,"SPI_{GET,SET}MOUSEBUTTONSWAP")) - return; + break; test_change_message( SPI_SETMOUSEBUTTONSWAP, 0 ); test_reg_key( SPI_SETMOUSEBUTTONSWAP_REGKEY, @@ -1019,6 +1019,10 @@ static void test_SPI_SETMOUSEBUTTONSWAP( void ) /* 33 */ vals[i] ? "1" : "0" ); eq( GetSystemMetrics( SM_SWAPBUTTON ), (int)vals[i], "SM_SWAPBUTTON", "%d" ); + rc=SwapMouseButton((BOOL)vals[i^1]); + eq( GetSystemMetrics( SM_SWAPBUTTON ), (int)vals[i^1], + "SwapMouseButton", "%d" ); + ok( rc==vals[i], "SwapMouseButton does not return previous state (really %d)\n", rc ); } rc=SystemParametersInfoA( SPI_SETMOUSEBUTTONSWAP, old_b, 0,