From 0aef71f8df70a7e05df3b5389ca5435510cdcb65 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Tue, 17 Feb 2009 14:57:23 +0100 Subject: [PATCH] user32/tests: Test for failure to change system parameters even if getting them succeeded. --- dlls/user32/tests/sysparams.c | 60 ++++++++++++++++++++++++++++++++++--------- 1 file changed, 48 insertions(+), 12 deletions(-) diff --git a/dlls/user32/tests/sysparams.c b/dlls/user32/tests/sysparams.c index 27d8ea4b613..ed420f9e909 100644 --- a/dlls/user32/tests/sysparams.c +++ b/dlls/user32/tests/sysparams.c @@ -459,6 +459,7 @@ static void test_SPI_SETBEEP( void ) /* 2 */ curr_val = TRUE; rc=SystemParametersInfoA( SPI_SETBEEP, curr_val, 0, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE ); + if (!test_error_msg(rc,"SPI_SETBEEP")) return; ok(rc!=0,"SystemParametersInfoA: rc=%d err=%d\n",rc,GetLastError()); test_change_message( SPI_SETBEEP, 0 ); test_reg_key( SPI_SETBEEP_REGKEY, @@ -512,8 +513,7 @@ static const char *setmouse_valuenames[3] = { /* * Runs check for one setting of spi_setmouse. */ -static void run_spi_setmouse_test( int curr_val[], POINT *req_change, POINT *proj_change, - int nchange ) +static BOOL run_spi_setmouse_test( int curr_val[], POINT *req_change, POINT *proj_change, int nchange ) { BOOL rc; INT mi[3]; @@ -542,6 +542,7 @@ static void run_spi_setmouse_test( int curr_val[], POINT *req_change, POINT *pro /* call ascii version on even calls or if unicode is not available */ rc=SystemParametersInfoA( SPI_SETMOUSE, 0, curr_val, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE ); } + if (!test_error_msg(rc,"SPI_SETMOUSE")) return FALSE; ok(rc!=0,"SystemParametersInfo: rc=%d err=%d\n",rc,GetLastError()); test_change_message( SPI_SETMOUSE, 0 ); @@ -583,6 +584,7 @@ static void run_spi_setmouse_test( int curr_val[], POINT *req_change, POINT *pro ok( proj_change[i].y == mv.y, "Projected dy equals real dy. May fail under high load.\n" ); } } + return TRUE; } static void test_SPI_SETMOUSE( void ) /* 4 */ @@ -612,7 +614,7 @@ static void test_SPI_SETMOUSE( void ) /* 4 */ if (!test_error_msg(rc,"SPI_{GET,SET}MOUSE")) return; - run_spi_setmouse_test( curr_val, req_change, proj_change1, nchange ); + if (!run_spi_setmouse_test( curr_val, req_change, proj_change1, nchange )) return; /* acceleration change */ curr_val[2] = 2; @@ -649,7 +651,7 @@ static void test_SPI_SETMOUSE( void ) /* 4 */ ok(rc!=0,"***warning*** failed to restore the original value: rc=%d err=%d\n",rc,GetLastError()); } -static void test_setborder(UINT curr_val, int usesetborder, int dpi) +static BOOL test_setborder(UINT curr_val, int usesetborder, int dpi) { BOOL rc; UINT border, regval; @@ -660,13 +662,15 @@ static void test_setborder(UINT curr_val, int usesetborder, int dpi) rc=SystemParametersInfo( SPI_GETNONCLIENTMETRICS, 0, &ncm, 0); ok(rc!=0,"SystemParametersInfoA: rc=%d err=%d\n",rc,GetLastError()); if( usesetborder) { - rc=SystemParametersInfoA( SPI_SETBORDER, curr_val, 0, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE ); + rc=SystemParametersInfoA( SPI_SETBORDER, curr_val, 0, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE ); + if (!test_error_msg(rc,"SPI_SETBORDER")) return FALSE; ok(rc!=0,"SystemParametersInfoA: rc=%d err=%d\n",rc,GetLastError()); test_change_message( SPI_SETBORDER, 1 ); } else { /* set non client metrics */ ncm.iBorderWidth = curr_val; rc=SystemParametersInfoA( SPI_SETNONCLIENTMETRICS, 0, &ncm, SPIF_UPDATEINIFILE| SPIF_SENDCHANGE); + if (!test_error_msg(rc,"SPI_SETNONCLIENTMETRICS")) return FALSE; ok(rc!=0,"SystemParametersInfoA: rc=%d err=%d\n",rc,GetLastError()); test_change_message( SPI_SETNONCLIENTMETRICS, 1 ); } @@ -692,6 +696,7 @@ static void test_setborder(UINT curr_val, int usesetborder, int dpi) eq( frame, GetSystemMetrics( SM_CYFRAME ), "SM_CYFRAME", "%d" ); eq( frame, GetSystemMetrics( SM_CXSIZEFRAME ), "SM_CXSIZEFRAME", "%d" ); eq( frame, GetSystemMetrics( SM_CYSIZEFRAME ), "SM_CYSIZEFRAME", "%d" ); + return TRUE; } static void test_SPI_SETBORDER( void ) /* 6 */ @@ -733,11 +738,11 @@ static void test_SPI_SETBORDER( void ) /* 6 */ * those platforms */ if( !iswin9x) { /* win2k3 fails if you set the same border twice, or if size is 0 */ - test_setborder(2, 1, dpi); + if (!test_setborder(2, 1, dpi)) return; test_setborder(1, 1, dpi); test_setborder(3, 1, dpi); } - test_setborder(1, 0, dpi); + if (!test_setborder(1, 0, dpi)) return; test_setborder(0, 0, dpi); test_setborder(3, 0, dpi); @@ -768,6 +773,7 @@ static void test_SPI_SETKEYBOARDSPEED( void ) /* 10 */ rc=SystemParametersInfoA( SPI_SETKEYBOARDSPEED, vals[i], 0, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE ); + if (!test_error_msg(rc,"SPI_SETKEYBOARDSPEED")) return; ok(rc!=0,"%d: rc=%d err=%d\n",i,rc,GetLastError()); test_change_message( SPI_SETKEYBOARDSPEED, 0 ); sprintf( buf, "%d", vals[i] ); @@ -783,7 +789,7 @@ static void test_SPI_SETKEYBOARDSPEED( void ) /* 10 */ } /* test_SPI_ICONHORIZONTALSPACING helper */ -static void dotest_spi_iconhorizontalspacing( INT curr_val) +static BOOL dotest_spi_iconhorizontalspacing( INT curr_val) { BOOL rc; INT spacing, regval; @@ -791,6 +797,7 @@ static void dotest_spi_iconhorizontalspacing( INT curr_val) rc=SystemParametersInfoA( SPI_ICONHORIZONTALSPACING, curr_val, 0, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE); + if (!test_error_msg(rc,"SPI_ICONHORIZONTALSPACING")) return FALSE; ok(rc!=0,"SystemParametersInfoA: rc=%d err=%d\n",rc,GetLastError()); test_change_message( SPI_ICONHORIZONTALSPACING, 0 ); if( curr_val < 32) curr_val = 32; @@ -813,6 +820,7 @@ static void dotest_spi_iconhorizontalspacing( INT curr_val) rc=SystemParametersInfoA( SPI_GETICONMETRICS, sizeof(ICONMETRICSA), &im, FALSE ); ok(rc!=0,"SystemParametersInfoA: rc=%d err=%d\n",rc,GetLastError()); eq( im.iHorzSpacing, curr_val, "SPI_GETICONMETRICS", "%d" ); + return TRUE; } static void test_SPI_ICONHORIZONTALSPACING( void ) /* 13 */ @@ -827,7 +835,7 @@ static void test_SPI_ICONHORIZONTALSPACING( void ) /* 13 */ if (!test_error_msg(rc,"SPI_ICONHORIZONTALSPACING")) return; /* do not increase the value as it would upset the user's icon layout */ - dotest_spi_iconhorizontalspacing( old_spacing - 1); + if (!dotest_spi_iconhorizontalspacing( old_spacing - 1)) return; dotest_spi_iconhorizontalspacing( 10); /* minimum is 32 */ /* restore */ rc=SystemParametersInfoA( SPI_ICONHORIZONTALSPACING, old_spacing, 0, SPIF_UPDATEINIFILE ); @@ -854,6 +862,7 @@ static void test_SPI_SETSCREENSAVETIMEOUT( void ) /* 14 */ rc=SystemParametersInfoA( SPI_SETSCREENSAVETIMEOUT, vals[i], 0, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE ); + if (!test_error_msg(rc,"SPI_SETSCREENSAVETIMEOUT")) return; ok(rc!=0,"%d: rc=%d err=%d\n",i,rc,GetLastError()); test_change_message( SPI_SETSCREENSAVETIMEOUT, 0 ); sprintf( buf, "%d", vals[i] ); @@ -889,6 +898,7 @@ static void test_SPI_SETSCREENSAVEACTIVE( void ) /* 17 */ rc=SystemParametersInfoA( SPI_SETSCREENSAVEACTIVE, vals[i], 0, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE ); + if (!test_error_msg(rc,"SPI_SETSCREENSAVEACTIVE")) return; ok(rc!=0,"%d: rc=%d err=%d\n",i,rc,GetLastError()); test_change_message( SPI_SETSCREENSAVEACTIVE, 0 ); test_reg_key( SPI_SETSCREENSAVEACTIVE_REGKEY, @@ -929,6 +939,7 @@ static void test_SPI_SETKEYBOARDDELAY( void ) /* 23 */ rc=SystemParametersInfoA( SPI_SETKEYBOARDDELAY, vals[i], 0, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE ); + if (!test_error_msg(rc,"SPI_SETKEYBOARDDELAY")) return; ok(rc!=0,"%d: rc=%d err=%d\n",i,rc,GetLastError()); test_change_message( SPI_SETKEYBOARDDELAY, 0 ); sprintf( buf, "%d", vals[i] ); @@ -946,7 +957,7 @@ static void test_SPI_SETKEYBOARDDELAY( void ) /* 23 */ /* test_SPI_ICONVERTICALSPACING helper */ -static void dotest_spi_iconverticalspacing( INT curr_val) +static BOOL dotest_spi_iconverticalspacing( INT curr_val) { BOOL rc; INT spacing, regval; @@ -954,6 +965,7 @@ static void dotest_spi_iconverticalspacing( INT curr_val) rc=SystemParametersInfoA( SPI_ICONVERTICALSPACING, curr_val, 0, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE); + if (!test_error_msg(rc,"SPI_ICONVERTICALSPACING")) return FALSE; ok(rc!=0,"SystemParametersInfoA: rc=%d err=%d\n",rc,GetLastError()); test_change_message( SPI_ICONVERTICALSPACING, 0 ); if( curr_val < 32) curr_val = 32; @@ -976,6 +988,7 @@ static void dotest_spi_iconverticalspacing( INT curr_val) rc=SystemParametersInfoA( SPI_GETICONMETRICS, sizeof(ICONMETRICSA), &im, FALSE ); ok(rc!=0,"SystemParametersInfoA: rc=%d err=%d\n",rc,GetLastError()); eq( im.iVertSpacing, curr_val, "SPI_GETICONMETRICS", "%d" ); + return TRUE; } static void test_SPI_ICONVERTICALSPACING( void ) /* 24 */ @@ -990,7 +1003,7 @@ static void test_SPI_ICONVERTICALSPACING( void ) /* 24 */ if (!test_error_msg(rc,"SPI_ICONVERTICALSPACING")) return; /* do not increase the value as it would upset the user's icon layout */ - dotest_spi_iconverticalspacing( old_spacing - 1); + if (!dotest_spi_iconverticalspacing( old_spacing - 1)) return; /* same tests with a value less than the minimum 32 */ dotest_spi_iconverticalspacing( 10); /* restore */ @@ -1028,6 +1041,7 @@ static void test_SPI_SETICONTITLEWRAP( void ) /* 26 */ rc=SystemParametersInfoA( SPI_SETICONTITLEWRAP, vals[i], 0, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE ); + if (!test_error_msg(rc,"SPI_SETICONTITLEWRAP")) return; ok(rc!=0,"%d: rc=%d err=%d\n",i,rc,GetLastError()); test_change_message( SPI_SETICONTITLEWRAP, 1 ); regval = metricfromreg( SPI_SETICONTITLEWRAP_REGKEY2, @@ -1071,6 +1085,7 @@ static void test_SPI_SETMENUDROPALIGNMENT( void ) /* 28 */ rc=SystemParametersInfoA( SPI_SETMENUDROPALIGNMENT, vals[i], 0, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE ); + if (!test_error_msg(rc,"SPI_SETMENUDROPALIGNMENT")) return; ok(rc!=0,"%d: rc=%d err=%d\n",i,rc,GetLastError()); test_change_message( SPI_SETMENUDROPALIGNMENT, 0 ); test_reg_key_ex( SPI_SETMENUDROPALIGNMENT_REGKEY1, @@ -1286,6 +1301,7 @@ static void test_SPI_SETDRAGFULLWINDOWS( void ) /* 37 */ rc=SystemParametersInfoA( SPI_SETDRAGFULLWINDOWS, vals[i], 0, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE ); + if (!test_error_msg(rc,"SPI_SETDRAGFULLWINDOWS")) return; ok(rc!=0,"%d: rc=%d err=%d\n",i,rc,GetLastError()); test_change_message( SPI_SETDRAGFULLWINDOWS, 0 ); test_reg_key( SPI_SETDRAGFULLWINDOWS_REGKEY, @@ -1415,6 +1431,7 @@ static void test_SPI_SETNONCLIENTMETRICS( void ) /* 44 */ rc=SystemParametersInfoA( SPI_SETNONCLIENTMETRICS, 0, &Ncmnew, SPIF_UPDATEINIFILE| SPIF_SENDCHANGE); + if (!test_error_msg(rc,"SPI_SETNONCLIENTMETRICS")) return; ok(rc!=0,"SystemParametersInfoA: rc=%d err=%d\n",rc,GetLastError()); test_change_message( SPI_SETNONCLIENTMETRICS, 1 ); /* get them back */ @@ -1511,6 +1528,7 @@ static void test_SPI_SETMINIMIZEDMETRICS( void ) /* 44 */ lpMm_cur.iArrange = 5; rc=SystemParametersInfoA( SPI_SETMINIMIZEDMETRICS, sizeof(MINIMIZEDMETRICS), &lpMm_cur, SPIF_UPDATEINIFILE ); + if (!test_error_msg(rc,"SPI_SETMINIMIZEDMETRICS")) return; ok(rc!=0,"SystemParametersInfoA: rc=%d err=%d\n",rc,GetLastError()); /* read them back */ rc=SystemParametersInfoA( SPI_GETMINIMIZEDMETRICS, sizeof(MINIMIZEDMETRICS), &lpMm_new, FALSE ); @@ -1651,6 +1669,7 @@ static void test_SPI_SETICONMETRICS( void ) /* 46 */ strcpy( im_cur.lfFont.lfFaceName, "MS Sans Serif"); rc=SystemParametersInfoA( SPI_SETICONMETRICS, sizeof(ICONMETRICSA), &im_cur, SPIF_UPDATEINIFILE ); + if (!test_error_msg(rc,"SPI_SETICONMETRICS")) return; ok(rc!=0,"SystemParametersInfoA: rc=%d err=%d\n",rc,GetLastError()); rc=SystemParametersInfoA( SPI_GETICONMETRICS, sizeof(ICONMETRICSA), &im_new, FALSE ); @@ -1738,6 +1757,7 @@ static void test_SPI_SETWORKAREA( void ) /* 47 */ curr_val.bottom = old_area.bottom-1; rc=SystemParametersInfoA( SPI_SETWORKAREA, 0, &curr_val, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE ); + if (!test_error_msg(rc,"SPI_SETWORKAREA")) return; ok(rc!=0,"SystemParametersInfoA: rc=%d err=%d\n",rc,GetLastError()); test_change_message( SPI_SETWORKAREA, 0 ); rc=SystemParametersInfoA( SPI_GETWORKAREA, 0, &area, 0 ); @@ -1779,6 +1799,7 @@ static void test_SPI_SETSHOWSOUNDS( void ) /* 57 */ rc=SystemParametersInfoA( SPI_SETSHOWSOUNDS, vals[i], 0, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE ); + if (!test_error_msg(rc,"SPI_SETSHOWSOUNDS")) return; ok(rc!=0,"%d: rc=%d err=%d\n",i,rc,GetLastError()); test_change_message( SPI_SETSHOWSOUNDS, 1 ); test_reg_key( SPI_SETSHOWSOUNDS_REGKEY, @@ -1815,6 +1836,7 @@ static void test_SPI_SETKEYBOARDPREF( void ) /* 69 */ rc=SystemParametersInfoA( SPI_SETKEYBOARDPREF, vals[i], 0, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE ); + if (!test_error_msg(rc,"SPI_SETKEYBOARDPREF")) return; ok(rc!=0,"%d: rc=%d err=%d\n",i,rc,GetLastError()); test_change_message( SPI_SETKEYBOARDPREF, 1 ); test_reg_key_ex2( SPI_SETKEYBOARDPREF_REGKEY, SPI_SETKEYBOARDPREF_REGKEY_LEGACY, @@ -1849,6 +1871,7 @@ static void test_SPI_SETSCREENREADER( void ) /* 71 */ rc=SystemParametersInfoA( SPI_SETSCREENREADER, vals[i], 0, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE ); + if (!test_error_msg(rc,"SPI_SETSCREENREADER")) return; ok(rc!=0,"%d: rc=%d err=%d\n",i,rc,GetLastError()); test_change_message( SPI_SETSCREENREADER, 1 ); test_reg_key_ex2( SPI_SETSCREENREADER_REGKEY, SPI_SETSCREENREADER_REGKEY_LEGACY, @@ -1884,6 +1907,7 @@ static void test_SPI_SETFONTSMOOTHING( void ) /* 75 */ rc=SystemParametersInfoA( SPI_SETFONTSMOOTHING, vals[i], 0, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE ); + if (!test_error_msg(rc,"SPI_SETFONTSMOOTHING")) return; ok(rc!=0,"%d: rc=%d err=%d\n",i,rc,GetLastError()); test_change_message( SPI_SETFONTSMOOTHING, 0 ); test_reg_key( SPI_SETFONTSMOOTHING_REGKEY, @@ -1918,6 +1942,7 @@ static void test_SPI_SETLOWPOWERACTIVE( void ) /* 85 */ rc=SystemParametersInfoA( SPI_SETLOWPOWERACTIVE, vals[i], 0, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE ); + if (!test_error_msg(rc,"SPI_SETLOWPOWERACTIVE")) return; ok(rc!=0,"%d: rc=%d err=%d\n",i,rc,GetLastError()); test_change_message( SPI_SETLOWPOWERACTIVE, 1 ); test_reg_key( SPI_SETLOWPOWERACTIVE_REGKEY, @@ -1955,6 +1980,7 @@ static void test_SPI_SETPOWEROFFACTIVE( void ) /* 86 */ rc=SystemParametersInfoA( SPI_SETPOWEROFFACTIVE, vals[i], 0, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE ); + if (!test_error_msg(rc,"SPI_SETPOWEROFFACTIVE")) return; ok(rc!=0,"%d: rc=%d err=%d\n",i,rc,GetLastError()); test_change_message( SPI_SETPOWEROFFACTIVE, 1 ); test_reg_key( SPI_SETPOWEROFFACTIVE_REGKEY, @@ -1992,6 +2018,7 @@ static void test_SPI_SETSNAPTODEFBUTTON( void ) /* 95 */ rc=SystemParametersInfoA( SPI_SETSNAPTODEFBUTTON, vals[i], 0, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE ); + if (!test_error_msg(rc,"SPI_SETSNAPTODEFBUTTON")) return; ok(rc!=0,"%d: rc=%d err=%d\n",i,rc,GetLastError()); test_change_message( SPI_SETSNAPTODEFBUTTON, 0 ); test_reg_key( SPI_SETSNAPTODEFBUTTON_REGKEY, @@ -2030,6 +2057,7 @@ static void test_SPI_SETMOUSEHOVERWIDTH( void ) /* 99 */ rc=SystemParametersInfoA( SPI_SETMOUSEHOVERWIDTH, vals[i], 0, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE ); + if (!test_error_msg(rc,"SPI_SETMOUSEHOVERWIDTH")) return; ok(rc!=0,"%d: rc=%d err=%d\n",i,rc,GetLastError()); test_change_message( SPI_SETMOUSEHOVERWIDTH, 0 ); sprintf( buf, "%d", vals[i] ); @@ -2069,6 +2097,7 @@ static void test_SPI_SETMOUSEHOVERHEIGHT( void ) /* 101 */ rc=SystemParametersInfoA( SPI_SETMOUSEHOVERHEIGHT, vals[i], 0, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE ); + if (!test_error_msg(rc,"SPI_SETMOUSEHOVERHEIGHT")) return; ok(rc!=0,"%d: rc=%d err=%d\n",i,rc,GetLastError()); test_change_message( SPI_SETMOUSEHOVERHEIGHT, 0 ); sprintf( buf, "%d", vals[i] ); @@ -2112,6 +2141,7 @@ static void test_SPI_SETMOUSEHOVERTIME( void ) /* 103 */ rc=SystemParametersInfoA( SPI_SETMOUSEHOVERTIME, vals[i], 0, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE ); + if (!test_error_msg(rc,"SPI_SETMOUSEHOVERTIME")) return; ok(rc!=0,"%d: rc=%d err=%d\n",i,rc,GetLastError()); test_change_message( SPI_SETMOUSEHOVERTIME, 0 ); sprintf( buf, "%d", vals[i] ); @@ -2150,6 +2180,7 @@ static void test_SPI_SETWHEELSCROLLLINES( void ) /* 105 */ rc=SystemParametersInfoA( SPI_SETWHEELSCROLLLINES, vals[i], 0, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE ); + if (!test_error_msg(rc,"SPI_SETWHEELSCROLLLINES")) return; ok(rc!=0,"%d: rc=%d err=%d\n",i,rc,GetLastError()); test_change_message( SPI_SETWHEELSCROLLLINES, 0 ); sprintf( buf, "%d", vals[i] ); @@ -2188,6 +2219,7 @@ static void test_SPI_SETMENUSHOWDELAY( void ) /* 107 */ rc=SystemParametersInfoA( SPI_SETMENUSHOWDELAY, vals[i], 0, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE ); + if (!test_error_msg(rc,"SPI_SETMENUSHOWDELAY")) return; ok(rc!=0,"%d: rc=%d err=%d\n",i,rc,GetLastError()); test_change_message( SPI_SETMENUSHOWDELAY, 0 ); sprintf( buf, "%d", vals[i] ); @@ -2259,6 +2291,7 @@ static void test_SPI_SETWALLPAPER( void ) /* 115 */ strcpy(newval, ""); rc=SystemParametersInfoA(SPI_SETDESKWALLPAPER, 0, newval, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE); + if (!test_error_msg(rc,"SPI_SETDESKWALLPAPER")) return; ok(rc!=0,"SystemParametersInfoA: rc=%d err=%d\n",rc,GetLastError()); test_change_message(SPI_SETDESKWALLPAPER, 0); @@ -2307,13 +2340,16 @@ static void test_WM_DISPLAYCHANGE(void) /* Wait quite long for the message, screen setting changes can take some time */ if(change_ret == DISP_CHANGE_SUCCESSFUL) { wait_ret = WaitForSingleObject(displaychange_sem, 10000); + /* we may not get a notification if nothing changed */ + if (wait_ret == WAIT_TIMEOUT && !last_set_bpp && start_bpp == test_bpps[i]) + continue; ok(wait_ret == WAIT_OBJECT_0, "Waiting for the WM_DISPLAYCHANGE message timed out\n"); } displaychange_ok = FALSE; if(change_ret != DISP_CHANGE_SUCCESSFUL) { skip("Setting depth %d failed(ret = %d)\n", test_bpps[i], change_ret); - ok(last_bpp == -1, "WM_DISPLAYCHANGE was sent with wParam %d despide mode change failure\n", last_bpp); + ok(last_bpp == -1, "WM_DISPLAYCHANGE was sent with wParam %d despite mode change failure\n", last_bpp); continue; } -- 2.11.4.GIT