=?UTF-8?Q?Michael=20M=C3=BCller=20?=: ole32: Support reading VT_BOOL, VT_R8 and VT_I8 into propery storage.

Alexandre Julliard julliard at winehq.org
Wed Jul 18 14:58:04 CDT 2018


Module: wine
Branch: master
Commit: b7f3e26e897838055644fa897e98dcb35a16b8fd
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=b7f3e26e897838055644fa897e98dcb35a16b8fd

Author: Michael Müller <michael at fds-team.de>
Date:   Mon Jul 16 20:18:15 2018 -0600

ole32: Support reading VT_BOOL, VT_R8 and VT_I8 into propery storage.

Signed-off-by: Alex Henrie <alexhenrie24 at gmail.com>
Signed-off-by: Huw Davies <huw at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/ole32/stg_prop.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/dlls/ole32/stg_prop.c b/dlls/ole32/stg_prop.c
index a259883..0213f31 100644
--- a/dlls/ole32/stg_prop.c
+++ b/dlls/ole32/stg_prop.c
@@ -1063,6 +1063,10 @@ static HRESULT PropertyStorage_ReadProperty(PROPVARIANT *prop, const BYTE *data,
         prop->u.bVal = *data;
         TRACE("Read byte 0x%x\n", prop->u.bVal);
         break;
+    case VT_BOOL:
+        StorageUtl_ReadWord(data, 0, (WORD*)&prop->u.boolVal);
+        TRACE("Read bool %d\n", prop->u.boolVal);
+        break;
     case VT_I2:
         StorageUtl_ReadWord(data, 0, (WORD*)&prop->u.iVal);
         TRACE("Read short %d\n", prop->u.iVal);
@@ -1081,6 +1085,18 @@ static HRESULT PropertyStorage_ReadProperty(PROPVARIANT *prop, const BYTE *data,
         StorageUtl_ReadDWord(data, 0, &prop->u.ulVal);
         TRACE("Read ulong %d\n", prop->u.ulVal);
         break;
+    case VT_I8:
+        StorageUtl_ReadULargeInteger(data, 0, (ULARGE_INTEGER *)&prop->u.hVal);
+        TRACE("Read long long %s\n", wine_dbgstr_longlong(prop->u.hVal.QuadPart));
+        break;
+    case VT_UI8:
+        StorageUtl_ReadULargeInteger(data, 0, &prop->u.uhVal);
+        TRACE("Read ulong long %s\n", wine_dbgstr_longlong(prop->u.uhVal.QuadPart));
+        break;
+    case VT_R8:
+        memcpy(&prop->u.dblVal, data, sizeof(double));
+        TRACE("Read double %f\n", prop->u.dblVal);
+        break;
     case VT_LPSTR:
     {
         DWORD count;




More information about the wine-cvs mailing list