Some observations on window parentage etc.

Medland, Bill Bill.Medland at accpac.com
Thu Aug 15 14:39:15 CDT 2002


> -----Original Message-----
> From: Medland, Bill [mailto:Bill.Medland at accpac.com]
> Sent: Thursday, August 15, 2002 8:59 AM
> To: Wine devel (E-mail)
> Subject: Some observations on window parentage etc.
> 
> 
> Here are some observations with regard to Window 
> parentage/ownership etc.

snip

> 
> More to follow.
> 
> Bill
> 

OK guys; who can justify the claim in the server (set_window_owner) that the
owner and the window must have the same parent?  I think it is untrue, but I
don't know what it should be.

I believe we need to extend the WIN_SetOwner to return the previous owner.
Should we take that out of the structure on the user side or should we
modify the server reply to return it?  I guess modifying the server reply is
the safer option and should have no performance penalty.

So here is what I am looking at doing.  (I'd prefer comments here rather
than after I submit the patch)

1. Modify the set_window_owner reply to return both the new full handle and
the previous full handle.
(p.s. what is this full handle anyway? Why is it different from the one
passed in the request?)

2. Modify the set_window_owner handler to fill in the reply and also remove
the parent test (or replace it with anything you guys think makes sense)

3. Modify WIN_SetOwner to return the value

4. Leave GetParent as it is

5. Modify GetWindowLong (GWL_HWNDPARENT to return the parent if a WS_CHILD
and the owner otherwise (even if not a WS_POPUP)

6. Modify GetAncestor (GA_ROOTWINDOW) to return the same as recursing on
GetParent.

7. Write a test set.

Comments?

Bill



More information about the wine-devel mailing list