[Bug 35778] New: Samsung Magician v4.0 fails to install (widl emits incorrect var type for IDispatch* defaultvalue)

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Mar 12 08:18:08 CDT 2014


https://bugs.winehq.org/show_bug.cgi?id=35778

            Bug ID: 35778
           Summary: Samsung Magician v4.0 fails to install (widl emits
                    incorrect var type for IDispatch* defaultvalue)
           Product: Wine
           Version: 1.7.14
          Hardware: x86
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: tools
          Assignee: wine-bugs at winehq.org
          Reporter: focht at gmx.net

Hello folks,

I split this off from bug 35390 because this looks like widl issue.

https://bugs.winehq.org/show_bug.cgi?id=35390#c7

--- quote ---
So next thing to check is vartype of default value for this parameter in native
typelib. If it's VT_DISPATCH|VT_BYREF, unlikely I think cause only NULL value
makes sense as a default, then widl is to blame, if it's stored at VT_PTR type
we need ITypeInfo code to deal with that. It's also possible that both parts
are broken.
--- quote ---

I downloaded native wbemdisp and registered it (regsvr32)

http://www.dlldump.com/download-dll-files_new.php/dllfiles/W/wbemdisp.dll/5.1.2600.2180/download.html

http://filemare.com/browse/62.99.77.70/WBEMDISP.TLB

With that part the installer goes further (succeeds) and trace log reveals the
defaultvalue type for IDispatch* is VT_DISPATCH (Wine's widl generates VT_PTR)

--- snip ---
$ WINEDEBUG=+tid,+seh,+tlb,+wbemprox,+wbemdisp,+ole,+variant wine
./Samsung_Magician_Setup_v4.0.exe >>log.txt 2>&1
...
002c:trace:ole:ITypeInfo_fnInvoke changing args
002c:trace:ole:dump_Variant 0x681db8->{VT_BSTR,(null)}
002c:trace:ole:dump_Variant 0x681da8->{VT_BSTR,L"root\\CIMV2"}
002c:trace:ole:dump_Variant 0x681d98->{VT_BSTR,(null)}
002c:trace:ole:dump_Variant 0x681d88->{VT_BSTR,(null)}
002c:trace:variant:VariantCopy (0x1684c8->(VT_EMPTY),0x15dce0->(VT_BSTR))
002c:trace:variant:VariantClear (0x1684c8->(VT_EMPTY))
002c:trace:variant:VariantCopy (0x1684d8->(VT_EMPTY),0x15dcf8->(VT_BSTR))
002c:trace:variant:VariantClear (0x1684d8->(VT_EMPTY))
002c:trace:variant:VariantCopy (0x1684e8->(VT_EMPTY),0x15dd10->(VT_I4))
002c:trace:variant:VariantClear (0x1684e8->(VT_EMPTY))
002c:trace:variant:VariantCopy (0x1684f8->(VT_EMPTY),0x15dd28->(VT_DISPATCH))
002c:trace:variant:VariantClear (0x1684f8->(VT_EMPTY))
002c:trace:ole:DispCallFunc (0x13f358, 28, 4, 10, 9, 0x1685cc, 0x1685a8,
0x33f610 (vt=10))
002c:trace:ole:DispCallFunc arg 0: type 8
002c:trace:ole:dump_Variant 0x681db8->{VT_BSTR,(null)}
002c:trace:ole:DispCallFunc arg 1: type 8
002c:trace:ole:dump_Variant 0x681da8->{VT_BSTR,L"root\\CIMV2"}
002c:trace:ole:DispCallFunc arg 2: type 8
002c:trace:ole:dump_Variant 0x681d98->{VT_BSTR,(null)}
002c:trace:ole:DispCallFunc arg 3: type 8
002c:trace:ole:dump_Variant 0x681d88->{VT_BSTR,(null)}
002c:trace:ole:DispCallFunc arg 4: type 8
002c:trace:ole:dump_Variant 0x1684c8->{VT_BSTR,L""}
002c:trace:ole:DispCallFunc arg 5: type 8
002c:trace:ole:dump_Variant 0x1684d8->{VT_BSTR,L""}
002c:trace:ole:DispCallFunc arg 6: type 3
002c:trace:ole:dump_Variant 0x1684e8->{VT_I4,0}
002c:trace:ole:DispCallFunc arg 7: type 9
002c:trace:ole:dump_Variant 0x1684f8->{VT_DISPATCH,(nil)}
002c:trace:ole:DispCallFunc arg 8: type 16393
002c:trace:ole:dump_Variant 0x168508->{VT_DISPATCH|VT_BYREF,0x33f600}
--- snip ---

Regards

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list