https://bugs.winehq.org/show_bug.cgi?id=36210
Bug ID: 36210 Summary: Sybase PowerDesigner 16.5 'pdshell16.exe' (.NET 4.x WPF app) wants oleacc.CreateStdAccessibleObject Product: Wine Version: 1.7.17 Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net
Hello folks,
it's unclear if the missing implementation (stub) is really harmful to the app (there are various Wine bugs exposed in the app).
When a main menu item (popup) is navigated for the first time, the terminal gets:
--- snip --- fixme:oleacc:CreateStdAccessibleObject 0x44021a -4 {618736e0-3c3d-11cf-810c-00aa00389b71} 0x33d6f4 --- snip ---
Since I've seen that Piotr Caban is working on 'oleacc' component right now (probably motivated by MS Office/Adobe ui automation bugs?), it might be useful to track this too.
Debugger:
--- snip --- Stopped on breakpoint 1 at 0x7d76fe08 CreateStdAccessibleObject [/home/focht/projects/wine/wine.repo/src/dlls/oleacc/main.c:41] in oleacc CreateStdAccessibleObject () at /home/focht/projects/wine/wine.repo/src/dlls/oleacc/main.c:41 41 { Wine-dbg>bt Backtrace: =>0 0x7d76fe08 CreateStdAccessibleObject(hwnd=0x1021c, idObject=0xfffffffc, riidInterface=0x53833df8, ppvObject=0x33d6f4) [/home/focht/projects/wine/wine.repo/src/dlls/oleacc/main.c:41] in oleacc (0x0033d700) 1 0x5384d53a in uiautomationcore (+0x1d539) (0x0033d71c) 2 0x5384db45 in uiautomationcore (+0x1db44) (0x0033d754) 3 0x5383777c in uiautomationcore (+0x777b) (0x0033d76c) 4 0x0f51af8c (0x0033d7e4) 5 0x0f51ae80 (0x0033d7f8) ... Wine-dbg>info locals 0x7d76fe08 CreateStdAccessibleObject: (0033d700) HWND hwnd=0x1021c (parameter [ESP+4]) LONG idObject=0xfffffffc (parameter [ESP+8]) IID* riidInterface=0x53833df8 (parameter [ESP+12]) void** ppvObject=0x33d6f4 (parameter [ESP+16]) Wine-dbg>p *riidInterface {Data1=0x618736e0, Data2=0x3c3d, Data3=0x11cf, Data4="????"} --- snip ---
Source: http://source.winehq.org/git/wine.git/blob/817222558d3e3dd09aba1f348f24eda22...
--- snip --- 39 HRESULT WINAPI CreateStdAccessibleObject( HWND hwnd, LONG idObject, 40 REFIID riidInterface, void** ppvObject ) 41 { 42 FIXME("%p %d %s %p\n", hwnd, idObject, 43 debugstr_guid( riidInterface ), ppvObject ); 44 return E_NOTIMPL; 45 } --- snip ---
$ sha1sum PowerDesigner165_DMR.exe c74e4cfd99500d9e3e32713b302ea35bc3f911fb PowerDesigner165_DMR.exe
$ du -sh PowerDesigner165_DMR.exe 810M PowerDesigner165_DMR.exe
$ wine --version wine-1.7.17-148-g2e5cb7a
Regards
https://bugs.winehq.org/show_bug.cgi?id=36210
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |dotnet, download URL| |http://download.sybase.com/ | |eval/PowerDesigner/PowerDes | |igner165_DMR.exe
https://bugs.winehq.org/show_bug.cgi?id=36210
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |da8005c75ecabac85731dd2dd47 | |e80dcf99ed189 Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #1 from Anastasius Focht focht@gmx.net --- Hello folks,
it returns an IAccessible interface pointer for the provider HWND now.
http://source.winehq.org/git/wine.git/commitdiff/da8005c75ecabac85731dd2dd47...
Thanks Piotr
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/Sybase/PowerDesigner 16
$ WINEDEBUG=+tid,+seh,+relay,+ole,+variant,+oleacc wine ./PdShell16.exe
log2.txt 2>&1
... 002a:Call user32.CreateWindowExW(08080088,0170b070 L"HwndWrapper[PdShell16.exe;;308329a8-dfea-432c-b4ac-b1c569f59627]",00d11608 L"",86000000,00000000,00000000,00000001,00000001,0002007a,00000000,00000000,00000000) ret=04a0f922 ... 002a:Call oleacc.CreateStdAccessibleObject(0003023c,fffffffc,53833df8,0033dbfc) ret=5384ceb3 002a:trace:oleacc:CreateStdAccessibleObject 0x3023c -4 {618736e0-3c3d-11cf-810c-00aa00389b71} 0x33dbfc 002a:Call user32.GetClassNameW(0003023c,0033dad8,00000040) ret=7d888d36 002a:Ret user32.GetClassNameW() retval=0000003f ret=7d888d36 002a:fixme:oleacc:CreateStdAccessibleObject unhandled window class: L"HwndWrapper[PdShell16.exe;;308329a8-dfea-432c-b4ac-b1c569f59627" 002a:Call user32.IsWindow(0003023c) ret=7d888832 002a:Ret user32.IsWindow() retval=00000001 ret=7d888832 002a:Call ntdll.RtlAllocateHeap(00110000,00000008,0000000c) ret=7d886e9c 002a:Ret ntdll.RtlAllocateHeap() retval=0697dc68 ret=7d886e9c 002a:trace:oleacc:Client_QueryInterface (0x697dc68)->({618736e0-3c3d-11cf-810c-00aa00389b71} 0x33dbfc) 002a:trace:oleacc:Client_AddRef (0x697dc68) ref = 2 002a:trace:oleacc:Client_Release (0x697dc68) ref = 1 002a:Ret oleacc.CreateStdAccessibleObject() retval=00000000 ret=5384ceb3 ... --- snip ---
Though fails in the end ...
--- snip --- ... 002a:trace:oleacc:Client_AddRef (0x697dc68) ref = 2 002a:trace:oleacc:Client_Release (0x697dc68) ref = 1 002a:Call oleacc.LresultFromObject(53833df8,00000000,073b1220) ret=5384db7a 002a:trace:oleacc:LresultFromObject {618736e0-3c3d-11cf-810c-00aa00389b71} 0 0x73b1220 002a:Call ole32.CreateStreamOnHGlobal(00000000,00000001,0033dadc) ret=7d889327 ... 002a:Ret ole32.CreateStreamOnHGlobal() retval=00000000 ret=7d889327 002a:Call ole32.CoMarshalInterface(00197a38,53833df8,073b1220,00000000,00000000,00000000) ret=7d88936e 002a:trace:ole:CoMarshalInterface (0x197a38, {618736e0-3c3d-11cf-810c-00aa00389b71}, 0x73b1220, 0, (nil), MSHLFLAGS_NORMAL) 002a:trace:ole:CoGetStandardMarshal ({618736e0-3c3d-11cf-810c-00aa00389b71},0x73b1220,0,(nil),0,0x33d894) 002a:Call ntdll.RtlAllocateHeap(00110000,00000000,00000010) ret=7e8f964a 002a:Ret ntdll.RtlAllocateHeap() retval=06986170 ret=7e8f964a 002a:trace:ole:CoMarshalInterface Using standard marshaling ... 002a:trace:ole:CoMarshalInterface Calling IMarshal::MarshalInterace 002a:trace:ole:StdMarshalImpl_MarshalInterface (...,{618736e0-3c3d-11cf-810c-00aa00389b71},...) 002a:Call KERNEL32.InterlockedIncrement(073b121c) ret=5384d31b 002a:Ret KERNEL32.InterlockedIncrement() retval=00000002 ret=5384d31b 002a:trace:ole:CoGetPSClsid () riid={618736e0-3c3d-11cf-810c-00aa00389b71}, pclsid=0x33d6fc 002a:Call KERNEL32.FindActCtxSectionGuid(00000000,00000000,00000005,53833df8,0033d558) ret=7e8d1676 002a:Ret KERNEL32.FindActCtxSectionGuid() retval=00000000 ret=7e8d1676 002a:Call ntdll.RtlInitUnicodeString(0033d500,0033d5f0 L"Interface\{618736E0-3C3D-11CF-810C-00AA00389B71}\ProxyStubClsid32") ret=7e8cc54f 002a:Ret ntdll.RtlInitUnicodeString() retval=0033d500 ret=7e8cc54f 002a:Call ntdll.NtOpenKey(0033d598,00020019,0033d508) ret=7e8cc56b 002a:Ret ntdll.NtOpenKey() retval=c0000034 ret=7e8cc56b 002a:Call ntdll.RtlNtStatusToDosError(c0000034) ret=7e8cc576 002a:Ret ntdll.RtlNtStatusToDosError() retval=00000002 ret=7e8cc576 002a:warn:ole:CoGetPSClsid No PSFactoryBuffer object is registered for IID {618736e0-3c3d-11cf-810c-00aa00389b71} 002a:err:ole:marshal_object couldn't get IPSFactory buffer for interface {618736e0-3c3d-11cf-810c-00aa00389b71} 002a:Call KERNEL32.InterlockedDecrement(073b121c) ret=53839577 002a:Ret KERNEL32.InterlockedDecrement() retval=00000001 ret=53839577 002a:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hres=0x80040155 002a:err:ole:CoMarshalInterface Failed to marshal the interface {618736e0-3c3d-11cf-810c-00aa00389b71}, 80040155 ... 002a:trace:ole:CoMarshalInterface completed with hr 0x80040155 002a:Ret ole32.CoMarshalInterface() retval=80040155 ret=7d88936e ... 002a:Ret oleacc.LresultFromObject() retval=80040155 ret=5384db7a --- snip ---
Regards
https://bugs.winehq.org/show_bug.cgi?id=36210
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #2 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.7.18.
https://bugs.winehq.org/show_bug.cgi?id=36210
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |oleacc
https://bugs.winehq.org/show_bug.cgi?id=36210
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://download.sybase.com/ |https://archive.org/downloa |eval/PowerDesigner/PowerDes |d/PowerDesigner165DMR/Power |igner165_DMR.exe |Designer165_DMR.exe