"Aric Stewart" aric@codeweavers.com wrote:
- SetRect( &rc, 0,40, 100,60);
- SetRect( &cliprc, 0,0, 100,100);
- ScrollWindowEx( hwnd1, 0, -25, &rc, &cliprc, hrgn, &rcu, SW_INVALIDATE);
- SetRectRgn( tmprgn, 0,15,98,35);
- CombineRgn( exprgn, exprgn, tmprgn, RGN_OR);
- SetRectRgn( tmprgn, 0, 40, 98, 60);
- CombineRgn( exprgn, exprgn, tmprgn, RGN_OR);
- ok( EqualRgn( exprgn, hrgn), "wrong update region in excessive scroll\n");
Under which version of Windows this was tested? According to test.winehq.org this test doesn't pass under any of Win98, NT4, Win2000 nor XP invalidating the (now committed) fix. I'd vote to revert this patch as obviously incorrect.
I did my work comparing to windows 2000. I could not get the test to run at all on my windows box so i had to try to fiddle with the test to get it to work. I spent a lot of time working on windows 2000 to make this behavior the same and so feel the patch is not "obviously incorrect" and most likely I did something incorrect in the test.
-aric
Dmitry Timoshkov wrote:
"Aric Stewart" aric@codeweavers.com wrote:
- SetRect( &rc, 0,40, 100,60);
- SetRect( &cliprc, 0,0, 100,100);
- ScrollWindowEx( hwnd1, 0, -25, &rc, &cliprc, hrgn, &rcu,
SW_INVALIDATE);
- SetRectRgn( tmprgn, 0,15,98,35);
- CombineRgn( exprgn, exprgn, tmprgn, RGN_OR);
- SetRectRgn( tmprgn, 0, 40, 98, 60);
- CombineRgn( exprgn, exprgn, tmprgn, RGN_OR);
- ok( EqualRgn( exprgn, hrgn), "wrong update region in excessive
scroll\n");
Under which version of Windows this was tested? According to test.winehq.org this test doesn't pass under any of Win98, NT4, Win2000 nor XP invalidating the (now committed) fix. I'd vote to revert this patch as obviously incorrect.
"Aric Stewart" aric@codeweavers.com wrote:
I did my work comparing to windows 2000. I could not get the test to run at all on my windows box so i had to try to fiddle with the test to get it to work.
What exactly was the problem?
I spent a lot of time working on windows 2000 to make this behavior the same and so feel the patch is not "obviously incorrect" and most likely I did something incorrect in the test.
Well, apparently the fix was based on a test (that was supposed to mimic a real application behaviour that exposed a bug), and since the test is wrong (since it doesn't pass on a single flavour of Windows) the fix is wrong as well.
We need some kind of a resolution to the problem, and I don't see a better way than reverting the whole patch.
"Dmitry Timoshkov" dmitry@codeweavers.com writes:
Well, apparently the fix was based on a test (that was supposed to mimic a real application behaviour that exposed a bug), and since the test is wrong (since it doesn't pass on a single flavour of Windows) the fix is wrong as well.
The test failing on Windows doesn't necessarily imply that the fix is wrong, only that the test is broken. The first thing to do is to make the test pass on Windows, which will then tell us if the fix was correct depending on whether the fixed test still passes on Wine.
I think you misunderstand. I wrote extensive tests _on windows_ that I used for this patch which where independent on the existing test in wine as i could not get the wine test to work properly in window, most likely, do to a lack of understand on the testing framework.
After i made the patch my tests worked in both places however I could not get my tests to behave in the testing framework. So i tried to modify the existing test to work and found what i believed to be the correct test. Evidently I was wrong.
I may still have my tests on my windows machine back in the office if they would be helpful. -aric
Dmitry Timoshkov wrote:
"Aric Stewart" aric@codeweavers.com wrote:
I did my work comparing to windows 2000. I could not get the test to run at all on my windows box so i had to try to fiddle with the test to get it to work.
What exactly was the problem?
I spent a lot of time working on windows 2000 to make this behavior the same and so feel the patch is not "obviously incorrect" and most likely I did something incorrect in the test.
Well, apparently the fix was based on a test (that was supposed to mimic a real application behaviour that exposed a bug), and since the test is wrong (since it doesn't pass on a single flavour of Windows) the fix is wrong as well.
We need some kind of a resolution to the problem, and I don't see a better way than reverting the whole patch.