PATCH: OLE automation wants to coerce VT_DISPATCH into VT_PTR

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi. OLE automation calls sometimes want to coerce a VT_DISPATCH into a VT_PTR.

Cyberscience disclaims all copyright and responsibility... ;-)

Changelog:

        * dlls/oleaut32/variant.c: Adam Gundy <arg@cyberscience.com>
        Handle coercing VT_DISPATCH into VT_PTR.

diff -u -r wine-20030219/dlls/oleaut32/variant.c wine-20030219-new/dlls/oleaut32/variant.c
--- wine-20030219/dlls/oleaut32/variant.c       Tue Jan 28 00:23:19 2003
+++ wine-20030219-new/dlls/oleaut32/variant.c   Wed Mar  5 11:09:20 2003
@@ -1758,7 +1758,7 @@
            case VT_BSTR: case VT_ERROR: case VT_BOOL:
            case VT_VARIANT: case VT_DECIMAL: case VT_I1: case VT_UI1:
            case VT_UI2: case VT_UI4: case VT_I8: case VT_UI8: case VT_INT:
-           case VT_UINT: case VT_VOID: case VT_HRESULT: case VT_PTR:
+           case VT_UINT: case VT_VOID: case VT_HRESULT:
            case VT_SAFEARRAY: case VT_CARRAY: case VT_USERDEFINED:
            case VT_LPSTR: case VT_LPWSTR: case VT_RECORD: case VT_FILETIME:
            case VT_BLOB: case VT_STREAM: case VT_STORAGE:
@@ -1766,6 +1766,9 @@
            case VT_CF: case VT_CLSID:
                res = DISP_E_TYPEMISMATCH;
                break;
+           case VT_PTR:
+               V_UNION(pd,pdispVal) = V_UNION(ps,pdispVal);
+               break;
            default:
                FIXME("Coercion from %d to VT_DISPATCH unhandled.\n", vtFrom);
                res = DISP_E_BADVARTYPE;


Seeya,
 Adam
--
Real Programmers don't comment their code. If it was hard to write,
it should be hard to read, and even harder to modify.
These are all my own opinions.



[Index of Archives]     [Gimp for Windows]     [Red Hat]     [Samba]     [Yosemite Camping]     [Graphics Cards]     [Wine Home]

  Powered by Linux