Release 970120

Sun Jan 19 11:46:48 1997  Alexandre Julliard  <julliard@lrc.epfl.ch>

	* [loader/module.c]
	Fixed LoadModule() to always call the DLL initialization code.

	* [windows/event.c]
	Moved all the keyboard stuff to windows/keyboard.c

	* [tools/build.c]
	Fixed Win32 register functions.

Sat Jan 18 22:24:41 1997  David Makepeace  <D.Makepeace@mailbox.uq.oz.au>

        * [tools/makedep.c]
        Fixed bug which causes SEGV on Solaris x86.

Fri Jan 17 18:32:27 1997  Frans van Dorsselaer <dorssel@rulhmpc49.LeidenUniv.nl>

	* [controls/edit.c]
	Implemented WM_UNDO, WM_CONTEXTMENU (temporary using WM_RBUTTONUP),
	WM_COMMAND, WM_INITPOPUPMENU, WM_SYSKEYDOWN.
	Fixed EM_SETSEL and some minor bugs (features).
	Hence: fully functional undo and a win95 menu with the right mouse
		button.

	* [include/resources.h] [resources/TODO] [resources/sysres_??.rc]
	Added a context menu for the edit control.
	Translations, please ...

Fri Jan	17 08:29:52 1997  David Faure <david.faure@ifhamy.insa-lyon.fr>

	* [windows/event.c]
	Move EVENT_ToAscii to windows/keyboard.c (where name ToAscii)
	Fixed Keypad keys 0-9 and . in EVENT_event_to_vkey.
	Added 3-state handling of toggle keys (CapsLock, NumLock) in order
	to make them work with any X server.
	Toggle keys now generate WM_KEYDOWN and WM_KEYUP on each pressing.

	* [include/keyboard.h]
	Totally replaced the file (formerly containing the vkcase definitions)
	by the declaration of 'extern' variables contained by event.c and used
	by keyboard.c
	
	* [windows/keyboard.c]
	Started to rewrite VkKeyScan and MapVirtualKey, to make them use the 
	table keyc2vkey or X functions only.
	ToAscii : added keypad 0-9 and . special case.
	Changed toggle keys active mask from 0x80 to 0x1.

	* [misc/keyboard.c]
	File deleted. Contents moved to windows/keyboard.c.

	* [misc/main.c]
	Added putenv XKB_DISABLE to disable XKB extension (which, when
	present, causes AltGr to change keyboard group instead of being a
	modifier).

Tue Jan 14 22:56:43 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>

	* [windows/event.c]
	Do not assume NumLockMask is Mod2Mask, but compute it by scanning
	output of XGetModifierMapping for XK_Num_Lock.

Tue Jan 14 15:49:49 1997  Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>

	* [loader/pe_*.c] [include/peexe.h] [include/resource32.h]
	  [debugger/*.c]
	General clean up.
	Changed defines/structures to match Windows NT SDK.

	* [loader/main.c]
	Don't crash on empty command-line.

	* [windows/winpos.c]
	winpos.c made win32 clean.

	* [misc/ntdll.c]
	Some string conversion additions.

	* [files/file.c]
	GetFileAttributes/GetTempFileName fixed.

	* [misc/ver.c]
	VerInstallFile implemented.

Mon Jan 13 15:03:11 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>

	* [tools/build.c]: Use PREFIX also in stabs messages.

Mon Jan 13 10:40:33 1997  John Harvey <john@division.co.uk>

	* [graphics/win16drv/*] [include/win16drv.h]
	Many fixes and some new features.

	* [graphics/x11drv/font.c] [graphics/x11drv/init.c]
	  [include/x11drv.h] [objects/font.c]
	GetTextMetrics() moved to graphics driver.

	* [if1632/gdi.spec] [misc/fontengine.c] [misc/Makefile.in]
	New dummy EngineEnumerateFont, EngineRealizeFont functions.

	* [include/windows.h]
	TEXTFORM16 and FONTINFO16 structure definitions moved here from
	include/win16drv.h
diff --git a/windows/mdi.c b/windows/mdi.c
index f6e5bac..558f9ce 100644
--- a/windows/mdi.c
+++ b/windows/mdi.c
@@ -284,7 +284,7 @@
  */
 WORD MDIIconArrange(HWND parent)
 {
-  return ArrangeIconicWindows(parent);		/* Any reason why the    */
+  return ArrangeIconicWindows16(parent);	/* Any reason why the    */
 						/* existing icon arrange */
 						/* can't be used here?	 */
 						/* -DRP			 */
@@ -333,7 +333,7 @@
 	if( style & WS_MAXIMIZE )
 	  SendMessage16(w->hwndSelf, WM_SETREDRAW, FALSE, 0L );
 	hwndMax = ci->hwndChildMaximized;
-	ShowWindow( hwndMax, SW_SHOWNOACTIVATE );
+	ShowWindow16( hwndMax, SW_SHOWNOACTIVATE );
 	if( style & WS_MAXIMIZE )
 	  SendMessage16(w->hwndSelf, WM_SETREDRAW, TRUE, 0L );
       }
@@ -365,10 +365,10 @@
 
 	MDI_MenuModifyItem(w ,hwnd); 
 	if( wnd->dwStyle & WS_MINIMIZE && ci->hwndActiveChild )
-	    ShowWindow( hwnd, SW_SHOWMINNOACTIVE );
+	    ShowWindow16( hwnd, SW_SHOWMINNOACTIVE );
 	else
 	  {
-	    SetWindowPos( hwnd, 0, 0, 0, 0, 0, SWP_SHOWWINDOW | SWP_NOSIZE | SWP_NOMOVE );
+	    SetWindowPos32( hwnd, 0, 0, 0, 0, 0, SWP_SHOWWINDOW | SWP_NOSIZE | SWP_NOMOVE );
 
 	    /* Set maximized state here in case hwnd didn't receive WM_SIZE
 	     * during CreateWindow - bad!
@@ -388,7 +388,7 @@
 	ci->nActiveChildren--;
 	DeleteMenu32(ci->hWindowMenu,wIDmenu,MF_BYCOMMAND);
 	if( IsWindow(hwndMax) )
-	    ShowWindow(hwndMax, SW_SHOWMAXIMIZED);
+	    ShowWindow16(hwndMax, SW_SHOWMAXIMIZED);
     }
 	
     return hwnd;
@@ -453,16 +453,16 @@
 	      w->dwStyle &= ~WS_VISIBLE;
 	    }
 
-	  SetWindowPos( hwndTo, HWND_TOP, 0, 0, 0, 0, 
+	  SetWindowPos32( hwndTo, HWND_TOP, 0, 0, 0, 0, 
 			SWP_NOMOVE | SWP_NOSIZE );
 	  if( !wTo && hwndPrev )
 	    {
-	       SetWindowPos( hwndPrev, HWND_BOTTOM, 0, 0, 0, 0, 
+	       SetWindowPos32( hwndPrev, HWND_BOTTOM, 0, 0, 0, 0, 
 		  	     SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
 	    }
 
 	  if( bOptimize )
-	       ShowWindow( clientHwnd, SW_SHOW );
+	       ShowWindow16( clientHwnd, SW_SHOW );
 	}
 }
 
@@ -483,7 +483,7 @@
 
 	    if( child == ci->hwndActiveChild )
 	      {
-		ShowWindow( child, SW_HIDE);
+		ShowWindow16( child, SW_HIDE);
 		if( child == ci->hwndChildMaximized )
 		  {
 		    MDI_RestoreFrameMenu(w_parent->parent, child);
@@ -502,8 +502,8 @@
 
         if (flagDestroy)
 	   {
-	     MDI_PostUpdate(GetParent16(child), ci, SB_BOTH+1);
-            DestroyWindow(child);
+	    MDI_PostUpdate(GetParent16(child), ci, SB_BOTH+1);
+            DestroyWindow32(child);
 	   }
     }
 
@@ -531,7 +531,7 @@
 
     dprintf_mdi(stddeb,"MDI_ChildActivate: %04x\n", hWndChild);
 
-    if( GetActiveWindow() == clientPtr->parent->hwndSelf )
+    if( GetActiveWindow32() == clientPtr->parent->hwndSelf )
         isActiveFrameWnd = TRUE;
 	
     /* deactivate prev. active child */
@@ -560,10 +560,10 @@
         if( hWndChild )
 	        {
 		  clientInfo->hwndActiveChild = hWndChild;
-		  ShowWindow( hWndChild, SW_SHOWMAXIMIZED);
+		  ShowWindow16( hWndChild, SW_SHOWMAXIMIZED);
 	        }
 	else
-		ShowWindow( clientInfo->hwndActiveChild, 
+		ShowWindow16( clientInfo->hwndActiveChild, 
 			    SW_SHOWNORMAL );
 
     clientInfo->hwndActiveChild = hWndChild;
@@ -582,7 +582,7 @@
                                wndPtr->wIDmenu, MF_CHECKED);
 
     /* bring active child to the top */
-    SetWindowPos( hWndChild, 0,0,0,0,0, SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE);
+    SetWindowPos32( hWndChild, 0,0,0,0,0, SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE);
 
     if( isActiveFrameWnd )
 	  {
@@ -696,7 +696,7 @@
     POINT16       pos[2];
   
     if (ci->hwndChildMaximized)
-        ShowWindow( ci->hwndChildMaximized, SW_NORMAL);
+        ShowWindow16( ci->hwndChildMaximized, SW_NORMAL);
 
     if (ci->nActiveChildren == 0) return 0;
 
@@ -714,8 +714,8 @@
 	if( listTop->hChild )
         {
             MDI_CalcDefaultChildPos(clientWnd, n++, pos, delta);
-            SetWindowPos(listTop->hChild, 0, pos[0].x, pos[0].y, pos[1].x, pos[1].y,
-                         SWP_DRAWFRAME | SWP_NOACTIVATE | SWP_NOZORDER);
+            SetWindowPos32(listTop->hChild, 0, pos[0].x, pos[0].y, pos[1].x, pos[1].y,
+                           SWP_DRAWFRAME | SWP_NOACTIVATE | SWP_NOZORDER);
         }
 
 	listPrev = listTop->prev;
@@ -724,7 +724,7 @@
     }
 
     if( iToPosition < ci->nActiveChildren )
-        ArrangeIconicWindows( clientWnd->hwndSelf );
+        ArrangeIconicWindows32( clientWnd->hwndSelf );
 
     return 0;
 }
@@ -745,7 +745,7 @@
     INT16	  iToPosition = 0;
 
     if (ci->hwndChildMaximized)
-	ShowWindow(ci->hwndChildMaximized, SW_NORMAL);
+	ShowWindow16(ci->hwndChildMaximized, SW_NORMAL);
 
     if (ci->nActiveChildren == 0) return 0;
 
@@ -804,8 +804,8 @@
     	            free(listTop);
     	            listTop = listPrev;
     	        }                
-                SetWindowPos(listTop->hChild, 0, x, y, xsize, ysize, 
-                             SWP_DRAWFRAME | SWP_NOACTIVATE | SWP_NOZORDER);
+                SetWindowPos32(listTop->hChild, 0, x, y, xsize, ysize, 
+                               SWP_DRAWFRAME | SWP_NOACTIVATE | SWP_NOZORDER);
                 y += ysize;
     	        listPrev = listTop->prev;
     	        free(listTop);
@@ -824,7 +824,7 @@
     }
     
     if (iToPosition < ci->nActiveChildren )
-        ArrangeIconicWindows( wndClient->hwndSelf );
+        ArrangeIconicWindows32( wndClient->hwndSelf );
 
     return 0;
 }
@@ -959,8 +959,8 @@
 
  DEFWND_SetText( frameWnd, lpBuffer );
  if( repaint == MDI_REPAINTFRAME)
-     SetWindowPos(frameWnd->hwndSelf, 0,0,0,0,0, SWP_FRAMECHANGED |
-                  SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE | SWP_NOZORDER );
+     SetWindowPos32(frameWnd->hwndSelf, 0,0,0,0,0, SWP_FRAMECHANGED |
+                    SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE | SWP_NOZORDER );
 }
 
 
@@ -1029,7 +1029,7 @@
 
       case WM_MDIACTIVATE:
         if( ci->hwndActiveChild != (HWND)wParam )
-	    SetWindowPos((HWND)wParam, 0,0,0,0,0, SWP_NOSIZE | SWP_NOMOVE ); 
+	    SetWindowPos32((HWND)wParam, 0,0,0,0,0, SWP_NOSIZE | SWP_NOMOVE ); 
 	return 0;
 
       case WM_MDICASCADE:
@@ -1053,7 +1053,7 @@
 	return 0;
 	
       case WM_MDIMAXIMIZE:
-	ShowWindow((HWND)wParam, SW_MAXIMIZE);
+	ShowWindow16((HWND16)wParam, SW_MAXIMIZE);
 	return 0;
 
       case WM_MDINEXT:
@@ -1061,7 +1061,7 @@
 	break;
 	
       case WM_MDIRESTORE:
-	ShowWindow( (HWND)wParam, SW_NORMAL);
+	ShowWindow16( (HWND16)wParam, SW_NORMAL);
 	return 0;
 
       case WM_MDISETMENU:
@@ -1115,7 +1115,7 @@
                 if( wnd->owner ) child = wnd->owner->hwndSelf;
 
                 if( child != ci->hwndActiveChild )
-                    SetWindowPos(child, 0,0,0,0,0, SWP_NOSIZE | SWP_NOMOVE );
+                    SetWindowPos32(child, 0,0,0,0,0, SWP_NOSIZE | SWP_NOMOVE );
               }
           }
         return 0;
@@ -1127,8 +1127,8 @@
 	     RECT16	rect  = { 0, 0, LOWORD(lParam), HIWORD(lParam) };
 
 	     AdjustWindowRectEx16(&rect, child->dwStyle, 0, child->dwExStyle);
-	     MoveWindow(ci->hwndChildMaximized, rect.left, rect.top,
-			rect.right - rect.left, rect.bottom - rect.top, 1);
+	     MoveWindow16(ci->hwndChildMaximized, rect.left, rect.top,
+			  rect.right - rect.left, rect.bottom - rect.top, 1);
 	  }
 	else
 	  MDI_PostUpdate(hwnd, ci, SB_BOTH+1);
@@ -1213,8 +1213,8 @@
 	    break;
 
 	  case WM_SIZE:
-	    MoveWindow(hwndMDIClient, 0, 0, 
-		       LOWORD(lParam), HIWORD(lParam), TRUE);
+	    MoveWindow16(hwndMDIClient, 0, 0, 
+		         LOWORD(lParam), HIWORD(lParam), TRUE);
 	    break;
 
 	  case WM_NEXTMENU:
@@ -1414,7 +1414,7 @@
 	       SendMessage16( hMaxChild, WM_SETREDRAW, FALSE, 0L );
 
 	       MDI_RestoreFrameMenu( clientWnd->parent, hMaxChild);
-	       ShowWindow( hMaxChild, SW_SHOWNOACTIVATE);
+	       ShowWindow16( hMaxChild, SW_SHOWNOACTIVATE);
 
 	       SendMessage16( hMaxChild, WM_SETREDRAW, TRUE, 0L );
 	      }
@@ -1640,8 +1640,8 @@
 	case SB_BOTH:
 			SCROLL_SetNCSbState( Wnd, vmin, vmax, vpos,
 						  hmin, hmax, hpos);
-			SetWindowPos(hwnd, 0, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE
-                                 | SWP_NOACTIVATE | SWP_NOZORDER | SWP_FRAMECHANGED );
+			SetWindowPos32(hwnd, 0, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE
+                                       | SWP_NOACTIVATE | SWP_NOZORDER | SWP_FRAMECHANGED );
       }    
 }