changeset 300:acf6957f2344

OLE fixes, thanks to Enzo Petrelli.
author Frank Benoit <benoit@tionex.de>
date Thu, 28 Aug 2008 15:12:24 +0200
parents 4faf63f6948f
children 244e3774d515
files dwt/ole/win32/OleClientSite.d dwt/ole/win32/OleFrame.d dwt/ole/win32/Variant.d
diffstat 3 files changed, 41 insertions(+), 41 deletions(-) [+]
line wrap: on
line diff
--- a/dwt/ole/win32/OleClientSite.d	Sun Aug 24 20:57:52 2008 +0200
+++ b/dwt/ole/win32/OleClientSite.d	Thu Aug 28 15:12:24 2008 +0200
@@ -1097,7 +1097,7 @@
     LPVOID pv = COM.CoTaskMemAlloc(4);
     uint size;
     auto rc = tempContents.Read(pv, 4, null);
-    OS.MoveMemory(size, pv, 4);
+    OS.MoveMemory(&size, pv, 4);
     COM.CoTaskMemFree(pv);
     if (rc is COM.S_OK && size > 0) {
 
--- a/dwt/ole/win32/OleFrame.d	Sun Aug 24 20:57:52 2008 +0200
+++ b/dwt/ole/win32/OleFrame.d	Thu Aug 28 15:12:24 2008 +0200
@@ -504,7 +504,7 @@
     }
 
     // copy the menu item count information to the pointer
-    COM.MoveMemory(lpMenuWidths + 8, &containerMenuCount, 4);
+    COM.MoveMemory((cast(void*)lpMenuWidths) + 8, &containerMenuCount, 4);
 
     // Loop over all "Window-like" menus in the menubar and get information about the
     // item from the OS.
@@ -529,7 +529,7 @@
     }
 
     // copy the menu item count information to the pointer
-    COM.MoveMemory(lpMenuWidths + 16, &windowMenuCount, 4);
+    COM.MoveMemory((cast(void*)lpMenuWidths) + 16, &windowMenuCount, 4);
 
     // free resources used in querying the OS
     if (pszText !is null)
--- a/dwt/ole/win32/Variant.d	Sun Aug 24 20:57:52 2008 +0200
+++ b/dwt/ole/win32/Variant.d	Thu Aug 28 15:12:24 2008 +0200
@@ -483,66 +483,66 @@
     // set type
     pData.vt = type;
     if ((type & COM.VT_BYREF) is COM.VT_BYREF) {
-        COM.MoveMemory(pData, &type, 2);
-        COM.MoveMemory(pData + 8, &byRefPtr, 4);
+        COM.MoveMemory((cast(void*)pData), &type, 2);
+        COM.MoveMemory((cast(void*)pData) + 8, &byRefPtr, 4);
         return;
     }
 
     switch (type) {
         case COM.VT_EMPTY :
         case COM.VT_NULL :
-            COM.MoveMemory(pData, &type, 2);
+            COM.MoveMemory((cast(void*)pData), &type, 2);
             break;
         case COM.VT_BOOL :
-            COM.MoveMemory(pData, &type, 2);
+            COM.MoveMemory((cast(void*)pData), &type, 2);
             auto v = booleanData ? COM.VARIANT_TRUE : COM.VARIANT_FALSE;
-            COM.MoveMemory(pData + 8, &v, 2);
+            COM.MoveMemory((cast(void*)pData) + 8, &v, 2);
             break;
         case COM.VT_I1 :
-            COM.MoveMemory(pData, &type, 2);
-            COM.MoveMemory(pData + 8, &byteData, 1);
+            COM.MoveMemory((cast(void*)pData), &type, 2);
+            COM.MoveMemory((cast(void*)pData) + 8, &byteData, 1);
             break;
         case COM.VT_I2 :
-            COM.MoveMemory(pData, &type, 2);
-            COM.MoveMemory(pData + 8, &shortData, 2);
+            COM.MoveMemory((cast(void*)pData), &type, 2);
+            COM.MoveMemory((cast(void*)pData) + 8, &shortData, 2);
             break;
         case COM.VT_UI2 :
-            COM.MoveMemory(pData, &type, 2);
-            COM.MoveMemory(pData + 8, &charData, 2);
+            COM.MoveMemory((cast(void*)pData), &type, 2);
+            COM.MoveMemory((cast(void*)pData) + 8, &charData, 2);
             break;
         case COM.VT_I4 :
-            COM.MoveMemory(pData, &type, 2);
-            COM.MoveMemory(pData + 8, &intData, 4);
+            COM.MoveMemory((cast(void*)pData), &type, 2);
+            COM.MoveMemory((cast(void*)pData) + 8, &intData, 4);
             break;
         case COM.VT_I8 :
-            COM.MoveMemory(pData, &type, 2);
-            COM.MoveMemory(pData + 8, &longData, 8);
+            COM.MoveMemory((cast(void*)pData), &type, 2);
+            COM.MoveMemory((cast(void*)pData) + 8, &longData, 8);
             break;
         case COM.VT_R4 :
-            COM.MoveMemory(pData, &type, 2);
-            COM.MoveMemory(pData + 8, &floatData, 4);
+            COM.MoveMemory((cast(void*)pData), &type, 2);
+            COM.MoveMemory((cast(void*)pData) + 8, &floatData, 4);
             break;
         case COM.VT_R8 :
-            COM.MoveMemory(pData, &type, 2);
-            COM.MoveMemory(pData + 8, &doubleData, 8);
+            COM.MoveMemory((cast(void*)pData), &type, 2);
+            COM.MoveMemory((cast(void*)pData) + 8, &doubleData, 8);
             break;
         case COM.VT_DISPATCH :
             dispatchData.AddRef();
-            COM.MoveMemory(pData, &type, 2);
+            COM.MoveMemory((cast(void*)pData), &type, 2);
             auto v = cast(void*)dispatchData;
-            COM.MoveMemory(pData + 8, &v, 4);
+            COM.MoveMemory((cast(void*)pData) + 8, &v, 4);
             break;
         case COM.VT_UNKNOWN :
             unknownData.AddRef();
-            COM.MoveMemory(pData, &type, 2);
+            COM.MoveMemory((cast(void*)pData), &type, 2);
             auto v = cast(void*)dispatchData;
-            COM.MoveMemory(pData + 8, &v, 4);
+            COM.MoveMemory((cast(void*)pData) + 8, &v, 4);
             break;
         case COM.VT_BSTR :
-            COM.MoveMemory(pData, &type, 2);
+            COM.MoveMemory((cast(void*)pData), &type, 2);
             wchar[] data = StrToWCHARs(stringData);
             auto ptr = COM.SysAllocString(data.ptr);
-            COM.MoveMemory(pData + 8, &ptr, 4);
+            COM.MoveMemory((cast(void*)pData) + 8, &ptr, 4);
             break;
 
         default :
@@ -896,12 +896,12 @@
     if (pData is null) OLE.error(OLE.ERROR_INVALID_ARGUMENT);
 
     short[1] dataType ;
-    COM.MoveMemory(dataType.ptr, pData, 2);
+    COM.MoveMemory(dataType.ptr, (cast(void*)pData), 2);
     type = dataType[0];
 
     if ((type & COM.VT_BYREF) is COM.VT_BYREF) {
         void*[1] newByRefPtr;
-        OS.MoveMemory(newByRefPtr.ptr, pData + 8, 4);
+        OS.MoveMemory(newByRefPtr.ptr, (cast(void*)pData) + 8, 4);
         byRefPtr = newByRefPtr[0];
         return;
     }
@@ -912,47 +912,47 @@
             break;
         case COM.VT_BOOL :
             short[1] newBooleanData;
-            COM.MoveMemory(newBooleanData.ptr, pData + 8, 2);
+            COM.MoveMemory(newBooleanData.ptr, (cast(void*)pData) + 8, 2);
             booleanData = (newBooleanData[0] !is COM.VARIANT_FALSE);
             break;
         case COM.VT_I1 :
             byte[1] newByteData;
-            COM.MoveMemory(newByteData.ptr, pData + 8, 1);
+            COM.MoveMemory(newByteData.ptr, (cast(void*)pData) + 8, 1);
             byteData = newByteData[0];
             break;
         case COM.VT_I2 :
             short[1] newShortData;
-            COM.MoveMemory(newShortData.ptr, pData + 8, 2);
+            COM.MoveMemory(newShortData.ptr, (cast(void*)pData) + 8, 2);
             shortData = newShortData[0];
             break;
         case COM.VT_UI2 :
             wchar[1] newCharData;
-            COM.MoveMemory(newCharData.ptr, pData + 8, 2);
+            COM.MoveMemory(newCharData.ptr, (cast(void*)pData) + 8, 2);
             charData = newCharData[0];
             break;
         case COM.VT_I4 :
             int[1] newIntData;
-            OS.MoveMemory(newIntData.ptr, pData + 8, 4);
+            OS.MoveMemory(newIntData.ptr, (cast(void*)pData) + 8, 4);
             intData = newIntData[0];
             break;
         case COM.VT_I8 :
             long[1] newLongData;
-            OS.MoveMemory(newLongData.ptr, pData + 8, 8);
+            OS.MoveMemory(newLongData.ptr, (cast(void*)pData) + 8, 8);
             longData = newLongData[0];
             break;
         case COM.VT_R4 :
             float[1] newFloatData;
-            COM.MoveMemory(newFloatData.ptr, pData + 8, 4);
+            COM.MoveMemory(newFloatData.ptr, (cast(void*)pData) + 8, 4);
             floatData = newFloatData[0];
             break;
         case COM.VT_R8 :
             double[1] newDoubleData;
-            COM.MoveMemory(newDoubleData.ptr, pData + 8, 8);
+            COM.MoveMemory(newDoubleData.ptr, (cast(void*)pData) + 8, 8);
             doubleData = newDoubleData[0];
             break;
         case COM.VT_DISPATCH : {
             IDispatch[1] ppvObject;
-            OS.MoveMemory(ppvObject.ptr, pData + 8, 4);
+            OS.MoveMemory(ppvObject.ptr, (cast(void*)pData) + 8, 4);
             if (ppvObject[0] is null) {
                 type = COM.VT_EMPTY;
                 break;
@@ -963,7 +963,7 @@
         }
         case COM.VT_UNKNOWN : {
             IUnknown[1] ppvObject;
-            OS.MoveMemory(ppvObject.ptr, pData + 8, 4);
+            OS.MoveMemory(ppvObject.ptr, (cast(void*)pData) + 8, 4);
             if (ppvObject[0] is null) {
                 type = COM.VT_EMPTY;
                 break;
@@ -975,7 +975,7 @@
         case COM.VT_BSTR :
             // get the address of the memory in which the string resides
             wchar*[1] hMem;
-            OS.MoveMemory(hMem.ptr, pData + 8, 4);
+            OS.MoveMemory(hMem.ptr, (cast(void*)pData) + 8, 4);
             if (hMem[0] is null) {
                 type = COM.VT_EMPTY;
                 break;