richedit: do not read actual scrollbar state for scrollbar update, use internal state instead

Alex Villací­s Lasso a_villacis at palosanto.com
Mon Jun 30 15:57:01 CDT 2008


This is supposed to be a fix for bug #12311 . This bug involves a 
recursive message loop where the application forces visibility of 
scrollbars for the richedit control, which causes a WM_SIZE that 
triggers an update of the window size and re-hiding of the scrollbar. 
However, just after exiting the richedit winproc, the app forces 
visibility again, which again triggers a WM_SIZE, and so on. Native is 
oblivious to the fact that an external agent is messing with the 
scrollbar visibility, and is therefore unaffected by recursion. This 
patch attempts to fix this behavior in builtin and test for it. I have 
tried to test it on WinXP-SP2 and Win98, but testing on other platforms 
is helpful too.

Changelog:
* Use internal copy of scrollbar state instead of directly reading state 
from scrollbars, just as native does.
* Tests for ability to externally modify scrollbars.
* Test for behavior that caused recursion until builtin richedit was fixed.

-- 
perl -e '$x=2.4;print sprintf("%.0f + %.0f = %.0f\n",$x,$x,$x+$x);'

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-richedit-do-not-read-actual-scrollbar-state-for-scr.patch
Type: text/x-patch
Size: 0 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20080630/f8435aa0/attachment-0001.bin 


More information about the wine-devel mailing list