http://bugs.winehq.org/show_bug.cgi?id=3928
------- Additional Comments From vitaliy(a)kievinfo.com 2005-29-11 09:54 -------
Sorry, but your thoery is incorrect. Here is the test that you suggested:
Index: win.c
===================================================================
RCS file: /home/wine/wine/dlls/user/tests/win.c,v
retrieving revision 1.74
diff -u -p -r1.74 win.c
--- win.c 29 Nov 2005 11:04:33 -0000 1.74
+++ win.c 29 Nov 2005 15:53:01 -0000
@@ -471,8 +471,15 @@ static void test_parent_owner(void)
ok( !EnumChildWindows( owner, EnumChildProc, (LPARAM)&numChildren ),
"EnumChildWindows should have returned FALSE\n" );
ok( numChildren == 2, "numChildren should be 2 got %d\n", numChildren );
+ DestroyWindow( child );
+ child = create_tool_window( WS_VISIBLE | WS_OVERLAPPEDWINDOW, owner );
+ numChildren = 0;
+ ok( EnumChildWindows( owner, EnumChildProc, (LPARAM)&numChildren ),
+ "EnumChildWindows should have returned TRUE\n" );
+ ok( numChildren == 1, "numChildren should be 1 got %d\n", numChildren );
DestroyWindow( child );
+
DestroyWindow( test );
DestroyWindow( owner );
}
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.winehq.org/show_bug.cgi?id=3925
tuharsky(a)misbb.sk changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|ISS runtimes dosen't install|ISS runtimes don't install
|after 0.9 |after 0.9
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.winehq.org/show_bug.cgi?id=3967
Summary: odbcad32.exe crashes
Product: Wine
Version: 0.9.2.
Platform: Other
OS/Version: Linux
Status: UNCONFIRMED
Severity: critical
Priority: P2
Component: wine-binary
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: tuharsky(a)misbb.sk
If I run odbcad32.exe under wine, I get tracelog..
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.winehq.org/show_bug.cgi?id=3898
------- Additional Comments From leon_fraitak(a)mail.ru 2005-29-11 09:21 -------
I can confirm this bug too. Perhaps it has something to do with the window
management rewrite.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.winehq.org/show_bug.cgi?id=3951
------- Additional Comments From joeybell10101(a)hotmail.com 2005-29-11 09:10 -------
I see, that works, thanks. Why is it that it doesn't work the other way (which I
think is neater)?
Anyway, a new bug comes to light now: when I use ALT-TAB to flick between
windows, upon returning to the 'virtual desktop' it is as if I have pressed ALT
because the menu is active when the focus should be on the text field (or
whatever).
Thanks again for the help :)
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.winehq.org/show_bug.cgi?id=3928
------- Additional Comments From andrew7webb(a)comcast.net 2005-29-11 09:08 -------
Thanks for your tests and bug fix for the status return. We are getting very
close.
Your test creates two windows:
test = create_tool_window( WS_POPUP, NULL );
...
child = create_tool_window( WS_CHILD, owner );
numChildren = 0;
ok( !EnumChildWindows( owner, EnumChildProc, (LPARAM)&numChildren ),
"EnumChildWindows should have teruned FALSE\n" );
ok( numChildren == 2, "numChildren should be 2 got %d\n", numChildren );
If you add a third window as:
ownedWin = create_tool_window( WS_VISIBLE | WS_OVERLAPPEDWINDOW, owner );
and then check:
ok( numChildren == 3, "numChildren should be 3 got %d\n", numChildren );
I think you will reproduce the problem, as this is how the original test case
window is created.
My theory for why your tests did not reproduce the problem is:
"create_tool_window( WS_CHILD, owner )" does not create an "owned window"
because it passes a WS_CHILD which CreateWindow interprests as overruling the
passed owner. There is code in win.c that enforces this:
913: owner= 0;
930: if ( (cs->style & (WS_CHILD|WS_POPUP)) == WS_CHILD)
parent= WIN_GetFullHandle( cs->hwndParent );
else
owner= GetAncester( cs->hwndParent, GA_ROOT );
962: wndPtr->owner= owner;
So a window with WS_CHILD will have a 0 ->owner, and thus
HWND own= GetWindow( handle(), GW_OWNER );
will return 0.
The code is consistent with the windows documentation statement:
"Only an overlapped or pop-up window can be an owner window; a child window
cannot be an owner window." (See below excerpt)
____________________
Owned Windows
An overlapped or pop-up window can be owned by another overlapped or pop-up
window. Being owned places several constraints on a window.
An owned window is always above its owner in the z-order.
The system automatically destroys an owned window when its owner is destroyed.
An owned window is hidden when its owner is minimized.
Only an overlapped or pop-up window can be an owner window; a child window
cannot be an owner window. An application creates an owned window by specifying
the owner's window handle as the hwndParent parameter of CreateWindowEx when it
creates a window with the WS_OVERLAPPED or WS_POPUP style. The hwndParent
parameter must identify an overlapped or pop-up window. If hwndParent
identifies a child window, the system assigns ownership to the top-level parent
window of the child window. After creating an owned window, an application
cannot transfer ownership of the window to another window.
Dialog boxes and message boxes are owned windows by default. An application
specifies the owner window when calling a function that creates a dialog box or
message box.
An application can use the GetWindow function with the GW_OWNER flag to
retrieve a handle to a window's owner.
____________________
My theory for why WINE differs from Windows remains the same:
line 810 in the dlls/user/win.c function WIN_EnumChildWindows():
if(GetWindow( *list, GW_OWNER )) continue;
should not be present because it does not allow owned windows to be enumerated,
and Windows does.
best regards, Andrew
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.winehq.org/show_bug.cgi?id=3952
------- Additional Comments From douglas.ward(a)prolly.org 2005-29-11 09:04 -------
I created a hack that removes the "not supported on other proccess" errors.
basically i commented out the checks in virtual.c and thread.c. since this game
works on windows, those checks are clearly not correct anyway. here is what i
get now:
fixme:powermgnt:GetSystemPowerStatus (): stub, harmless.
fixme:powermgnt:GetSystemPowerStatus (): stub, harmless.
fixme:wininet:INET_QueryOptionHelper Stub! 75
fixme:wininet:INET_QueryOptionHelper Stub! 40
fixme:powermgnt:GetSystemPowerStatus (): stub, harmless.
fixme:advapi:SetServiceObjectSecurity 0x7fde1418 4 0x7fc6f9b4
fixme:ntdll:NtCreateSymbolicLinkObject (0x7fc6fa90,0x000f0001,0x7fc6faa4,
0x7beff0de) stub
fixme:advapi:GetFileSecurityW (L"C:\\Program
Files\\Wizet\\MapleStory\\GameGuard\\npggNT.des") : returns fake SECURITY_DESCRIPTOR
fixme:advapi:SetEntriesInAclA 1 0x7fc6ef88 (nil) 0x7fc6ef64
fixme:advapi:SetFileSecurityW (L"C:\\Program
Files\\Wizet\\MapleStory\\GameGuard\\npggNT.des") : stub
fixme:module:NtLoadDriver (0x7fc6ef74), stub!
fixme:ntdll:NtQuerySecurityObject
(0xa0,0x00000004,0x484628,0x000003b8,0x7fc6ef54) stub!
fixme:seh:UnhandledExceptionFilter Unhandled error on debug event: c0000008
fixme:ntdll:NtQuerySecurityObject
(0xa0,0x00000004,0x484628,0x000003b8,0x7fc6f064) stub!
fixme:seh:UnhandledExceptionFilter Unhandled error on debug event: c0000008
fixme:ntdll:NtQuerySecurityObject
(0xa8,0x00000004,0x484628,0x000003b8,0x7fc6f33c) stub!
fixme:seh:UnhandledExceptionFilter Unhandled error on debug event: c0000008
fixme:ntdll:NtQuerySecurityObject
(0xb8,0x00000004,0x484628,0x000003b8,0x7fc6f33c) stub!
fixme:seh:UnhandledExceptionFilter Unhandled error on debug event: c0000008
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.