It would interfere with the order in which the controls are painted. It looks like Alexandre committed some z-order and painting related patches. Could you give the latest CVS tip a try?
Random thoughts...
* Java appears to create two child windows of the main window in this case, one for rendering Swing (the canvas) and the other is the shell embedding window for IE
* Spy++ in Windows shows two differences with Wine:
1) WS_CLIPSIBLINGS is set on the top level window in Windows, but not Wine. However, forcing WS_CLIPSIBLINGS in CreateWindowEx doesn't appear to make any difference. Presumably as it's a top level window, this flag makes no difference either way.
2) The windows appear in a different order in the windows tree that Spy++ gives you. In Wine, the IE embedding window appears as the first child, in Windows it appears as the last (I'm running Spy++ under Wine to see this). The positions of the AWT/Swing rendering window and the shell embedding window are reversed in other words.
I think it's the two child windows fighting, not the parent and child as I originally thought.... unfortunately MSDN doesn't seem to be clear on how z-order for child windows works. As both child windows have WS_CLIPSIBLINGS but one appears to be entirely overlapped by the other, it's not obvious to me how this situation should be handled, the smaller window would probably have its output entirely clipped, regardless of z-order?
It's also not obvious how Spy++ decides what order to put windows in the tree heirarchy, it's probably based on z-order.
</random thoughts>
thanks for your insights -mike