Release 970101

Wed Jan  1 15:36:17 1997  Alexandre Julliard  <julliard@lrc.epfl.ch>

	* [controls/listbox.c]
	Use FindFirstFile/FindNextFile in LISTBOX_Directory.

	* [files/dos_fs.c]
	Rewrote FindFirstFile/FindNextFile to use DOSFS_FindNext().

	* [files/file.c] [files/directory.c]
	Use Win32 kernel objects and handles for file handles.
	Unified SearchPath() and OpenFile().

	* [loader/builtin.c]
	Moved to if1632/ directory.

	* [tools/build.c] [debugger/*] [miscemu/*]
	Win16 register functions now receive the same CONTEXT * structure
	as Win32 functions.

	* [include/sigcontext.h] [miscemu/instr.c]
	Added new macros to get register values from the SIGCONTEXT
	structure (only used for instruction emulation now).

	* [scheduler/process.c] [scheduler/thread.c] (New files)
	Allocate process and thread structures.

	* [scheduler/process.c] [win32/k32obj.c]
	Added Win32 kernel objects and handles management.

	* [loader/task.c]
	Create a Win32 process and thread for every Win16 task.

	* [misc/commdlg.c] [misc/shell.c] [windows/msgbox.c]
	Built-in resources are now in Win32 format. This also avoids
	16-bit callbacks for built-in dialogs.

	* [misc/lzexpand.c]
	Differentiate between 16-bit and 32-bit file handles.

	* [miscemu/int*.c]
	Moved all int emulation to msdos/ directory.

	* [msdos/*]
	New directory msdos/ contains all MS-DOS emulation code that can
	also be used for Winelib; this should enable Winelib apps to use
	DOS3Call and related functions.

	* [rc/winerc.c]
	A few bug fixes for Win32 resource format.

	* [windows/winpos.c]
	Hack in WINPOS_ReorderOwnerPopups() to avoid X crashed (still not
	right though).

Sun Dec 29 17:47:55 1996  O. Flebbe <flebbe@science-computing.uni-tuebingen.de>

	* [loader/pe_image.c]
	Make sure BSS of a PE_Image is zero.

Sat Dec 28 22:15:34 1996 Alex Korobka <alex@trantor.pharm.sunysb.edu>

	* [windows/scroll.c]
	ScrollWindowEx() rewrite, ScrollDC() fix.

	* [windows/nonclient.c] [controls/menu.c]
	Fixed Alt-Space crashes in dialogs.

	* [windows/event.c] [windows/message.c]
	Some changes in mouse message generation.

Thu Dec 26 09:25:24 1996  Philippe De Muyter  <phdm@info.ucl.ac.be>

	* [debugger/stabs.c]
	Dummy DEBUG_ReadExecutableDbgInfo provided for !__ELF__ case.

Tue Dec 24 00:59:05 MET 1996  Martin Buck <martin-2.buck@student.uni-ulm.de>

	* [windows/event.c]
	Changed XK_Page_{Up,Down} to XK_{Prior,Next} for X11R5
	compatibility.
diff --git a/debugger/break.c b/debugger/break.c
index 8c727b4..eb97f6c 100644
--- a/debugger/break.c
+++ b/debugger/break.c
@@ -65,9 +65,10 @@
  * Determine if the instruction at CS:EIP is an instruction that
  * we need to step over (like a call or a repetitive string move).
  */
-static BOOL32 DEBUG_IsStepOverInstr( SIGCONTEXT *context )
+static BOOL32 DEBUG_IsStepOverInstr(void)
 {
-    BYTE *instr = (BYTE *)PTR_SEG_OFF_TO_LIN(CS_reg(context),EIP_reg(context));
+    BYTE *instr = (BYTE *)PTR_SEG_OFF_TO_LIN( CS_reg(&DEBUG_context),
+                                              EIP_reg(&DEBUG_context) );
 
     for (;;)
     {
@@ -182,7 +183,7 @@
     int num;
     BYTE *p;
 
-    DBG_FIX_ADDR_SEG( &addr, CS_reg(DEBUG_context) );
+    DBG_FIX_ADDR_SEG( &addr, CS_reg(&DEBUG_context) );
 
     if (next_bp < MAX_BREAKPOINTS)
         num = next_bp++;
@@ -273,17 +274,17 @@
  * Determine if we should continue execution after a SIGTRAP signal when
  * executing in the given mode.
  */
-BOOL32 DEBUG_ShouldContinue( SIGCONTEXT *context, enum exec_mode mode )
+BOOL32 DEBUG_ShouldContinue( enum exec_mode mode )
 {
     DBG_ADDR addr;
     int bpnum;
 
       /* If not single-stepping, back up over the int3 instruction */
-    if (!(EFL_reg(DEBUG_context) & STEP_FLAG)) EIP_reg(DEBUG_context)--;
+    if (!(EFL_reg(&DEBUG_context) & STEP_FLAG)) EIP_reg(&DEBUG_context)--;
 
-    addr.seg = (CS_reg(DEBUG_context) == WINE_CODE_SELECTOR) ? 
-                0 : CS_reg(DEBUG_context);
-    addr.off = EIP_reg(DEBUG_context);
+    addr.seg = (CS_reg(&DEBUG_context) == WINE_CODE_SELECTOR) ? 
+                0 : CS_reg(&DEBUG_context);
+    addr.off = EIP_reg(&DEBUG_context);
         
     bpnum = DEBUG_FindBreakpoint( &addr );
     breakpoints[0].enabled = 0;  /* disable the step-over breakpoint */
@@ -299,8 +300,8 @@
 
     /* If there's no breakpoint and we are not single-stepping, then we     */
     /* must have encountered an int3 in the Windows program; let's skip it. */
-    if ((bpnum == -1) && !(EFL_reg(DEBUG_context) & STEP_FLAG))
-        EIP_reg(DEBUG_context)++;
+    if ((bpnum == -1) && !(EFL_reg(&DEBUG_context) & STEP_FLAG))
+        EIP_reg(&DEBUG_context)++;
 
       /* no breakpoint, continue if in continuous mode */
     return (mode == EXEC_CONT);
@@ -313,14 +314,13 @@
  * Set the breakpoints to the correct state to restart execution
  * in the given mode.
  */
-void DEBUG_RestartExecution( SIGCONTEXT *context, enum exec_mode mode,
-                             int instr_len )
+void DEBUG_RestartExecution( enum exec_mode mode, int instr_len )
 {
     DBG_ADDR addr;
 
-    addr.seg = (CS_reg(DEBUG_context) == WINE_CODE_SELECTOR) ?
-                0 : CS_reg(DEBUG_context);
-    addr.off = EIP_reg(DEBUG_context);
+    addr.seg = (CS_reg(&DEBUG_context) == WINE_CODE_SELECTOR) ?
+                0 : CS_reg(&DEBUG_context);
+    addr.off = EIP_reg(&DEBUG_context);
 
     if (DEBUG_FindBreakpoint( &addr ) != -1)
         mode = EXEC_STEP_INSTR;  /* If there's a breakpoint, skip it */
@@ -328,14 +328,14 @@
     switch(mode)
     {
     case EXEC_CONT: /* Continuous execution */
-        EFL_reg(DEBUG_context) &= ~STEP_FLAG;
+        EFL_reg(&DEBUG_context) &= ~STEP_FLAG;
         DEBUG_SetBreakpoints( TRUE );
         break;
 
     case EXEC_STEP_OVER:  /* Stepping over a call */
-        if (DEBUG_IsStepOverInstr(DEBUG_context))
+        if (DEBUG_IsStepOverInstr())
         {
-            EFL_reg(DEBUG_context) &= ~STEP_FLAG;
+            EFL_reg(&DEBUG_context) &= ~STEP_FLAG;
             addr.off += instr_len;
             breakpoints[0].addr    = addr;
             breakpoints[0].enabled = TRUE;
@@ -347,7 +347,7 @@
         /* else fall through to single-stepping */
 
     case EXEC_STEP_INSTR: /* Single-stepping an instruction */
-        EFL_reg(DEBUG_context) |= STEP_FLAG;
+        EFL_reg(&DEBUG_context) |= STEP_FLAG;
         break;
     }
 }