can windows be reparented? (Buig 825)

Bill Medland billmedland at look.ca
Wed Aug 21 13:25:51 CDT 2002


Alexandre

Do you intend accepting the patch; I think it is a reasonable first step and
I am not intending jumping into the focus areas (at least not for a while).

Bill
----- Original Message -----
From: "Ann and Jason Edmeades" <us at the-edmeades.demon.co.uk>
To: "Dmitry Timoshkov" <dmitry at baikal.ru>; <Bill.Medland at accpac.com>
Cc: "wine devel" <wine-devel at winehq.com>
Sent: Saturday, August 17, 2002 2:22 PM
Subject: RE: Re:can windows be reparented? (Buig 825)


> Just an FYI - Applied Bills 2nd patch (which included the fix for the
first
> part), and retested my VB app.
>
> The behaviour I am seeing is better, but not 100%:
>
> 1. A modal window now is fully visible
> 2. A modal window, when visible accepts key/mouse input
> 3. Once the modal window is visible, a click on the owning parent brings
the
> parent in front of the modal one
>     but it doesnt have focus
> 4. Once the owning parent is in front of the modal window, I cant retrieve
> the modal window by clicking on it
>      but it still has focus and text goes into modal window
> 5. The only way to get a full view of the modal window is to use the task
> bar and click on it
>
> I think if the parent gets a message to come to the front, it should bring
> the child in front of it?
>
> However this fix is better than the hack I was using which left both fully
> useable!
>
> Thanks
> Jason
>
> -----Original Message-----
> From: Dmitry Timoshkov [mailto:dmitry at baikal.ru]
> Sent: 14 August 2002 02:33
> To: us at the-edmeades.demon.co.uk
> Cc: wine-devel at winehq.com
> Subject: Re: Re:can windows be reparented?
>
>
> <us at the-edmeades.demon.co.uk> wrote:
>
> > To be honest I never investigated further once I commented out the
> SetParent call,
> > as I was continuing to fix oleaut32 and left the gui side to someone
else!
> >
> > I know it was being called in the failing case, and removing it allowed
> the
> > windows to pop up, BUT they were still wrong as you could access the
> 'parent'
> > whereas you should not be able to
>
> Could you please test patch posted by Bill Medland to wine-patches today?
> It's
> not entirely correct though. My tests show that
> SetWindowLong(GWL_HWNDPARENT)
> call changes simultaneously both parent and owner for top level windows
and
> returns old value (not sure old owner or parent it is).
>
> But top level windows created by Visual Vasic are special: they have no
> parent,
> but only owner according to Spy++. In my tests I can't reproduce it yet.
>
> A bit of investigation of Wine source revealed that some places use
> GetAncestor(hwnd, GA_PARENT), while others use GetParent(hwnd). Since
> their behaviour is different in respect of top level and child windows,
> some major clean up in that area in Wine is needed.
>
> --
> Dmitry.
>
>
>
>
>




More information about the wine-devel mailing list