us@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.
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@baikal.ru] Sent: 14 August 2002 02:33 To: us@the-edmeades.demon.co.uk Cc: wine-devel@winehq.com Subject: Re: Re:can windows be reparented?
us@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.
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@the-edmeades.demon.co.uk To: "Dmitry Timoshkov" dmitry@baikal.ru; Bill.Medland@accpac.com Cc: "wine devel" wine-devel@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%:
- A modal window now is fully visible
- A modal window, when visible accepts key/mouse input
- 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@baikal.ru] Sent: 14 August 2002 02:33 To: us@the-edmeades.demon.co.uk Cc: wine-devel@winehq.com Subject: Re: Re:can windows be reparented?
us@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.
"Bill Medland" billmedland@look.ca writes:
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).
Sorry about the delay, I was on a vacation this week. I want to get to the bottom of this thing first, but I'll definitely apply this or a similar patch.
----- Original Message ----- From: "Alexandre Julliard" julliard@winehq.com To: "Bill Medland" billmedland@look.ca Cc: wine-devel@winehq.org Sent: Sunday, August 25, 2002 12:59 PM Subject: Re: can windows be reparented? (Buig 825)
"Bill Medland" billmedland@look.ca writes:
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).
Sorry about the delay, I was on a vacation this week. I want to get to the bottom of this thing first, but I'll definitely apply this or a similar patch.
Any progress?
-- Alexandre Julliard julliard@winehq.com
"Bill Medland" billmedland@look.ca writes:
Sorry about the delay, I was on a vacation this week. I want to get to the bottom of this thing first, but I'll definitely apply this or a similar patch.
Any progress?
Not much yet, but don't despair... Finishing the window management is my next major task.