On Fri, 2005-06-24 at 17:44, Saulius Krasuckas wrote:
* On Tue, 21 Jun 2005, Paul Vriens wrote:
* On Tue, 2005-06-21 at 21:45, Paul Vriens
wrote:
>
> with the latest winetest
>
http://www.astro.gla.ac.uk/users/paulm/WRT/CrossBuilt/winetest-200506211000…
>
> my mouse-buttons (left and right) are swapped after the test.
...
sysparams.c:1005:testing
SPI_{GET,SET}MOUSEBUTTONSWAP
sysparams.c:171:SPI_{GET,SET}MOUSEBUTTONSWAP not supported on this platform. Skipping
test
IMHO the bug is caused by a patch of Vitaly Lipatov [1], which by itself
showed up a bug, caused by a combined patch from you, Paul, and Justin
Chevrier [2].
Following [1]:
| @@ -1010,7 +1010,7 @@ static void test_SPI_SETMOUSEBUTTONSWAP(
| SetLastError(0xdeadbeef);
| rc=SystemParametersInfoA( SPI_SETMOUSEBUTTONSWAP, vals[i], 0,
| SPIF_UPDATEINIFILE | SPIF_SENDCHANGE );
| - if (!test_error_msg(rc,"SPI_{GET,SET}MOUSEBUTTONSWAP"))
| + if (!test_error_msg(rc!=vals[i],"SPI_{GET,SET}MOUSEBUTTONSWAP"))
| return;
...
| @@ -1023,7 +1023,7 @@ static void test_SPI_SETMOUSEBUTTONSWAP(
|
| rc=SystemParametersInfoA( SPI_SETMOUSEBUTTONSWAP, old_b, 0,
| SPIF_UPDATEINIFILE );
| - ok(rc!=0,"***warning*** failed to restore the original value: rc=%d
err=%ld\n",rc,GetLastError());
| + ok(!rc,"***warning*** failed to restore the original value: rc=%d
err=%ld\n",rc,GetLastError());
Such checks doesn't work on winME. I have reverted them and tests is
doing fine. Further, following [2]:
I agree these changes don't make sense.
Although Vitaly says in his
patch:
/* MSDN says it returns previous state of swapbutton always */
it doesn't seem to be the case for at least win98/winME/NT/W2K and XP
(which is almost all versions !)
Reverting the above fixes, it for me as well.
| @@ -955,9 +1007,12 @@ static void test_SPI_SETMOUSEBUTTONSWAP(
|
| for (i=0;i<sizeof(vals)/sizeof(*vals);i++)
| {
| + SetLastError(0xdeadbeef);
| rc=SystemParametersInfoA( SPI_SETMOUSEBUTTONSWAP, vals[i], 0,
| SPIF_UPDATEINIFILE | SPIF_SENDCHANGE );
| - ok(rc!=0,"%d: rc=%d err=%ld\n",i,rc,GetLastError());
| + if (!test_error_msg(rc,"SPI_{GET,SET}MOUSEBUTTONSWAP"))
| + return;
This wrong, IMHO, as the "return" statement eliminates a possibility to
restore SM_SWAPBUTTON metrics after the for-loop ends. I would use
"break" or "continue" here.
I agree that this can be done
nicer, but I'd like to have some comments
from Vitaly about his patch before changing anything
Then would be nice to print "err" in following format "err=%0x%08lx"
or
such after a restoration. Any more ideas?
Why do you want to change that? I
thought %08lx is pretty common in most
of the Wine code. (I remember seeing your email on wine-devel about that
though).
Cheers,
Paul.