James Hawkins escribió:
Hi Alex,
The following commit introduces several windows test failures across the board in riched20:
commit 0e9ed5c10e3ac6b253712037f0b30046a5656239 Author: Alex Villacís Lasso a_villacis@palosanto.com Date: Sun May 11 09:54:58 2008 -0500
richedit: Empty text should result in a scroll range of 0. Tests
for this behavior.
Please take a look at the test results and either fix the tests or send in a patch to remove them.
Thanks, James Hawkins
I am trying to debug the cause of this. However, I have run into a strange problem.
The root cause of the failing tests is that GetScrollInfo() is failing when applied to the newly created richedit window. On Windows XP-SP2 it fails and sets GetLastError() to ERROR_NO_SCROLLBARS. On Win9x, it fails, but leaves the last error unset. To figure out the behavior of the richedit scrollbars, I decided to add a test for the standard scrollbars on a generic window, so that I have a standard to compare the richedit windows against.
The result of this is the attached patch. What I can deduce is the following: on window creation, the scrollbars are set to a range of 0 to 100 with page 0 and position 0, but attempts to read such ranges will fail if the window lacks both the WS_VSCROLL and the WS_HSCROLL styles - until a range is explicitly assigned to either scrollbar, in which it suddenly becomes readable for both. As it stands, this test passes on WinXP-SP2 (but not in Wine). The problem is that, on Win9x only, it seems that the styles WS_VSCROLL and WS_HSCROLL are not being set even when requested in the CreateWindowExA(). The end result is that on Win9x (but not on WinXP-SP2), the following failure appears
Unexpected WS_HSCROLL style, found 0 expected 1
or
Unexpected WS_VSCROLL style, found 0 expected 1
I refuse to believe this to be a genuine difference between Win9x and WinXP-SP2, but I cannot figure out yet what I am doing wrong. Do you have any ideas?