Dmitry Timoshkov : ole32: Add support for VT_INT/ VT_UINT to PropVariantClear and PropVariantCopy.

Alexandre Julliard julliard at winehq.org
Wed Apr 16 12:11:38 CDT 2014


Module: wine
Branch: master
Commit: 3cb0c8133680c7e602802d2f34d722defb89ca9f
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=3cb0c8133680c7e602802d2f34d722defb89ca9f

Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date:   Wed Apr 16 17:09:26 2014 +0900

ole32: Add support for VT_INT/VT_UINT to PropVariantClear and PropVariantCopy.

---

 dlls/ole32/ole2.c              |   10 ++++++++++
 dlls/ole32/tests/propvariant.c |    4 ++--
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/dlls/ole32/ole2.c b/dlls/ole32/ole2.c
index 67a17f8..407ae38 100644
--- a/dlls/ole32/ole2.c
+++ b/dlls/ole32/ole2.c
@@ -2863,6 +2863,8 @@ static inline HRESULT PROPVARIANT_ValidateType(VARTYPE vt)
     case VT_UI2:
     case VT_UI4:
     case VT_UI8:
+    case VT_INT:
+    case VT_UINT:
     case VT_LPSTR:
     case VT_LPWSTR:
     case VT_FILETIME:
@@ -2890,6 +2892,8 @@ static inline HRESULT PROPVARIANT_ValidateType(VARTYPE vt)
     case VT_UI2|VT_VECTOR:
     case VT_UI4|VT_VECTOR:
     case VT_UI8|VT_VECTOR:
+    case VT_INT|VT_VECTOR:
+    case VT_UINT|VT_VECTOR:
     case VT_LPSTR|VT_VECTOR:
     case VT_LPWSTR|VT_VECTOR:
     case VT_FILETIME|VT_VECTOR:
@@ -2936,6 +2940,8 @@ HRESULT WINAPI PropVariantClear(PROPVARIANT * pvar) /* [in/out] */
     case VT_UI2:
     case VT_UI4:
     case VT_UI8:
+    case VT_INT:
+    case VT_UINT:
     case VT_FILETIME:
         break;
     case VT_STREAM:
@@ -3042,6 +3048,8 @@ HRESULT WINAPI PropVariantCopy(PROPVARIANT *pvarDest,      /* [out] */
     case VT_ERROR:
     case VT_I8:
     case VT_UI8:
+    case VT_INT:
+    case VT_UINT:
     case VT_R8:
     case VT_CY:
     case VT_DATE:
@@ -3110,6 +3118,8 @@ HRESULT WINAPI PropVariantCopy(PROPVARIANT *pvarDest,      /* [out] */
             case VT_ERROR:    elemSize = sizeof(pvarSrc->u.scode); break;
             case VT_I8:       elemSize = sizeof(pvarSrc->u.hVal); break;
             case VT_UI8:      elemSize = sizeof(pvarSrc->u.uhVal); break;
+            case VT_INT:      elemSize = sizeof(pvarSrc->u.lVal); break;
+            case VT_UINT:     elemSize = sizeof(pvarSrc->u.ulVal); break;
             case VT_CY:       elemSize = sizeof(pvarSrc->u.cyVal); break;
             case VT_DATE:     elemSize = sizeof(pvarSrc->u.date); break;
             case VT_FILETIME: elemSize = sizeof(pvarSrc->u.filetime); break;
diff --git a/dlls/ole32/tests/propvariant.c b/dlls/ole32/tests/propvariant.c
index 8a6def1..9e0f66b 100644
--- a/dlls/ole32/tests/propvariant.c
+++ b/dlls/ole32/tests/propvariant.c
@@ -64,8 +64,8 @@ static const struct valid_mapping
     { PROP_V0 , PROP_V1 | PROP_TODO , PROP_V0 , PROP_V1 | PROP_TODO  }, /* VT_UI4 */
     { PROP_V0 , PROP_V1A | PROP_TODO, PROP_V0 , PROP_V1A | PROP_TODO }, /* VT_I8 */
     { PROP_V0 , PROP_V1A | PROP_TODO, PROP_V0 , PROP_V1A | PROP_TODO }, /* VT_UI8 */
-    { PROP_V1 | PROP_TODO , PROP_V1 | PROP_TODO , PROP_INV, PROP_V1 | PROP_TODO  }, /* VT_INT */
-    { PROP_V1 | PROP_TODO , PROP_V1 | PROP_TODO , PROP_INV, PROP_V1 | PROP_TODO  }, /* VT_UINT */
+    { PROP_V1 , PROP_V1 | PROP_TODO , PROP_V1 , PROP_V1 | PROP_TODO  }, /* VT_INT */
+    { PROP_V1 , PROP_V1 | PROP_TODO , PROP_V1 , PROP_V1 | PROP_TODO  }, /* VT_UINT */
     { PROP_INV, PROP_INV, PROP_INV, PROP_INV }, /* VT_VOID */
     { PROP_INV, PROP_INV, PROP_INV, PROP_INV }, /* VT_HRESULT */
     { PROP_INV, PROP_INV, PROP_INV, PROP_INV }, /* VT_PTR */




More information about the wine-cvs mailing list