http://bugs.winehq.org/show_bug.cgi?id=12553
--- Comment #16 from Igor Tarasov tarasov.igor@gmail.com 2009-02-25 20:03:05 --- Well, the trick was not in CCS_NOMOVEY. It was in updating styles.
When the application starts it sets styles:
trace:rebar:REBAR_WindowProc hwnd=0x1006e msg=7d wparam=fffffff0 lparam=32e3d8 trace:rebar:REBAR_StyleChanged current style=5600064e, styleOld=4600064e, style being set to=5600064e
Which is correct. But then, it does the following:
trace:rebar:REBAR_WindowProc hwnd=0x1006e msg=7d wparam=ffffffec lparam=32f09c trace:rebar:REBAR_StyleChanged current style=5600064e, styleOld=00000000, style being set to=00010000
And for the other rebar too:
trace:rebar:REBAR_WindowProc hwnd=0x100d0 msg=7d wparam=fffffff0 lparam=32e2d0 trace:rebar:REBAR_StyleChanged current style=5600064e, styleOld=4600064e, style being set to=5600064e
...
trace:rebar:REBAR_WindowProc hwnd=0x100d0 msg=7d wparam=ffffffec lparam=32ef94 trace:rebar:REBAR_StyleChanged current style=5600064e, styleOld=00000000, style being set to=00000000
This resets all flags, including CCS_NORESIZE, and REBAR_ForceResize starts resizing rebars, while it should not.
Well, somehow Winspector shows correct styles, which is odd, since REBAR_StyleChanged does rewrite both dwStyle and orgStyle. And after I update the styles via Winspector, as I said rebars behave well.
Native comctl32.dll seems to avoid this somehow.