Make sure that HWND comparisons are always done with full 32-bit
handles.

diff --git a/windows/winpos.c b/windows/winpos.c
index 843864a..05b2d69 100644
--- a/windows/winpos.c
+++ b/windows/winpos.c
@@ -636,7 +636,7 @@
 {
     POINT offset;
 
-    WINPOS_GetWinOffset( hwndFrom, hwndTo, &offset );
+    WINPOS_GetWinOffset( WIN_Handle32(hwndFrom), WIN_Handle32(hwndTo), &offset );
     while (count--)
     {
 	lppt->x += offset.x;
@@ -654,7 +654,7 @@
 {
     POINT offset;
 
-    WINPOS_GetWinOffset( hwndFrom, hwndTo, &offset );
+    WINPOS_GetWinOffset( WIN_GetFullHandle(hwndFrom), WIN_GetFullHandle(hwndTo), &offset );
     while (count--)
     {
 	lppt->x += offset.x;
@@ -1641,10 +1641,12 @@
         }
     }
 
+    pWnd = WIN_FindWndPtr( hwnd );
+    hwnd = pWnd->hwndSelf;
+
     if( hwnd == hwndPrevActive )
         hwndPrevActive = 0;
 
-    pWnd = WIN_FindWndPtr( hwnd );
     if( hwndActive != hwnd &&
         ( hwndActive || QUEUE_IsExitingQueue(pWnd->hmemTaskQ)) )
     {
@@ -1698,14 +1700,14 @@
     if (!hWnd)
         return WINPOS_SetActiveWindow( 0, mouseMsg, TRUE );
 
-    wndPtr = WIN_FindWndPtr(hWnd);
-    if( !wndPtr ) return FALSE;
+    if (!(wndPtr = WIN_FindWndPtr(hWnd))) return FALSE;
+    hWnd = wndPtr->hwndSelf;
 
     /* child windows get WM_CHILDACTIVATE message */
     if( (wndPtr->dwStyle & (WS_CHILD | WS_POPUP)) == WS_CHILD )
     {
-        retvalue = SendMessageA(hWnd, WM_CHILDACTIVATE, 0, 0L);
-        goto end;
+        WIN_ReleaseWndPtr(wndPtr);
+        return SendMessageA(hWnd, WM_CHILDACTIVATE, 0, 0L);
     }
 
     if( hWnd == hwndActive )
@@ -1907,15 +1909,13 @@
     /* HWND parent; */
     WND *pWnd;
 
-    pDWP = (DWP *) USER_HEAP_LIN_ADDR( hdwp );
-    if (!pDWP) return 0;
+    hwnd = WIN_GetFullHandle( hwnd );
     if (hwnd == GetDesktopWindow()) return 0;
 
-    if (!(pWnd=WIN_FindWndPtr( hwnd ))) {
-        USER_HEAP_FREE( hdwp );
-        return 0;
-    }
-    	
+    if (!(pDWP = USER_HEAP_LIN_ADDR( hdwp ))) return 0;
+
+    if (!(pWnd = WIN_FindWndPtr( hwnd ))) return 0;
+
 /* Numega Bounds Checker Demo dislikes the following code.
    In fact, I've not been able to find any "same parent" requirement in any docu
    [AM 980509]