[PATCH] ole32/propstorage: Handle VT_I8/VT_UI8 when serializing properties.

Nikolay Sivov nsivov at codeweavers.com
Thu Nov 12 15:07:05 CST 2020


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---

Reported as https://bugs.winehq.org/show_bug.cgi?id=50126.

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

diff --git a/dlls/ole32/stg_prop.c b/dlls/ole32/stg_prop.c
index adf4c2f3370..27794c739ee 100644
--- a/dlls/ole32/stg_prop.c
+++ b/dlls/ole32/stg_prop.c
@@ -2103,6 +2103,7 @@ static HRESULT PropertyStorage_WritePropertyToStream(PropertyStorage_impl *This,
     HRESULT hr;
     LARGE_INTEGER seek;
     PROPERTYIDOFFSET propIdOffset;
+    ULARGE_INTEGER ularge;
     ULONG count;
 
     assert(var);
@@ -2161,6 +2162,13 @@ static HRESULT PropertyStorage_WritePropertyToStream(PropertyStorage_impl *This,
         bytesWritten = count;
         break;
     }
+    case VT_I8:
+    case VT_UI8:
+    {
+        StorageUtl_WriteULargeInteger(&ularge, 0, &var->u.uhVal);
+        hr = IStream_Write(This->stm, &ularge, sizeof(ularge), &bytesWritten);
+        break;
+    }
     case VT_LPSTR:
     {
         if (This->codePage == CP_UNICODE)
-- 
2.28.0




More information about the wine-devel mailing list