Release 950901

Thu Aug 31 17:19:57 1995  Alexandre Julliard  <julliard@sunsite.unc.edu>

	* [Configure]
	Added compile-time option for IPC.

	* [configure.in]
	Added command-line options for language, IPC and malloc
	debugging.

	* [controls/menu.c]
	WM_MENUSELECT was sometimes sent to the wrong window.

	* [debugger/break.c]
	For the 'next' command, only step over instruction that require
	it. This allows 'next' to do the right thing with jmp and ret
	instructions.

	* [ipc/*.c] [memory/atom.c] [memory/global.c]
	IPC can now be configured out at compile-time.

	* [loader/task.c]
	Bug fix in TASK_Reschedule() that could cause a task to be deleted
	twice.

	* [miscemu/dosmem.c] (New file)
	Partial emulation of the BIOS data segment.

	* [miscemu/instr.c]
	Trap attempts to access selector 0x40 and remap the access to
	segment __0040H.

	* [tools/build.c]
	Fixed bug in CallTo32_LargeStack() that caused problems when
	compiling Wine with the -fomit-frame-pointer option.

	* [windows/message.c]
	Fixed bug in hardware event handling that could cause some events
	to get ignored.

Sat Aug 26 13:12:59 IST 1995 Michael Veksler <mveksler@vnet.ibm.com>

	* [ipc/README] [ipc/dde.tex]
	LaTeX documentation for the ipc and DDE stuff.

Wed Aug 23 22:01:23 GMT 1995 Michael Veksler <mveksler@vnet.ibm.com>

	* [ipc/Imakefile] [ipc/wine_test_stub.c]
	Fixed IPC testing. Now it can be compiled with "make tests"

Wed Aug 23 21:04:14 1995  Fons Botman  <botman@wab-tis.rabobank.nl>

	* [if1632/kernel.spec] [include/windows.h] [misc/main.c]
	Added GetWinDebugInfo/SetWinDebugInfo stub for player.exe

Sun Aug  20 13:49:42 1995  Marcus Meissner  <msmeissn@faui01.informatik.uni-erlangen.de>

	* [miscemu/int21.c]
	Misc fix to int21,ah=40 (write) to match _lwrite().
	AX=0x440A (check if handle is remote) added.

	* [multimedia/mmsystem.c]
	Moved mciSendString to mcistring.c.

	* [multimedia/mcistring.c]
	New file, string interface for MCI (not complete, not thoroughly
	tested).

	* [multimedia/audio.c]
	IOCTL prints errors; one paranoid check disabled.

	* [misc/file.c]
	Misc operator precedence fixes.

	* [if1632/gdi.spec] [objects/bitblt.c]
	Stub for FastWindowFrame (parameters not correct).

Sat Aug 19 01:31:23 1995  Graham Menhennitt <gfm@werple.mira.net.au>

	* [loader/ne_image.c]
	Preliminary support for iterated segments.

Sat Aug 19 00:43:04 1995  Andrew Taylor  (andrew@riscan.com)

	* [windows/mapping.c]
	In function MAPPING_FixIsotropic(), VportExt[XY] is multiplied by
 	the absolute value of (ydim / xdim) or (xdim / ydim).

Thu Aug 15 23:00:16  Gregory Trubetskoy  <grisha@mira.com>

	* [objects/oembitmap.c]
	Added some includes for Windows 95.

	* [include/sysmetrics.h]
	Added some sysmetrics for Windows 95.

	* [include/bitmaps/*95]
	New files: obm_close_95, obm_closed_95, obm_reduce_95, obm_reduced_95
	obm_zoom_95, obm_zoomd_95 - these are some pixmaps for Windows 95.

Thu Aug 10 12:00:00 1995  Jan Willamowius  (jan@janhh.shnet.org)

	* [misc/shell.c] [rc/sysres*.rc]
	The caption of the ShellAbout dialog box is language specific and
 	should be defined in the resources.
diff --git a/memory/global.c b/memory/global.c
index 704fe9d..83f0dda 100644
--- a/memory/global.c
+++ b/memory/global.c
@@ -81,21 +81,6 @@
     if (printed)
 	printf("\n");
 }
-/***********************************************************************
- *           GLOBAL_FindArena
- *
- * Find the arena  for a given handle
- * (when handle is not serial - e.g. DDE)
- */
-static GLOBALARENA *GLOBAL_FindArena( HGLOBAL handle)
-{
-    int i;
-    for (i = globalArenaSize-1 ; i>=0 ; i--) {
-	if (pGlobalArena[i].size!=0 && pGlobalArena[i].handle == handle)
-	    return ( &pGlobalArena[i] );
-    }
-    return NULL;
-}
 
 
 /***********************************************************************
@@ -196,9 +181,11 @@
 
       /* Allocate the linear memory */
 
+#ifdef CONFIG_IPC
     if ((flags & GMEM_DDESHARE) && Options.ipc)
-        ptr= DDE_malloc(flags, size, &shmdata);
+        ptr = DDE_malloc(flags, size, &shmdata);
     else 
+#endif  /* CONFIG_IPC */
 	ptr = malloc( size );
     if (!ptr) return 0;
 
@@ -216,6 +203,25 @@
     return handle;
 }
 
+
+#ifdef CONFIG_IPC
+/***********************************************************************
+ *           GLOBAL_FindArena
+ *
+ * Find the arena  for a given handle
+ * (when handle is not serial - e.g. DDE)
+ */
+static GLOBALARENA *GLOBAL_FindArena( HGLOBAL handle)
+{
+    int i;
+    for (i = globalArenaSize-1 ; i>=0 ; i--) {
+	if (pGlobalArena[i].size!=0 && pGlobalArena[i].handle == handle)
+	    return ( &pGlobalArena[i] );
+    }
+    return NULL;
+}
+
+
 /***********************************************************************
  *           DDE_GlobalHandleToSel
  */
@@ -238,6 +244,7 @@
 
     return SELECTOROF( segptr );
 }
+#endif  /* CONFIG_IPC */
 
 
 /***********************************************************************
@@ -268,11 +275,13 @@
                     handle, size, flags );
     if (!handle) return 0;
     
+#ifdef CONFIG_IPC
     if (Options.ipc && (flags & GMEM_DDESHARE || is_dde_handle(handle))) {
 	fprintf(stdnimp,
 		"GlobalReAlloc: shared memory reallocating unimplemented\n"); 
 	return 0;
     }
+#endif  /* CONFIG_IPC */
 
     pArena = GET_ARENA_PTR( handle );
 
@@ -366,7 +375,9 @@
 
     dprintf_global( stddeb, "GlobalFree: %04x\n", handle );
     if (!GLOBAL_FreeBlock( handle )) return handle;  /* failed */
+#ifdef CONFIG_IPC
     if (is_dde_handle(handle)) return DDE_GlobalFree(handle);
+#endif  /* CONFIG_IPC */
     if (ptr) free( ptr );
     return 0;
 }
@@ -382,9 +393,13 @@
     dprintf_global( stddeb, "WIN16_GlobalLock(%04x) -> %08lx\n",
                     handle, MAKELONG( 0, GlobalHandleToSel(handle)) );
     if (!handle) return 0;
-    if ( !is_dde_handle(handle) && !GET_ARENA_PTR(handle)->base)
-	return (SEGPTR)0;
 
+#ifdef CONFIG_IPC
+    if (is_dde_handle(handle))
+        return (SEGPTR)MAKELONG( 0, DDE_GlobalHandleToSel(handle) );
+#endif  /* CONFIG_IPC */
+
+    if (!GET_ARENA_PTR(handle)->base) return (SEGPTR)0;
     return (SEGPTR)MAKELONG( 0, GlobalHandleToSel(handle) );
 }
 
@@ -397,9 +412,9 @@
 LPSTR GlobalLock( HGLOBAL handle )
 {
     if (!handle) return 0;
-    if (is_dde_handle(handle)) {
-       return DDE_AttachHandle(handle, NULL);
-    }
+#ifdef CONFIG_IPC
+    if (is_dde_handle(handle)) return DDE_AttachHandle(handle, NULL);
+#endif
     return (LPSTR)GET_ARENA_PTR(handle)->base;
 }
 
@@ -644,9 +659,9 @@
 {
     dprintf_toolhelp( stddeb, "GlobalHandleToSel: %04x\n", handle );
     if (!handle) return 0;
-    if (is_dde_handle(handle)) 
-	return DDE_GlobalHandleToSel(handle);
-
+#ifdef CONFIG_IPC
+    if (is_dde_handle(handle)) return DDE_GlobalHandleToSel(handle);
+#endif
     if (!(handle & 7))
     {
         fprintf( stderr, "Program attempted invalid selector conversion\n" );