OLE clipping

Mike Hearn m.hearn at signal.qinetiq.com
Tue May 20 10:25:04 CDT 2003


> 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

-- 
Mike Hearn <m.hearn at signal.qinetiq.com>
QinetiQ - Malvern Technology Center




More information about the wine-devel mailing list