Fix type mismatch in previous version
authorStefan Vogel <sv@exept.de>
Wed, 12 Oct 2016 12:38:47 +0200
changeset 7613 604b12dca154
parent 7612 802b981ecd8a
child 7614 3c353f6799d5
Fix type mismatch in previous version
WinWorkstation.st
--- a/WinWorkstation.st	Tue Oct 11 20:32:10 2016 +0200
+++ b/WinWorkstation.st	Wed Oct 12 12:38:47 2016 +0200
@@ -4939,8 +4939,8 @@
 EnumFPTypeFaceProc(
     LOGFONTTYPE *lplf,   /* ptr to of logical-font data */
     TEXTMETRIC  *lptm,   /* ptr to physical font data */
-    DWORD dwType,        /* font type */
-    void *lpData         /* application supplied data */
+    DWORD dwType,              /* font type */
+    LPARAM lpData              /* application supplied data */
 ) {
 	OBJ t;
 	volatile OBJ *refToList;
@@ -4948,7 +4948,7 @@
 	char *faceNameString;
 
 	if (lplf) {
-	    refToList = (OBJ*) lpData;
+	    refToList = (OBJ *) lpData;
 	    __PROTECT__(*refToList);
 
 #ifdef USE_EnumFontFamiliesEx
@@ -5205,7 +5205,7 @@
     LOGFONTTYPE *lplf,   // ptr to of logical-font data
     TEXTMETRIC *lptm,    // ptr to physical font data
     DWORD dwType,        // font type
-    void *lpData         // application supplied data
+    LPARAM *lpData       // application supplied data
 ) {
 	volatile OBJ *refToList;
 	OBJ list;
@@ -5246,17 +5246,17 @@
 };
 
 static int CALLBACK
-EnumDisplayMonitorsProc(HMONITOR hMonitor, HDC hdcMonitor, LPRECT lprcMonitor, struct EnumDisplayMonitorsProcData *lpData)
+EnumDisplayMonitorsProc(HMONITOR hMonitor, HDC hdcMonitor, LPRECT lprcMonitor, LPARAM lpData)
 {
+    struct EnumDisplayMonitorsProcData *procData = (struct EnumDisplayMonitorsProcData *)lpData;
     OBJ mHandle;
 
-    __PROTECT__(lpData->hArray);
+    __PROTECT__(procData->hArray);
     mHandle = __MKEXTERNALADDRESS(hMonitor);
-    __UNPROTECT__(lpData->hArray);
-
-    __ArrayInstPtr(lpData->hArray)->a_element[lpData->index] = mHandle;
-    __STORE(lpData->hArray, mHandle);
-    lpData->index++;
+    __UNPROTECT__(procData->hArray);
+
+    __arrayVal(procData->hArray)[procData->index++] = mHandle;
+    __STORE(procData->hArray, mHandle);
     return (1);
 }
 
@@ -13554,9 +13554,9 @@
 %{
     if (__tmpDC) {
 #ifdef USE_EnumFontFamiliesEx
-	EnumFontFamiliesEx( __tmpDC, NULL, EnumFPTypeFaceProc, (INT)&(typeFaceList));
-#else
-	EnumFontFamilies( __tmpDC, NULL, EnumFPTypeFaceProc, (INT)&(typeFaceList));
+	EnumFontFamiliesEx( __tmpDC, NULL, EnumFPTypeFaceProc, (INT)&typeFaceList);
+#else
+	EnumFontFamilies( __tmpDC, NULL, EnumFPTypeFaceProc, (INT)&typeFaceList);
 #endif
     }
 %}
@@ -15414,7 +15414,7 @@
 
     data.hArray = handleArray;
     data.index = 0;
-    EnumDisplayMonitors(NULL, NULL, EnumDisplayMonitorsProc, (INT)(&data));
+    EnumDisplayMonitors(NULL, NULL, EnumDisplayMonitorsProc, (INT)&data);
 %}.
     ^ handleArray
 
@@ -18121,7 +18121,6 @@
      does not return until the target's window procedure has processed the message."
 
     <apicall: bool "SendMessageA" (handle uint pointer pointer) module: "user32.dll" >
-    self primitiveFailed.
 !
 
 primSetForegroundWindow: aWindowId
@@ -19211,7 +19210,7 @@
 
 sizeInBytes
     ExternalAddress pointerSize == 8 ifTrue:[
-        ^ 24.
+	^ 24.
     ].
     ^ 12
 ! !
@@ -19257,16 +19256,16 @@
 
 lpData
     ExternalAddress pointerSize == 8 ifTrue:[
-        ^ self unsignedInt64At: 16 + 1.
+	^ self unsignedInt64At: 16 + 1.
     ].
     ^ self unsignedInt32At: 8 + 1.
 !
 
 lpData: lpData
     ExternalAddress pointerSize == 8 ifTrue:[
-        self unsignedInt64At: 16 + 1  put: lpData.
+	self unsignedInt64At: 16 + 1  put: lpData.
     ] ifFalse:[
-        self unsignedInt32At: 8 + 1  put: lpData.
+	self unsignedInt32At: 8 + 1  put: lpData.
     ].
 ! !