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" );