Release 960805
Sun Aug 4 18:18:48 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/scroll.c]
Attempted to implement undocumented scroll-bar messages.
* [tools/build.c] [include/callback.h] [windows/winproc.c]
CallTo16_* functions now get DS from the previous 16-bit stackframe.
* [if1632/thunk.c] [include/callback.h]
Added thunks to implement callbacks for the emulator. Now all the
Enum* functions always take a real function pointer even in the
emulator.
* [loader/builtin.c]
Removed binary search in BUILTIN_GetEntryPoint32(), as it didn't
work with NULL entry points. Using linear search now.
* [loader/module.c]
Implemented IsSharedSelector().
* [loader/task.c]
Changed SwitchStackTo/Back to use the instance data to store the
previous stack instead of the TDB. Also copy the local variables
onto the new stack.
Added GetExeVersion() and SetTackSignalProc().
Implemented SetSigHandler().
Sat Aug 3 22:19:00 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [controls/menu.c]
"Fixed" problem in deleting menus where win32 could get into an
endless loop when it crashed. I think I've fixed the symptoms, not
the original problem so it might be worth further investigation.
* [debugger/registers.c]
Added missing #ifdefs on FS_REG and GS_REG, needed for FreeBSD to
compile wine properly.
* [files/dos_fs.c]
Made DOSFS_Hash and DOSFS_Match non-static so they can be called
from win32/findfile.c (q.v.).
* [if1632/gdi32.spec]
Added SetMapMode (call existing function)
* [if1632/kernel32.spec]
Added FindFirstFileA and SetFileAttributesA.
* [if1632/user32.spec]
Added BringWindowToTop, CreatePopupMenu, GetKeyState, GetParent,
IsDlgButtonChecked (call existing functions) and IsDialogMessageA,
UnhookWindowsHookEx.
* [win32/file.c]
Added stub function SetFileAttributes32A. It's a stub because I
can't really work out what this function should do with most
attributes in a Unix environment. Anyone care to expand it?
* [win32/findfile.c]
New file. Initial stab at FindFirstFile. This doesn't work as
specified yet, though a lot of the groundwork is there. I haven't
time to work on this for the next month, so if anyone wants to pick
it up and run with it please do.
* [win32/memory.c]
Removed malloc.h from includes (covered by stdlib.h include, and
gets rid of a warning in FreeBSD).
* [win32/newfns.c]
UnhookWindowsHookEx32A stub added.
* [win32/user32.c]
Added implementation of IsDialogMessage32A.
* [windows/dialog.c]
IsDlgButtonChecked now calls SendDlgItemMessage32A instead of
SendDlgItemMessage16.
Sat Aug 3 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [windows/graphics.c]
Removed rectangle checking (conflicted with nonstandard
mapping modes).
* [windows/dialog.c]
Added check for child-style dialogs to DS_ABSALIGN
coordinate conversion.
* [objects/color.c]
Cleaned up misc. bits
Thu Aug 1 10:51:45 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [windows/focus.c] [windows/event.c] [windows/win.c]
[windows/defdlg.c]
Fixes to focusing and activation.
* [windows/defdlg.c]
Properly(?) handle DM_GETDEFID.
* [controls/combo.c]
Handle CB_FINDSTRINGEXACT, CB_SETEDITSEL, CB_GETEDITSEL.
CBCheckSize: Adjust edit position.
Tue Jul 30 09:46:36 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/file.c] [include/file.h] [loader/module.c] [loader/ne_image.c]
Pass HFILEs instead of unix-fds to self-loader code.
Mon Jul 29 21:48:25 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/metafile.h] [objects/metafile.c] [objects/text.c]
Implemented handling of some new metafile records (META_...)
in PlayMetaFileRecord(), rewrite of 'case META_EXTTEXTOUT'.
Added functions like MF_StretchBlt() for usage in metafiles.
Minor bugfix in CopyMetafile().
* [objects/bitmap.c][objects/dib.c]
Added check for metafile-DC in Bitmap and DIB functions:
CreateCompatibleBitmap() etc.
1996-08-05 19:42:43 +02:00
|
|
|
/*
|
1997-08-24 18:00:30 +02:00
|
|
|
* Emulator and Win95 thunks
|
Release 960805
Sun Aug 4 18:18:48 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/scroll.c]
Attempted to implement undocumented scroll-bar messages.
* [tools/build.c] [include/callback.h] [windows/winproc.c]
CallTo16_* functions now get DS from the previous 16-bit stackframe.
* [if1632/thunk.c] [include/callback.h]
Added thunks to implement callbacks for the emulator. Now all the
Enum* functions always take a real function pointer even in the
emulator.
* [loader/builtin.c]
Removed binary search in BUILTIN_GetEntryPoint32(), as it didn't
work with NULL entry points. Using linear search now.
* [loader/module.c]
Implemented IsSharedSelector().
* [loader/task.c]
Changed SwitchStackTo/Back to use the instance data to store the
previous stack instead of the TDB. Also copy the local variables
onto the new stack.
Added GetExeVersion() and SetTackSignalProc().
Implemented SetSigHandler().
Sat Aug 3 22:19:00 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [controls/menu.c]
"Fixed" problem in deleting menus where win32 could get into an
endless loop when it crashed. I think I've fixed the symptoms, not
the original problem so it might be worth further investigation.
* [debugger/registers.c]
Added missing #ifdefs on FS_REG and GS_REG, needed for FreeBSD to
compile wine properly.
* [files/dos_fs.c]
Made DOSFS_Hash and DOSFS_Match non-static so they can be called
from win32/findfile.c (q.v.).
* [if1632/gdi32.spec]
Added SetMapMode (call existing function)
* [if1632/kernel32.spec]
Added FindFirstFileA and SetFileAttributesA.
* [if1632/user32.spec]
Added BringWindowToTop, CreatePopupMenu, GetKeyState, GetParent,
IsDlgButtonChecked (call existing functions) and IsDialogMessageA,
UnhookWindowsHookEx.
* [win32/file.c]
Added stub function SetFileAttributes32A. It's a stub because I
can't really work out what this function should do with most
attributes in a Unix environment. Anyone care to expand it?
* [win32/findfile.c]
New file. Initial stab at FindFirstFile. This doesn't work as
specified yet, though a lot of the groundwork is there. I haven't
time to work on this for the next month, so if anyone wants to pick
it up and run with it please do.
* [win32/memory.c]
Removed malloc.h from includes (covered by stdlib.h include, and
gets rid of a warning in FreeBSD).
* [win32/newfns.c]
UnhookWindowsHookEx32A stub added.
* [win32/user32.c]
Added implementation of IsDialogMessage32A.
* [windows/dialog.c]
IsDlgButtonChecked now calls SendDlgItemMessage32A instead of
SendDlgItemMessage16.
Sat Aug 3 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [windows/graphics.c]
Removed rectangle checking (conflicted with nonstandard
mapping modes).
* [windows/dialog.c]
Added check for child-style dialogs to DS_ABSALIGN
coordinate conversion.
* [objects/color.c]
Cleaned up misc. bits
Thu Aug 1 10:51:45 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [windows/focus.c] [windows/event.c] [windows/win.c]
[windows/defdlg.c]
Fixes to focusing and activation.
* [windows/defdlg.c]
Properly(?) handle DM_GETDEFID.
* [controls/combo.c]
Handle CB_FINDSTRINGEXACT, CB_SETEDITSEL, CB_GETEDITSEL.
CBCheckSize: Adjust edit position.
Tue Jul 30 09:46:36 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/file.c] [include/file.h] [loader/module.c] [loader/ne_image.c]
Pass HFILEs instead of unix-fds to self-loader code.
Mon Jul 29 21:48:25 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/metafile.h] [objects/metafile.c] [objects/text.c]
Implemented handling of some new metafile records (META_...)
in PlayMetaFileRecord(), rewrite of 'case META_EXTTEXTOUT'.
Added functions like MF_StretchBlt() for usage in metafiles.
Minor bugfix in CopyMetafile().
* [objects/bitmap.c][objects/dib.c]
Added check for metafile-DC in Bitmap and DIB functions:
CreateCompatibleBitmap() etc.
1996-08-05 19:42:43 +02:00
|
|
|
*
|
|
|
|
* Copyright 1996 Alexandre Julliard
|
1997-08-24 18:00:30 +02:00
|
|
|
* Copyright 1997 Marcus Meissner
|
Release 960805
Sun Aug 4 18:18:48 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/scroll.c]
Attempted to implement undocumented scroll-bar messages.
* [tools/build.c] [include/callback.h] [windows/winproc.c]
CallTo16_* functions now get DS from the previous 16-bit stackframe.
* [if1632/thunk.c] [include/callback.h]
Added thunks to implement callbacks for the emulator. Now all the
Enum* functions always take a real function pointer even in the
emulator.
* [loader/builtin.c]
Removed binary search in BUILTIN_GetEntryPoint32(), as it didn't
work with NULL entry points. Using linear search now.
* [loader/module.c]
Implemented IsSharedSelector().
* [loader/task.c]
Changed SwitchStackTo/Back to use the instance data to store the
previous stack instead of the TDB. Also copy the local variables
onto the new stack.
Added GetExeVersion() and SetTackSignalProc().
Implemented SetSigHandler().
Sat Aug 3 22:19:00 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [controls/menu.c]
"Fixed" problem in deleting menus where win32 could get into an
endless loop when it crashed. I think I've fixed the symptoms, not
the original problem so it might be worth further investigation.
* [debugger/registers.c]
Added missing #ifdefs on FS_REG and GS_REG, needed for FreeBSD to
compile wine properly.
* [files/dos_fs.c]
Made DOSFS_Hash and DOSFS_Match non-static so they can be called
from win32/findfile.c (q.v.).
* [if1632/gdi32.spec]
Added SetMapMode (call existing function)
* [if1632/kernel32.spec]
Added FindFirstFileA and SetFileAttributesA.
* [if1632/user32.spec]
Added BringWindowToTop, CreatePopupMenu, GetKeyState, GetParent,
IsDlgButtonChecked (call existing functions) and IsDialogMessageA,
UnhookWindowsHookEx.
* [win32/file.c]
Added stub function SetFileAttributes32A. It's a stub because I
can't really work out what this function should do with most
attributes in a Unix environment. Anyone care to expand it?
* [win32/findfile.c]
New file. Initial stab at FindFirstFile. This doesn't work as
specified yet, though a lot of the groundwork is there. I haven't
time to work on this for the next month, so if anyone wants to pick
it up and run with it please do.
* [win32/memory.c]
Removed malloc.h from includes (covered by stdlib.h include, and
gets rid of a warning in FreeBSD).
* [win32/newfns.c]
UnhookWindowsHookEx32A stub added.
* [win32/user32.c]
Added implementation of IsDialogMessage32A.
* [windows/dialog.c]
IsDlgButtonChecked now calls SendDlgItemMessage32A instead of
SendDlgItemMessage16.
Sat Aug 3 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [windows/graphics.c]
Removed rectangle checking (conflicted with nonstandard
mapping modes).
* [windows/dialog.c]
Added check for child-style dialogs to DS_ABSALIGN
coordinate conversion.
* [objects/color.c]
Cleaned up misc. bits
Thu Aug 1 10:51:45 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [windows/focus.c] [windows/event.c] [windows/win.c]
[windows/defdlg.c]
Fixes to focusing and activation.
* [windows/defdlg.c]
Properly(?) handle DM_GETDEFID.
* [controls/combo.c]
Handle CB_FINDSTRINGEXACT, CB_SETEDITSEL, CB_GETEDITSEL.
CBCheckSize: Adjust edit position.
Tue Jul 30 09:46:36 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/file.c] [include/file.h] [loader/module.c] [loader/ne_image.c]
Pass HFILEs instead of unix-fds to self-loader code.
Mon Jul 29 21:48:25 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/metafile.h] [objects/metafile.c] [objects/text.c]
Implemented handling of some new metafile records (META_...)
in PlayMetaFileRecord(), rewrite of 'case META_EXTTEXTOUT'.
Added functions like MF_StretchBlt() for usage in metafiles.
Minor bugfix in CopyMetafile().
* [objects/bitmap.c][objects/dib.c]
Added check for metafile-DC in Bitmap and DIB functions:
CreateCompatibleBitmap() etc.
1996-08-05 19:42:43 +02:00
|
|
|
*/
|
|
|
|
|
|
|
|
#include "windows.h"
|
|
|
|
#include "callback.h"
|
Release 970914
Thu Sep 11 18:24:56 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
* [objects/dc.c]
In DC_SetupGCForPatBlt, replace R2_NOT by GXxor with (black xor white).
Tue Sep 9 23:04:02 1997 U. Bonnes <bon@elektron.ikp.physik.th-darmstadt.de>
* [memory/virtual.c]
Do not write debugging info unconditionally to stderr.
* [files/profile.c]
Call PROFILE_GetSection in PROFILE_GetString for key_name "" too.
* [misc/crtdll.c]
Many new functions.
* [include/windows.h] [windows/winpos.c]
ClientToScreen16 doesn't have a return value.
Sun Sep 7 10:06:39 1997 Alexandre Julliard <julliard@lrc.epfl.ch>
* [misc/main.c] [AUTHORS]
Update the list of contributors. Please let me know if I forgot
someone.
* [if1632/*.spec] [if1632/builtin.c] [tools/build.c]
Ordinal base for Win32 DLLs is now computed automatically from the
lowest ordinal found.
* [include/wintypes.h]
WINAPI is now defined as attribute((stdcall)). This will require
gcc to compile.
* [if1632/thunk.c]
Removed Win32 thunks (no longer needed with stdcall).
* [if1632/crtdll.spec] [misc/crtdll.c]
Make sure we only reference cdecl functions in the spec file.
* [objects/dc.c]
Use CapNotLast drawing style for 1-pixel wide lines.
* [tools/build.c]
Added 'double' argument type.
Added 'varargs' function type for Win32.
Made CallTo16_xxx functions stdcall.
Fri Sep 5 14:50:49 1997 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [tools/build.c] [windows/win.c] [windows/event.c] [windows/message.c]
More fixes to get message exchange closer to the original.
* [misc/spy.c]
Message logs now contain window names.
* [loader/resource.c] [loader/ne_resource.c] [loader/task.c]
[objects/cursoricon.c] [windows/user.c]
Added some obscure features to fix memory leaks.
Fri Sep 5 00:46:28 1997 Jan Willamowius <jan@janhh.shnet.org>
* [if1632/kernel32.spec] [win32/newfns.c]
Added stub for UTRegister() and UTUnRegister().
Thu Sep 4 12:03:12 1997 Frans van Dorsselaer <dorssel@rulhmpc49.LeidenUniv.nl>
* [controls/edit.c]
Allow ASCII codes > 127 in WM_CHAR.
Mon Sep 1 17:23:24 1997 Dimitrie O. Paun <dimi@mail.cs.toronto.edu>
* [controls/widgets.c]
In InitCommonControls, remember the name of the class
because lpszClassName was made to point to a local array
Added the ProgressBar to the list of implemented controls.
Call InitCommonControls from WIDGETS_Init to register all
implemented Common Controls.
* [include/commctrl.h]
Added misc decl for the Progress Bar.
* [controls/progress.c] [include/progress.h]
First attempt at implementiong the Progress Bar class.
* [objects/brush.h]
Implementation for GetSysColorBrush[16|32]
* [controls/status.c]
Use DrawEdge to draw the borders and fill the background
* [controls/uitools.c]
Added DrawDiagEdge32 and DrawRectEdge32
* [graphics/painting.c]
Implement DrawEdge[16|32]
Started DrawFrameControl32
Mon Sep 1 10:07:09 1997 Lawson Whitney <lawson_whitney@juno.com>
* [misc/comm.c] [include/windows.h]
SetCommEventMask returns a SEGPTR.
Sun Aug 31 23:28:32 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [loader/pe_image.c][loader/module.c][include/pe_image.h]
[include/module.h]
Cleaned up the whole Win32 library mess (a bit).
* [debugger/stabs.c]
If 'wine' has no absolute path and isn't found, check $PATH too.
* [misc/ole2nls.c]
Some fixes.
* [misc/ver.c]
Added support for PE style version resources.
* [memory/string.c]
Check for NULL pointers to _lstr* functions, just as Windows95 does.
* [multimedia/time.c]
Made list of timers a simple linked list.
* [loader/resource.c]
Netscape 3 seems to pass NEGATIVE resource Ids (in an
unsigned int, yes). Don't know why, fixed it anyway.
* [objects/bitmap.c]
LoadImageW added.
* [include/win.h][windows/win.c]
Change wIDmenu from UINT16 to UINT32 and changed the
SetWindow(Long|Word) accordingly.
Thu Aug 28 19:30:08 1997 Morten Welinder <terra@diku.dk>
* [include/windows.h]
Add a few more colors defined for Win95.
Add a few more brush styles.
* [windows/syscolor.c]
Add error checks for SYSCOLOR_SetColor, SYSCOLOR_Init,
GetSysColor16, GetSysColor32. Add support for above colors.
Sun Aug 24 16:22:57 1997 Andrew Taylor <andrew@riscan.com>
* [multimedia/mmsystem.c]
Changed mmioDescend to use mmio functions for file I/O, neccessary
for memory files.
1997-09-14 19:17:23 +02:00
|
|
|
#include "resource.h"
|
|
|
|
#include "task.h"
|
|
|
|
#include "user.h"
|
1996-10-13 19:45:47 +02:00
|
|
|
#include "heap.h"
|
|
|
|
#include "hook.h"
|
|
|
|
#include "module.h"
|
1997-05-09 10:40:27 +02:00
|
|
|
#include "winproc.h"
|
|
|
|
#include "stackframe.h"
|
1997-09-28 19:43:24 +02:00
|
|
|
#include "selectors.h"
|
|
|
|
#include "task.h"
|
1997-05-09 10:40:27 +02:00
|
|
|
#include "except.h"
|
1997-09-28 19:43:24 +02:00
|
|
|
#include "win.h"
|
1996-08-18 18:21:52 +02:00
|
|
|
#include "stddebug.h"
|
|
|
|
#include "debug.h"
|
Release 960805
Sun Aug 4 18:18:48 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/scroll.c]
Attempted to implement undocumented scroll-bar messages.
* [tools/build.c] [include/callback.h] [windows/winproc.c]
CallTo16_* functions now get DS from the previous 16-bit stackframe.
* [if1632/thunk.c] [include/callback.h]
Added thunks to implement callbacks for the emulator. Now all the
Enum* functions always take a real function pointer even in the
emulator.
* [loader/builtin.c]
Removed binary search in BUILTIN_GetEntryPoint32(), as it didn't
work with NULL entry points. Using linear search now.
* [loader/module.c]
Implemented IsSharedSelector().
* [loader/task.c]
Changed SwitchStackTo/Back to use the instance data to store the
previous stack instead of the TDB. Also copy the local variables
onto the new stack.
Added GetExeVersion() and SetTackSignalProc().
Implemented SetSigHandler().
Sat Aug 3 22:19:00 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [controls/menu.c]
"Fixed" problem in deleting menus where win32 could get into an
endless loop when it crashed. I think I've fixed the symptoms, not
the original problem so it might be worth further investigation.
* [debugger/registers.c]
Added missing #ifdefs on FS_REG and GS_REG, needed for FreeBSD to
compile wine properly.
* [files/dos_fs.c]
Made DOSFS_Hash and DOSFS_Match non-static so they can be called
from win32/findfile.c (q.v.).
* [if1632/gdi32.spec]
Added SetMapMode (call existing function)
* [if1632/kernel32.spec]
Added FindFirstFileA and SetFileAttributesA.
* [if1632/user32.spec]
Added BringWindowToTop, CreatePopupMenu, GetKeyState, GetParent,
IsDlgButtonChecked (call existing functions) and IsDialogMessageA,
UnhookWindowsHookEx.
* [win32/file.c]
Added stub function SetFileAttributes32A. It's a stub because I
can't really work out what this function should do with most
attributes in a Unix environment. Anyone care to expand it?
* [win32/findfile.c]
New file. Initial stab at FindFirstFile. This doesn't work as
specified yet, though a lot of the groundwork is there. I haven't
time to work on this for the next month, so if anyone wants to pick
it up and run with it please do.
* [win32/memory.c]
Removed malloc.h from includes (covered by stdlib.h include, and
gets rid of a warning in FreeBSD).
* [win32/newfns.c]
UnhookWindowsHookEx32A stub added.
* [win32/user32.c]
Added implementation of IsDialogMessage32A.
* [windows/dialog.c]
IsDlgButtonChecked now calls SendDlgItemMessage32A instead of
SendDlgItemMessage16.
Sat Aug 3 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [windows/graphics.c]
Removed rectangle checking (conflicted with nonstandard
mapping modes).
* [windows/dialog.c]
Added check for child-style dialogs to DS_ABSALIGN
coordinate conversion.
* [objects/color.c]
Cleaned up misc. bits
Thu Aug 1 10:51:45 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [windows/focus.c] [windows/event.c] [windows/win.c]
[windows/defdlg.c]
Fixes to focusing and activation.
* [windows/defdlg.c]
Properly(?) handle DM_GETDEFID.
* [controls/combo.c]
Handle CB_FINDSTRINGEXACT, CB_SETEDITSEL, CB_GETEDITSEL.
CBCheckSize: Adjust edit position.
Tue Jul 30 09:46:36 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/file.c] [include/file.h] [loader/module.c] [loader/ne_image.c]
Pass HFILEs instead of unix-fds to self-loader code.
Mon Jul 29 21:48:25 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/metafile.h] [objects/metafile.c] [objects/text.c]
Implemented handling of some new metafile records (META_...)
in PlayMetaFileRecord(), rewrite of 'case META_EXTTEXTOUT'.
Added functions like MF_StretchBlt() for usage in metafiles.
Minor bugfix in CopyMetafile().
* [objects/bitmap.c][objects/dib.c]
Added check for metafile-DC in Bitmap and DIB functions:
CreateCompatibleBitmap() etc.
1996-08-05 19:42:43 +02:00
|
|
|
|
|
|
|
typedef void (*RELAY)();
|
|
|
|
|
1996-10-13 19:45:47 +02:00
|
|
|
#pragma pack(1)
|
|
|
|
|
|
|
|
typedef struct tagTHUNK
|
Release 960805
Sun Aug 4 18:18:48 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/scroll.c]
Attempted to implement undocumented scroll-bar messages.
* [tools/build.c] [include/callback.h] [windows/winproc.c]
CallTo16_* functions now get DS from the previous 16-bit stackframe.
* [if1632/thunk.c] [include/callback.h]
Added thunks to implement callbacks for the emulator. Now all the
Enum* functions always take a real function pointer even in the
emulator.
* [loader/builtin.c]
Removed binary search in BUILTIN_GetEntryPoint32(), as it didn't
work with NULL entry points. Using linear search now.
* [loader/module.c]
Implemented IsSharedSelector().
* [loader/task.c]
Changed SwitchStackTo/Back to use the instance data to store the
previous stack instead of the TDB. Also copy the local variables
onto the new stack.
Added GetExeVersion() and SetTackSignalProc().
Implemented SetSigHandler().
Sat Aug 3 22:19:00 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [controls/menu.c]
"Fixed" problem in deleting menus where win32 could get into an
endless loop when it crashed. I think I've fixed the symptoms, not
the original problem so it might be worth further investigation.
* [debugger/registers.c]
Added missing #ifdefs on FS_REG and GS_REG, needed for FreeBSD to
compile wine properly.
* [files/dos_fs.c]
Made DOSFS_Hash and DOSFS_Match non-static so they can be called
from win32/findfile.c (q.v.).
* [if1632/gdi32.spec]
Added SetMapMode (call existing function)
* [if1632/kernel32.spec]
Added FindFirstFileA and SetFileAttributesA.
* [if1632/user32.spec]
Added BringWindowToTop, CreatePopupMenu, GetKeyState, GetParent,
IsDlgButtonChecked (call existing functions) and IsDialogMessageA,
UnhookWindowsHookEx.
* [win32/file.c]
Added stub function SetFileAttributes32A. It's a stub because I
can't really work out what this function should do with most
attributes in a Unix environment. Anyone care to expand it?
* [win32/findfile.c]
New file. Initial stab at FindFirstFile. This doesn't work as
specified yet, though a lot of the groundwork is there. I haven't
time to work on this for the next month, so if anyone wants to pick
it up and run with it please do.
* [win32/memory.c]
Removed malloc.h from includes (covered by stdlib.h include, and
gets rid of a warning in FreeBSD).
* [win32/newfns.c]
UnhookWindowsHookEx32A stub added.
* [win32/user32.c]
Added implementation of IsDialogMessage32A.
* [windows/dialog.c]
IsDlgButtonChecked now calls SendDlgItemMessage32A instead of
SendDlgItemMessage16.
Sat Aug 3 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [windows/graphics.c]
Removed rectangle checking (conflicted with nonstandard
mapping modes).
* [windows/dialog.c]
Added check for child-style dialogs to DS_ABSALIGN
coordinate conversion.
* [objects/color.c]
Cleaned up misc. bits
Thu Aug 1 10:51:45 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [windows/focus.c] [windows/event.c] [windows/win.c]
[windows/defdlg.c]
Fixes to focusing and activation.
* [windows/defdlg.c]
Properly(?) handle DM_GETDEFID.
* [controls/combo.c]
Handle CB_FINDSTRINGEXACT, CB_SETEDITSEL, CB_GETEDITSEL.
CBCheckSize: Adjust edit position.
Tue Jul 30 09:46:36 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/file.c] [include/file.h] [loader/module.c] [loader/ne_image.c]
Pass HFILEs instead of unix-fds to self-loader code.
Mon Jul 29 21:48:25 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/metafile.h] [objects/metafile.c] [objects/text.c]
Implemented handling of some new metafile records (META_...)
in PlayMetaFileRecord(), rewrite of 'case META_EXTTEXTOUT'.
Added functions like MF_StretchBlt() for usage in metafiles.
Minor bugfix in CopyMetafile().
* [objects/bitmap.c][objects/dib.c]
Added check for metafile-DC in Bitmap and DIB functions:
CreateCompatibleBitmap() etc.
1996-08-05 19:42:43 +02:00
|
|
|
{
|
1996-10-13 19:45:47 +02:00
|
|
|
BYTE popl_eax; /* 0x58 popl %eax (return address)*/
|
|
|
|
BYTE pushl_func; /* 0x68 pushl $proc */
|
|
|
|
FARPROC32 proc WINE_PACKED;
|
|
|
|
BYTE pushl_eax; /* 0x50 pushl %eax */
|
|
|
|
BYTE jmp; /* 0xe9 jmp relay (relative jump)*/
|
|
|
|
RELAY relay WINE_PACKED;
|
|
|
|
struct tagTHUNK *next WINE_PACKED;
|
Release 960805
Sun Aug 4 18:18:48 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/scroll.c]
Attempted to implement undocumented scroll-bar messages.
* [tools/build.c] [include/callback.h] [windows/winproc.c]
CallTo16_* functions now get DS from the previous 16-bit stackframe.
* [if1632/thunk.c] [include/callback.h]
Added thunks to implement callbacks for the emulator. Now all the
Enum* functions always take a real function pointer even in the
emulator.
* [loader/builtin.c]
Removed binary search in BUILTIN_GetEntryPoint32(), as it didn't
work with NULL entry points. Using linear search now.
* [loader/module.c]
Implemented IsSharedSelector().
* [loader/task.c]
Changed SwitchStackTo/Back to use the instance data to store the
previous stack instead of the TDB. Also copy the local variables
onto the new stack.
Added GetExeVersion() and SetTackSignalProc().
Implemented SetSigHandler().
Sat Aug 3 22:19:00 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [controls/menu.c]
"Fixed" problem in deleting menus where win32 could get into an
endless loop when it crashed. I think I've fixed the symptoms, not
the original problem so it might be worth further investigation.
* [debugger/registers.c]
Added missing #ifdefs on FS_REG and GS_REG, needed for FreeBSD to
compile wine properly.
* [files/dos_fs.c]
Made DOSFS_Hash and DOSFS_Match non-static so they can be called
from win32/findfile.c (q.v.).
* [if1632/gdi32.spec]
Added SetMapMode (call existing function)
* [if1632/kernel32.spec]
Added FindFirstFileA and SetFileAttributesA.
* [if1632/user32.spec]
Added BringWindowToTop, CreatePopupMenu, GetKeyState, GetParent,
IsDlgButtonChecked (call existing functions) and IsDialogMessageA,
UnhookWindowsHookEx.
* [win32/file.c]
Added stub function SetFileAttributes32A. It's a stub because I
can't really work out what this function should do with most
attributes in a Unix environment. Anyone care to expand it?
* [win32/findfile.c]
New file. Initial stab at FindFirstFile. This doesn't work as
specified yet, though a lot of the groundwork is there. I haven't
time to work on this for the next month, so if anyone wants to pick
it up and run with it please do.
* [win32/memory.c]
Removed malloc.h from includes (covered by stdlib.h include, and
gets rid of a warning in FreeBSD).
* [win32/newfns.c]
UnhookWindowsHookEx32A stub added.
* [win32/user32.c]
Added implementation of IsDialogMessage32A.
* [windows/dialog.c]
IsDlgButtonChecked now calls SendDlgItemMessage32A instead of
SendDlgItemMessage16.
Sat Aug 3 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [windows/graphics.c]
Removed rectangle checking (conflicted with nonstandard
mapping modes).
* [windows/dialog.c]
Added check for child-style dialogs to DS_ABSALIGN
coordinate conversion.
* [objects/color.c]
Cleaned up misc. bits
Thu Aug 1 10:51:45 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [windows/focus.c] [windows/event.c] [windows/win.c]
[windows/defdlg.c]
Fixes to focusing and activation.
* [windows/defdlg.c]
Properly(?) handle DM_GETDEFID.
* [controls/combo.c]
Handle CB_FINDSTRINGEXACT, CB_SETEDITSEL, CB_GETEDITSEL.
CBCheckSize: Adjust edit position.
Tue Jul 30 09:46:36 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/file.c] [include/file.h] [loader/module.c] [loader/ne_image.c]
Pass HFILEs instead of unix-fds to self-loader code.
Mon Jul 29 21:48:25 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/metafile.h] [objects/metafile.c] [objects/text.c]
Implemented handling of some new metafile records (META_...)
in PlayMetaFileRecord(), rewrite of 'case META_EXTTEXTOUT'.
Added functions like MF_StretchBlt() for usage in metafiles.
Minor bugfix in CopyMetafile().
* [objects/bitmap.c][objects/dib.c]
Added check for metafile-DC in Bitmap and DIB functions:
CreateCompatibleBitmap() etc.
1996-08-05 19:42:43 +02:00
|
|
|
} THUNK;
|
|
|
|
|
1996-10-13 19:45:47 +02:00
|
|
|
#pragma pack(4)
|
|
|
|
|
Release 960805
Sun Aug 4 18:18:48 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/scroll.c]
Attempted to implement undocumented scroll-bar messages.
* [tools/build.c] [include/callback.h] [windows/winproc.c]
CallTo16_* functions now get DS from the previous 16-bit stackframe.
* [if1632/thunk.c] [include/callback.h]
Added thunks to implement callbacks for the emulator. Now all the
Enum* functions always take a real function pointer even in the
emulator.
* [loader/builtin.c]
Removed binary search in BUILTIN_GetEntryPoint32(), as it didn't
work with NULL entry points. Using linear search now.
* [loader/module.c]
Implemented IsSharedSelector().
* [loader/task.c]
Changed SwitchStackTo/Back to use the instance data to store the
previous stack instead of the TDB. Also copy the local variables
onto the new stack.
Added GetExeVersion() and SetTackSignalProc().
Implemented SetSigHandler().
Sat Aug 3 22:19:00 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [controls/menu.c]
"Fixed" problem in deleting menus where win32 could get into an
endless loop when it crashed. I think I've fixed the symptoms, not
the original problem so it might be worth further investigation.
* [debugger/registers.c]
Added missing #ifdefs on FS_REG and GS_REG, needed for FreeBSD to
compile wine properly.
* [files/dos_fs.c]
Made DOSFS_Hash and DOSFS_Match non-static so they can be called
from win32/findfile.c (q.v.).
* [if1632/gdi32.spec]
Added SetMapMode (call existing function)
* [if1632/kernel32.spec]
Added FindFirstFileA and SetFileAttributesA.
* [if1632/user32.spec]
Added BringWindowToTop, CreatePopupMenu, GetKeyState, GetParent,
IsDlgButtonChecked (call existing functions) and IsDialogMessageA,
UnhookWindowsHookEx.
* [win32/file.c]
Added stub function SetFileAttributes32A. It's a stub because I
can't really work out what this function should do with most
attributes in a Unix environment. Anyone care to expand it?
* [win32/findfile.c]
New file. Initial stab at FindFirstFile. This doesn't work as
specified yet, though a lot of the groundwork is there. I haven't
time to work on this for the next month, so if anyone wants to pick
it up and run with it please do.
* [win32/memory.c]
Removed malloc.h from includes (covered by stdlib.h include, and
gets rid of a warning in FreeBSD).
* [win32/newfns.c]
UnhookWindowsHookEx32A stub added.
* [win32/user32.c]
Added implementation of IsDialogMessage32A.
* [windows/dialog.c]
IsDlgButtonChecked now calls SendDlgItemMessage32A instead of
SendDlgItemMessage16.
Sat Aug 3 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [windows/graphics.c]
Removed rectangle checking (conflicted with nonstandard
mapping modes).
* [windows/dialog.c]
Added check for child-style dialogs to DS_ABSALIGN
coordinate conversion.
* [objects/color.c]
Cleaned up misc. bits
Thu Aug 1 10:51:45 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [windows/focus.c] [windows/event.c] [windows/win.c]
[windows/defdlg.c]
Fixes to focusing and activation.
* [windows/defdlg.c]
Properly(?) handle DM_GETDEFID.
* [controls/combo.c]
Handle CB_FINDSTRINGEXACT, CB_SETEDITSEL, CB_GETEDITSEL.
CBCheckSize: Adjust edit position.
Tue Jul 30 09:46:36 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/file.c] [include/file.h] [loader/module.c] [loader/ne_image.c]
Pass HFILEs instead of unix-fds to self-loader code.
Mon Jul 29 21:48:25 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/metafile.h] [objects/metafile.c] [objects/text.c]
Implemented handling of some new metafile records (META_...)
in PlayMetaFileRecord(), rewrite of 'case META_EXTTEXTOUT'.
Added functions like MF_StretchBlt() for usage in metafiles.
Minor bugfix in CopyMetafile().
* [objects/bitmap.c][objects/dib.c]
Added check for metafile-DC in Bitmap and DIB functions:
CreateCompatibleBitmap() etc.
1996-08-05 19:42:43 +02:00
|
|
|
#define DECL_THUNK(name,proc,relay) \
|
|
|
|
THUNK name = { 0x58, 0x68, (FARPROC32)(proc), 0x50, 0xe9, \
|
1996-10-13 19:45:47 +02:00
|
|
|
(RELAY)((char *)(relay) - (char *)(&(name).next)), NULL }
|
Release 960805
Sun Aug 4 18:18:48 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/scroll.c]
Attempted to implement undocumented scroll-bar messages.
* [tools/build.c] [include/callback.h] [windows/winproc.c]
CallTo16_* functions now get DS from the previous 16-bit stackframe.
* [if1632/thunk.c] [include/callback.h]
Added thunks to implement callbacks for the emulator. Now all the
Enum* functions always take a real function pointer even in the
emulator.
* [loader/builtin.c]
Removed binary search in BUILTIN_GetEntryPoint32(), as it didn't
work with NULL entry points. Using linear search now.
* [loader/module.c]
Implemented IsSharedSelector().
* [loader/task.c]
Changed SwitchStackTo/Back to use the instance data to store the
previous stack instead of the TDB. Also copy the local variables
onto the new stack.
Added GetExeVersion() and SetTackSignalProc().
Implemented SetSigHandler().
Sat Aug 3 22:19:00 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [controls/menu.c]
"Fixed" problem in deleting menus where win32 could get into an
endless loop when it crashed. I think I've fixed the symptoms, not
the original problem so it might be worth further investigation.
* [debugger/registers.c]
Added missing #ifdefs on FS_REG and GS_REG, needed for FreeBSD to
compile wine properly.
* [files/dos_fs.c]
Made DOSFS_Hash and DOSFS_Match non-static so they can be called
from win32/findfile.c (q.v.).
* [if1632/gdi32.spec]
Added SetMapMode (call existing function)
* [if1632/kernel32.spec]
Added FindFirstFileA and SetFileAttributesA.
* [if1632/user32.spec]
Added BringWindowToTop, CreatePopupMenu, GetKeyState, GetParent,
IsDlgButtonChecked (call existing functions) and IsDialogMessageA,
UnhookWindowsHookEx.
* [win32/file.c]
Added stub function SetFileAttributes32A. It's a stub because I
can't really work out what this function should do with most
attributes in a Unix environment. Anyone care to expand it?
* [win32/findfile.c]
New file. Initial stab at FindFirstFile. This doesn't work as
specified yet, though a lot of the groundwork is there. I haven't
time to work on this for the next month, so if anyone wants to pick
it up and run with it please do.
* [win32/memory.c]
Removed malloc.h from includes (covered by stdlib.h include, and
gets rid of a warning in FreeBSD).
* [win32/newfns.c]
UnhookWindowsHookEx32A stub added.
* [win32/user32.c]
Added implementation of IsDialogMessage32A.
* [windows/dialog.c]
IsDlgButtonChecked now calls SendDlgItemMessage32A instead of
SendDlgItemMessage16.
Sat Aug 3 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [windows/graphics.c]
Removed rectangle checking (conflicted with nonstandard
mapping modes).
* [windows/dialog.c]
Added check for child-style dialogs to DS_ABSALIGN
coordinate conversion.
* [objects/color.c]
Cleaned up misc. bits
Thu Aug 1 10:51:45 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [windows/focus.c] [windows/event.c] [windows/win.c]
[windows/defdlg.c]
Fixes to focusing and activation.
* [windows/defdlg.c]
Properly(?) handle DM_GETDEFID.
* [controls/combo.c]
Handle CB_FINDSTRINGEXACT, CB_SETEDITSEL, CB_GETEDITSEL.
CBCheckSize: Adjust edit position.
Tue Jul 30 09:46:36 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/file.c] [include/file.h] [loader/module.c] [loader/ne_image.c]
Pass HFILEs instead of unix-fds to self-loader code.
Mon Jul 29 21:48:25 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/metafile.h] [objects/metafile.c] [objects/text.c]
Implemented handling of some new metafile records (META_...)
in PlayMetaFileRecord(), rewrite of 'case META_EXTTEXTOUT'.
Added functions like MF_StretchBlt() for usage in metafiles.
Minor bugfix in CopyMetafile().
* [objects/bitmap.c][objects/dib.c]
Added check for metafile-DC in Bitmap and DIB functions:
CreateCompatibleBitmap() etc.
1996-08-05 19:42:43 +02:00
|
|
|
|
|
|
|
|
1996-10-13 19:45:47 +02:00
|
|
|
static THUNK *firstThunk = NULL;
|
|
|
|
|
1997-05-09 10:40:27 +02:00
|
|
|
static LRESULT THUNK_CallWndProc16( WNDPROC16 proc, HWND16 hwnd, UINT16 msg,
|
|
|
|
WPARAM16 wParam, LPARAM lParam );
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* THUNK_Init
|
|
|
|
*/
|
|
|
|
BOOL32 THUNK_Init(void)
|
|
|
|
{
|
|
|
|
/* Set the window proc calling functions */
|
|
|
|
WINPROC_SetCallWndProc16( THUNK_CallWndProc16 );
|
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
Release 960805
Sun Aug 4 18:18:48 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/scroll.c]
Attempted to implement undocumented scroll-bar messages.
* [tools/build.c] [include/callback.h] [windows/winproc.c]
CallTo16_* functions now get DS from the previous 16-bit stackframe.
* [if1632/thunk.c] [include/callback.h]
Added thunks to implement callbacks for the emulator. Now all the
Enum* functions always take a real function pointer even in the
emulator.
* [loader/builtin.c]
Removed binary search in BUILTIN_GetEntryPoint32(), as it didn't
work with NULL entry points. Using linear search now.
* [loader/module.c]
Implemented IsSharedSelector().
* [loader/task.c]
Changed SwitchStackTo/Back to use the instance data to store the
previous stack instead of the TDB. Also copy the local variables
onto the new stack.
Added GetExeVersion() and SetTackSignalProc().
Implemented SetSigHandler().
Sat Aug 3 22:19:00 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [controls/menu.c]
"Fixed" problem in deleting menus where win32 could get into an
endless loop when it crashed. I think I've fixed the symptoms, not
the original problem so it might be worth further investigation.
* [debugger/registers.c]
Added missing #ifdefs on FS_REG and GS_REG, needed for FreeBSD to
compile wine properly.
* [files/dos_fs.c]
Made DOSFS_Hash and DOSFS_Match non-static so they can be called
from win32/findfile.c (q.v.).
* [if1632/gdi32.spec]
Added SetMapMode (call existing function)
* [if1632/kernel32.spec]
Added FindFirstFileA and SetFileAttributesA.
* [if1632/user32.spec]
Added BringWindowToTop, CreatePopupMenu, GetKeyState, GetParent,
IsDlgButtonChecked (call existing functions) and IsDialogMessageA,
UnhookWindowsHookEx.
* [win32/file.c]
Added stub function SetFileAttributes32A. It's a stub because I
can't really work out what this function should do with most
attributes in a Unix environment. Anyone care to expand it?
* [win32/findfile.c]
New file. Initial stab at FindFirstFile. This doesn't work as
specified yet, though a lot of the groundwork is there. I haven't
time to work on this for the next month, so if anyone wants to pick
it up and run with it please do.
* [win32/memory.c]
Removed malloc.h from includes (covered by stdlib.h include, and
gets rid of a warning in FreeBSD).
* [win32/newfns.c]
UnhookWindowsHookEx32A stub added.
* [win32/user32.c]
Added implementation of IsDialogMessage32A.
* [windows/dialog.c]
IsDlgButtonChecked now calls SendDlgItemMessage32A instead of
SendDlgItemMessage16.
Sat Aug 3 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [windows/graphics.c]
Removed rectangle checking (conflicted with nonstandard
mapping modes).
* [windows/dialog.c]
Added check for child-style dialogs to DS_ABSALIGN
coordinate conversion.
* [objects/color.c]
Cleaned up misc. bits
Thu Aug 1 10:51:45 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [windows/focus.c] [windows/event.c] [windows/win.c]
[windows/defdlg.c]
Fixes to focusing and activation.
* [windows/defdlg.c]
Properly(?) handle DM_GETDEFID.
* [controls/combo.c]
Handle CB_FINDSTRINGEXACT, CB_SETEDITSEL, CB_GETEDITSEL.
CBCheckSize: Adjust edit position.
Tue Jul 30 09:46:36 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/file.c] [include/file.h] [loader/module.c] [loader/ne_image.c]
Pass HFILEs instead of unix-fds to self-loader code.
Mon Jul 29 21:48:25 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/metafile.h] [objects/metafile.c] [objects/text.c]
Implemented handling of some new metafile records (META_...)
in PlayMetaFileRecord(), rewrite of 'case META_EXTTEXTOUT'.
Added functions like MF_StretchBlt() for usage in metafiles.
Minor bugfix in CopyMetafile().
* [objects/bitmap.c][objects/dib.c]
Added check for metafile-DC in Bitmap and DIB functions:
CreateCompatibleBitmap() etc.
1996-08-05 19:42:43 +02:00
|
|
|
/***********************************************************************
|
|
|
|
* THUNK_Alloc
|
|
|
|
*/
|
|
|
|
static THUNK *THUNK_Alloc( FARPROC32 func, RELAY relay )
|
|
|
|
{
|
1997-02-02 20:01:52 +01:00
|
|
|
THUNK *thunk = HeapAlloc( GetProcessHeap(), 0, sizeof(*thunk) );
|
Release 960805
Sun Aug 4 18:18:48 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/scroll.c]
Attempted to implement undocumented scroll-bar messages.
* [tools/build.c] [include/callback.h] [windows/winproc.c]
CallTo16_* functions now get DS from the previous 16-bit stackframe.
* [if1632/thunk.c] [include/callback.h]
Added thunks to implement callbacks for the emulator. Now all the
Enum* functions always take a real function pointer even in the
emulator.
* [loader/builtin.c]
Removed binary search in BUILTIN_GetEntryPoint32(), as it didn't
work with NULL entry points. Using linear search now.
* [loader/module.c]
Implemented IsSharedSelector().
* [loader/task.c]
Changed SwitchStackTo/Back to use the instance data to store the
previous stack instead of the TDB. Also copy the local variables
onto the new stack.
Added GetExeVersion() and SetTackSignalProc().
Implemented SetSigHandler().
Sat Aug 3 22:19:00 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [controls/menu.c]
"Fixed" problem in deleting menus where win32 could get into an
endless loop when it crashed. I think I've fixed the symptoms, not
the original problem so it might be worth further investigation.
* [debugger/registers.c]
Added missing #ifdefs on FS_REG and GS_REG, needed for FreeBSD to
compile wine properly.
* [files/dos_fs.c]
Made DOSFS_Hash and DOSFS_Match non-static so they can be called
from win32/findfile.c (q.v.).
* [if1632/gdi32.spec]
Added SetMapMode (call existing function)
* [if1632/kernel32.spec]
Added FindFirstFileA and SetFileAttributesA.
* [if1632/user32.spec]
Added BringWindowToTop, CreatePopupMenu, GetKeyState, GetParent,
IsDlgButtonChecked (call existing functions) and IsDialogMessageA,
UnhookWindowsHookEx.
* [win32/file.c]
Added stub function SetFileAttributes32A. It's a stub because I
can't really work out what this function should do with most
attributes in a Unix environment. Anyone care to expand it?
* [win32/findfile.c]
New file. Initial stab at FindFirstFile. This doesn't work as
specified yet, though a lot of the groundwork is there. I haven't
time to work on this for the next month, so if anyone wants to pick
it up and run with it please do.
* [win32/memory.c]
Removed malloc.h from includes (covered by stdlib.h include, and
gets rid of a warning in FreeBSD).
* [win32/newfns.c]
UnhookWindowsHookEx32A stub added.
* [win32/user32.c]
Added implementation of IsDialogMessage32A.
* [windows/dialog.c]
IsDlgButtonChecked now calls SendDlgItemMessage32A instead of
SendDlgItemMessage16.
Sat Aug 3 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [windows/graphics.c]
Removed rectangle checking (conflicted with nonstandard
mapping modes).
* [windows/dialog.c]
Added check for child-style dialogs to DS_ABSALIGN
coordinate conversion.
* [objects/color.c]
Cleaned up misc. bits
Thu Aug 1 10:51:45 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [windows/focus.c] [windows/event.c] [windows/win.c]
[windows/defdlg.c]
Fixes to focusing and activation.
* [windows/defdlg.c]
Properly(?) handle DM_GETDEFID.
* [controls/combo.c]
Handle CB_FINDSTRINGEXACT, CB_SETEDITSEL, CB_GETEDITSEL.
CBCheckSize: Adjust edit position.
Tue Jul 30 09:46:36 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/file.c] [include/file.h] [loader/module.c] [loader/ne_image.c]
Pass HFILEs instead of unix-fds to self-loader code.
Mon Jul 29 21:48:25 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/metafile.h] [objects/metafile.c] [objects/text.c]
Implemented handling of some new metafile records (META_...)
in PlayMetaFileRecord(), rewrite of 'case META_EXTTEXTOUT'.
Added functions like MF_StretchBlt() for usage in metafiles.
Minor bugfix in CopyMetafile().
* [objects/bitmap.c][objects/dib.c]
Added check for metafile-DC in Bitmap and DIB functions:
CreateCompatibleBitmap() etc.
1996-08-05 19:42:43 +02:00
|
|
|
if (thunk)
|
|
|
|
{
|
|
|
|
thunk->popl_eax = 0x58;
|
|
|
|
thunk->pushl_func = 0x68;
|
|
|
|
thunk->proc = func;
|
|
|
|
thunk->pushl_eax = 0x50;
|
|
|
|
thunk->jmp = 0xe9;
|
1996-10-13 19:45:47 +02:00
|
|
|
thunk->relay = (RELAY)((char *)relay - (char *)(&thunk->next));
|
|
|
|
thunk->next = firstThunk;
|
|
|
|
firstThunk = thunk;
|
Release 960805
Sun Aug 4 18:18:48 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/scroll.c]
Attempted to implement undocumented scroll-bar messages.
* [tools/build.c] [include/callback.h] [windows/winproc.c]
CallTo16_* functions now get DS from the previous 16-bit stackframe.
* [if1632/thunk.c] [include/callback.h]
Added thunks to implement callbacks for the emulator. Now all the
Enum* functions always take a real function pointer even in the
emulator.
* [loader/builtin.c]
Removed binary search in BUILTIN_GetEntryPoint32(), as it didn't
work with NULL entry points. Using linear search now.
* [loader/module.c]
Implemented IsSharedSelector().
* [loader/task.c]
Changed SwitchStackTo/Back to use the instance data to store the
previous stack instead of the TDB. Also copy the local variables
onto the new stack.
Added GetExeVersion() and SetTackSignalProc().
Implemented SetSigHandler().
Sat Aug 3 22:19:00 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [controls/menu.c]
"Fixed" problem in deleting menus where win32 could get into an
endless loop when it crashed. I think I've fixed the symptoms, not
the original problem so it might be worth further investigation.
* [debugger/registers.c]
Added missing #ifdefs on FS_REG and GS_REG, needed for FreeBSD to
compile wine properly.
* [files/dos_fs.c]
Made DOSFS_Hash and DOSFS_Match non-static so they can be called
from win32/findfile.c (q.v.).
* [if1632/gdi32.spec]
Added SetMapMode (call existing function)
* [if1632/kernel32.spec]
Added FindFirstFileA and SetFileAttributesA.
* [if1632/user32.spec]
Added BringWindowToTop, CreatePopupMenu, GetKeyState, GetParent,
IsDlgButtonChecked (call existing functions) and IsDialogMessageA,
UnhookWindowsHookEx.
* [win32/file.c]
Added stub function SetFileAttributes32A. It's a stub because I
can't really work out what this function should do with most
attributes in a Unix environment. Anyone care to expand it?
* [win32/findfile.c]
New file. Initial stab at FindFirstFile. This doesn't work as
specified yet, though a lot of the groundwork is there. I haven't
time to work on this for the next month, so if anyone wants to pick
it up and run with it please do.
* [win32/memory.c]
Removed malloc.h from includes (covered by stdlib.h include, and
gets rid of a warning in FreeBSD).
* [win32/newfns.c]
UnhookWindowsHookEx32A stub added.
* [win32/user32.c]
Added implementation of IsDialogMessage32A.
* [windows/dialog.c]
IsDlgButtonChecked now calls SendDlgItemMessage32A instead of
SendDlgItemMessage16.
Sat Aug 3 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [windows/graphics.c]
Removed rectangle checking (conflicted with nonstandard
mapping modes).
* [windows/dialog.c]
Added check for child-style dialogs to DS_ABSALIGN
coordinate conversion.
* [objects/color.c]
Cleaned up misc. bits
Thu Aug 1 10:51:45 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [windows/focus.c] [windows/event.c] [windows/win.c]
[windows/defdlg.c]
Fixes to focusing and activation.
* [windows/defdlg.c]
Properly(?) handle DM_GETDEFID.
* [controls/combo.c]
Handle CB_FINDSTRINGEXACT, CB_SETEDITSEL, CB_GETEDITSEL.
CBCheckSize: Adjust edit position.
Tue Jul 30 09:46:36 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/file.c] [include/file.h] [loader/module.c] [loader/ne_image.c]
Pass HFILEs instead of unix-fds to self-loader code.
Mon Jul 29 21:48:25 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/metafile.h] [objects/metafile.c] [objects/text.c]
Implemented handling of some new metafile records (META_...)
in PlayMetaFileRecord(), rewrite of 'case META_EXTTEXTOUT'.
Added functions like MF_StretchBlt() for usage in metafiles.
Minor bugfix in CopyMetafile().
* [objects/bitmap.c][objects/dib.c]
Added check for metafile-DC in Bitmap and DIB functions:
CreateCompatibleBitmap() etc.
1996-08-05 19:42:43 +02:00
|
|
|
}
|
|
|
|
return thunk;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
1996-10-13 19:45:47 +02:00
|
|
|
/***********************************************************************
|
|
|
|
* THUNK_Find
|
|
|
|
*/
|
|
|
|
static THUNK *THUNK_Find( FARPROC32 func )
|
|
|
|
{
|
|
|
|
THUNK *thunk = firstThunk;
|
|
|
|
while (thunk && (thunk->proc != func)) thunk = thunk->next;
|
|
|
|
return thunk;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
Release 960805
Sun Aug 4 18:18:48 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/scroll.c]
Attempted to implement undocumented scroll-bar messages.
* [tools/build.c] [include/callback.h] [windows/winproc.c]
CallTo16_* functions now get DS from the previous 16-bit stackframe.
* [if1632/thunk.c] [include/callback.h]
Added thunks to implement callbacks for the emulator. Now all the
Enum* functions always take a real function pointer even in the
emulator.
* [loader/builtin.c]
Removed binary search in BUILTIN_GetEntryPoint32(), as it didn't
work with NULL entry points. Using linear search now.
* [loader/module.c]
Implemented IsSharedSelector().
* [loader/task.c]
Changed SwitchStackTo/Back to use the instance data to store the
previous stack instead of the TDB. Also copy the local variables
onto the new stack.
Added GetExeVersion() and SetTackSignalProc().
Implemented SetSigHandler().
Sat Aug 3 22:19:00 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [controls/menu.c]
"Fixed" problem in deleting menus where win32 could get into an
endless loop when it crashed. I think I've fixed the symptoms, not
the original problem so it might be worth further investigation.
* [debugger/registers.c]
Added missing #ifdefs on FS_REG and GS_REG, needed for FreeBSD to
compile wine properly.
* [files/dos_fs.c]
Made DOSFS_Hash and DOSFS_Match non-static so they can be called
from win32/findfile.c (q.v.).
* [if1632/gdi32.spec]
Added SetMapMode (call existing function)
* [if1632/kernel32.spec]
Added FindFirstFileA and SetFileAttributesA.
* [if1632/user32.spec]
Added BringWindowToTop, CreatePopupMenu, GetKeyState, GetParent,
IsDlgButtonChecked (call existing functions) and IsDialogMessageA,
UnhookWindowsHookEx.
* [win32/file.c]
Added stub function SetFileAttributes32A. It's a stub because I
can't really work out what this function should do with most
attributes in a Unix environment. Anyone care to expand it?
* [win32/findfile.c]
New file. Initial stab at FindFirstFile. This doesn't work as
specified yet, though a lot of the groundwork is there. I haven't
time to work on this for the next month, so if anyone wants to pick
it up and run with it please do.
* [win32/memory.c]
Removed malloc.h from includes (covered by stdlib.h include, and
gets rid of a warning in FreeBSD).
* [win32/newfns.c]
UnhookWindowsHookEx32A stub added.
* [win32/user32.c]
Added implementation of IsDialogMessage32A.
* [windows/dialog.c]
IsDlgButtonChecked now calls SendDlgItemMessage32A instead of
SendDlgItemMessage16.
Sat Aug 3 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [windows/graphics.c]
Removed rectangle checking (conflicted with nonstandard
mapping modes).
* [windows/dialog.c]
Added check for child-style dialogs to DS_ABSALIGN
coordinate conversion.
* [objects/color.c]
Cleaned up misc. bits
Thu Aug 1 10:51:45 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [windows/focus.c] [windows/event.c] [windows/win.c]
[windows/defdlg.c]
Fixes to focusing and activation.
* [windows/defdlg.c]
Properly(?) handle DM_GETDEFID.
* [controls/combo.c]
Handle CB_FINDSTRINGEXACT, CB_SETEDITSEL, CB_GETEDITSEL.
CBCheckSize: Adjust edit position.
Tue Jul 30 09:46:36 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/file.c] [include/file.h] [loader/module.c] [loader/ne_image.c]
Pass HFILEs instead of unix-fds to self-loader code.
Mon Jul 29 21:48:25 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/metafile.h] [objects/metafile.c] [objects/text.c]
Implemented handling of some new metafile records (META_...)
in PlayMetaFileRecord(), rewrite of 'case META_EXTTEXTOUT'.
Added functions like MF_StretchBlt() for usage in metafiles.
Minor bugfix in CopyMetafile().
* [objects/bitmap.c][objects/dib.c]
Added check for metafile-DC in Bitmap and DIB functions:
CreateCompatibleBitmap() etc.
1996-08-05 19:42:43 +02:00
|
|
|
/***********************************************************************
|
|
|
|
* THUNK_Free
|
|
|
|
*/
|
1997-05-09 10:40:27 +02:00
|
|
|
static void THUNK_Free( THUNK *thunk )
|
Release 960805
Sun Aug 4 18:18:48 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/scroll.c]
Attempted to implement undocumented scroll-bar messages.
* [tools/build.c] [include/callback.h] [windows/winproc.c]
CallTo16_* functions now get DS from the previous 16-bit stackframe.
* [if1632/thunk.c] [include/callback.h]
Added thunks to implement callbacks for the emulator. Now all the
Enum* functions always take a real function pointer even in the
emulator.
* [loader/builtin.c]
Removed binary search in BUILTIN_GetEntryPoint32(), as it didn't
work with NULL entry points. Using linear search now.
* [loader/module.c]
Implemented IsSharedSelector().
* [loader/task.c]
Changed SwitchStackTo/Back to use the instance data to store the
previous stack instead of the TDB. Also copy the local variables
onto the new stack.
Added GetExeVersion() and SetTackSignalProc().
Implemented SetSigHandler().
Sat Aug 3 22:19:00 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [controls/menu.c]
"Fixed" problem in deleting menus where win32 could get into an
endless loop when it crashed. I think I've fixed the symptoms, not
the original problem so it might be worth further investigation.
* [debugger/registers.c]
Added missing #ifdefs on FS_REG and GS_REG, needed for FreeBSD to
compile wine properly.
* [files/dos_fs.c]
Made DOSFS_Hash and DOSFS_Match non-static so they can be called
from win32/findfile.c (q.v.).
* [if1632/gdi32.spec]
Added SetMapMode (call existing function)
* [if1632/kernel32.spec]
Added FindFirstFileA and SetFileAttributesA.
* [if1632/user32.spec]
Added BringWindowToTop, CreatePopupMenu, GetKeyState, GetParent,
IsDlgButtonChecked (call existing functions) and IsDialogMessageA,
UnhookWindowsHookEx.
* [win32/file.c]
Added stub function SetFileAttributes32A. It's a stub because I
can't really work out what this function should do with most
attributes in a Unix environment. Anyone care to expand it?
* [win32/findfile.c]
New file. Initial stab at FindFirstFile. This doesn't work as
specified yet, though a lot of the groundwork is there. I haven't
time to work on this for the next month, so if anyone wants to pick
it up and run with it please do.
* [win32/memory.c]
Removed malloc.h from includes (covered by stdlib.h include, and
gets rid of a warning in FreeBSD).
* [win32/newfns.c]
UnhookWindowsHookEx32A stub added.
* [win32/user32.c]
Added implementation of IsDialogMessage32A.
* [windows/dialog.c]
IsDlgButtonChecked now calls SendDlgItemMessage32A instead of
SendDlgItemMessage16.
Sat Aug 3 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [windows/graphics.c]
Removed rectangle checking (conflicted with nonstandard
mapping modes).
* [windows/dialog.c]
Added check for child-style dialogs to DS_ABSALIGN
coordinate conversion.
* [objects/color.c]
Cleaned up misc. bits
Thu Aug 1 10:51:45 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [windows/focus.c] [windows/event.c] [windows/win.c]
[windows/defdlg.c]
Fixes to focusing and activation.
* [windows/defdlg.c]
Properly(?) handle DM_GETDEFID.
* [controls/combo.c]
Handle CB_FINDSTRINGEXACT, CB_SETEDITSEL, CB_GETEDITSEL.
CBCheckSize: Adjust edit position.
Tue Jul 30 09:46:36 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/file.c] [include/file.h] [loader/module.c] [loader/ne_image.c]
Pass HFILEs instead of unix-fds to self-loader code.
Mon Jul 29 21:48:25 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/metafile.h] [objects/metafile.c] [objects/text.c]
Implemented handling of some new metafile records (META_...)
in PlayMetaFileRecord(), rewrite of 'case META_EXTTEXTOUT'.
Added functions like MF_StretchBlt() for usage in metafiles.
Minor bugfix in CopyMetafile().
* [objects/bitmap.c][objects/dib.c]
Added check for metafile-DC in Bitmap and DIB functions:
CreateCompatibleBitmap() etc.
1996-08-05 19:42:43 +02:00
|
|
|
{
|
1997-02-02 20:01:52 +01:00
|
|
|
if (HEAP_IsInsideHeap( GetProcessHeap(), 0, thunk ))
|
1996-10-13 19:45:47 +02:00
|
|
|
{
|
|
|
|
THUNK **prev = &firstThunk;
|
|
|
|
while (*prev && (*prev != thunk)) prev = &(*prev)->next;
|
|
|
|
if (*prev)
|
|
|
|
{
|
|
|
|
*prev = thunk->next;
|
1997-02-02 20:01:52 +01:00
|
|
|
HeapFree( GetProcessHeap(), 0, thunk );
|
1996-10-13 19:45:47 +02:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
fprintf( stderr, "THUNK_Free: invalid thunk addr %p\n", thunk );
|
Release 960805
Sun Aug 4 18:18:48 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/scroll.c]
Attempted to implement undocumented scroll-bar messages.
* [tools/build.c] [include/callback.h] [windows/winproc.c]
CallTo16_* functions now get DS from the previous 16-bit stackframe.
* [if1632/thunk.c] [include/callback.h]
Added thunks to implement callbacks for the emulator. Now all the
Enum* functions always take a real function pointer even in the
emulator.
* [loader/builtin.c]
Removed binary search in BUILTIN_GetEntryPoint32(), as it didn't
work with NULL entry points. Using linear search now.
* [loader/module.c]
Implemented IsSharedSelector().
* [loader/task.c]
Changed SwitchStackTo/Back to use the instance data to store the
previous stack instead of the TDB. Also copy the local variables
onto the new stack.
Added GetExeVersion() and SetTackSignalProc().
Implemented SetSigHandler().
Sat Aug 3 22:19:00 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [controls/menu.c]
"Fixed" problem in deleting menus where win32 could get into an
endless loop when it crashed. I think I've fixed the symptoms, not
the original problem so it might be worth further investigation.
* [debugger/registers.c]
Added missing #ifdefs on FS_REG and GS_REG, needed for FreeBSD to
compile wine properly.
* [files/dos_fs.c]
Made DOSFS_Hash and DOSFS_Match non-static so they can be called
from win32/findfile.c (q.v.).
* [if1632/gdi32.spec]
Added SetMapMode (call existing function)
* [if1632/kernel32.spec]
Added FindFirstFileA and SetFileAttributesA.
* [if1632/user32.spec]
Added BringWindowToTop, CreatePopupMenu, GetKeyState, GetParent,
IsDlgButtonChecked (call existing functions) and IsDialogMessageA,
UnhookWindowsHookEx.
* [win32/file.c]
Added stub function SetFileAttributes32A. It's a stub because I
can't really work out what this function should do with most
attributes in a Unix environment. Anyone care to expand it?
* [win32/findfile.c]
New file. Initial stab at FindFirstFile. This doesn't work as
specified yet, though a lot of the groundwork is there. I haven't
time to work on this for the next month, so if anyone wants to pick
it up and run with it please do.
* [win32/memory.c]
Removed malloc.h from includes (covered by stdlib.h include, and
gets rid of a warning in FreeBSD).
* [win32/newfns.c]
UnhookWindowsHookEx32A stub added.
* [win32/user32.c]
Added implementation of IsDialogMessage32A.
* [windows/dialog.c]
IsDlgButtonChecked now calls SendDlgItemMessage32A instead of
SendDlgItemMessage16.
Sat Aug 3 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [windows/graphics.c]
Removed rectangle checking (conflicted with nonstandard
mapping modes).
* [windows/dialog.c]
Added check for child-style dialogs to DS_ABSALIGN
coordinate conversion.
* [objects/color.c]
Cleaned up misc. bits
Thu Aug 1 10:51:45 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [windows/focus.c] [windows/event.c] [windows/win.c]
[windows/defdlg.c]
Fixes to focusing and activation.
* [windows/defdlg.c]
Properly(?) handle DM_GETDEFID.
* [controls/combo.c]
Handle CB_FINDSTRINGEXACT, CB_SETEDITSEL, CB_GETEDITSEL.
CBCheckSize: Adjust edit position.
Tue Jul 30 09:46:36 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/file.c] [include/file.h] [loader/module.c] [loader/ne_image.c]
Pass HFILEs instead of unix-fds to self-loader code.
Mon Jul 29 21:48:25 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/metafile.h] [objects/metafile.c] [objects/text.c]
Implemented handling of some new metafile records (META_...)
in PlayMetaFileRecord(), rewrite of 'case META_EXTTEXTOUT'.
Added functions like MF_StretchBlt() for usage in metafiles.
Minor bugfix in CopyMetafile().
* [objects/bitmap.c][objects/dib.c]
Added check for metafile-DC in Bitmap and DIB functions:
CreateCompatibleBitmap() etc.
1996-08-05 19:42:43 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
1997-05-09 10:40:27 +02:00
|
|
|
/***********************************************************************
|
|
|
|
* THUNK_CallWndProc16
|
|
|
|
*
|
|
|
|
* Call a 16-bit window procedure
|
|
|
|
*/
|
|
|
|
static LRESULT THUNK_CallWndProc16( WNDPROC16 proc, HWND16 hwnd, UINT16 msg,
|
|
|
|
WPARAM16 wParam, LPARAM lParam )
|
|
|
|
{
|
1997-09-28 19:43:24 +02:00
|
|
|
CONTEXT context;
|
|
|
|
LRESULT ret;
|
|
|
|
WORD *args;
|
|
|
|
WND *wndPtr = WIN_FindWndPtr( hwnd );
|
|
|
|
DWORD offset = 0;
|
|
|
|
|
|
|
|
/* Window procedures want ax = hInstance, ds = es = ss */
|
|
|
|
|
|
|
|
DS_reg(&context) = SELECTOROF(IF1632_Saved16_ss_sp);
|
|
|
|
ES_reg(&context) = DS_reg(&context);
|
|
|
|
EAX_reg(&context) = wndPtr ? wndPtr->hInstance : DS_reg(&context);
|
|
|
|
CS_reg(&context) = SELECTOROF(proc);
|
|
|
|
EIP_reg(&context) = OFFSETOF(proc);
|
|
|
|
EBP_reg(&context) = OFFSETOF(IF1632_Saved16_ss_sp)
|
|
|
|
+ (WORD)&((STACK16FRAME*)0)->bp;
|
|
|
|
|
Release 970914
Thu Sep 11 18:24:56 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
* [objects/dc.c]
In DC_SetupGCForPatBlt, replace R2_NOT by GXxor with (black xor white).
Tue Sep 9 23:04:02 1997 U. Bonnes <bon@elektron.ikp.physik.th-darmstadt.de>
* [memory/virtual.c]
Do not write debugging info unconditionally to stderr.
* [files/profile.c]
Call PROFILE_GetSection in PROFILE_GetString for key_name "" too.
* [misc/crtdll.c]
Many new functions.
* [include/windows.h] [windows/winpos.c]
ClientToScreen16 doesn't have a return value.
Sun Sep 7 10:06:39 1997 Alexandre Julliard <julliard@lrc.epfl.ch>
* [misc/main.c] [AUTHORS]
Update the list of contributors. Please let me know if I forgot
someone.
* [if1632/*.spec] [if1632/builtin.c] [tools/build.c]
Ordinal base for Win32 DLLs is now computed automatically from the
lowest ordinal found.
* [include/wintypes.h]
WINAPI is now defined as attribute((stdcall)). This will require
gcc to compile.
* [if1632/thunk.c]
Removed Win32 thunks (no longer needed with stdcall).
* [if1632/crtdll.spec] [misc/crtdll.c]
Make sure we only reference cdecl functions in the spec file.
* [objects/dc.c]
Use CapNotLast drawing style for 1-pixel wide lines.
* [tools/build.c]
Added 'double' argument type.
Added 'varargs' function type for Win32.
Made CallTo16_xxx functions stdcall.
Fri Sep 5 14:50:49 1997 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [tools/build.c] [windows/win.c] [windows/event.c] [windows/message.c]
More fixes to get message exchange closer to the original.
* [misc/spy.c]
Message logs now contain window names.
* [loader/resource.c] [loader/ne_resource.c] [loader/task.c]
[objects/cursoricon.c] [windows/user.c]
Added some obscure features to fix memory leaks.
Fri Sep 5 00:46:28 1997 Jan Willamowius <jan@janhh.shnet.org>
* [if1632/kernel32.spec] [win32/newfns.c]
Added stub for UTRegister() and UTUnRegister().
Thu Sep 4 12:03:12 1997 Frans van Dorsselaer <dorssel@rulhmpc49.LeidenUniv.nl>
* [controls/edit.c]
Allow ASCII codes > 127 in WM_CHAR.
Mon Sep 1 17:23:24 1997 Dimitrie O. Paun <dimi@mail.cs.toronto.edu>
* [controls/widgets.c]
In InitCommonControls, remember the name of the class
because lpszClassName was made to point to a local array
Added the ProgressBar to the list of implemented controls.
Call InitCommonControls from WIDGETS_Init to register all
implemented Common Controls.
* [include/commctrl.h]
Added misc decl for the Progress Bar.
* [controls/progress.c] [include/progress.h]
First attempt at implementiong the Progress Bar class.
* [objects/brush.h]
Implementation for GetSysColorBrush[16|32]
* [controls/status.c]
Use DrawEdge to draw the borders and fill the background
* [controls/uitools.c]
Added DrawDiagEdge32 and DrawRectEdge32
* [graphics/painting.c]
Implement DrawEdge[16|32]
Started DrawFrameControl32
Mon Sep 1 10:07:09 1997 Lawson Whitney <lawson_whitney@juno.com>
* [misc/comm.c] [include/windows.h]
SetCommEventMask returns a SEGPTR.
Sun Aug 31 23:28:32 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [loader/pe_image.c][loader/module.c][include/pe_image.h]
[include/module.h]
Cleaned up the whole Win32 library mess (a bit).
* [debugger/stabs.c]
If 'wine' has no absolute path and isn't found, check $PATH too.
* [misc/ole2nls.c]
Some fixes.
* [misc/ver.c]
Added support for PE style version resources.
* [memory/string.c]
Check for NULL pointers to _lstr* functions, just as Windows95 does.
* [multimedia/time.c]
Made list of timers a simple linked list.
* [loader/resource.c]
Netscape 3 seems to pass NEGATIVE resource Ids (in an
unsigned int, yes). Don't know why, fixed it anyway.
* [objects/bitmap.c]
LoadImageW added.
* [include/win.h][windows/win.c]
Change wIDmenu from UINT16 to UINT32 and changed the
SetWindow(Long|Word) accordingly.
Thu Aug 28 19:30:08 1997 Morten Welinder <terra@diku.dk>
* [include/windows.h]
Add a few more colors defined for Win95.
Add a few more brush styles.
* [windows/syscolor.c]
Add error checks for SYSCOLOR_SetColor, SYSCOLOR_Init,
GetSysColor16, GetSysColor32. Add support for above colors.
Sun Aug 24 16:22:57 1997 Andrew Taylor <andrew@riscan.com>
* [multimedia/mmsystem.c]
Changed mmioDescend to use mmio functions for file I/O, neccessary
for memory files.
1997-09-14 19:17:23 +02:00
|
|
|
if (((msg == WM_CREATE) || (msg == WM_NCCREATE)) && lParam)
|
1997-05-09 10:40:27 +02:00
|
|
|
{
|
|
|
|
/* Build the CREATESTRUCT on the 16-bit stack. */
|
|
|
|
/* This is really ugly, but some programs (notably the */
|
|
|
|
/* "Undocumented Windows" examples) want it that way. */
|
1997-09-28 19:43:24 +02:00
|
|
|
CREATESTRUCT16 *cs = (CREATESTRUCT16 *)PTR_SEG_TO_LIN(lParam);
|
|
|
|
offset = sizeof(*cs);
|
|
|
|
memcpy( (char *)CURRENT_STACK16 - offset, cs, offset );
|
|
|
|
IF1632_Saved16_ss_sp -= offset;
|
|
|
|
lParam = IF1632_Saved16_ss_sp;
|
1997-05-09 10:40:27 +02:00
|
|
|
}
|
1997-09-28 19:43:24 +02:00
|
|
|
args = (WORD *)CURRENT_STACK16 - 7;
|
|
|
|
args[0] = LOWORD(lParam);
|
|
|
|
args[1] = HIWORD(lParam);
|
|
|
|
args[2] = wParam;
|
|
|
|
args[3] = msg;
|
|
|
|
args[4] = hwnd;
|
|
|
|
/* args[5] and args[6] are used by relay code to store the stack pointer */
|
|
|
|
|
|
|
|
ret = CallTo16_regs_( &context, -(5 * sizeof(WORD)) );
|
|
|
|
IF1632_Saved16_ss_sp += offset;
|
|
|
|
return ret;
|
1997-05-09 10:40:27 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
Release 960805
Sun Aug 4 18:18:48 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/scroll.c]
Attempted to implement undocumented scroll-bar messages.
* [tools/build.c] [include/callback.h] [windows/winproc.c]
CallTo16_* functions now get DS from the previous 16-bit stackframe.
* [if1632/thunk.c] [include/callback.h]
Added thunks to implement callbacks for the emulator. Now all the
Enum* functions always take a real function pointer even in the
emulator.
* [loader/builtin.c]
Removed binary search in BUILTIN_GetEntryPoint32(), as it didn't
work with NULL entry points. Using linear search now.
* [loader/module.c]
Implemented IsSharedSelector().
* [loader/task.c]
Changed SwitchStackTo/Back to use the instance data to store the
previous stack instead of the TDB. Also copy the local variables
onto the new stack.
Added GetExeVersion() and SetTackSignalProc().
Implemented SetSigHandler().
Sat Aug 3 22:19:00 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [controls/menu.c]
"Fixed" problem in deleting menus where win32 could get into an
endless loop when it crashed. I think I've fixed the symptoms, not
the original problem so it might be worth further investigation.
* [debugger/registers.c]
Added missing #ifdefs on FS_REG and GS_REG, needed for FreeBSD to
compile wine properly.
* [files/dos_fs.c]
Made DOSFS_Hash and DOSFS_Match non-static so they can be called
from win32/findfile.c (q.v.).
* [if1632/gdi32.spec]
Added SetMapMode (call existing function)
* [if1632/kernel32.spec]
Added FindFirstFileA and SetFileAttributesA.
* [if1632/user32.spec]
Added BringWindowToTop, CreatePopupMenu, GetKeyState, GetParent,
IsDlgButtonChecked (call existing functions) and IsDialogMessageA,
UnhookWindowsHookEx.
* [win32/file.c]
Added stub function SetFileAttributes32A. It's a stub because I
can't really work out what this function should do with most
attributes in a Unix environment. Anyone care to expand it?
* [win32/findfile.c]
New file. Initial stab at FindFirstFile. This doesn't work as
specified yet, though a lot of the groundwork is there. I haven't
time to work on this for the next month, so if anyone wants to pick
it up and run with it please do.
* [win32/memory.c]
Removed malloc.h from includes (covered by stdlib.h include, and
gets rid of a warning in FreeBSD).
* [win32/newfns.c]
UnhookWindowsHookEx32A stub added.
* [win32/user32.c]
Added implementation of IsDialogMessage32A.
* [windows/dialog.c]
IsDlgButtonChecked now calls SendDlgItemMessage32A instead of
SendDlgItemMessage16.
Sat Aug 3 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [windows/graphics.c]
Removed rectangle checking (conflicted with nonstandard
mapping modes).
* [windows/dialog.c]
Added check for child-style dialogs to DS_ABSALIGN
coordinate conversion.
* [objects/color.c]
Cleaned up misc. bits
Thu Aug 1 10:51:45 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [windows/focus.c] [windows/event.c] [windows/win.c]
[windows/defdlg.c]
Fixes to focusing and activation.
* [windows/defdlg.c]
Properly(?) handle DM_GETDEFID.
* [controls/combo.c]
Handle CB_FINDSTRINGEXACT, CB_SETEDITSEL, CB_GETEDITSEL.
CBCheckSize: Adjust edit position.
Tue Jul 30 09:46:36 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/file.c] [include/file.h] [loader/module.c] [loader/ne_image.c]
Pass HFILEs instead of unix-fds to self-loader code.
Mon Jul 29 21:48:25 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/metafile.h] [objects/metafile.c] [objects/text.c]
Implemented handling of some new metafile records (META_...)
in PlayMetaFileRecord(), rewrite of 'case META_EXTTEXTOUT'.
Added functions like MF_StretchBlt() for usage in metafiles.
Minor bugfix in CopyMetafile().
* [objects/bitmap.c][objects/dib.c]
Added check for metafile-DC in Bitmap and DIB functions:
CreateCompatibleBitmap() etc.
1996-08-05 19:42:43 +02:00
|
|
|
/***********************************************************************
|
|
|
|
* THUNK_EnumObjects16 (GDI.71)
|
|
|
|
*/
|
1997-08-24 18:00:30 +02:00
|
|
|
INT16 WINAPI THUNK_EnumObjects16( HDC16 hdc, INT16 nObjType,
|
|
|
|
GOBJENUMPROC16 func, LPARAM lParam )
|
Release 960805
Sun Aug 4 18:18:48 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/scroll.c]
Attempted to implement undocumented scroll-bar messages.
* [tools/build.c] [include/callback.h] [windows/winproc.c]
CallTo16_* functions now get DS from the previous 16-bit stackframe.
* [if1632/thunk.c] [include/callback.h]
Added thunks to implement callbacks for the emulator. Now all the
Enum* functions always take a real function pointer even in the
emulator.
* [loader/builtin.c]
Removed binary search in BUILTIN_GetEntryPoint32(), as it didn't
work with NULL entry points. Using linear search now.
* [loader/module.c]
Implemented IsSharedSelector().
* [loader/task.c]
Changed SwitchStackTo/Back to use the instance data to store the
previous stack instead of the TDB. Also copy the local variables
onto the new stack.
Added GetExeVersion() and SetTackSignalProc().
Implemented SetSigHandler().
Sat Aug 3 22:19:00 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [controls/menu.c]
"Fixed" problem in deleting menus where win32 could get into an
endless loop when it crashed. I think I've fixed the symptoms, not
the original problem so it might be worth further investigation.
* [debugger/registers.c]
Added missing #ifdefs on FS_REG and GS_REG, needed for FreeBSD to
compile wine properly.
* [files/dos_fs.c]
Made DOSFS_Hash and DOSFS_Match non-static so they can be called
from win32/findfile.c (q.v.).
* [if1632/gdi32.spec]
Added SetMapMode (call existing function)
* [if1632/kernel32.spec]
Added FindFirstFileA and SetFileAttributesA.
* [if1632/user32.spec]
Added BringWindowToTop, CreatePopupMenu, GetKeyState, GetParent,
IsDlgButtonChecked (call existing functions) and IsDialogMessageA,
UnhookWindowsHookEx.
* [win32/file.c]
Added stub function SetFileAttributes32A. It's a stub because I
can't really work out what this function should do with most
attributes in a Unix environment. Anyone care to expand it?
* [win32/findfile.c]
New file. Initial stab at FindFirstFile. This doesn't work as
specified yet, though a lot of the groundwork is there. I haven't
time to work on this for the next month, so if anyone wants to pick
it up and run with it please do.
* [win32/memory.c]
Removed malloc.h from includes (covered by stdlib.h include, and
gets rid of a warning in FreeBSD).
* [win32/newfns.c]
UnhookWindowsHookEx32A stub added.
* [win32/user32.c]
Added implementation of IsDialogMessage32A.
* [windows/dialog.c]
IsDlgButtonChecked now calls SendDlgItemMessage32A instead of
SendDlgItemMessage16.
Sat Aug 3 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [windows/graphics.c]
Removed rectangle checking (conflicted with nonstandard
mapping modes).
* [windows/dialog.c]
Added check for child-style dialogs to DS_ABSALIGN
coordinate conversion.
* [objects/color.c]
Cleaned up misc. bits
Thu Aug 1 10:51:45 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [windows/focus.c] [windows/event.c] [windows/win.c]
[windows/defdlg.c]
Fixes to focusing and activation.
* [windows/defdlg.c]
Properly(?) handle DM_GETDEFID.
* [controls/combo.c]
Handle CB_FINDSTRINGEXACT, CB_SETEDITSEL, CB_GETEDITSEL.
CBCheckSize: Adjust edit position.
Tue Jul 30 09:46:36 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/file.c] [include/file.h] [loader/module.c] [loader/ne_image.c]
Pass HFILEs instead of unix-fds to self-loader code.
Mon Jul 29 21:48:25 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/metafile.h] [objects/metafile.c] [objects/text.c]
Implemented handling of some new metafile records (META_...)
in PlayMetaFileRecord(), rewrite of 'case META_EXTTEXTOUT'.
Added functions like MF_StretchBlt() for usage in metafiles.
Minor bugfix in CopyMetafile().
* [objects/bitmap.c][objects/dib.c]
Added check for metafile-DC in Bitmap and DIB functions:
CreateCompatibleBitmap() etc.
1996-08-05 19:42:43 +02:00
|
|
|
{
|
|
|
|
DECL_THUNK( thunk, func, CallTo16_word_ll );
|
1996-11-02 15:24:07 +01:00
|
|
|
return EnumObjects16( hdc, nObjType, (GOBJENUMPROC16)&thunk, lParam );
|
|
|
|
}
|
|
|
|
|
|
|
|
|
Release 960805
Sun Aug 4 18:18:48 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/scroll.c]
Attempted to implement undocumented scroll-bar messages.
* [tools/build.c] [include/callback.h] [windows/winproc.c]
CallTo16_* functions now get DS from the previous 16-bit stackframe.
* [if1632/thunk.c] [include/callback.h]
Added thunks to implement callbacks for the emulator. Now all the
Enum* functions always take a real function pointer even in the
emulator.
* [loader/builtin.c]
Removed binary search in BUILTIN_GetEntryPoint32(), as it didn't
work with NULL entry points. Using linear search now.
* [loader/module.c]
Implemented IsSharedSelector().
* [loader/task.c]
Changed SwitchStackTo/Back to use the instance data to store the
previous stack instead of the TDB. Also copy the local variables
onto the new stack.
Added GetExeVersion() and SetTackSignalProc().
Implemented SetSigHandler().
Sat Aug 3 22:19:00 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [controls/menu.c]
"Fixed" problem in deleting menus where win32 could get into an
endless loop when it crashed. I think I've fixed the symptoms, not
the original problem so it might be worth further investigation.
* [debugger/registers.c]
Added missing #ifdefs on FS_REG and GS_REG, needed for FreeBSD to
compile wine properly.
* [files/dos_fs.c]
Made DOSFS_Hash and DOSFS_Match non-static so they can be called
from win32/findfile.c (q.v.).
* [if1632/gdi32.spec]
Added SetMapMode (call existing function)
* [if1632/kernel32.spec]
Added FindFirstFileA and SetFileAttributesA.
* [if1632/user32.spec]
Added BringWindowToTop, CreatePopupMenu, GetKeyState, GetParent,
IsDlgButtonChecked (call existing functions) and IsDialogMessageA,
UnhookWindowsHookEx.
* [win32/file.c]
Added stub function SetFileAttributes32A. It's a stub because I
can't really work out what this function should do with most
attributes in a Unix environment. Anyone care to expand it?
* [win32/findfile.c]
New file. Initial stab at FindFirstFile. This doesn't work as
specified yet, though a lot of the groundwork is there. I haven't
time to work on this for the next month, so if anyone wants to pick
it up and run with it please do.
* [win32/memory.c]
Removed malloc.h from includes (covered by stdlib.h include, and
gets rid of a warning in FreeBSD).
* [win32/newfns.c]
UnhookWindowsHookEx32A stub added.
* [win32/user32.c]
Added implementation of IsDialogMessage32A.
* [windows/dialog.c]
IsDlgButtonChecked now calls SendDlgItemMessage32A instead of
SendDlgItemMessage16.
Sat Aug 3 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [windows/graphics.c]
Removed rectangle checking (conflicted with nonstandard
mapping modes).
* [windows/dialog.c]
Added check for child-style dialogs to DS_ABSALIGN
coordinate conversion.
* [objects/color.c]
Cleaned up misc. bits
Thu Aug 1 10:51:45 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [windows/focus.c] [windows/event.c] [windows/win.c]
[windows/defdlg.c]
Fixes to focusing and activation.
* [windows/defdlg.c]
Properly(?) handle DM_GETDEFID.
* [controls/combo.c]
Handle CB_FINDSTRINGEXACT, CB_SETEDITSEL, CB_GETEDITSEL.
CBCheckSize: Adjust edit position.
Tue Jul 30 09:46:36 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/file.c] [include/file.h] [loader/module.c] [loader/ne_image.c]
Pass HFILEs instead of unix-fds to self-loader code.
Mon Jul 29 21:48:25 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/metafile.h] [objects/metafile.c] [objects/text.c]
Implemented handling of some new metafile records (META_...)
in PlayMetaFileRecord(), rewrite of 'case META_EXTTEXTOUT'.
Added functions like MF_StretchBlt() for usage in metafiles.
Minor bugfix in CopyMetafile().
* [objects/bitmap.c][objects/dib.c]
Added check for metafile-DC in Bitmap and DIB functions:
CreateCompatibleBitmap() etc.
1996-08-05 19:42:43 +02:00
|
|
|
/*************************************************************************
|
|
|
|
* THUNK_EnumFonts16 (GDI.70)
|
|
|
|
*/
|
1997-08-24 18:00:30 +02:00
|
|
|
INT16 WINAPI THUNK_EnumFonts16( HDC16 hdc, LPCSTR lpFaceName,
|
|
|
|
FONTENUMPROC16 func, LPARAM lParam )
|
Release 960805
Sun Aug 4 18:18:48 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/scroll.c]
Attempted to implement undocumented scroll-bar messages.
* [tools/build.c] [include/callback.h] [windows/winproc.c]
CallTo16_* functions now get DS from the previous 16-bit stackframe.
* [if1632/thunk.c] [include/callback.h]
Added thunks to implement callbacks for the emulator. Now all the
Enum* functions always take a real function pointer even in the
emulator.
* [loader/builtin.c]
Removed binary search in BUILTIN_GetEntryPoint32(), as it didn't
work with NULL entry points. Using linear search now.
* [loader/module.c]
Implemented IsSharedSelector().
* [loader/task.c]
Changed SwitchStackTo/Back to use the instance data to store the
previous stack instead of the TDB. Also copy the local variables
onto the new stack.
Added GetExeVersion() and SetTackSignalProc().
Implemented SetSigHandler().
Sat Aug 3 22:19:00 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [controls/menu.c]
"Fixed" problem in deleting menus where win32 could get into an
endless loop when it crashed. I think I've fixed the symptoms, not
the original problem so it might be worth further investigation.
* [debugger/registers.c]
Added missing #ifdefs on FS_REG and GS_REG, needed for FreeBSD to
compile wine properly.
* [files/dos_fs.c]
Made DOSFS_Hash and DOSFS_Match non-static so they can be called
from win32/findfile.c (q.v.).
* [if1632/gdi32.spec]
Added SetMapMode (call existing function)
* [if1632/kernel32.spec]
Added FindFirstFileA and SetFileAttributesA.
* [if1632/user32.spec]
Added BringWindowToTop, CreatePopupMenu, GetKeyState, GetParent,
IsDlgButtonChecked (call existing functions) and IsDialogMessageA,
UnhookWindowsHookEx.
* [win32/file.c]
Added stub function SetFileAttributes32A. It's a stub because I
can't really work out what this function should do with most
attributes in a Unix environment. Anyone care to expand it?
* [win32/findfile.c]
New file. Initial stab at FindFirstFile. This doesn't work as
specified yet, though a lot of the groundwork is there. I haven't
time to work on this for the next month, so if anyone wants to pick
it up and run with it please do.
* [win32/memory.c]
Removed malloc.h from includes (covered by stdlib.h include, and
gets rid of a warning in FreeBSD).
* [win32/newfns.c]
UnhookWindowsHookEx32A stub added.
* [win32/user32.c]
Added implementation of IsDialogMessage32A.
* [windows/dialog.c]
IsDlgButtonChecked now calls SendDlgItemMessage32A instead of
SendDlgItemMessage16.
Sat Aug 3 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [windows/graphics.c]
Removed rectangle checking (conflicted with nonstandard
mapping modes).
* [windows/dialog.c]
Added check for child-style dialogs to DS_ABSALIGN
coordinate conversion.
* [objects/color.c]
Cleaned up misc. bits
Thu Aug 1 10:51:45 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [windows/focus.c] [windows/event.c] [windows/win.c]
[windows/defdlg.c]
Fixes to focusing and activation.
* [windows/defdlg.c]
Properly(?) handle DM_GETDEFID.
* [controls/combo.c]
Handle CB_FINDSTRINGEXACT, CB_SETEDITSEL, CB_GETEDITSEL.
CBCheckSize: Adjust edit position.
Tue Jul 30 09:46:36 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/file.c] [include/file.h] [loader/module.c] [loader/ne_image.c]
Pass HFILEs instead of unix-fds to self-loader code.
Mon Jul 29 21:48:25 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/metafile.h] [objects/metafile.c] [objects/text.c]
Implemented handling of some new metafile records (META_...)
in PlayMetaFileRecord(), rewrite of 'case META_EXTTEXTOUT'.
Added functions like MF_StretchBlt() for usage in metafiles.
Minor bugfix in CopyMetafile().
* [objects/bitmap.c][objects/dib.c]
Added check for metafile-DC in Bitmap and DIB functions:
CreateCompatibleBitmap() etc.
1996-08-05 19:42:43 +02:00
|
|
|
{
|
|
|
|
DECL_THUNK( thunk, func, CallTo16_word_llwl );
|
Release 961201
Sat Nov 30 19:21:17 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [configure]
Re-generated with autoconf 2.11. Let me know if you have
problems.
* [controls/listbox.c] [controls/oldlbox.c]
Listboxes rewritten from scratch. Moved old code still used by
comboboxes to oldlbox.c
* [misc/registry.c]
Use temporary file when saving registry.
* [windows/dialog.c]
Implemented Win32 version of DlgDirList() and DlgDirListComboBox().
* [windows/winproc.c]
Added translation for listbox Win32 messages.
Sat Nov 30 21:00:00 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [controls/widgets.c] [controls/button.c]
Fixed some incompatibilities with CTL3D DLL.
* [windows/dialog.c]
Made dialog windows fit into the desktop.
* [misc/winsock.c] [misc/winsock_async.c]
New Winsock engine.
* [windows/message.c]
GetMessage() fixes.
* [windows/queue.c] [windows/hook.c] [windows/win.c]
SetMessageQueue() fixes.
Fri Nov 29 10:25:12 1996 Slaven Rezic <eserte@cs.tu-berlin.de>
* [objects/text.c]
DrawText16(): Fixed return value.
Tue Nov 26 14:47:09 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/profile.c] [*/*]
Added Win32 profile functions, updated to new naming standard.
* [objects/font.c] [if1632/thunk.c] [include/windows.h]
Added EnumFonts32*, EnumFontFamiliesEx*, changed prototypes and
structures.
* [misc/ole2nls.c] [if1632/thunk.c]
Added EnumSystemLocales() (winhelp.exe).
* [misc/registry.c]
Added Windows 3.1 registry loader supplied by Tor Sjxwall, tor@sn.no
* [win32/file.c]
Partially fixed CreateFileMapping(), added UnmapViewOfFile().
Sat Nov 23 23:36:05 1996 Ronan Waide <waider@waider.ie>
* [misc/shell.c]
Fixed some FIXMEs relating to ShellExec() and FindExecutable().
* [misc/main.c]
Implemented a few more of the SystemParametersInfo() cases.
Tue Nov 19 01:24:34 1996 Philippe De Muyter <phdm@info.ucl.ac.be>
* [include/keyboard.h]
New file, new macro WINE_VKEY_MAPPINGS (using code taken from event.c).
* [include/windows.h]
New [VK_A, VK_Z] and [VK_0, VK9] macros.
* [misc/keyboard.c]
Fixes in KeyTable and ToAscii.
* [objects/font.c]
FONT_init : Give default value for MSWIN "system" font.
FONT_MatchFont : Do not try every size of a font family if the
family does not exist.
* [windows/event.c]
lastEventChar hack removed.
KeyStateTable replaced by InputKeyStateTable (maintained in event.c)
and QueueKeyStateTable (maintained in message.c).
EVENT_key : Corrections to the extended bit setting.
* [windows/message.c] [windows/keyboard.c]
Implementation of a new QueueKeyStateTable : table of key states
valid when messages are retrieved by GetMessage or PeekMessage,
and valid for TranslateMessage.
TranslateMessage : Convert WM*KEY messages using QueueKeyStateTable
and ToAscii.
Mon Nov 18 16:59:01 1996 Robert Pouliot <krynos@clic.net>
* [graphics/Makefile.in] [graphics/wing.c]
[if1632/wing.spec]
Some functions for WinG support, mostly empty stubs.
* [misc/crtdll.c] [if1632/crtdll.spec]
Many functions added to CRTDLL, mostly calls to Unix C library.
1996-12-01 18:17:47 +01:00
|
|
|
return EnumFonts16( hdc, lpFaceName, (FONTENUMPROC16)&thunk, lParam );
|
Release 960805
Sun Aug 4 18:18:48 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/scroll.c]
Attempted to implement undocumented scroll-bar messages.
* [tools/build.c] [include/callback.h] [windows/winproc.c]
CallTo16_* functions now get DS from the previous 16-bit stackframe.
* [if1632/thunk.c] [include/callback.h]
Added thunks to implement callbacks for the emulator. Now all the
Enum* functions always take a real function pointer even in the
emulator.
* [loader/builtin.c]
Removed binary search in BUILTIN_GetEntryPoint32(), as it didn't
work with NULL entry points. Using linear search now.
* [loader/module.c]
Implemented IsSharedSelector().
* [loader/task.c]
Changed SwitchStackTo/Back to use the instance data to store the
previous stack instead of the TDB. Also copy the local variables
onto the new stack.
Added GetExeVersion() and SetTackSignalProc().
Implemented SetSigHandler().
Sat Aug 3 22:19:00 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [controls/menu.c]
"Fixed" problem in deleting menus where win32 could get into an
endless loop when it crashed. I think I've fixed the symptoms, not
the original problem so it might be worth further investigation.
* [debugger/registers.c]
Added missing #ifdefs on FS_REG and GS_REG, needed for FreeBSD to
compile wine properly.
* [files/dos_fs.c]
Made DOSFS_Hash and DOSFS_Match non-static so they can be called
from win32/findfile.c (q.v.).
* [if1632/gdi32.spec]
Added SetMapMode (call existing function)
* [if1632/kernel32.spec]
Added FindFirstFileA and SetFileAttributesA.
* [if1632/user32.spec]
Added BringWindowToTop, CreatePopupMenu, GetKeyState, GetParent,
IsDlgButtonChecked (call existing functions) and IsDialogMessageA,
UnhookWindowsHookEx.
* [win32/file.c]
Added stub function SetFileAttributes32A. It's a stub because I
can't really work out what this function should do with most
attributes in a Unix environment. Anyone care to expand it?
* [win32/findfile.c]
New file. Initial stab at FindFirstFile. This doesn't work as
specified yet, though a lot of the groundwork is there. I haven't
time to work on this for the next month, so if anyone wants to pick
it up and run with it please do.
* [win32/memory.c]
Removed malloc.h from includes (covered by stdlib.h include, and
gets rid of a warning in FreeBSD).
* [win32/newfns.c]
UnhookWindowsHookEx32A stub added.
* [win32/user32.c]
Added implementation of IsDialogMessage32A.
* [windows/dialog.c]
IsDlgButtonChecked now calls SendDlgItemMessage32A instead of
SendDlgItemMessage16.
Sat Aug 3 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [windows/graphics.c]
Removed rectangle checking (conflicted with nonstandard
mapping modes).
* [windows/dialog.c]
Added check for child-style dialogs to DS_ABSALIGN
coordinate conversion.
* [objects/color.c]
Cleaned up misc. bits
Thu Aug 1 10:51:45 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [windows/focus.c] [windows/event.c] [windows/win.c]
[windows/defdlg.c]
Fixes to focusing and activation.
* [windows/defdlg.c]
Properly(?) handle DM_GETDEFID.
* [controls/combo.c]
Handle CB_FINDSTRINGEXACT, CB_SETEDITSEL, CB_GETEDITSEL.
CBCheckSize: Adjust edit position.
Tue Jul 30 09:46:36 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/file.c] [include/file.h] [loader/module.c] [loader/ne_image.c]
Pass HFILEs instead of unix-fds to self-loader code.
Mon Jul 29 21:48:25 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/metafile.h] [objects/metafile.c] [objects/text.c]
Implemented handling of some new metafile records (META_...)
in PlayMetaFileRecord(), rewrite of 'case META_EXTTEXTOUT'.
Added functions like MF_StretchBlt() for usage in metafiles.
Minor bugfix in CopyMetafile().
* [objects/bitmap.c][objects/dib.c]
Added check for metafile-DC in Bitmap and DIB functions:
CreateCompatibleBitmap() etc.
1996-08-05 19:42:43 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/******************************************************************
|
|
|
|
* THUNK_EnumMetaFile16 (GDI.175)
|
|
|
|
*/
|
1997-08-24 18:00:30 +02:00
|
|
|
BOOL16 WINAPI THUNK_EnumMetaFile16( HDC16 hdc, HMETAFILE16 hmf,
|
|
|
|
MFENUMPROC16 func, LPARAM lParam )
|
Release 960805
Sun Aug 4 18:18:48 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/scroll.c]
Attempted to implement undocumented scroll-bar messages.
* [tools/build.c] [include/callback.h] [windows/winproc.c]
CallTo16_* functions now get DS from the previous 16-bit stackframe.
* [if1632/thunk.c] [include/callback.h]
Added thunks to implement callbacks for the emulator. Now all the
Enum* functions always take a real function pointer even in the
emulator.
* [loader/builtin.c]
Removed binary search in BUILTIN_GetEntryPoint32(), as it didn't
work with NULL entry points. Using linear search now.
* [loader/module.c]
Implemented IsSharedSelector().
* [loader/task.c]
Changed SwitchStackTo/Back to use the instance data to store the
previous stack instead of the TDB. Also copy the local variables
onto the new stack.
Added GetExeVersion() and SetTackSignalProc().
Implemented SetSigHandler().
Sat Aug 3 22:19:00 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [controls/menu.c]
"Fixed" problem in deleting menus where win32 could get into an
endless loop when it crashed. I think I've fixed the symptoms, not
the original problem so it might be worth further investigation.
* [debugger/registers.c]
Added missing #ifdefs on FS_REG and GS_REG, needed for FreeBSD to
compile wine properly.
* [files/dos_fs.c]
Made DOSFS_Hash and DOSFS_Match non-static so they can be called
from win32/findfile.c (q.v.).
* [if1632/gdi32.spec]
Added SetMapMode (call existing function)
* [if1632/kernel32.spec]
Added FindFirstFileA and SetFileAttributesA.
* [if1632/user32.spec]
Added BringWindowToTop, CreatePopupMenu, GetKeyState, GetParent,
IsDlgButtonChecked (call existing functions) and IsDialogMessageA,
UnhookWindowsHookEx.
* [win32/file.c]
Added stub function SetFileAttributes32A. It's a stub because I
can't really work out what this function should do with most
attributes in a Unix environment. Anyone care to expand it?
* [win32/findfile.c]
New file. Initial stab at FindFirstFile. This doesn't work as
specified yet, though a lot of the groundwork is there. I haven't
time to work on this for the next month, so if anyone wants to pick
it up and run with it please do.
* [win32/memory.c]
Removed malloc.h from includes (covered by stdlib.h include, and
gets rid of a warning in FreeBSD).
* [win32/newfns.c]
UnhookWindowsHookEx32A stub added.
* [win32/user32.c]
Added implementation of IsDialogMessage32A.
* [windows/dialog.c]
IsDlgButtonChecked now calls SendDlgItemMessage32A instead of
SendDlgItemMessage16.
Sat Aug 3 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [windows/graphics.c]
Removed rectangle checking (conflicted with nonstandard
mapping modes).
* [windows/dialog.c]
Added check for child-style dialogs to DS_ABSALIGN
coordinate conversion.
* [objects/color.c]
Cleaned up misc. bits
Thu Aug 1 10:51:45 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [windows/focus.c] [windows/event.c] [windows/win.c]
[windows/defdlg.c]
Fixes to focusing and activation.
* [windows/defdlg.c]
Properly(?) handle DM_GETDEFID.
* [controls/combo.c]
Handle CB_FINDSTRINGEXACT, CB_SETEDITSEL, CB_GETEDITSEL.
CBCheckSize: Adjust edit position.
Tue Jul 30 09:46:36 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/file.c] [include/file.h] [loader/module.c] [loader/ne_image.c]
Pass HFILEs instead of unix-fds to self-loader code.
Mon Jul 29 21:48:25 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/metafile.h] [objects/metafile.c] [objects/text.c]
Implemented handling of some new metafile records (META_...)
in PlayMetaFileRecord(), rewrite of 'case META_EXTTEXTOUT'.
Added functions like MF_StretchBlt() for usage in metafiles.
Minor bugfix in CopyMetafile().
* [objects/bitmap.c][objects/dib.c]
Added check for metafile-DC in Bitmap and DIB functions:
CreateCompatibleBitmap() etc.
1996-08-05 19:42:43 +02:00
|
|
|
{
|
|
|
|
DECL_THUNK( thunk, func, CallTo16_word_wllwl );
|
1997-03-05 09:22:35 +01:00
|
|
|
return EnumMetaFile16( hdc, hmf, (MFENUMPROC16)&thunk, lParam );
|
Release 960805
Sun Aug 4 18:18:48 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/scroll.c]
Attempted to implement undocumented scroll-bar messages.
* [tools/build.c] [include/callback.h] [windows/winproc.c]
CallTo16_* functions now get DS from the previous 16-bit stackframe.
* [if1632/thunk.c] [include/callback.h]
Added thunks to implement callbacks for the emulator. Now all the
Enum* functions always take a real function pointer even in the
emulator.
* [loader/builtin.c]
Removed binary search in BUILTIN_GetEntryPoint32(), as it didn't
work with NULL entry points. Using linear search now.
* [loader/module.c]
Implemented IsSharedSelector().
* [loader/task.c]
Changed SwitchStackTo/Back to use the instance data to store the
previous stack instead of the TDB. Also copy the local variables
onto the new stack.
Added GetExeVersion() and SetTackSignalProc().
Implemented SetSigHandler().
Sat Aug 3 22:19:00 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [controls/menu.c]
"Fixed" problem in deleting menus where win32 could get into an
endless loop when it crashed. I think I've fixed the symptoms, not
the original problem so it might be worth further investigation.
* [debugger/registers.c]
Added missing #ifdefs on FS_REG and GS_REG, needed for FreeBSD to
compile wine properly.
* [files/dos_fs.c]
Made DOSFS_Hash and DOSFS_Match non-static so they can be called
from win32/findfile.c (q.v.).
* [if1632/gdi32.spec]
Added SetMapMode (call existing function)
* [if1632/kernel32.spec]
Added FindFirstFileA and SetFileAttributesA.
* [if1632/user32.spec]
Added BringWindowToTop, CreatePopupMenu, GetKeyState, GetParent,
IsDlgButtonChecked (call existing functions) and IsDialogMessageA,
UnhookWindowsHookEx.
* [win32/file.c]
Added stub function SetFileAttributes32A. It's a stub because I
can't really work out what this function should do with most
attributes in a Unix environment. Anyone care to expand it?
* [win32/findfile.c]
New file. Initial stab at FindFirstFile. This doesn't work as
specified yet, though a lot of the groundwork is there. I haven't
time to work on this for the next month, so if anyone wants to pick
it up and run with it please do.
* [win32/memory.c]
Removed malloc.h from includes (covered by stdlib.h include, and
gets rid of a warning in FreeBSD).
* [win32/newfns.c]
UnhookWindowsHookEx32A stub added.
* [win32/user32.c]
Added implementation of IsDialogMessage32A.
* [windows/dialog.c]
IsDlgButtonChecked now calls SendDlgItemMessage32A instead of
SendDlgItemMessage16.
Sat Aug 3 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [windows/graphics.c]
Removed rectangle checking (conflicted with nonstandard
mapping modes).
* [windows/dialog.c]
Added check for child-style dialogs to DS_ABSALIGN
coordinate conversion.
* [objects/color.c]
Cleaned up misc. bits
Thu Aug 1 10:51:45 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [windows/focus.c] [windows/event.c] [windows/win.c]
[windows/defdlg.c]
Fixes to focusing and activation.
* [windows/defdlg.c]
Properly(?) handle DM_GETDEFID.
* [controls/combo.c]
Handle CB_FINDSTRINGEXACT, CB_SETEDITSEL, CB_GETEDITSEL.
CBCheckSize: Adjust edit position.
Tue Jul 30 09:46:36 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/file.c] [include/file.h] [loader/module.c] [loader/ne_image.c]
Pass HFILEs instead of unix-fds to self-loader code.
Mon Jul 29 21:48:25 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/metafile.h] [objects/metafile.c] [objects/text.c]
Implemented handling of some new metafile records (META_...)
in PlayMetaFileRecord(), rewrite of 'case META_EXTTEXTOUT'.
Added functions like MF_StretchBlt() for usage in metafiles.
Minor bugfix in CopyMetafile().
* [objects/bitmap.c][objects/dib.c]
Added check for metafile-DC in Bitmap and DIB functions:
CreateCompatibleBitmap() etc.
1996-08-05 19:42:43 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*************************************************************************
|
|
|
|
* THUNK_EnumFontFamilies16 (GDI.330)
|
|
|
|
*/
|
1997-08-24 18:00:30 +02:00
|
|
|
INT16 WINAPI THUNK_EnumFontFamilies16( HDC16 hdc, LPCSTR lpszFamily,
|
|
|
|
FONTENUMPROC16 func, LPARAM lParam )
|
Release 960805
Sun Aug 4 18:18:48 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/scroll.c]
Attempted to implement undocumented scroll-bar messages.
* [tools/build.c] [include/callback.h] [windows/winproc.c]
CallTo16_* functions now get DS from the previous 16-bit stackframe.
* [if1632/thunk.c] [include/callback.h]
Added thunks to implement callbacks for the emulator. Now all the
Enum* functions always take a real function pointer even in the
emulator.
* [loader/builtin.c]
Removed binary search in BUILTIN_GetEntryPoint32(), as it didn't
work with NULL entry points. Using linear search now.
* [loader/module.c]
Implemented IsSharedSelector().
* [loader/task.c]
Changed SwitchStackTo/Back to use the instance data to store the
previous stack instead of the TDB. Also copy the local variables
onto the new stack.
Added GetExeVersion() and SetTackSignalProc().
Implemented SetSigHandler().
Sat Aug 3 22:19:00 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [controls/menu.c]
"Fixed" problem in deleting menus where win32 could get into an
endless loop when it crashed. I think I've fixed the symptoms, not
the original problem so it might be worth further investigation.
* [debugger/registers.c]
Added missing #ifdefs on FS_REG and GS_REG, needed for FreeBSD to
compile wine properly.
* [files/dos_fs.c]
Made DOSFS_Hash and DOSFS_Match non-static so they can be called
from win32/findfile.c (q.v.).
* [if1632/gdi32.spec]
Added SetMapMode (call existing function)
* [if1632/kernel32.spec]
Added FindFirstFileA and SetFileAttributesA.
* [if1632/user32.spec]
Added BringWindowToTop, CreatePopupMenu, GetKeyState, GetParent,
IsDlgButtonChecked (call existing functions) and IsDialogMessageA,
UnhookWindowsHookEx.
* [win32/file.c]
Added stub function SetFileAttributes32A. It's a stub because I
can't really work out what this function should do with most
attributes in a Unix environment. Anyone care to expand it?
* [win32/findfile.c]
New file. Initial stab at FindFirstFile. This doesn't work as
specified yet, though a lot of the groundwork is there. I haven't
time to work on this for the next month, so if anyone wants to pick
it up and run with it please do.
* [win32/memory.c]
Removed malloc.h from includes (covered by stdlib.h include, and
gets rid of a warning in FreeBSD).
* [win32/newfns.c]
UnhookWindowsHookEx32A stub added.
* [win32/user32.c]
Added implementation of IsDialogMessage32A.
* [windows/dialog.c]
IsDlgButtonChecked now calls SendDlgItemMessage32A instead of
SendDlgItemMessage16.
Sat Aug 3 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [windows/graphics.c]
Removed rectangle checking (conflicted with nonstandard
mapping modes).
* [windows/dialog.c]
Added check for child-style dialogs to DS_ABSALIGN
coordinate conversion.
* [objects/color.c]
Cleaned up misc. bits
Thu Aug 1 10:51:45 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [windows/focus.c] [windows/event.c] [windows/win.c]
[windows/defdlg.c]
Fixes to focusing and activation.
* [windows/defdlg.c]
Properly(?) handle DM_GETDEFID.
* [controls/combo.c]
Handle CB_FINDSTRINGEXACT, CB_SETEDITSEL, CB_GETEDITSEL.
CBCheckSize: Adjust edit position.
Tue Jul 30 09:46:36 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/file.c] [include/file.h] [loader/module.c] [loader/ne_image.c]
Pass HFILEs instead of unix-fds to self-loader code.
Mon Jul 29 21:48:25 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/metafile.h] [objects/metafile.c] [objects/text.c]
Implemented handling of some new metafile records (META_...)
in PlayMetaFileRecord(), rewrite of 'case META_EXTTEXTOUT'.
Added functions like MF_StretchBlt() for usage in metafiles.
Minor bugfix in CopyMetafile().
* [objects/bitmap.c][objects/dib.c]
Added check for metafile-DC in Bitmap and DIB functions:
CreateCompatibleBitmap() etc.
1996-08-05 19:42:43 +02:00
|
|
|
{
|
|
|
|
DECL_THUNK( thunk, func, CallTo16_word_llwl );
|
1996-11-17 19:59:11 +01:00
|
|
|
return EnumFontFamilies16(hdc, lpszFamily, (FONTENUMPROC16)&thunk, lParam);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
Release 961201
Sat Nov 30 19:21:17 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [configure]
Re-generated with autoconf 2.11. Let me know if you have
problems.
* [controls/listbox.c] [controls/oldlbox.c]
Listboxes rewritten from scratch. Moved old code still used by
comboboxes to oldlbox.c
* [misc/registry.c]
Use temporary file when saving registry.
* [windows/dialog.c]
Implemented Win32 version of DlgDirList() and DlgDirListComboBox().
* [windows/winproc.c]
Added translation for listbox Win32 messages.
Sat Nov 30 21:00:00 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [controls/widgets.c] [controls/button.c]
Fixed some incompatibilities with CTL3D DLL.
* [windows/dialog.c]
Made dialog windows fit into the desktop.
* [misc/winsock.c] [misc/winsock_async.c]
New Winsock engine.
* [windows/message.c]
GetMessage() fixes.
* [windows/queue.c] [windows/hook.c] [windows/win.c]
SetMessageQueue() fixes.
Fri Nov 29 10:25:12 1996 Slaven Rezic <eserte@cs.tu-berlin.de>
* [objects/text.c]
DrawText16(): Fixed return value.
Tue Nov 26 14:47:09 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/profile.c] [*/*]
Added Win32 profile functions, updated to new naming standard.
* [objects/font.c] [if1632/thunk.c] [include/windows.h]
Added EnumFonts32*, EnumFontFamiliesEx*, changed prototypes and
structures.
* [misc/ole2nls.c] [if1632/thunk.c]
Added EnumSystemLocales() (winhelp.exe).
* [misc/registry.c]
Added Windows 3.1 registry loader supplied by Tor Sjxwall, tor@sn.no
* [win32/file.c]
Partially fixed CreateFileMapping(), added UnmapViewOfFile().
Sat Nov 23 23:36:05 1996 Ronan Waide <waider@waider.ie>
* [misc/shell.c]
Fixed some FIXMEs relating to ShellExec() and FindExecutable().
* [misc/main.c]
Implemented a few more of the SystemParametersInfo() cases.
Tue Nov 19 01:24:34 1996 Philippe De Muyter <phdm@info.ucl.ac.be>
* [include/keyboard.h]
New file, new macro WINE_VKEY_MAPPINGS (using code taken from event.c).
* [include/windows.h]
New [VK_A, VK_Z] and [VK_0, VK9] macros.
* [misc/keyboard.c]
Fixes in KeyTable and ToAscii.
* [objects/font.c]
FONT_init : Give default value for MSWIN "system" font.
FONT_MatchFont : Do not try every size of a font family if the
family does not exist.
* [windows/event.c]
lastEventChar hack removed.
KeyStateTable replaced by InputKeyStateTable (maintained in event.c)
and QueueKeyStateTable (maintained in message.c).
EVENT_key : Corrections to the extended bit setting.
* [windows/message.c] [windows/keyboard.c]
Implementation of a new QueueKeyStateTable : table of key states
valid when messages are retrieved by GetMessage or PeekMessage,
and valid for TranslateMessage.
TranslateMessage : Convert WM*KEY messages using QueueKeyStateTable
and ToAscii.
Mon Nov 18 16:59:01 1996 Robert Pouliot <krynos@clic.net>
* [graphics/Makefile.in] [graphics/wing.c]
[if1632/wing.spec]
Some functions for WinG support, mostly empty stubs.
* [misc/crtdll.c] [if1632/crtdll.spec]
Many functions added to CRTDLL, mostly calls to Unix C library.
1996-12-01 18:17:47 +01:00
|
|
|
/*************************************************************************
|
|
|
|
* THUNK_EnumFontFamiliesEx16 (GDI.613)
|
|
|
|
*/
|
1997-08-24 18:00:30 +02:00
|
|
|
INT16 WINAPI THUNK_EnumFontFamiliesEx16( HDC16 hdc, LPLOGFONT16 lpLF,
|
|
|
|
FONTENUMPROCEX16 func, LPARAM lParam,
|
|
|
|
DWORD reserved )
|
Release 961201
Sat Nov 30 19:21:17 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [configure]
Re-generated with autoconf 2.11. Let me know if you have
problems.
* [controls/listbox.c] [controls/oldlbox.c]
Listboxes rewritten from scratch. Moved old code still used by
comboboxes to oldlbox.c
* [misc/registry.c]
Use temporary file when saving registry.
* [windows/dialog.c]
Implemented Win32 version of DlgDirList() and DlgDirListComboBox().
* [windows/winproc.c]
Added translation for listbox Win32 messages.
Sat Nov 30 21:00:00 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [controls/widgets.c] [controls/button.c]
Fixed some incompatibilities with CTL3D DLL.
* [windows/dialog.c]
Made dialog windows fit into the desktop.
* [misc/winsock.c] [misc/winsock_async.c]
New Winsock engine.
* [windows/message.c]
GetMessage() fixes.
* [windows/queue.c] [windows/hook.c] [windows/win.c]
SetMessageQueue() fixes.
Fri Nov 29 10:25:12 1996 Slaven Rezic <eserte@cs.tu-berlin.de>
* [objects/text.c]
DrawText16(): Fixed return value.
Tue Nov 26 14:47:09 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/profile.c] [*/*]
Added Win32 profile functions, updated to new naming standard.
* [objects/font.c] [if1632/thunk.c] [include/windows.h]
Added EnumFonts32*, EnumFontFamiliesEx*, changed prototypes and
structures.
* [misc/ole2nls.c] [if1632/thunk.c]
Added EnumSystemLocales() (winhelp.exe).
* [misc/registry.c]
Added Windows 3.1 registry loader supplied by Tor Sjxwall, tor@sn.no
* [win32/file.c]
Partially fixed CreateFileMapping(), added UnmapViewOfFile().
Sat Nov 23 23:36:05 1996 Ronan Waide <waider@waider.ie>
* [misc/shell.c]
Fixed some FIXMEs relating to ShellExec() and FindExecutable().
* [misc/main.c]
Implemented a few more of the SystemParametersInfo() cases.
Tue Nov 19 01:24:34 1996 Philippe De Muyter <phdm@info.ucl.ac.be>
* [include/keyboard.h]
New file, new macro WINE_VKEY_MAPPINGS (using code taken from event.c).
* [include/windows.h]
New [VK_A, VK_Z] and [VK_0, VK9] macros.
* [misc/keyboard.c]
Fixes in KeyTable and ToAscii.
* [objects/font.c]
FONT_init : Give default value for MSWIN "system" font.
FONT_MatchFont : Do not try every size of a font family if the
family does not exist.
* [windows/event.c]
lastEventChar hack removed.
KeyStateTable replaced by InputKeyStateTable (maintained in event.c)
and QueueKeyStateTable (maintained in message.c).
EVENT_key : Corrections to the extended bit setting.
* [windows/message.c] [windows/keyboard.c]
Implementation of a new QueueKeyStateTable : table of key states
valid when messages are retrieved by GetMessage or PeekMessage,
and valid for TranslateMessage.
TranslateMessage : Convert WM*KEY messages using QueueKeyStateTable
and ToAscii.
Mon Nov 18 16:59:01 1996 Robert Pouliot <krynos@clic.net>
* [graphics/Makefile.in] [graphics/wing.c]
[if1632/wing.spec]
Some functions for WinG support, mostly empty stubs.
* [misc/crtdll.c] [if1632/crtdll.spec]
Many functions added to CRTDLL, mostly calls to Unix C library.
1996-12-01 18:17:47 +01:00
|
|
|
{
|
|
|
|
DECL_THUNK( thunk, func, CallTo16_word_llwl );
|
|
|
|
return EnumFontFamiliesEx16( hdc, lpLF, (FONTENUMPROCEX16)&thunk,
|
|
|
|
lParam, reserved );
|
|
|
|
}
|
|
|
|
|
|
|
|
|
Release 960805
Sun Aug 4 18:18:48 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/scroll.c]
Attempted to implement undocumented scroll-bar messages.
* [tools/build.c] [include/callback.h] [windows/winproc.c]
CallTo16_* functions now get DS from the previous 16-bit stackframe.
* [if1632/thunk.c] [include/callback.h]
Added thunks to implement callbacks for the emulator. Now all the
Enum* functions always take a real function pointer even in the
emulator.
* [loader/builtin.c]
Removed binary search in BUILTIN_GetEntryPoint32(), as it didn't
work with NULL entry points. Using linear search now.
* [loader/module.c]
Implemented IsSharedSelector().
* [loader/task.c]
Changed SwitchStackTo/Back to use the instance data to store the
previous stack instead of the TDB. Also copy the local variables
onto the new stack.
Added GetExeVersion() and SetTackSignalProc().
Implemented SetSigHandler().
Sat Aug 3 22:19:00 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [controls/menu.c]
"Fixed" problem in deleting menus where win32 could get into an
endless loop when it crashed. I think I've fixed the symptoms, not
the original problem so it might be worth further investigation.
* [debugger/registers.c]
Added missing #ifdefs on FS_REG and GS_REG, needed for FreeBSD to
compile wine properly.
* [files/dos_fs.c]
Made DOSFS_Hash and DOSFS_Match non-static so they can be called
from win32/findfile.c (q.v.).
* [if1632/gdi32.spec]
Added SetMapMode (call existing function)
* [if1632/kernel32.spec]
Added FindFirstFileA and SetFileAttributesA.
* [if1632/user32.spec]
Added BringWindowToTop, CreatePopupMenu, GetKeyState, GetParent,
IsDlgButtonChecked (call existing functions) and IsDialogMessageA,
UnhookWindowsHookEx.
* [win32/file.c]
Added stub function SetFileAttributes32A. It's a stub because I
can't really work out what this function should do with most
attributes in a Unix environment. Anyone care to expand it?
* [win32/findfile.c]
New file. Initial stab at FindFirstFile. This doesn't work as
specified yet, though a lot of the groundwork is there. I haven't
time to work on this for the next month, so if anyone wants to pick
it up and run with it please do.
* [win32/memory.c]
Removed malloc.h from includes (covered by stdlib.h include, and
gets rid of a warning in FreeBSD).
* [win32/newfns.c]
UnhookWindowsHookEx32A stub added.
* [win32/user32.c]
Added implementation of IsDialogMessage32A.
* [windows/dialog.c]
IsDlgButtonChecked now calls SendDlgItemMessage32A instead of
SendDlgItemMessage16.
Sat Aug 3 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [windows/graphics.c]
Removed rectangle checking (conflicted with nonstandard
mapping modes).
* [windows/dialog.c]
Added check for child-style dialogs to DS_ABSALIGN
coordinate conversion.
* [objects/color.c]
Cleaned up misc. bits
Thu Aug 1 10:51:45 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [windows/focus.c] [windows/event.c] [windows/win.c]
[windows/defdlg.c]
Fixes to focusing and activation.
* [windows/defdlg.c]
Properly(?) handle DM_GETDEFID.
* [controls/combo.c]
Handle CB_FINDSTRINGEXACT, CB_SETEDITSEL, CB_GETEDITSEL.
CBCheckSize: Adjust edit position.
Tue Jul 30 09:46:36 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/file.c] [include/file.h] [loader/module.c] [loader/ne_image.c]
Pass HFILEs instead of unix-fds to self-loader code.
Mon Jul 29 21:48:25 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/metafile.h] [objects/metafile.c] [objects/text.c]
Implemented handling of some new metafile records (META_...)
in PlayMetaFileRecord(), rewrite of 'case META_EXTTEXTOUT'.
Added functions like MF_StretchBlt() for usage in metafiles.
Minor bugfix in CopyMetafile().
* [objects/bitmap.c][objects/dib.c]
Added check for metafile-DC in Bitmap and DIB functions:
CreateCompatibleBitmap() etc.
1996-08-05 19:42:43 +02:00
|
|
|
/**********************************************************************
|
|
|
|
* THUNK_LineDDA16 (GDI.100)
|
|
|
|
*/
|
1997-08-24 18:00:30 +02:00
|
|
|
void WINAPI THUNK_LineDDA16( INT16 nXStart, INT16 nYStart, INT16 nXEnd,
|
|
|
|
INT16 nYEnd, LINEDDAPROC16 func, LPARAM lParam )
|
Release 960805
Sun Aug 4 18:18:48 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/scroll.c]
Attempted to implement undocumented scroll-bar messages.
* [tools/build.c] [include/callback.h] [windows/winproc.c]
CallTo16_* functions now get DS from the previous 16-bit stackframe.
* [if1632/thunk.c] [include/callback.h]
Added thunks to implement callbacks for the emulator. Now all the
Enum* functions always take a real function pointer even in the
emulator.
* [loader/builtin.c]
Removed binary search in BUILTIN_GetEntryPoint32(), as it didn't
work with NULL entry points. Using linear search now.
* [loader/module.c]
Implemented IsSharedSelector().
* [loader/task.c]
Changed SwitchStackTo/Back to use the instance data to store the
previous stack instead of the TDB. Also copy the local variables
onto the new stack.
Added GetExeVersion() and SetTackSignalProc().
Implemented SetSigHandler().
Sat Aug 3 22:19:00 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [controls/menu.c]
"Fixed" problem in deleting menus where win32 could get into an
endless loop when it crashed. I think I've fixed the symptoms, not
the original problem so it might be worth further investigation.
* [debugger/registers.c]
Added missing #ifdefs on FS_REG and GS_REG, needed for FreeBSD to
compile wine properly.
* [files/dos_fs.c]
Made DOSFS_Hash and DOSFS_Match non-static so they can be called
from win32/findfile.c (q.v.).
* [if1632/gdi32.spec]
Added SetMapMode (call existing function)
* [if1632/kernel32.spec]
Added FindFirstFileA and SetFileAttributesA.
* [if1632/user32.spec]
Added BringWindowToTop, CreatePopupMenu, GetKeyState, GetParent,
IsDlgButtonChecked (call existing functions) and IsDialogMessageA,
UnhookWindowsHookEx.
* [win32/file.c]
Added stub function SetFileAttributes32A. It's a stub because I
can't really work out what this function should do with most
attributes in a Unix environment. Anyone care to expand it?
* [win32/findfile.c]
New file. Initial stab at FindFirstFile. This doesn't work as
specified yet, though a lot of the groundwork is there. I haven't
time to work on this for the next month, so if anyone wants to pick
it up and run with it please do.
* [win32/memory.c]
Removed malloc.h from includes (covered by stdlib.h include, and
gets rid of a warning in FreeBSD).
* [win32/newfns.c]
UnhookWindowsHookEx32A stub added.
* [win32/user32.c]
Added implementation of IsDialogMessage32A.
* [windows/dialog.c]
IsDlgButtonChecked now calls SendDlgItemMessage32A instead of
SendDlgItemMessage16.
Sat Aug 3 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [windows/graphics.c]
Removed rectangle checking (conflicted with nonstandard
mapping modes).
* [windows/dialog.c]
Added check for child-style dialogs to DS_ABSALIGN
coordinate conversion.
* [objects/color.c]
Cleaned up misc. bits
Thu Aug 1 10:51:45 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [windows/focus.c] [windows/event.c] [windows/win.c]
[windows/defdlg.c]
Fixes to focusing and activation.
* [windows/defdlg.c]
Properly(?) handle DM_GETDEFID.
* [controls/combo.c]
Handle CB_FINDSTRINGEXACT, CB_SETEDITSEL, CB_GETEDITSEL.
CBCheckSize: Adjust edit position.
Tue Jul 30 09:46:36 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/file.c] [include/file.h] [loader/module.c] [loader/ne_image.c]
Pass HFILEs instead of unix-fds to self-loader code.
Mon Jul 29 21:48:25 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/metafile.h] [objects/metafile.c] [objects/text.c]
Implemented handling of some new metafile records (META_...)
in PlayMetaFileRecord(), rewrite of 'case META_EXTTEXTOUT'.
Added functions like MF_StretchBlt() for usage in metafiles.
Minor bugfix in CopyMetafile().
* [objects/bitmap.c][objects/dib.c]
Added check for metafile-DC in Bitmap and DIB functions:
CreateCompatibleBitmap() etc.
1996-08-05 19:42:43 +02:00
|
|
|
{
|
|
|
|
DECL_THUNK( thunk, func, CallTo16_word_wwl );
|
|
|
|
LineDDA16( nXStart, nYStart, nXEnd, nYEnd, (LINEDDAPROC16)&thunk, lParam );
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*******************************************************************
|
|
|
|
* THUNK_EnumWindows16 (USER.54)
|
|
|
|
*/
|
1997-08-24 18:00:30 +02:00
|
|
|
BOOL16 WINAPI THUNK_EnumWindows16( WNDENUMPROC16 func, LPARAM lParam )
|
Release 960805
Sun Aug 4 18:18:48 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/scroll.c]
Attempted to implement undocumented scroll-bar messages.
* [tools/build.c] [include/callback.h] [windows/winproc.c]
CallTo16_* functions now get DS from the previous 16-bit stackframe.
* [if1632/thunk.c] [include/callback.h]
Added thunks to implement callbacks for the emulator. Now all the
Enum* functions always take a real function pointer even in the
emulator.
* [loader/builtin.c]
Removed binary search in BUILTIN_GetEntryPoint32(), as it didn't
work with NULL entry points. Using linear search now.
* [loader/module.c]
Implemented IsSharedSelector().
* [loader/task.c]
Changed SwitchStackTo/Back to use the instance data to store the
previous stack instead of the TDB. Also copy the local variables
onto the new stack.
Added GetExeVersion() and SetTackSignalProc().
Implemented SetSigHandler().
Sat Aug 3 22:19:00 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [controls/menu.c]
"Fixed" problem in deleting menus where win32 could get into an
endless loop when it crashed. I think I've fixed the symptoms, not
the original problem so it might be worth further investigation.
* [debugger/registers.c]
Added missing #ifdefs on FS_REG and GS_REG, needed for FreeBSD to
compile wine properly.
* [files/dos_fs.c]
Made DOSFS_Hash and DOSFS_Match non-static so they can be called
from win32/findfile.c (q.v.).
* [if1632/gdi32.spec]
Added SetMapMode (call existing function)
* [if1632/kernel32.spec]
Added FindFirstFileA and SetFileAttributesA.
* [if1632/user32.spec]
Added BringWindowToTop, CreatePopupMenu, GetKeyState, GetParent,
IsDlgButtonChecked (call existing functions) and IsDialogMessageA,
UnhookWindowsHookEx.
* [win32/file.c]
Added stub function SetFileAttributes32A. It's a stub because I
can't really work out what this function should do with most
attributes in a Unix environment. Anyone care to expand it?
* [win32/findfile.c]
New file. Initial stab at FindFirstFile. This doesn't work as
specified yet, though a lot of the groundwork is there. I haven't
time to work on this for the next month, so if anyone wants to pick
it up and run with it please do.
* [win32/memory.c]
Removed malloc.h from includes (covered by stdlib.h include, and
gets rid of a warning in FreeBSD).
* [win32/newfns.c]
UnhookWindowsHookEx32A stub added.
* [win32/user32.c]
Added implementation of IsDialogMessage32A.
* [windows/dialog.c]
IsDlgButtonChecked now calls SendDlgItemMessage32A instead of
SendDlgItemMessage16.
Sat Aug 3 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [windows/graphics.c]
Removed rectangle checking (conflicted with nonstandard
mapping modes).
* [windows/dialog.c]
Added check for child-style dialogs to DS_ABSALIGN
coordinate conversion.
* [objects/color.c]
Cleaned up misc. bits
Thu Aug 1 10:51:45 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [windows/focus.c] [windows/event.c] [windows/win.c]
[windows/defdlg.c]
Fixes to focusing and activation.
* [windows/defdlg.c]
Properly(?) handle DM_GETDEFID.
* [controls/combo.c]
Handle CB_FINDSTRINGEXACT, CB_SETEDITSEL, CB_GETEDITSEL.
CBCheckSize: Adjust edit position.
Tue Jul 30 09:46:36 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/file.c] [include/file.h] [loader/module.c] [loader/ne_image.c]
Pass HFILEs instead of unix-fds to self-loader code.
Mon Jul 29 21:48:25 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/metafile.h] [objects/metafile.c] [objects/text.c]
Implemented handling of some new metafile records (META_...)
in PlayMetaFileRecord(), rewrite of 'case META_EXTTEXTOUT'.
Added functions like MF_StretchBlt() for usage in metafiles.
Minor bugfix in CopyMetafile().
* [objects/bitmap.c][objects/dib.c]
Added check for metafile-DC in Bitmap and DIB functions:
CreateCompatibleBitmap() etc.
1996-08-05 19:42:43 +02:00
|
|
|
{
|
|
|
|
DECL_THUNK( thunk, func, CallTo16_word_wl );
|
|
|
|
return EnumWindows16( (WNDENUMPROC16)&thunk, lParam );
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**********************************************************************
|
|
|
|
* THUNK_EnumChildWindows16 (USER.55)
|
|
|
|
*/
|
1997-08-24 18:00:30 +02:00
|
|
|
BOOL16 WINAPI THUNK_EnumChildWindows16( HWND16 parent, WNDENUMPROC16 func,
|
|
|
|
LPARAM lParam )
|
Release 960805
Sun Aug 4 18:18:48 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/scroll.c]
Attempted to implement undocumented scroll-bar messages.
* [tools/build.c] [include/callback.h] [windows/winproc.c]
CallTo16_* functions now get DS from the previous 16-bit stackframe.
* [if1632/thunk.c] [include/callback.h]
Added thunks to implement callbacks for the emulator. Now all the
Enum* functions always take a real function pointer even in the
emulator.
* [loader/builtin.c]
Removed binary search in BUILTIN_GetEntryPoint32(), as it didn't
work with NULL entry points. Using linear search now.
* [loader/module.c]
Implemented IsSharedSelector().
* [loader/task.c]
Changed SwitchStackTo/Back to use the instance data to store the
previous stack instead of the TDB. Also copy the local variables
onto the new stack.
Added GetExeVersion() and SetTackSignalProc().
Implemented SetSigHandler().
Sat Aug 3 22:19:00 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [controls/menu.c]
"Fixed" problem in deleting menus where win32 could get into an
endless loop when it crashed. I think I've fixed the symptoms, not
the original problem so it might be worth further investigation.
* [debugger/registers.c]
Added missing #ifdefs on FS_REG and GS_REG, needed for FreeBSD to
compile wine properly.
* [files/dos_fs.c]
Made DOSFS_Hash and DOSFS_Match non-static so they can be called
from win32/findfile.c (q.v.).
* [if1632/gdi32.spec]
Added SetMapMode (call existing function)
* [if1632/kernel32.spec]
Added FindFirstFileA and SetFileAttributesA.
* [if1632/user32.spec]
Added BringWindowToTop, CreatePopupMenu, GetKeyState, GetParent,
IsDlgButtonChecked (call existing functions) and IsDialogMessageA,
UnhookWindowsHookEx.
* [win32/file.c]
Added stub function SetFileAttributes32A. It's a stub because I
can't really work out what this function should do with most
attributes in a Unix environment. Anyone care to expand it?
* [win32/findfile.c]
New file. Initial stab at FindFirstFile. This doesn't work as
specified yet, though a lot of the groundwork is there. I haven't
time to work on this for the next month, so if anyone wants to pick
it up and run with it please do.
* [win32/memory.c]
Removed malloc.h from includes (covered by stdlib.h include, and
gets rid of a warning in FreeBSD).
* [win32/newfns.c]
UnhookWindowsHookEx32A stub added.
* [win32/user32.c]
Added implementation of IsDialogMessage32A.
* [windows/dialog.c]
IsDlgButtonChecked now calls SendDlgItemMessage32A instead of
SendDlgItemMessage16.
Sat Aug 3 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [windows/graphics.c]
Removed rectangle checking (conflicted with nonstandard
mapping modes).
* [windows/dialog.c]
Added check for child-style dialogs to DS_ABSALIGN
coordinate conversion.
* [objects/color.c]
Cleaned up misc. bits
Thu Aug 1 10:51:45 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [windows/focus.c] [windows/event.c] [windows/win.c]
[windows/defdlg.c]
Fixes to focusing and activation.
* [windows/defdlg.c]
Properly(?) handle DM_GETDEFID.
* [controls/combo.c]
Handle CB_FINDSTRINGEXACT, CB_SETEDITSEL, CB_GETEDITSEL.
CBCheckSize: Adjust edit position.
Tue Jul 30 09:46:36 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/file.c] [include/file.h] [loader/module.c] [loader/ne_image.c]
Pass HFILEs instead of unix-fds to self-loader code.
Mon Jul 29 21:48:25 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/metafile.h] [objects/metafile.c] [objects/text.c]
Implemented handling of some new metafile records (META_...)
in PlayMetaFileRecord(), rewrite of 'case META_EXTTEXTOUT'.
Added functions like MF_StretchBlt() for usage in metafiles.
Minor bugfix in CopyMetafile().
* [objects/bitmap.c][objects/dib.c]
Added check for metafile-DC in Bitmap and DIB functions:
CreateCompatibleBitmap() etc.
1996-08-05 19:42:43 +02:00
|
|
|
{
|
|
|
|
DECL_THUNK( thunk, func, CallTo16_word_wl );
|
|
|
|
return EnumChildWindows16( parent, (WNDENUMPROC16)&thunk, lParam );
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**********************************************************************
|
|
|
|
* THUNK_EnumTaskWindows16 (USER.225)
|
|
|
|
*/
|
1997-08-24 18:00:30 +02:00
|
|
|
BOOL16 WINAPI THUNK_EnumTaskWindows16( HTASK16 hTask, WNDENUMPROC16 func,
|
|
|
|
LPARAM lParam )
|
Release 960805
Sun Aug 4 18:18:48 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/scroll.c]
Attempted to implement undocumented scroll-bar messages.
* [tools/build.c] [include/callback.h] [windows/winproc.c]
CallTo16_* functions now get DS from the previous 16-bit stackframe.
* [if1632/thunk.c] [include/callback.h]
Added thunks to implement callbacks for the emulator. Now all the
Enum* functions always take a real function pointer even in the
emulator.
* [loader/builtin.c]
Removed binary search in BUILTIN_GetEntryPoint32(), as it didn't
work with NULL entry points. Using linear search now.
* [loader/module.c]
Implemented IsSharedSelector().
* [loader/task.c]
Changed SwitchStackTo/Back to use the instance data to store the
previous stack instead of the TDB. Also copy the local variables
onto the new stack.
Added GetExeVersion() and SetTackSignalProc().
Implemented SetSigHandler().
Sat Aug 3 22:19:00 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [controls/menu.c]
"Fixed" problem in deleting menus where win32 could get into an
endless loop when it crashed. I think I've fixed the symptoms, not
the original problem so it might be worth further investigation.
* [debugger/registers.c]
Added missing #ifdefs on FS_REG and GS_REG, needed for FreeBSD to
compile wine properly.
* [files/dos_fs.c]
Made DOSFS_Hash and DOSFS_Match non-static so they can be called
from win32/findfile.c (q.v.).
* [if1632/gdi32.spec]
Added SetMapMode (call existing function)
* [if1632/kernel32.spec]
Added FindFirstFileA and SetFileAttributesA.
* [if1632/user32.spec]
Added BringWindowToTop, CreatePopupMenu, GetKeyState, GetParent,
IsDlgButtonChecked (call existing functions) and IsDialogMessageA,
UnhookWindowsHookEx.
* [win32/file.c]
Added stub function SetFileAttributes32A. It's a stub because I
can't really work out what this function should do with most
attributes in a Unix environment. Anyone care to expand it?
* [win32/findfile.c]
New file. Initial stab at FindFirstFile. This doesn't work as
specified yet, though a lot of the groundwork is there. I haven't
time to work on this for the next month, so if anyone wants to pick
it up and run with it please do.
* [win32/memory.c]
Removed malloc.h from includes (covered by stdlib.h include, and
gets rid of a warning in FreeBSD).
* [win32/newfns.c]
UnhookWindowsHookEx32A stub added.
* [win32/user32.c]
Added implementation of IsDialogMessage32A.
* [windows/dialog.c]
IsDlgButtonChecked now calls SendDlgItemMessage32A instead of
SendDlgItemMessage16.
Sat Aug 3 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [windows/graphics.c]
Removed rectangle checking (conflicted with nonstandard
mapping modes).
* [windows/dialog.c]
Added check for child-style dialogs to DS_ABSALIGN
coordinate conversion.
* [objects/color.c]
Cleaned up misc. bits
Thu Aug 1 10:51:45 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [windows/focus.c] [windows/event.c] [windows/win.c]
[windows/defdlg.c]
Fixes to focusing and activation.
* [windows/defdlg.c]
Properly(?) handle DM_GETDEFID.
* [controls/combo.c]
Handle CB_FINDSTRINGEXACT, CB_SETEDITSEL, CB_GETEDITSEL.
CBCheckSize: Adjust edit position.
Tue Jul 30 09:46:36 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/file.c] [include/file.h] [loader/module.c] [loader/ne_image.c]
Pass HFILEs instead of unix-fds to self-loader code.
Mon Jul 29 21:48:25 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/metafile.h] [objects/metafile.c] [objects/text.c]
Implemented handling of some new metafile records (META_...)
in PlayMetaFileRecord(), rewrite of 'case META_EXTTEXTOUT'.
Added functions like MF_StretchBlt() for usage in metafiles.
Minor bugfix in CopyMetafile().
* [objects/bitmap.c][objects/dib.c]
Added check for metafile-DC in Bitmap and DIB functions:
CreateCompatibleBitmap() etc.
1996-08-05 19:42:43 +02:00
|
|
|
{
|
|
|
|
DECL_THUNK( thunk, func, CallTo16_word_wl );
|
|
|
|
return EnumTaskWindows16( hTask, (WNDENUMPROC16)&thunk, lParam );
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* THUNK_EnumProps16 (USER.27)
|
|
|
|
*/
|
1997-08-24 18:00:30 +02:00
|
|
|
INT16 WINAPI THUNK_EnumProps16( HWND16 hwnd, PROPENUMPROC16 func )
|
Release 960805
Sun Aug 4 18:18:48 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/scroll.c]
Attempted to implement undocumented scroll-bar messages.
* [tools/build.c] [include/callback.h] [windows/winproc.c]
CallTo16_* functions now get DS from the previous 16-bit stackframe.
* [if1632/thunk.c] [include/callback.h]
Added thunks to implement callbacks for the emulator. Now all the
Enum* functions always take a real function pointer even in the
emulator.
* [loader/builtin.c]
Removed binary search in BUILTIN_GetEntryPoint32(), as it didn't
work with NULL entry points. Using linear search now.
* [loader/module.c]
Implemented IsSharedSelector().
* [loader/task.c]
Changed SwitchStackTo/Back to use the instance data to store the
previous stack instead of the TDB. Also copy the local variables
onto the new stack.
Added GetExeVersion() and SetTackSignalProc().
Implemented SetSigHandler().
Sat Aug 3 22:19:00 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [controls/menu.c]
"Fixed" problem in deleting menus where win32 could get into an
endless loop when it crashed. I think I've fixed the symptoms, not
the original problem so it might be worth further investigation.
* [debugger/registers.c]
Added missing #ifdefs on FS_REG and GS_REG, needed for FreeBSD to
compile wine properly.
* [files/dos_fs.c]
Made DOSFS_Hash and DOSFS_Match non-static so they can be called
from win32/findfile.c (q.v.).
* [if1632/gdi32.spec]
Added SetMapMode (call existing function)
* [if1632/kernel32.spec]
Added FindFirstFileA and SetFileAttributesA.
* [if1632/user32.spec]
Added BringWindowToTop, CreatePopupMenu, GetKeyState, GetParent,
IsDlgButtonChecked (call existing functions) and IsDialogMessageA,
UnhookWindowsHookEx.
* [win32/file.c]
Added stub function SetFileAttributes32A. It's a stub because I
can't really work out what this function should do with most
attributes in a Unix environment. Anyone care to expand it?
* [win32/findfile.c]
New file. Initial stab at FindFirstFile. This doesn't work as
specified yet, though a lot of the groundwork is there. I haven't
time to work on this for the next month, so if anyone wants to pick
it up and run with it please do.
* [win32/memory.c]
Removed malloc.h from includes (covered by stdlib.h include, and
gets rid of a warning in FreeBSD).
* [win32/newfns.c]
UnhookWindowsHookEx32A stub added.
* [win32/user32.c]
Added implementation of IsDialogMessage32A.
* [windows/dialog.c]
IsDlgButtonChecked now calls SendDlgItemMessage32A instead of
SendDlgItemMessage16.
Sat Aug 3 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [windows/graphics.c]
Removed rectangle checking (conflicted with nonstandard
mapping modes).
* [windows/dialog.c]
Added check for child-style dialogs to DS_ABSALIGN
coordinate conversion.
* [objects/color.c]
Cleaned up misc. bits
Thu Aug 1 10:51:45 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [windows/focus.c] [windows/event.c] [windows/win.c]
[windows/defdlg.c]
Fixes to focusing and activation.
* [windows/defdlg.c]
Properly(?) handle DM_GETDEFID.
* [controls/combo.c]
Handle CB_FINDSTRINGEXACT, CB_SETEDITSEL, CB_GETEDITSEL.
CBCheckSize: Adjust edit position.
Tue Jul 30 09:46:36 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/file.c] [include/file.h] [loader/module.c] [loader/ne_image.c]
Pass HFILEs instead of unix-fds to self-loader code.
Mon Jul 29 21:48:25 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/metafile.h] [objects/metafile.c] [objects/text.c]
Implemented handling of some new metafile records (META_...)
in PlayMetaFileRecord(), rewrite of 'case META_EXTTEXTOUT'.
Added functions like MF_StretchBlt() for usage in metafiles.
Minor bugfix in CopyMetafile().
* [objects/bitmap.c][objects/dib.c]
Added check for metafile-DC in Bitmap and DIB functions:
CreateCompatibleBitmap() etc.
1996-08-05 19:42:43 +02:00
|
|
|
{
|
|
|
|
DECL_THUNK( thunk, func, CallTo16_word_wlw );
|
|
|
|
return EnumProps16( hwnd, (PROPENUMPROC16)&thunk );
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* THUNK_GrayString16 (USER.185)
|
|
|
|
*/
|
1997-08-24 18:00:30 +02:00
|
|
|
BOOL16 WINAPI THUNK_GrayString16( HDC16 hdc, HBRUSH16 hbr,
|
|
|
|
GRAYSTRINGPROC16 func, LPARAM lParam,
|
|
|
|
INT16 cch, INT16 x, INT16 y,
|
|
|
|
INT16 cx, INT16 cy )
|
Release 960805
Sun Aug 4 18:18:48 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/scroll.c]
Attempted to implement undocumented scroll-bar messages.
* [tools/build.c] [include/callback.h] [windows/winproc.c]
CallTo16_* functions now get DS from the previous 16-bit stackframe.
* [if1632/thunk.c] [include/callback.h]
Added thunks to implement callbacks for the emulator. Now all the
Enum* functions always take a real function pointer even in the
emulator.
* [loader/builtin.c]
Removed binary search in BUILTIN_GetEntryPoint32(), as it didn't
work with NULL entry points. Using linear search now.
* [loader/module.c]
Implemented IsSharedSelector().
* [loader/task.c]
Changed SwitchStackTo/Back to use the instance data to store the
previous stack instead of the TDB. Also copy the local variables
onto the new stack.
Added GetExeVersion() and SetTackSignalProc().
Implemented SetSigHandler().
Sat Aug 3 22:19:00 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [controls/menu.c]
"Fixed" problem in deleting menus where win32 could get into an
endless loop when it crashed. I think I've fixed the symptoms, not
the original problem so it might be worth further investigation.
* [debugger/registers.c]
Added missing #ifdefs on FS_REG and GS_REG, needed for FreeBSD to
compile wine properly.
* [files/dos_fs.c]
Made DOSFS_Hash and DOSFS_Match non-static so they can be called
from win32/findfile.c (q.v.).
* [if1632/gdi32.spec]
Added SetMapMode (call existing function)
* [if1632/kernel32.spec]
Added FindFirstFileA and SetFileAttributesA.
* [if1632/user32.spec]
Added BringWindowToTop, CreatePopupMenu, GetKeyState, GetParent,
IsDlgButtonChecked (call existing functions) and IsDialogMessageA,
UnhookWindowsHookEx.
* [win32/file.c]
Added stub function SetFileAttributes32A. It's a stub because I
can't really work out what this function should do with most
attributes in a Unix environment. Anyone care to expand it?
* [win32/findfile.c]
New file. Initial stab at FindFirstFile. This doesn't work as
specified yet, though a lot of the groundwork is there. I haven't
time to work on this for the next month, so if anyone wants to pick
it up and run with it please do.
* [win32/memory.c]
Removed malloc.h from includes (covered by stdlib.h include, and
gets rid of a warning in FreeBSD).
* [win32/newfns.c]
UnhookWindowsHookEx32A stub added.
* [win32/user32.c]
Added implementation of IsDialogMessage32A.
* [windows/dialog.c]
IsDlgButtonChecked now calls SendDlgItemMessage32A instead of
SendDlgItemMessage16.
Sat Aug 3 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [windows/graphics.c]
Removed rectangle checking (conflicted with nonstandard
mapping modes).
* [windows/dialog.c]
Added check for child-style dialogs to DS_ABSALIGN
coordinate conversion.
* [objects/color.c]
Cleaned up misc. bits
Thu Aug 1 10:51:45 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [windows/focus.c] [windows/event.c] [windows/win.c]
[windows/defdlg.c]
Fixes to focusing and activation.
* [windows/defdlg.c]
Properly(?) handle DM_GETDEFID.
* [controls/combo.c]
Handle CB_FINDSTRINGEXACT, CB_SETEDITSEL, CB_GETEDITSEL.
CBCheckSize: Adjust edit position.
Tue Jul 30 09:46:36 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/file.c] [include/file.h] [loader/module.c] [loader/ne_image.c]
Pass HFILEs instead of unix-fds to self-loader code.
Mon Jul 29 21:48:25 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/metafile.h] [objects/metafile.c] [objects/text.c]
Implemented handling of some new metafile records (META_...)
in PlayMetaFileRecord(), rewrite of 'case META_EXTTEXTOUT'.
Added functions like MF_StretchBlt() for usage in metafiles.
Minor bugfix in CopyMetafile().
* [objects/bitmap.c][objects/dib.c]
Added check for metafile-DC in Bitmap and DIB functions:
CreateCompatibleBitmap() etc.
1996-08-05 19:42:43 +02:00
|
|
|
{
|
|
|
|
DECL_THUNK( thunk, func, CallTo16_word_wlw );
|
|
|
|
if (!func)
|
1997-02-15 15:29:56 +01:00
|
|
|
return GrayString16( hdc, hbr, NULL, lParam, cch, x, y, cx, cy );
|
Release 960805
Sun Aug 4 18:18:48 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/scroll.c]
Attempted to implement undocumented scroll-bar messages.
* [tools/build.c] [include/callback.h] [windows/winproc.c]
CallTo16_* functions now get DS from the previous 16-bit stackframe.
* [if1632/thunk.c] [include/callback.h]
Added thunks to implement callbacks for the emulator. Now all the
Enum* functions always take a real function pointer even in the
emulator.
* [loader/builtin.c]
Removed binary search in BUILTIN_GetEntryPoint32(), as it didn't
work with NULL entry points. Using linear search now.
* [loader/module.c]
Implemented IsSharedSelector().
* [loader/task.c]
Changed SwitchStackTo/Back to use the instance data to store the
previous stack instead of the TDB. Also copy the local variables
onto the new stack.
Added GetExeVersion() and SetTackSignalProc().
Implemented SetSigHandler().
Sat Aug 3 22:19:00 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [controls/menu.c]
"Fixed" problem in deleting menus where win32 could get into an
endless loop when it crashed. I think I've fixed the symptoms, not
the original problem so it might be worth further investigation.
* [debugger/registers.c]
Added missing #ifdefs on FS_REG and GS_REG, needed for FreeBSD to
compile wine properly.
* [files/dos_fs.c]
Made DOSFS_Hash and DOSFS_Match non-static so they can be called
from win32/findfile.c (q.v.).
* [if1632/gdi32.spec]
Added SetMapMode (call existing function)
* [if1632/kernel32.spec]
Added FindFirstFileA and SetFileAttributesA.
* [if1632/user32.spec]
Added BringWindowToTop, CreatePopupMenu, GetKeyState, GetParent,
IsDlgButtonChecked (call existing functions) and IsDialogMessageA,
UnhookWindowsHookEx.
* [win32/file.c]
Added stub function SetFileAttributes32A. It's a stub because I
can't really work out what this function should do with most
attributes in a Unix environment. Anyone care to expand it?
* [win32/findfile.c]
New file. Initial stab at FindFirstFile. This doesn't work as
specified yet, though a lot of the groundwork is there. I haven't
time to work on this for the next month, so if anyone wants to pick
it up and run with it please do.
* [win32/memory.c]
Removed malloc.h from includes (covered by stdlib.h include, and
gets rid of a warning in FreeBSD).
* [win32/newfns.c]
UnhookWindowsHookEx32A stub added.
* [win32/user32.c]
Added implementation of IsDialogMessage32A.
* [windows/dialog.c]
IsDlgButtonChecked now calls SendDlgItemMessage32A instead of
SendDlgItemMessage16.
Sat Aug 3 18:00:00 1996 Alex Korobka <alex@phm30.pharm.sunysb.edu>
* [windows/graphics.c]
Removed rectangle checking (conflicted with nonstandard
mapping modes).
* [windows/dialog.c]
Added check for child-style dialogs to DS_ABSALIGN
coordinate conversion.
* [objects/color.c]
Cleaned up misc. bits
Thu Aug 1 10:51:45 1996 Andrew Lewycky <plewycky@oise.utoronto.ca>
* [windows/focus.c] [windows/event.c] [windows/win.c]
[windows/defdlg.c]
Fixes to focusing and activation.
* [windows/defdlg.c]
Properly(?) handle DM_GETDEFID.
* [controls/combo.c]
Handle CB_FINDSTRINGEXACT, CB_SETEDITSEL, CB_GETEDITSEL.
CBCheckSize: Adjust edit position.
Tue Jul 30 09:46:36 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/file.c] [include/file.h] [loader/module.c] [loader/ne_image.c]
Pass HFILEs instead of unix-fds to self-loader code.
Mon Jul 29 21:48:25 1996 Albrecht Kleine <kleine@ak.sax.de>
* [include/metafile.h] [objects/metafile.c] [objects/text.c]
Implemented handling of some new metafile records (META_...)
in PlayMetaFileRecord(), rewrite of 'case META_EXTTEXTOUT'.
Added functions like MF_StretchBlt() for usage in metafiles.
Minor bugfix in CopyMetafile().
* [objects/bitmap.c][objects/dib.c]
Added check for metafile-DC in Bitmap and DIB functions:
CreateCompatibleBitmap() etc.
1996-08-05 19:42:43 +02:00
|
|
|
else
|
1997-02-15 15:29:56 +01:00
|
|
|
return GrayString16( hdc, hbr, (GRAYSTRINGPROC16)&thunk, lParam, cch,
|
|
|
|
x, y, cx, cy );
|
|
|
|
}
|
|
|
|
|
|
|
|
|
1996-10-13 19:45:47 +02:00
|
|
|
/***********************************************************************
|
|
|
|
* THUNK_SetWindowsHook16 (USER.121)
|
|
|
|
*/
|
1997-08-24 18:00:30 +02:00
|
|
|
FARPROC16 WINAPI THUNK_SetWindowsHook16( INT16 id, HOOKPROC16 proc )
|
1996-10-13 19:45:47 +02:00
|
|
|
{
|
|
|
|
HINSTANCE16 hInst = FarGetOwner( HIWORD(proc) );
|
|
|
|
HTASK16 hTask = (id == WH_MSGFILTER) ? GetCurrentTask() : 0;
|
|
|
|
THUNK *thunk = THUNK_Alloc( (FARPROC16)proc, (RELAY)CallTo16_long_wwl );
|
|
|
|
if (!thunk) return 0;
|
|
|
|
return (FARPROC16)SetWindowsHookEx16( id, (HOOKPROC16)thunk, hInst, hTask);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* THUNK_UnhookWindowsHook16 (USER.234)
|
|
|
|
*/
|
1997-08-24 18:00:30 +02:00
|
|
|
BOOL16 WINAPI THUNK_UnhookWindowsHook16( INT16 id, HOOKPROC16 proc )
|
1996-10-13 19:45:47 +02:00
|
|
|
{
|
1996-11-02 15:24:07 +01:00
|
|
|
BOOL16 ret;
|
1996-10-13 19:45:47 +02:00
|
|
|
THUNK *thunk = THUNK_Find( (FARPROC16)proc );
|
1996-11-02 15:24:07 +01:00
|
|
|
if (!thunk) return FALSE;
|
|
|
|
ret = UnhookWindowsHook16( id, (HOOKPROC16)thunk );
|
|
|
|
THUNK_Free( thunk );
|
1996-10-13 19:45:47 +02:00
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* THUNK_SetWindowsHookEx16 (USER.291)
|
|
|
|
*/
|
1997-08-24 18:00:30 +02:00
|
|
|
HHOOK WINAPI THUNK_SetWindowsHookEx16( INT16 id, HOOKPROC16 proc,
|
|
|
|
HINSTANCE16 hInst, HTASK16 hTask )
|
1996-10-13 19:45:47 +02:00
|
|
|
{
|
|
|
|
THUNK *thunk = THUNK_Alloc( (FARPROC16)proc, (RELAY)CallTo16_long_wwl );
|
|
|
|
if (!thunk) return 0;
|
|
|
|
return SetWindowsHookEx16( id, (HOOKPROC16)thunk, hInst, hTask );
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* THUNK_UnhookWindowHookEx16 (USER.292)
|
|
|
|
*/
|
1997-08-24 18:00:30 +02:00
|
|
|
BOOL16 WINAPI THUNK_UnhookWindowsHookEx16( HHOOK hhook )
|
1996-10-13 19:45:47 +02:00
|
|
|
{
|
|
|
|
THUNK *thunk = (THUNK *)HOOK_GetProc16( hhook );
|
|
|
|
BOOL16 ret = UnhookWindowsHookEx16( hhook );
|
1996-10-23 18:59:13 +02:00
|
|
|
if (thunk) THUNK_Free( thunk );
|
1996-10-13 19:45:47 +02:00
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
1997-08-04 18:34:36 +02:00
|
|
|
/***********************************************************************
|
|
|
|
* THUNK_CreateSystemTimer (SYSTEM.2)
|
|
|
|
*/
|
1997-08-24 18:00:30 +02:00
|
|
|
WORD WINAPI THUNK_CreateSystemTimer( WORD rate, FARPROC16 callback )
|
1997-08-04 18:34:36 +02:00
|
|
|
{
|
|
|
|
THUNK *thunk = THUNK_Alloc( callback, (RELAY)CallTo16_word_ );
|
|
|
|
if (!thunk) return 0;
|
|
|
|
return CreateSystemTimer( rate, (FARPROC16)thunk );
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* THUNK_KillSystemTimer (SYSTEM.3)
|
|
|
|
*/
|
1997-08-24 18:00:30 +02:00
|
|
|
WORD WINAPI THUNK_KillSystemTimer( WORD timer )
|
1997-08-04 18:34:36 +02:00
|
|
|
{
|
|
|
|
extern WORD SYSTEM_KillSystemTimer( WORD timer ); /* misc/system.c */
|
|
|
|
extern FARPROC16 SYSTEM_GetTimerProc( WORD timer ); /* misc/system.c */
|
|
|
|
|
|
|
|
THUNK *thunk = (THUNK *)SYSTEM_GetTimerProc( timer );
|
|
|
|
WORD ret = SYSTEM_KillSystemTimer( timer );
|
|
|
|
if (thunk) THUNK_Free( thunk );
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
1996-10-13 19:45:47 +02:00
|
|
|
static FARPROC16 defDCHookProc = NULL;
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* THUNK_SetDCHook (GDI.190)
|
|
|
|
*/
|
1997-08-24 18:00:30 +02:00
|
|
|
BOOL16 WINAPI THUNK_SetDCHook( HDC16 hdc, FARPROC16 proc, DWORD dwHookData )
|
1996-10-13 19:45:47 +02:00
|
|
|
{
|
|
|
|
THUNK *thunk, *oldThunk;
|
|
|
|
|
|
|
|
if (!defDCHookProc) /* Get DCHook Win16 entry point */
|
1997-03-05 09:22:35 +01:00
|
|
|
defDCHookProc = MODULE_GetEntryPoint( GetModuleHandle16("USER"), 362 );
|
1996-10-13 19:45:47 +02:00
|
|
|
|
|
|
|
if (proc != defDCHookProc)
|
|
|
|
{
|
|
|
|
thunk = THUNK_Alloc( proc, (RELAY)CallTo16_word_wwll );
|
|
|
|
if (!thunk) return FALSE;
|
|
|
|
}
|
|
|
|
else thunk = (THUNK *)DCHook;
|
|
|
|
|
|
|
|
/* Free the previous thunk */
|
|
|
|
GetDCHook( hdc, (FARPROC16 *)&oldThunk );
|
|
|
|
if (oldThunk && (oldThunk != (THUNK *)DCHook)) THUNK_Free( oldThunk );
|
|
|
|
|
|
|
|
return SetDCHook( hdc, (FARPROC16)thunk, dwHookData );
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* THUNK_GetDCHook (GDI.191)
|
|
|
|
*/
|
1997-08-24 18:00:30 +02:00
|
|
|
DWORD WINAPI THUNK_GetDCHook( HDC16 hdc, FARPROC16 *phookProc )
|
1996-10-13 19:45:47 +02:00
|
|
|
{
|
|
|
|
THUNK *thunk = NULL;
|
|
|
|
DWORD ret = GetDCHook( hdc, (FARPROC16 *)&thunk );
|
|
|
|
if (thunk)
|
|
|
|
{
|
|
|
|
if (thunk == (THUNK *)DCHook)
|
|
|
|
{
|
|
|
|
if (!defDCHookProc) /* Get DCHook Win16 entry point */
|
1997-03-05 09:22:35 +01:00
|
|
|
defDCHookProc = MODULE_GetEntryPoint(GetModuleHandle16("USER"),
|
|
|
|
362 );
|
1996-10-13 19:45:47 +02:00
|
|
|
*phookProc = defDCHookProc;
|
|
|
|
}
|
|
|
|
else *phookProc = thunk->proc;
|
|
|
|
}
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
Release 970914
Thu Sep 11 18:24:56 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
* [objects/dc.c]
In DC_SetupGCForPatBlt, replace R2_NOT by GXxor with (black xor white).
Tue Sep 9 23:04:02 1997 U. Bonnes <bon@elektron.ikp.physik.th-darmstadt.de>
* [memory/virtual.c]
Do not write debugging info unconditionally to stderr.
* [files/profile.c]
Call PROFILE_GetSection in PROFILE_GetString for key_name "" too.
* [misc/crtdll.c]
Many new functions.
* [include/windows.h] [windows/winpos.c]
ClientToScreen16 doesn't have a return value.
Sun Sep 7 10:06:39 1997 Alexandre Julliard <julliard@lrc.epfl.ch>
* [misc/main.c] [AUTHORS]
Update the list of contributors. Please let me know if I forgot
someone.
* [if1632/*.spec] [if1632/builtin.c] [tools/build.c]
Ordinal base for Win32 DLLs is now computed automatically from the
lowest ordinal found.
* [include/wintypes.h]
WINAPI is now defined as attribute((stdcall)). This will require
gcc to compile.
* [if1632/thunk.c]
Removed Win32 thunks (no longer needed with stdcall).
* [if1632/crtdll.spec] [misc/crtdll.c]
Make sure we only reference cdecl functions in the spec file.
* [objects/dc.c]
Use CapNotLast drawing style for 1-pixel wide lines.
* [tools/build.c]
Added 'double' argument type.
Added 'varargs' function type for Win32.
Made CallTo16_xxx functions stdcall.
Fri Sep 5 14:50:49 1997 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [tools/build.c] [windows/win.c] [windows/event.c] [windows/message.c]
More fixes to get message exchange closer to the original.
* [misc/spy.c]
Message logs now contain window names.
* [loader/resource.c] [loader/ne_resource.c] [loader/task.c]
[objects/cursoricon.c] [windows/user.c]
Added some obscure features to fix memory leaks.
Fri Sep 5 00:46:28 1997 Jan Willamowius <jan@janhh.shnet.org>
* [if1632/kernel32.spec] [win32/newfns.c]
Added stub for UTRegister() and UTUnRegister().
Thu Sep 4 12:03:12 1997 Frans van Dorsselaer <dorssel@rulhmpc49.LeidenUniv.nl>
* [controls/edit.c]
Allow ASCII codes > 127 in WM_CHAR.
Mon Sep 1 17:23:24 1997 Dimitrie O. Paun <dimi@mail.cs.toronto.edu>
* [controls/widgets.c]
In InitCommonControls, remember the name of the class
because lpszClassName was made to point to a local array
Added the ProgressBar to the list of implemented controls.
Call InitCommonControls from WIDGETS_Init to register all
implemented Common Controls.
* [include/commctrl.h]
Added misc decl for the Progress Bar.
* [controls/progress.c] [include/progress.h]
First attempt at implementiong the Progress Bar class.
* [objects/brush.h]
Implementation for GetSysColorBrush[16|32]
* [controls/status.c]
Use DrawEdge to draw the borders and fill the background
* [controls/uitools.c]
Added DrawDiagEdge32 and DrawRectEdge32
* [graphics/painting.c]
Implement DrawEdge[16|32]
Started DrawFrameControl32
Mon Sep 1 10:07:09 1997 Lawson Whitney <lawson_whitney@juno.com>
* [misc/comm.c] [include/windows.h]
SetCommEventMask returns a SEGPTR.
Sun Aug 31 23:28:32 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [loader/pe_image.c][loader/module.c][include/pe_image.h]
[include/module.h]
Cleaned up the whole Win32 library mess (a bit).
* [debugger/stabs.c]
If 'wine' has no absolute path and isn't found, check $PATH too.
* [misc/ole2nls.c]
Some fixes.
* [misc/ver.c]
Added support for PE style version resources.
* [memory/string.c]
Check for NULL pointers to _lstr* functions, just as Windows95 does.
* [multimedia/time.c]
Made list of timers a simple linked list.
* [loader/resource.c]
Netscape 3 seems to pass NEGATIVE resource Ids (in an
unsigned int, yes). Don't know why, fixed it anyway.
* [objects/bitmap.c]
LoadImageW added.
* [include/win.h][windows/win.c]
Change wIDmenu from UINT16 to UINT32 and changed the
SetWindow(Long|Word) accordingly.
Thu Aug 28 19:30:08 1997 Morten Welinder <terra@diku.dk>
* [include/windows.h]
Add a few more colors defined for Win95.
Add a few more brush styles.
* [windows/syscolor.c]
Add error checks for SYSCOLOR_SetColor, SYSCOLOR_Init,
GetSysColor16, GetSysColor32. Add support for above colors.
Sun Aug 24 16:22:57 1997 Andrew Taylor <andrew@riscan.com>
* [multimedia/mmsystem.c]
Changed mmioDescend to use mmio functions for file I/O, neccessary
for memory files.
1997-09-14 19:17:23 +02:00
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* THUNK_SetTaskSignalProc (KERNEL.38)
|
|
|
|
*/
|
|
|
|
FARPROC16 WINAPI THUNK_SetTaskSignalProc( HTASK16 hTask, FARPROC16 proc )
|
|
|
|
{
|
|
|
|
static FARPROC16 defSignalProc16 = NULL;
|
|
|
|
|
|
|
|
THUNK *thunk = NULL;
|
|
|
|
|
|
|
|
if( !defSignalProc16 )
|
|
|
|
defSignalProc16 = MODULE_GetEntryPoint(GetModuleHandle16("USER"), 314 );
|
|
|
|
|
|
|
|
if( proc == defSignalProc16 )
|
|
|
|
thunk = (THUNK*)SetTaskSignalProc( hTask, (FARPROC16)&USER_SignalProc );
|
|
|
|
else
|
|
|
|
{
|
|
|
|
thunk = THUNK_Alloc( proc, (RELAY)CallTo16_word_wwwww );
|
|
|
|
if( !thunk ) return FALSE;
|
|
|
|
thunk = (THUNK*)SetTaskSignalProc( hTask, (FARPROC16)thunk );
|
|
|
|
}
|
|
|
|
|
|
|
|
if( thunk != (THUNK*)USER_SignalProc )
|
|
|
|
{
|
|
|
|
if( !thunk ) return NULL;
|
|
|
|
|
|
|
|
proc = thunk->proc;
|
|
|
|
THUNK_Free( thunk );
|
|
|
|
return proc;
|
|
|
|
}
|
|
|
|
return defSignalProc16;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* THUNK_SetResourceHandler (KERNEL.67)
|
|
|
|
*/
|
|
|
|
FARPROC16 WINAPI THUNK_SetResourceHandler( HMODULE16 hModule, SEGPTR typeId, FARPROC16 proc )
|
|
|
|
{
|
|
|
|
/* loader/ne_resource.c */
|
|
|
|
extern HGLOBAL16 WINAPI NE_DefResourceHandler(HGLOBAL16,HMODULE16,HRSRC16);
|
|
|
|
|
|
|
|
static FARPROC16 defDIBIconLoader16 = NULL;
|
|
|
|
static FARPROC16 defDIBCursorLoader16 = NULL;
|
|
|
|
static FARPROC16 defResourceLoader16 = NULL;
|
|
|
|
|
|
|
|
THUNK *thunk = NULL;
|
|
|
|
|
|
|
|
if( !defResourceLoader16 )
|
|
|
|
{
|
|
|
|
HMODULE16 hUser = GetModuleHandle16("USER");
|
|
|
|
defDIBIconLoader16 = MODULE_GetEntryPoint( hUser, 357 );
|
|
|
|
defDIBCursorLoader16 = MODULE_GetEntryPoint( hUser, 356 );
|
|
|
|
defResourceLoader16 = MODULE_GetWndProcEntry16( "DefResourceHandler" );
|
|
|
|
}
|
|
|
|
|
|
|
|
if( proc == defResourceLoader16 )
|
|
|
|
thunk = (THUNK*)&NE_DefResourceHandler;
|
|
|
|
else if( proc == defDIBIconLoader16 )
|
|
|
|
thunk = (THUNK*)&LoadDIBIconHandler;
|
|
|
|
else if( proc == defDIBCursorLoader16 )
|
|
|
|
thunk = (THUNK*)&LoadDIBCursorHandler;
|
|
|
|
else
|
|
|
|
{
|
|
|
|
thunk = THUNK_Alloc( proc, (RELAY)CallTo16_word_www );
|
|
|
|
if( !thunk ) return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
thunk = (THUNK*)SetResourceHandler( hModule, typeId, (FARPROC16)thunk );
|
|
|
|
|
|
|
|
if( thunk == (THUNK*)&NE_DefResourceHandler )
|
|
|
|
return defResourceLoader16;
|
|
|
|
if( thunk == (THUNK*)&LoadDIBIconHandler )
|
|
|
|
return defDIBIconLoader16;
|
|
|
|
if( thunk == (THUNK*)&LoadDIBCursorHandler )
|
|
|
|
return defDIBCursorLoader16;
|
|
|
|
|
|
|
|
if( thunk )
|
|
|
|
{
|
|
|
|
proc = thunk->proc;
|
|
|
|
THUNK_Free( thunk );
|
|
|
|
return proc;
|
|
|
|
}
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
1997-08-24 18:00:30 +02:00
|
|
|
/***********************************************************************
|
|
|
|
* *
|
|
|
|
* Win95 internal thunks *
|
|
|
|
* *
|
|
|
|
***********************************************************************/
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* Generates a FT_Prolog call.
|
|
|
|
*
|
|
|
|
* 0FB6D1 movzbl edx,cl
|
|
|
|
* 8B1495xxxxxxxx mov edx,[4*edx + xxxxxxxx]
|
|
|
|
* 68xxxxxxxx push FT_Prolog
|
|
|
|
* C3 lret
|
|
|
|
*/
|
|
|
|
static void _write_ftprolog(LPBYTE start,DWORD thunkstart) {
|
|
|
|
LPBYTE x;
|
|
|
|
|
|
|
|
x = start;
|
|
|
|
*x++ = 0x0f;*x++=0xb6;*x++=0xd1; /* movzbl edx,cl */
|
|
|
|
*x++ = 0x8B;*x++=0x14;*x++=0x95;*(DWORD*)x= thunkstart;
|
|
|
|
x+=4; /* mov edx, [4*edx + thunkstart] */
|
Release 970914
Thu Sep 11 18:24:56 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
* [objects/dc.c]
In DC_SetupGCForPatBlt, replace R2_NOT by GXxor with (black xor white).
Tue Sep 9 23:04:02 1997 U. Bonnes <bon@elektron.ikp.physik.th-darmstadt.de>
* [memory/virtual.c]
Do not write debugging info unconditionally to stderr.
* [files/profile.c]
Call PROFILE_GetSection in PROFILE_GetString for key_name "" too.
* [misc/crtdll.c]
Many new functions.
* [include/windows.h] [windows/winpos.c]
ClientToScreen16 doesn't have a return value.
Sun Sep 7 10:06:39 1997 Alexandre Julliard <julliard@lrc.epfl.ch>
* [misc/main.c] [AUTHORS]
Update the list of contributors. Please let me know if I forgot
someone.
* [if1632/*.spec] [if1632/builtin.c] [tools/build.c]
Ordinal base for Win32 DLLs is now computed automatically from the
lowest ordinal found.
* [include/wintypes.h]
WINAPI is now defined as attribute((stdcall)). This will require
gcc to compile.
* [if1632/thunk.c]
Removed Win32 thunks (no longer needed with stdcall).
* [if1632/crtdll.spec] [misc/crtdll.c]
Make sure we only reference cdecl functions in the spec file.
* [objects/dc.c]
Use CapNotLast drawing style for 1-pixel wide lines.
* [tools/build.c]
Added 'double' argument type.
Added 'varargs' function type for Win32.
Made CallTo16_xxx functions stdcall.
Fri Sep 5 14:50:49 1997 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [tools/build.c] [windows/win.c] [windows/event.c] [windows/message.c]
More fixes to get message exchange closer to the original.
* [misc/spy.c]
Message logs now contain window names.
* [loader/resource.c] [loader/ne_resource.c] [loader/task.c]
[objects/cursoricon.c] [windows/user.c]
Added some obscure features to fix memory leaks.
Fri Sep 5 00:46:28 1997 Jan Willamowius <jan@janhh.shnet.org>
* [if1632/kernel32.spec] [win32/newfns.c]
Added stub for UTRegister() and UTUnRegister().
Thu Sep 4 12:03:12 1997 Frans van Dorsselaer <dorssel@rulhmpc49.LeidenUniv.nl>
* [controls/edit.c]
Allow ASCII codes > 127 in WM_CHAR.
Mon Sep 1 17:23:24 1997 Dimitrie O. Paun <dimi@mail.cs.toronto.edu>
* [controls/widgets.c]
In InitCommonControls, remember the name of the class
because lpszClassName was made to point to a local array
Added the ProgressBar to the list of implemented controls.
Call InitCommonControls from WIDGETS_Init to register all
implemented Common Controls.
* [include/commctrl.h]
Added misc decl for the Progress Bar.
* [controls/progress.c] [include/progress.h]
First attempt at implementiong the Progress Bar class.
* [objects/brush.h]
Implementation for GetSysColorBrush[16|32]
* [controls/status.c]
Use DrawEdge to draw the borders and fill the background
* [controls/uitools.c]
Added DrawDiagEdge32 and DrawRectEdge32
* [graphics/painting.c]
Implement DrawEdge[16|32]
Started DrawFrameControl32
Mon Sep 1 10:07:09 1997 Lawson Whitney <lawson_whitney@juno.com>
* [misc/comm.c] [include/windows.h]
SetCommEventMask returns a SEGPTR.
Sun Aug 31 23:28:32 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [loader/pe_image.c][loader/module.c][include/pe_image.h]
[include/module.h]
Cleaned up the whole Win32 library mess (a bit).
* [debugger/stabs.c]
If 'wine' has no absolute path and isn't found, check $PATH too.
* [misc/ole2nls.c]
Some fixes.
* [misc/ver.c]
Added support for PE style version resources.
* [memory/string.c]
Check for NULL pointers to _lstr* functions, just as Windows95 does.
* [multimedia/time.c]
Made list of timers a simple linked list.
* [loader/resource.c]
Netscape 3 seems to pass NEGATIVE resource Ids (in an
unsigned int, yes). Don't know why, fixed it anyway.
* [objects/bitmap.c]
LoadImageW added.
* [include/win.h][windows/win.c]
Change wIDmenu from UINT16 to UINT32 and changed the
SetWindow(Long|Word) accordingly.
Thu Aug 28 19:30:08 1997 Morten Welinder <terra@diku.dk>
* [include/windows.h]
Add a few more colors defined for Win95.
Add a few more brush styles.
* [windows/syscolor.c]
Add error checks for SYSCOLOR_SetColor, SYSCOLOR_Init,
GetSysColor16, GetSysColor32. Add support for above colors.
Sun Aug 24 16:22:57 1997 Andrew Taylor <andrew@riscan.com>
* [multimedia/mmsystem.c]
Changed mmioDescend to use mmio functions for file I/O, neccessary
for memory files.
1997-09-14 19:17:23 +02:00
|
|
|
*x++ = 0x68; *(DWORD*)x = (DWORD)GetProcAddress32(GetModuleHandle32A("KERNEL32"),"FT_Prolog");
|
1997-08-24 18:00:30 +02:00
|
|
|
x+=4; /* push FT_Prolog */
|
|
|
|
*x++ = 0xC3; /* lret */
|
|
|
|
/* fill rest with 0xCC / int 3 */
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* Generates a QT_Thunk style call.
|
|
|
|
*
|
|
|
|
* 33C9 xor ecx, ecx
|
|
|
|
* 8A4DFC mov cl , [ebp-04]
|
|
|
|
* 8B148Dxxxxxxxx mov edx, [4*ecx + (EAX+EDX)]
|
|
|
|
* B8yyyyyyyy mov eax, QT_Thunk
|
|
|
|
* FFE0 jmp eax
|
|
|
|
*/
|
|
|
|
static void _write_qtthunk(LPBYTE start,DWORD thunkstart) {
|
|
|
|
LPBYTE x;
|
|
|
|
|
|
|
|
x = start;
|
|
|
|
*x++ = 0x33;*x++=0xC9; /* xor ecx,ecx */
|
|
|
|
*x++ = 0x8A;*x++=0x4D;*x++=0xFC; /* movb cl,[ebp-04] */
|
|
|
|
*x++ = 0x8B;*x++=0x14;*x++=0x8D;*(DWORD*)x= thunkstart;
|
|
|
|
x+=4; /* mov edx, [4*ecx + (EAX+EDX) */
|
Release 970914
Thu Sep 11 18:24:56 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
* [objects/dc.c]
In DC_SetupGCForPatBlt, replace R2_NOT by GXxor with (black xor white).
Tue Sep 9 23:04:02 1997 U. Bonnes <bon@elektron.ikp.physik.th-darmstadt.de>
* [memory/virtual.c]
Do not write debugging info unconditionally to stderr.
* [files/profile.c]
Call PROFILE_GetSection in PROFILE_GetString for key_name "" too.
* [misc/crtdll.c]
Many new functions.
* [include/windows.h] [windows/winpos.c]
ClientToScreen16 doesn't have a return value.
Sun Sep 7 10:06:39 1997 Alexandre Julliard <julliard@lrc.epfl.ch>
* [misc/main.c] [AUTHORS]
Update the list of contributors. Please let me know if I forgot
someone.
* [if1632/*.spec] [if1632/builtin.c] [tools/build.c]
Ordinal base for Win32 DLLs is now computed automatically from the
lowest ordinal found.
* [include/wintypes.h]
WINAPI is now defined as attribute((stdcall)). This will require
gcc to compile.
* [if1632/thunk.c]
Removed Win32 thunks (no longer needed with stdcall).
* [if1632/crtdll.spec] [misc/crtdll.c]
Make sure we only reference cdecl functions in the spec file.
* [objects/dc.c]
Use CapNotLast drawing style for 1-pixel wide lines.
* [tools/build.c]
Added 'double' argument type.
Added 'varargs' function type for Win32.
Made CallTo16_xxx functions stdcall.
Fri Sep 5 14:50:49 1997 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [tools/build.c] [windows/win.c] [windows/event.c] [windows/message.c]
More fixes to get message exchange closer to the original.
* [misc/spy.c]
Message logs now contain window names.
* [loader/resource.c] [loader/ne_resource.c] [loader/task.c]
[objects/cursoricon.c] [windows/user.c]
Added some obscure features to fix memory leaks.
Fri Sep 5 00:46:28 1997 Jan Willamowius <jan@janhh.shnet.org>
* [if1632/kernel32.spec] [win32/newfns.c]
Added stub for UTRegister() and UTUnRegister().
Thu Sep 4 12:03:12 1997 Frans van Dorsselaer <dorssel@rulhmpc49.LeidenUniv.nl>
* [controls/edit.c]
Allow ASCII codes > 127 in WM_CHAR.
Mon Sep 1 17:23:24 1997 Dimitrie O. Paun <dimi@mail.cs.toronto.edu>
* [controls/widgets.c]
In InitCommonControls, remember the name of the class
because lpszClassName was made to point to a local array
Added the ProgressBar to the list of implemented controls.
Call InitCommonControls from WIDGETS_Init to register all
implemented Common Controls.
* [include/commctrl.h]
Added misc decl for the Progress Bar.
* [controls/progress.c] [include/progress.h]
First attempt at implementiong the Progress Bar class.
* [objects/brush.h]
Implementation for GetSysColorBrush[16|32]
* [controls/status.c]
Use DrawEdge to draw the borders and fill the background
* [controls/uitools.c]
Added DrawDiagEdge32 and DrawRectEdge32
* [graphics/painting.c]
Implement DrawEdge[16|32]
Started DrawFrameControl32
Mon Sep 1 10:07:09 1997 Lawson Whitney <lawson_whitney@juno.com>
* [misc/comm.c] [include/windows.h]
SetCommEventMask returns a SEGPTR.
Sun Aug 31 23:28:32 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [loader/pe_image.c][loader/module.c][include/pe_image.h]
[include/module.h]
Cleaned up the whole Win32 library mess (a bit).
* [debugger/stabs.c]
If 'wine' has no absolute path and isn't found, check $PATH too.
* [misc/ole2nls.c]
Some fixes.
* [misc/ver.c]
Added support for PE style version resources.
* [memory/string.c]
Check for NULL pointers to _lstr* functions, just as Windows95 does.
* [multimedia/time.c]
Made list of timers a simple linked list.
* [loader/resource.c]
Netscape 3 seems to pass NEGATIVE resource Ids (in an
unsigned int, yes). Don't know why, fixed it anyway.
* [objects/bitmap.c]
LoadImageW added.
* [include/win.h][windows/win.c]
Change wIDmenu from UINT16 to UINT32 and changed the
SetWindow(Long|Word) accordingly.
Thu Aug 28 19:30:08 1997 Morten Welinder <terra@diku.dk>
* [include/windows.h]
Add a few more colors defined for Win95.
Add a few more brush styles.
* [windows/syscolor.c]
Add error checks for SYSCOLOR_SetColor, SYSCOLOR_Init,
GetSysColor16, GetSysColor32. Add support for above colors.
Sun Aug 24 16:22:57 1997 Andrew Taylor <andrew@riscan.com>
* [multimedia/mmsystem.c]
Changed mmioDescend to use mmio functions for file I/O, neccessary
for memory files.
1997-09-14 19:17:23 +02:00
|
|
|
*x++ = 0xB8; *(DWORD*)x = (DWORD)GetProcAddress32(GetModuleHandle32A("KERNEL32"),"QT_Thunk");
|
1997-08-24 18:00:30 +02:00
|
|
|
x+=4; /* mov eax , QT_Thunk */
|
|
|
|
*x++ = 0xFF; *x++ = 0xE0; /* jmp eax */
|
|
|
|
/* should fill the rest of the 32 bytes with 0xCC */
|
|
|
|
}
|
1996-10-13 19:45:47 +02:00
|
|
|
|
1997-08-24 18:00:30 +02:00
|
|
|
/***********************************************************************
|
|
|
|
* ThunkConnect32 (KERNEL32)
|
|
|
|
* Connects a 32bit and a 16bit thunkbuffer.
|
|
|
|
*/
|
1996-08-18 18:21:52 +02:00
|
|
|
struct thunkstruct
|
|
|
|
{
|
|
|
|
char magic[4];
|
1997-08-24 18:00:30 +02:00
|
|
|
DWORD length;
|
|
|
|
DWORD ptr;
|
|
|
|
DWORD x0C;
|
|
|
|
|
|
|
|
DWORD x10;
|
|
|
|
DWORD x14;
|
|
|
|
DWORD x18;
|
|
|
|
DWORD x1C;
|
|
|
|
DWORD x20;
|
1996-08-18 18:21:52 +02:00
|
|
|
};
|
|
|
|
|
1997-08-24 18:00:30 +02:00
|
|
|
UINT32 WINAPI ThunkConnect32( struct thunkstruct *ths, LPSTR thunkfun16,
|
|
|
|
LPSTR module16, LPSTR module32, HMODULE32 hmod32,
|
|
|
|
DWORD dllinitarg1 )
|
1996-08-18 18:21:52 +02:00
|
|
|
{
|
|
|
|
HINSTANCE16 hmm;
|
1997-08-24 18:00:30 +02:00
|
|
|
SEGPTR thkbuf;
|
|
|
|
struct thunkstruct *ths16;
|
1996-08-18 18:21:52 +02:00
|
|
|
|
1996-09-13 18:50:47 +02:00
|
|
|
fprintf(stdnimp,"ThunkConnect32(<struct>,%s,%s,%s,%x,%lx)\n",
|
1996-08-18 18:21:52 +02:00
|
|
|
thunkfun16,module32,module16,hmod32,dllinitarg1
|
|
|
|
);
|
|
|
|
fprintf(stdnimp," magic = %c%c%c%c\n",
|
|
|
|
ths->magic[0],
|
|
|
|
ths->magic[1],
|
|
|
|
ths->magic[2],
|
|
|
|
ths->magic[3]
|
|
|
|
);
|
1997-08-24 18:00:30 +02:00
|
|
|
fprintf(stdnimp," length = %lx\n",ths->length);
|
|
|
|
if (lstrncmp32A(ths->magic,"SL01",4)&&lstrncmp32A(ths->magic,"LS01",4))
|
|
|
|
return 0;
|
1997-03-05 09:22:35 +01:00
|
|
|
hmm=LoadModule16(module16,NULL);
|
1997-08-24 18:00:30 +02:00
|
|
|
if (hmm<=32)
|
|
|
|
return 0;
|
|
|
|
thkbuf=(SEGPTR)WIN32_GetProcAddress16(hmm,thunkfun16);
|
|
|
|
if (!thkbuf)
|
|
|
|
return 0;
|
|
|
|
ths16=(struct thunkstruct*)PTR_SEG_TO_LIN(thkbuf);
|
|
|
|
if (lstrncmp32A(ths16->magic,ths->magic,4))
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
if (!lstrncmp32A(ths->magic,"SL01",4)) {
|
|
|
|
if (ths16->length != ths->length)
|
|
|
|
return 0;
|
|
|
|
ths->x0C = (DWORD)ths16;
|
|
|
|
|
|
|
|
fprintf(stderr," ths16 magic is 0x%08lx\n",*(DWORD*)ths16->magic);
|
|
|
|
if (*((DWORD*)ths16->magic) != 0x0000304C)
|
|
|
|
return 0;
|
|
|
|
if (!*(WORD*)(((LPBYTE)ths16)+0x12))
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
}
|
|
|
|
if (!lstrncmp32A(ths->magic,"LS01",4)) {
|
|
|
|
if (ths16->length != ths->length)
|
|
|
|
return 0;
|
|
|
|
ths->ptr = (DWORD)PTR_SEG_TO_LIN(ths16->ptr);
|
|
|
|
/* code offset for QT_Thunk is at 0x1C... */
|
|
|
|
_write_qtthunk (((LPBYTE)ths) + ths->x1C,ths->ptr);
|
|
|
|
/* code offset for FT_Prolog is at 0x20... */
|
|
|
|
_write_ftprolog(((LPBYTE)ths) + ths->x20,ths->ptr);
|
|
|
|
return 1;
|
|
|
|
}
|
1996-08-18 18:21:52 +02:00
|
|
|
return TRUE;
|
|
|
|
}
|
1997-08-24 18:00:30 +02:00
|
|
|
|
|
|
|
|
|
|
|
/**********************************************************************
|
|
|
|
* The infamous and undocumented QT_Thunk procedure.
|
|
|
|
*
|
|
|
|
* We get arguments in [EBP+8] up to [EBP+38].
|
|
|
|
* We have to set up a frame in the 16 bit stackframe.
|
|
|
|
* saved_ss_sp: bp+0x40
|
|
|
|
* bp+0x3c
|
|
|
|
* ...
|
|
|
|
* bp: bp+0x00
|
|
|
|
* sp:
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
VOID WINAPI QT_Thunk(CONTEXT *context)
|
|
|
|
{
|
|
|
|
CONTEXT context16;
|
|
|
|
LPBYTE curstack;
|
|
|
|
DWORD ret;
|
|
|
|
|
|
|
|
fprintf(stderr,"QT_Thunk(%08lx) ..",EDX_reg(context));
|
|
|
|
fprintf(stderr," argsize probably ebp-esp=%ld\n",
|
|
|
|
EBP_reg(context)-ESP_reg(context)
|
|
|
|
);
|
|
|
|
memcpy(&context16,context,sizeof(context16));
|
|
|
|
|
1997-09-28 19:43:24 +02:00
|
|
|
curstack = (LPBYTE)CURRENT_STACK16;
|
|
|
|
memcpy(curstack-0x44,(LPBYTE)EBP_reg(context),0x40);
|
1997-08-24 18:00:30 +02:00
|
|
|
EBP_reg(&context16) = LOWORD(IF1632_Saved16_ss_sp)-0x40;
|
|
|
|
CS_reg(&context16) = HIWORD(EDX_reg(context));
|
|
|
|
IP_reg(&context16) = LOWORD(EDX_reg(context));
|
|
|
|
#ifndef WINELIB
|
1997-09-28 19:43:24 +02:00
|
|
|
ret = CallTo16_regs_(&context16,-0x40);
|
1997-08-24 18:00:30 +02:00
|
|
|
#endif
|
|
|
|
fprintf(stderr,". returned %08lx\n",ret);
|
|
|
|
EAX_reg(context) = ret;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**********************************************************************
|
|
|
|
* WOWCallback16 (KERNEL32.62)
|
|
|
|
*/
|
|
|
|
DWORD WINAPI WOWCallback16(FARPROC16 fproc,DWORD arg)
|
|
|
|
{
|
|
|
|
DWORD ret;
|
|
|
|
fprintf(stderr,"WOWCallback16(%p,0x%08lx) ",fproc,arg);
|
|
|
|
ret = CallTo16_long_l(fproc,arg);
|
|
|
|
fprintf(stderr,"... returns %ld\n",ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* _KERNEL32_52 (KERNEL32.52)
|
1997-09-28 19:43:24 +02:00
|
|
|
* Returns a pointer to ThkBuf in the 16bit library SYSTHUNK.DLL.
|
1997-08-24 18:00:30 +02:00
|
|
|
*/
|
1997-09-28 19:43:24 +02:00
|
|
|
LPVOID WINAPI _KERNEL32_52()
|
1997-08-24 18:00:30 +02:00
|
|
|
{
|
1997-09-28 19:43:24 +02:00
|
|
|
HMODULE32 hmod = LoadLibrary16("systhunk.dll");
|
|
|
|
DWORD ret;
|
1997-08-24 18:00:30 +02:00
|
|
|
|
1997-09-28 19:43:24 +02:00
|
|
|
fprintf(stderr,"_KERNE32_52()\n");
|
|
|
|
if (hmod<=32)
|
|
|
|
return 0;
|
1997-08-24 18:00:30 +02:00
|
|
|
|
1997-09-28 19:43:24 +02:00
|
|
|
ret = (DWORD)WIN32_GetProcAddress16(hmod,"ThkBuf");
|
|
|
|
|
|
|
|
fprintf(stderr," GetProcAddress16(0x%04x,\"ThkBuf\") returns %08lx\n",
|
|
|
|
hmod,ret
|
1997-08-24 18:00:30 +02:00
|
|
|
);
|
1997-09-28 19:43:24 +02:00
|
|
|
return PTR_SEG_TO_LIN(ret);
|
1997-08-24 18:00:30 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* _KERNEL32_43 (KERNEL32.42)
|
|
|
|
* A thunkbuffer link routine
|
|
|
|
* The thunkbuf looks like:
|
|
|
|
*
|
|
|
|
* 00: DWORD length ? don't know exactly
|
|
|
|
* 04: SEGPTR ptr ? where does it point to?
|
|
|
|
* The pointer ptr is written into the first DWORD of 'thunk'.
|
|
|
|
* (probably correct implemented)
|
|
|
|
*/
|
1997-09-28 19:43:24 +02:00
|
|
|
DWORD WINAPI _KERNEL32_43(LPDWORD thunk,LPCSTR thkbuf,DWORD len,
|
1997-08-24 18:00:30 +02:00
|
|
|
LPCSTR dll16,LPCSTR dll32)
|
|
|
|
{
|
|
|
|
HINSTANCE16 hmod;
|
|
|
|
LPDWORD addr;
|
|
|
|
SEGPTR segaddr;
|
|
|
|
|
|
|
|
fprintf(stderr,"_KERNEL32_43(%p,%s,0x%08lx,%s,%s)\n",thunk,thkbuf,len,dll16,dll32);
|
|
|
|
|
|
|
|
hmod = LoadLibrary16(dll16);
|
|
|
|
if (hmod<32) {
|
|
|
|
fprintf(stderr,"->failed to load 16bit DLL %s, error %d\n",dll16,hmod);
|
1997-09-28 19:43:24 +02:00
|
|
|
return 0;
|
1997-08-24 18:00:30 +02:00
|
|
|
}
|
|
|
|
segaddr = (DWORD)WIN32_GetProcAddress16(hmod,(LPSTR)thkbuf);
|
|
|
|
if (!segaddr) {
|
|
|
|
fprintf(stderr,"->no %s exported from %s!\n",thkbuf,dll16);
|
1997-09-28 19:43:24 +02:00
|
|
|
return 0;
|
1997-08-24 18:00:30 +02:00
|
|
|
}
|
|
|
|
addr = (LPDWORD)PTR_SEG_TO_LIN(segaddr);
|
|
|
|
if (addr[0] != len) {
|
|
|
|
fprintf(stderr,"->thkbuf length mismatch? %ld vs %ld\n",len,addr[0]);
|
1997-09-28 19:43:24 +02:00
|
|
|
return 0;
|
1997-08-24 18:00:30 +02:00
|
|
|
}
|
|
|
|
if (!addr[1])
|
|
|
|
return 0;
|
|
|
|
fprintf(stderr," addr[1] is %08lx\n",addr[1]);
|
|
|
|
*(DWORD*)thunk = addr[1];
|
|
|
|
return addr[1];
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* _KERNEL32_45 (KERNEL32.44)
|
|
|
|
* Looks like another 32->16 thunk. Dunno why they need two of them.
|
|
|
|
* calls the win16 address in EAX with the current stack.
|
|
|
|
*
|
|
|
|
* FIXME: doesn't seem to work correctly yet...
|
|
|
|
*/
|
|
|
|
VOID WINAPI _KERNEL32_45(CONTEXT *context)
|
|
|
|
{
|
|
|
|
CONTEXT context16;
|
|
|
|
LPBYTE curstack;
|
|
|
|
DWORD ret,stacksize;
|
|
|
|
|
|
|
|
fprintf(stderr,"KERNEL32_45(%%eax=0x%08lx(%%cx=0x%04lx,%%edx=0x%08lx))\n",
|
|
|
|
(DWORD)EAX_reg(context),(DWORD)CX_reg(context),(DWORD)EDX_reg(context)
|
|
|
|
);
|
|
|
|
stacksize = EBP_reg(context)-ESP_reg(context);
|
|
|
|
fprintf(stderr," stacksize = %ld\n",stacksize);
|
|
|
|
|
|
|
|
memcpy(&context16,context,sizeof(context16));
|
|
|
|
|
1997-09-28 19:43:24 +02:00
|
|
|
curstack = (LPBYTE)CURRENT_STACK16;
|
|
|
|
memcpy(curstack-stacksize-4,(LPBYTE)EBP_reg(context),stacksize);
|
1997-08-24 18:00:30 +02:00
|
|
|
fprintf(stderr,"IF1632_Saved16_ss_sp is 0x%08lx\n",IF1632_Saved16_ss_sp);
|
|
|
|
EBP_reg(&context16) = LOWORD(IF1632_Saved16_ss_sp)-stacksize;
|
|
|
|
DI_reg(&context16) = CX_reg(context);
|
|
|
|
CS_reg(&context16) = HIWORD(EAX_reg(context));
|
|
|
|
IP_reg(&context16) = LOWORD(EAX_reg(context));
|
|
|
|
/* some more registers spronged locally, but I don't think they are
|
|
|
|
* needed
|
|
|
|
*/
|
|
|
|
#ifndef WINELIB
|
1997-09-28 19:43:24 +02:00
|
|
|
ret = CallTo16_regs_(&context16,-stacksize);
|
1997-08-24 18:00:30 +02:00
|
|
|
#endif
|
|
|
|
fprintf(stderr,". returned %08lx\n",ret);
|
|
|
|
EAX_reg(context) = ret;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* (KERNEL32.40)
|
|
|
|
* A thunk setup routine.
|
|
|
|
* Expects a pointer to a preinitialized thunkbuffer in the first argument
|
|
|
|
* looking like:
|
|
|
|
* 00..03: unknown (pointer, check _41, _43, _46)
|
|
|
|
* 04: EB1E jmp +0x20
|
|
|
|
*
|
|
|
|
* 06..23: unknown (space for replacement code, check .90)
|
|
|
|
*
|
|
|
|
* 24:>E800000000 call offset 29
|
|
|
|
* 29:>58 pop eax ( target of call )
|
|
|
|
* 2A: 2D25000000 sub eax,0x00000025 ( now points to offset 4 )
|
|
|
|
* 2F: BAxxxxxxxx mov edx,xxxxxxxx
|
|
|
|
* 34: 68yyyyyyyy push KERNEL32.90
|
|
|
|
* 39: C3 ret
|
|
|
|
*
|
|
|
|
* 3A: EB1E jmp +0x20
|
|
|
|
* 3E ... 59: unknown (space for replacement code?)
|
|
|
|
* 5A: E8xxxxxxxx call <32bitoffset xxxxxxxx>
|
|
|
|
* 5F: 5A pop edx
|
|
|
|
* 60: 81EA25xxxxxx sub edx, 0x25xxxxxx
|
|
|
|
* 66: 52 push edx
|
|
|
|
* 67: 68xxxxxxxx push xxxxxxxx
|
|
|
|
* 6C: 68yyyyyyyy push KERNEL32.89
|
|
|
|
* 71: C3 ret
|
|
|
|
* 72: end?
|
|
|
|
* This function checks if the code is there, and replaces the yyyyyyyy entries
|
|
|
|
* by the functionpointers.
|
|
|
|
* The thunkbuf looks like:
|
|
|
|
*
|
|
|
|
* 00: DWORD length ? don't know exactly
|
|
|
|
* 04: SEGPTR ptr ? where does it point to?
|
|
|
|
* The segpointer ptr is written into the first DWORD of 'thunk'.
|
|
|
|
* (probably correct implemented)
|
|
|
|
*/
|
|
|
|
|
|
|
|
LPVOID WINAPI _KERNEL32_41(LPBYTE thunk,LPCSTR thkbuf,DWORD len,LPCSTR dll16,
|
|
|
|
LPCSTR dll32)
|
|
|
|
{
|
Release 970914
Thu Sep 11 18:24:56 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
* [objects/dc.c]
In DC_SetupGCForPatBlt, replace R2_NOT by GXxor with (black xor white).
Tue Sep 9 23:04:02 1997 U. Bonnes <bon@elektron.ikp.physik.th-darmstadt.de>
* [memory/virtual.c]
Do not write debugging info unconditionally to stderr.
* [files/profile.c]
Call PROFILE_GetSection in PROFILE_GetString for key_name "" too.
* [misc/crtdll.c]
Many new functions.
* [include/windows.h] [windows/winpos.c]
ClientToScreen16 doesn't have a return value.
Sun Sep 7 10:06:39 1997 Alexandre Julliard <julliard@lrc.epfl.ch>
* [misc/main.c] [AUTHORS]
Update the list of contributors. Please let me know if I forgot
someone.
* [if1632/*.spec] [if1632/builtin.c] [tools/build.c]
Ordinal base for Win32 DLLs is now computed automatically from the
lowest ordinal found.
* [include/wintypes.h]
WINAPI is now defined as attribute((stdcall)). This will require
gcc to compile.
* [if1632/thunk.c]
Removed Win32 thunks (no longer needed with stdcall).
* [if1632/crtdll.spec] [misc/crtdll.c]
Make sure we only reference cdecl functions in the spec file.
* [objects/dc.c]
Use CapNotLast drawing style for 1-pixel wide lines.
* [tools/build.c]
Added 'double' argument type.
Added 'varargs' function type for Win32.
Made CallTo16_xxx functions stdcall.
Fri Sep 5 14:50:49 1997 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [tools/build.c] [windows/win.c] [windows/event.c] [windows/message.c]
More fixes to get message exchange closer to the original.
* [misc/spy.c]
Message logs now contain window names.
* [loader/resource.c] [loader/ne_resource.c] [loader/task.c]
[objects/cursoricon.c] [windows/user.c]
Added some obscure features to fix memory leaks.
Fri Sep 5 00:46:28 1997 Jan Willamowius <jan@janhh.shnet.org>
* [if1632/kernel32.spec] [win32/newfns.c]
Added stub for UTRegister() and UTUnRegister().
Thu Sep 4 12:03:12 1997 Frans van Dorsselaer <dorssel@rulhmpc49.LeidenUniv.nl>
* [controls/edit.c]
Allow ASCII codes > 127 in WM_CHAR.
Mon Sep 1 17:23:24 1997 Dimitrie O. Paun <dimi@mail.cs.toronto.edu>
* [controls/widgets.c]
In InitCommonControls, remember the name of the class
because lpszClassName was made to point to a local array
Added the ProgressBar to the list of implemented controls.
Call InitCommonControls from WIDGETS_Init to register all
implemented Common Controls.
* [include/commctrl.h]
Added misc decl for the Progress Bar.
* [controls/progress.c] [include/progress.h]
First attempt at implementiong the Progress Bar class.
* [objects/brush.h]
Implementation for GetSysColorBrush[16|32]
* [controls/status.c]
Use DrawEdge to draw the borders and fill the background
* [controls/uitools.c]
Added DrawDiagEdge32 and DrawRectEdge32
* [graphics/painting.c]
Implement DrawEdge[16|32]
Started DrawFrameControl32
Mon Sep 1 10:07:09 1997 Lawson Whitney <lawson_whitney@juno.com>
* [misc/comm.c] [include/windows.h]
SetCommEventMask returns a SEGPTR.
Sun Aug 31 23:28:32 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [loader/pe_image.c][loader/module.c][include/pe_image.h]
[include/module.h]
Cleaned up the whole Win32 library mess (a bit).
* [debugger/stabs.c]
If 'wine' has no absolute path and isn't found, check $PATH too.
* [misc/ole2nls.c]
Some fixes.
* [misc/ver.c]
Added support for PE style version resources.
* [memory/string.c]
Check for NULL pointers to _lstr* functions, just as Windows95 does.
* [multimedia/time.c]
Made list of timers a simple linked list.
* [loader/resource.c]
Netscape 3 seems to pass NEGATIVE resource Ids (in an
unsigned int, yes). Don't know why, fixed it anyway.
* [objects/bitmap.c]
LoadImageW added.
* [include/win.h][windows/win.c]
Change wIDmenu from UINT16 to UINT32 and changed the
SetWindow(Long|Word) accordingly.
Thu Aug 28 19:30:08 1997 Morten Welinder <terra@diku.dk>
* [include/windows.h]
Add a few more colors defined for Win95.
Add a few more brush styles.
* [windows/syscolor.c]
Add error checks for SYSCOLOR_SetColor, SYSCOLOR_Init,
GetSysColor16, GetSysColor32. Add support for above colors.
Sun Aug 24 16:22:57 1997 Andrew Taylor <andrew@riscan.com>
* [multimedia/mmsystem.c]
Changed mmioDescend to use mmio functions for file I/O, neccessary
for memory files.
1997-09-14 19:17:23 +02:00
|
|
|
HMODULE32 hkrnl32 = GetModuleHandle32A("KERNEL32");
|
1997-08-24 18:00:30 +02:00
|
|
|
HMODULE16 hmod;
|
|
|
|
LPDWORD addr,addr2;
|
|
|
|
DWORD segaddr;
|
|
|
|
|
|
|
|
fprintf(stderr,"KERNEL32_41(%p,%s,%ld,%s,%s)\n",
|
|
|
|
thunk,thkbuf,len,dll16,dll32
|
|
|
|
);
|
|
|
|
|
|
|
|
/* FIXME: add checks for valid code ... */
|
|
|
|
/* write pointers to kernel32.89 and kernel32.90 (+ordinal base of 1) */
|
|
|
|
*(DWORD*)(thunk+0x35) = (DWORD)GetProcAddress32(hkrnl32,(LPSTR)90);
|
|
|
|
*(DWORD*)(thunk+0x6D) = (DWORD)GetProcAddress32(hkrnl32,(LPSTR)89);
|
|
|
|
|
|
|
|
|
|
|
|
hmod = LoadLibrary16(dll16);
|
|
|
|
if (hmod<32) {
|
|
|
|
fprintf(stderr,"->failed to load 16bit DLL %s, error %d\n",dll16,hmod);
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
segaddr = (DWORD)WIN32_GetProcAddress16(hmod,(LPSTR)thkbuf);
|
|
|
|
if (!segaddr) {
|
|
|
|
fprintf(stderr,"->no %s exported from %s!\n",thkbuf,dll16);
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
addr = (LPDWORD)PTR_SEG_TO_LIN(segaddr);
|
|
|
|
if (addr[0] != len) {
|
|
|
|
fprintf(stderr,"->thkbuf length mismatch? %ld vs %ld\n",len,addr[0]);
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
addr2 = PTR_SEG_TO_LIN(addr[1]);
|
|
|
|
fprintf(stderr," addr2 is %08lx:%p\n",addr[1],addr2);
|
|
|
|
if (HIWORD(addr2))
|
|
|
|
*(DWORD*)thunk = (DWORD)addr2;
|
|
|
|
return addr2;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* (KERNEL32.91)
|
|
|
|
* Thunk priming? function
|
|
|
|
* Rewrites the first part of the thunk to use the QT_Thunk interface
|
|
|
|
* and jumps to the start of that code.
|
|
|
|
*/
|
|
|
|
VOID WINAPI _KERNEL32_90(CONTEXT *context)
|
|
|
|
{
|
|
|
|
fprintf(stderr,"_KERNEL32_90(eax=0x%08lx,edx=0x%08lx,ebp[-4]=0x%02x,target = %08lx, *target =%08lx)\n",
|
|
|
|
EAX_reg(context),EDX_reg(context),((BYTE*)EBP_reg(context))[-4],
|
|
|
|
(*(DWORD*)(EAX_reg(context)+EDX_reg(context)))+4*(((BYTE*)EBP_reg(context))[-4]),
|
|
|
|
*(DWORD*)((*(DWORD*)(EAX_reg(context)+EDX_reg(context)))+4*(((BYTE*)EBP_reg(context))[-4]))
|
|
|
|
);
|
|
|
|
_write_qtthunk((LPBYTE)EAX_reg(context),*(DWORD*)(EAX_reg(context)+EDX_reg(context)));
|
|
|
|
/* we just call the real QT_Thunk right now
|
|
|
|
* we can bypass the relaycode, for we already have the registercontext
|
|
|
|
*/
|
|
|
|
EDX_reg(context) = *(DWORD*)((*(DWORD*)(EAX_reg(context)+EDX_reg(context)))+4*(((BYTE*)EBP_reg(context))[-4]));
|
|
|
|
return QT_Thunk(context);
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* (KERNEL32.45)
|
|
|
|
* Another thunkbuf link routine.
|
|
|
|
* The start of the thunkbuf looks like this:
|
|
|
|
* 00: DWORD length
|
|
|
|
* 04: SEGPTR address for thunkbuffer pointer
|
|
|
|
*/
|
|
|
|
VOID WINAPI _KERNEL32_46(LPBYTE thunk,LPSTR thkbuf,DWORD len,LPSTR dll16,
|
|
|
|
LPSTR dll32)
|
|
|
|
{
|
|
|
|
LPDWORD addr;
|
|
|
|
HMODULE16 hmod;
|
|
|
|
SEGPTR segaddr;
|
|
|
|
|
|
|
|
fprintf(stderr,"KERNEL32_46(%p,%s,%lx,%s,%s)\n",
|
|
|
|
thunk,thkbuf,len,dll16,dll32
|
|
|
|
);
|
|
|
|
hmod = LoadLibrary16(dll16);
|
|
|
|
if (hmod < 32) {
|
|
|
|
fprintf(stderr,"->couldn't load %s, error %d\n",dll16,hmod);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
segaddr = (SEGPTR)WIN32_GetProcAddress16(hmod,thkbuf);
|
|
|
|
if (!segaddr) {
|
|
|
|
fprintf(stderr,"-> haven't found %s in %s!\n",thkbuf,dll16);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
addr = (LPDWORD)PTR_SEG_TO_LIN(segaddr);
|
|
|
|
if (addr[0] != len) {
|
|
|
|
fprintf(stderr,"-> length of thkbuf differs from expected length! (%ld vs %ld)\n",addr[0],len);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
*(DWORD*)PTR_SEG_TO_LIN(addr[1]) = (DWORD)thunk;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**********************************************************************
|
|
|
|
* _KERNEL32_87
|
|
|
|
* Check if thunking is initialized (ss selector set up etc.)
|
|
|
|
*/
|
|
|
|
BOOL32 WINAPI _KERNEL32_87()
|
|
|
|
{
|
|
|
|
fprintf(stderr,"KERNEL32_87 stub, returning TRUE\n");
|
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**********************************************************************
|
|
|
|
* _KERNEL32_88
|
|
|
|
* One of the real thunking functions. This one seems to be for 32<->32
|
|
|
|
* thunks. It should probably be capable of crossing processboundaries.
|
|
|
|
*
|
|
|
|
* And YES, I've seen nr=48 (somewhere in the Win95 32<->16 OLE coupling)
|
|
|
|
*/
|
Release 970914
Thu Sep 11 18:24:56 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
* [objects/dc.c]
In DC_SetupGCForPatBlt, replace R2_NOT by GXxor with (black xor white).
Tue Sep 9 23:04:02 1997 U. Bonnes <bon@elektron.ikp.physik.th-darmstadt.de>
* [memory/virtual.c]
Do not write debugging info unconditionally to stderr.
* [files/profile.c]
Call PROFILE_GetSection in PROFILE_GetString for key_name "" too.
* [misc/crtdll.c]
Many new functions.
* [include/windows.h] [windows/winpos.c]
ClientToScreen16 doesn't have a return value.
Sun Sep 7 10:06:39 1997 Alexandre Julliard <julliard@lrc.epfl.ch>
* [misc/main.c] [AUTHORS]
Update the list of contributors. Please let me know if I forgot
someone.
* [if1632/*.spec] [if1632/builtin.c] [tools/build.c]
Ordinal base for Win32 DLLs is now computed automatically from the
lowest ordinal found.
* [include/wintypes.h]
WINAPI is now defined as attribute((stdcall)). This will require
gcc to compile.
* [if1632/thunk.c]
Removed Win32 thunks (no longer needed with stdcall).
* [if1632/crtdll.spec] [misc/crtdll.c]
Make sure we only reference cdecl functions in the spec file.
* [objects/dc.c]
Use CapNotLast drawing style for 1-pixel wide lines.
* [tools/build.c]
Added 'double' argument type.
Added 'varargs' function type for Win32.
Made CallTo16_xxx functions stdcall.
Fri Sep 5 14:50:49 1997 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [tools/build.c] [windows/win.c] [windows/event.c] [windows/message.c]
More fixes to get message exchange closer to the original.
* [misc/spy.c]
Message logs now contain window names.
* [loader/resource.c] [loader/ne_resource.c] [loader/task.c]
[objects/cursoricon.c] [windows/user.c]
Added some obscure features to fix memory leaks.
Fri Sep 5 00:46:28 1997 Jan Willamowius <jan@janhh.shnet.org>
* [if1632/kernel32.spec] [win32/newfns.c]
Added stub for UTRegister() and UTUnRegister().
Thu Sep 4 12:03:12 1997 Frans van Dorsselaer <dorssel@rulhmpc49.LeidenUniv.nl>
* [controls/edit.c]
Allow ASCII codes > 127 in WM_CHAR.
Mon Sep 1 17:23:24 1997 Dimitrie O. Paun <dimi@mail.cs.toronto.edu>
* [controls/widgets.c]
In InitCommonControls, remember the name of the class
because lpszClassName was made to point to a local array
Added the ProgressBar to the list of implemented controls.
Call InitCommonControls from WIDGETS_Init to register all
implemented Common Controls.
* [include/commctrl.h]
Added misc decl for the Progress Bar.
* [controls/progress.c] [include/progress.h]
First attempt at implementiong the Progress Bar class.
* [objects/brush.h]
Implementation for GetSysColorBrush[16|32]
* [controls/status.c]
Use DrawEdge to draw the borders and fill the background
* [controls/uitools.c]
Added DrawDiagEdge32 and DrawRectEdge32
* [graphics/painting.c]
Implement DrawEdge[16|32]
Started DrawFrameControl32
Mon Sep 1 10:07:09 1997 Lawson Whitney <lawson_whitney@juno.com>
* [misc/comm.c] [include/windows.h]
SetCommEventMask returns a SEGPTR.
Sun Aug 31 23:28:32 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [loader/pe_image.c][loader/module.c][include/pe_image.h]
[include/module.h]
Cleaned up the whole Win32 library mess (a bit).
* [debugger/stabs.c]
If 'wine' has no absolute path and isn't found, check $PATH too.
* [misc/ole2nls.c]
Some fixes.
* [misc/ver.c]
Added support for PE style version resources.
* [memory/string.c]
Check for NULL pointers to _lstr* functions, just as Windows95 does.
* [multimedia/time.c]
Made list of timers a simple linked list.
* [loader/resource.c]
Netscape 3 seems to pass NEGATIVE resource Ids (in an
unsigned int, yes). Don't know why, fixed it anyway.
* [objects/bitmap.c]
LoadImageW added.
* [include/win.h][windows/win.c]
Change wIDmenu from UINT16 to UINT32 and changed the
SetWindow(Long|Word) accordingly.
Thu Aug 28 19:30:08 1997 Morten Welinder <terra@diku.dk>
* [include/windows.h]
Add a few more colors defined for Win95.
Add a few more brush styles.
* [windows/syscolor.c]
Add error checks for SYSCOLOR_SetColor, SYSCOLOR_Init,
GetSysColor16, GetSysColor32. Add support for above colors.
Sun Aug 24 16:22:57 1997 Andrew Taylor <andrew@riscan.com>
* [multimedia/mmsystem.c]
Changed mmioDescend to use mmio functions for file I/O, neccessary
for memory files.
1997-09-14 19:17:23 +02:00
|
|
|
DWORD WINAPIV _KERNEL32_88( DWORD nr, DWORD flags, FARPROC32 fun, ... )
|
1997-08-24 18:00:30 +02:00
|
|
|
{
|
Release 970914
Thu Sep 11 18:24:56 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
* [objects/dc.c]
In DC_SetupGCForPatBlt, replace R2_NOT by GXxor with (black xor white).
Tue Sep 9 23:04:02 1997 U. Bonnes <bon@elektron.ikp.physik.th-darmstadt.de>
* [memory/virtual.c]
Do not write debugging info unconditionally to stderr.
* [files/profile.c]
Call PROFILE_GetSection in PROFILE_GetString for key_name "" too.
* [misc/crtdll.c]
Many new functions.
* [include/windows.h] [windows/winpos.c]
ClientToScreen16 doesn't have a return value.
Sun Sep 7 10:06:39 1997 Alexandre Julliard <julliard@lrc.epfl.ch>
* [misc/main.c] [AUTHORS]
Update the list of contributors. Please let me know if I forgot
someone.
* [if1632/*.spec] [if1632/builtin.c] [tools/build.c]
Ordinal base for Win32 DLLs is now computed automatically from the
lowest ordinal found.
* [include/wintypes.h]
WINAPI is now defined as attribute((stdcall)). This will require
gcc to compile.
* [if1632/thunk.c]
Removed Win32 thunks (no longer needed with stdcall).
* [if1632/crtdll.spec] [misc/crtdll.c]
Make sure we only reference cdecl functions in the spec file.
* [objects/dc.c]
Use CapNotLast drawing style for 1-pixel wide lines.
* [tools/build.c]
Added 'double' argument type.
Added 'varargs' function type for Win32.
Made CallTo16_xxx functions stdcall.
Fri Sep 5 14:50:49 1997 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [tools/build.c] [windows/win.c] [windows/event.c] [windows/message.c]
More fixes to get message exchange closer to the original.
* [misc/spy.c]
Message logs now contain window names.
* [loader/resource.c] [loader/ne_resource.c] [loader/task.c]
[objects/cursoricon.c] [windows/user.c]
Added some obscure features to fix memory leaks.
Fri Sep 5 00:46:28 1997 Jan Willamowius <jan@janhh.shnet.org>
* [if1632/kernel32.spec] [win32/newfns.c]
Added stub for UTRegister() and UTUnRegister().
Thu Sep 4 12:03:12 1997 Frans van Dorsselaer <dorssel@rulhmpc49.LeidenUniv.nl>
* [controls/edit.c]
Allow ASCII codes > 127 in WM_CHAR.
Mon Sep 1 17:23:24 1997 Dimitrie O. Paun <dimi@mail.cs.toronto.edu>
* [controls/widgets.c]
In InitCommonControls, remember the name of the class
because lpszClassName was made to point to a local array
Added the ProgressBar to the list of implemented controls.
Call InitCommonControls from WIDGETS_Init to register all
implemented Common Controls.
* [include/commctrl.h]
Added misc decl for the Progress Bar.
* [controls/progress.c] [include/progress.h]
First attempt at implementiong the Progress Bar class.
* [objects/brush.h]
Implementation for GetSysColorBrush[16|32]
* [controls/status.c]
Use DrawEdge to draw the borders and fill the background
* [controls/uitools.c]
Added DrawDiagEdge32 and DrawRectEdge32
* [graphics/painting.c]
Implement DrawEdge[16|32]
Started DrawFrameControl32
Mon Sep 1 10:07:09 1997 Lawson Whitney <lawson_whitney@juno.com>
* [misc/comm.c] [include/windows.h]
SetCommEventMask returns a SEGPTR.
Sun Aug 31 23:28:32 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [loader/pe_image.c][loader/module.c][include/pe_image.h]
[include/module.h]
Cleaned up the whole Win32 library mess (a bit).
* [debugger/stabs.c]
If 'wine' has no absolute path and isn't found, check $PATH too.
* [misc/ole2nls.c]
Some fixes.
* [misc/ver.c]
Added support for PE style version resources.
* [memory/string.c]
Check for NULL pointers to _lstr* functions, just as Windows95 does.
* [multimedia/time.c]
Made list of timers a simple linked list.
* [loader/resource.c]
Netscape 3 seems to pass NEGATIVE resource Ids (in an
unsigned int, yes). Don't know why, fixed it anyway.
* [objects/bitmap.c]
LoadImageW added.
* [include/win.h][windows/win.c]
Change wIDmenu from UINT16 to UINT32 and changed the
SetWindow(Long|Word) accordingly.
Thu Aug 28 19:30:08 1997 Morten Welinder <terra@diku.dk>
* [include/windows.h]
Add a few more colors defined for Win95.
Add a few more brush styles.
* [windows/syscolor.c]
Add error checks for SYSCOLOR_SetColor, SYSCOLOR_Init,
GetSysColor16, GetSysColor32. Add support for above colors.
Sun Aug 24 16:22:57 1997 Andrew Taylor <andrew@riscan.com>
* [multimedia/mmsystem.c]
Changed mmioDescend to use mmio functions for file I/O, neccessary
for memory files.
1997-09-14 19:17:23 +02:00
|
|
|
DWORD i,ret;
|
|
|
|
DWORD *args = ((DWORD *)&fun) + 1;
|
1997-08-24 18:00:30 +02:00
|
|
|
|
|
|
|
fprintf(stderr,"KERNEL32_88(%ld,0x%08lx,%p,[ ",nr,flags,fun);
|
Release 970914
Thu Sep 11 18:24:56 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
* [objects/dc.c]
In DC_SetupGCForPatBlt, replace R2_NOT by GXxor with (black xor white).
Tue Sep 9 23:04:02 1997 U. Bonnes <bon@elektron.ikp.physik.th-darmstadt.de>
* [memory/virtual.c]
Do not write debugging info unconditionally to stderr.
* [files/profile.c]
Call PROFILE_GetSection in PROFILE_GetString for key_name "" too.
* [misc/crtdll.c]
Many new functions.
* [include/windows.h] [windows/winpos.c]
ClientToScreen16 doesn't have a return value.
Sun Sep 7 10:06:39 1997 Alexandre Julliard <julliard@lrc.epfl.ch>
* [misc/main.c] [AUTHORS]
Update the list of contributors. Please let me know if I forgot
someone.
* [if1632/*.spec] [if1632/builtin.c] [tools/build.c]
Ordinal base for Win32 DLLs is now computed automatically from the
lowest ordinal found.
* [include/wintypes.h]
WINAPI is now defined as attribute((stdcall)). This will require
gcc to compile.
* [if1632/thunk.c]
Removed Win32 thunks (no longer needed with stdcall).
* [if1632/crtdll.spec] [misc/crtdll.c]
Make sure we only reference cdecl functions in the spec file.
* [objects/dc.c]
Use CapNotLast drawing style for 1-pixel wide lines.
* [tools/build.c]
Added 'double' argument type.
Added 'varargs' function type for Win32.
Made CallTo16_xxx functions stdcall.
Fri Sep 5 14:50:49 1997 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [tools/build.c] [windows/win.c] [windows/event.c] [windows/message.c]
More fixes to get message exchange closer to the original.
* [misc/spy.c]
Message logs now contain window names.
* [loader/resource.c] [loader/ne_resource.c] [loader/task.c]
[objects/cursoricon.c] [windows/user.c]
Added some obscure features to fix memory leaks.
Fri Sep 5 00:46:28 1997 Jan Willamowius <jan@janhh.shnet.org>
* [if1632/kernel32.spec] [win32/newfns.c]
Added stub for UTRegister() and UTUnRegister().
Thu Sep 4 12:03:12 1997 Frans van Dorsselaer <dorssel@rulhmpc49.LeidenUniv.nl>
* [controls/edit.c]
Allow ASCII codes > 127 in WM_CHAR.
Mon Sep 1 17:23:24 1997 Dimitrie O. Paun <dimi@mail.cs.toronto.edu>
* [controls/widgets.c]
In InitCommonControls, remember the name of the class
because lpszClassName was made to point to a local array
Added the ProgressBar to the list of implemented controls.
Call InitCommonControls from WIDGETS_Init to register all
implemented Common Controls.
* [include/commctrl.h]
Added misc decl for the Progress Bar.
* [controls/progress.c] [include/progress.h]
First attempt at implementiong the Progress Bar class.
* [objects/brush.h]
Implementation for GetSysColorBrush[16|32]
* [controls/status.c]
Use DrawEdge to draw the borders and fill the background
* [controls/uitools.c]
Added DrawDiagEdge32 and DrawRectEdge32
* [graphics/painting.c]
Implement DrawEdge[16|32]
Started DrawFrameControl32
Mon Sep 1 10:07:09 1997 Lawson Whitney <lawson_whitney@juno.com>
* [misc/comm.c] [include/windows.h]
SetCommEventMask returns a SEGPTR.
Sun Aug 31 23:28:32 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [loader/pe_image.c][loader/module.c][include/pe_image.h]
[include/module.h]
Cleaned up the whole Win32 library mess (a bit).
* [debugger/stabs.c]
If 'wine' has no absolute path and isn't found, check $PATH too.
* [misc/ole2nls.c]
Some fixes.
* [misc/ver.c]
Added support for PE style version resources.
* [memory/string.c]
Check for NULL pointers to _lstr* functions, just as Windows95 does.
* [multimedia/time.c]
Made list of timers a simple linked list.
* [loader/resource.c]
Netscape 3 seems to pass NEGATIVE resource Ids (in an
unsigned int, yes). Don't know why, fixed it anyway.
* [objects/bitmap.c]
LoadImageW added.
* [include/win.h][windows/win.c]
Change wIDmenu from UINT16 to UINT32 and changed the
SetWindow(Long|Word) accordingly.
Thu Aug 28 19:30:08 1997 Morten Welinder <terra@diku.dk>
* [include/windows.h]
Add a few more colors defined for Win95.
Add a few more brush styles.
* [windows/syscolor.c]
Add error checks for SYSCOLOR_SetColor, SYSCOLOR_Init,
GetSysColor16, GetSysColor32. Add support for above colors.
Sun Aug 24 16:22:57 1997 Andrew Taylor <andrew@riscan.com>
* [multimedia/mmsystem.c]
Changed mmioDescend to use mmio functions for file I/O, neccessary
for memory files.
1997-09-14 19:17:23 +02:00
|
|
|
for (i=0;i<nr/4;i++) fprintf(stderr,"0x%08lx,",args[i]);
|
1997-08-24 18:00:30 +02:00
|
|
|
fprintf(stderr,"])");
|
|
|
|
switch (nr) {
|
1997-09-28 19:43:24 +02:00
|
|
|
case 0: ret = fun();
|
1997-08-24 18:00:30 +02:00
|
|
|
break;
|
1997-09-28 19:43:24 +02:00
|
|
|
case 4: ret = fun(args[0]);
|
1997-08-24 18:00:30 +02:00
|
|
|
break;
|
1997-09-28 19:43:24 +02:00
|
|
|
case 8: ret = fun(args[0],args[1]);
|
1997-08-24 18:00:30 +02:00
|
|
|
break;
|
1997-09-28 19:43:24 +02:00
|
|
|
case 12: ret = fun(args[0],args[1],args[2]);
|
1997-08-24 18:00:30 +02:00
|
|
|
break;
|
1997-09-28 19:43:24 +02:00
|
|
|
case 16: ret = fun(args[0],args[1],args[2],args[3]);
|
1997-08-24 18:00:30 +02:00
|
|
|
break;
|
1997-09-28 19:43:24 +02:00
|
|
|
case 20: ret = fun(args[0],args[1],args[2],args[3],args[4]);
|
1997-08-24 18:00:30 +02:00
|
|
|
break;
|
1997-09-28 19:43:24 +02:00
|
|
|
case 24: ret = fun(args[0],args[1],args[2],args[3],args[4],args[5]);
|
1997-08-24 18:00:30 +02:00
|
|
|
break;
|
1997-09-28 19:43:24 +02:00
|
|
|
case 28: ret = fun(args[0],args[1],args[2],args[3],args[4],args[5],args[6]);
|
1997-08-24 18:00:30 +02:00
|
|
|
break;
|
1997-09-28 19:43:24 +02:00
|
|
|
case 32: ret = fun(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7]);
|
1997-08-24 18:00:30 +02:00
|
|
|
break;
|
1997-09-28 19:43:24 +02:00
|
|
|
case 36: ret = fun(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7],args[8]);
|
1997-08-24 18:00:30 +02:00
|
|
|
break;
|
1997-09-28 19:43:24 +02:00
|
|
|
case 40: ret = fun(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7],args[8],args[9]);
|
1997-08-24 18:00:30 +02:00
|
|
|
break;
|
1997-09-28 19:43:24 +02:00
|
|
|
case 44: ret = fun(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7],args[8],args[9],args[10]);
|
1997-08-24 18:00:30 +02:00
|
|
|
break;
|
1997-09-28 19:43:24 +02:00
|
|
|
case 48: ret = fun(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7],args[8],args[9],args[10],args[11]);
|
1997-08-24 18:00:30 +02:00
|
|
|
break;
|
|
|
|
default:
|
|
|
|
fprintf(stderr," unsupported nr of arguments, %ld\n",nr);
|
|
|
|
ret = 0;
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
fprintf(stderr," returning %ld ...\n",ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**********************************************************************
|
|
|
|
* KERNEL_619 (KERNEL)
|
|
|
|
* Seems to store y and z depending on x in some internal lists...
|
|
|
|
*/
|
|
|
|
WORD WINAPI _KERNEL_619(WORD x,DWORD y,DWORD z)
|
|
|
|
{
|
|
|
|
fprintf(stderr,"KERNEL_619(0x%04x,0x%08lx,0x%08lx)\n",x,y,z);
|
|
|
|
return x;
|
|
|
|
}
|
1997-09-28 19:43:24 +02:00
|
|
|
|
|
|
|
/**********************************************************************
|
|
|
|
* AllocSLCallback (KERNEL32)
|
|
|
|
*
|
|
|
|
* Win95 uses some structchains for callbacks. It allocates them
|
|
|
|
* in blocks of 100 entries, size 32 bytes each, layout:
|
|
|
|
* blockstart:
|
|
|
|
* 0: PTR nextblockstart
|
|
|
|
* 4: entry *first;
|
|
|
|
* 8: WORD sel ( start points to blockstart)
|
|
|
|
* A: WORD unknown
|
|
|
|
* 100xentry:
|
|
|
|
* 00..17: Code
|
|
|
|
* 18: PDB *owning_process;
|
|
|
|
* 1C: PTR blockstart
|
|
|
|
*
|
|
|
|
* We ignore this for now. (Just a note for further developers)
|
|
|
|
* FIXME: use this method, so we don't waste selectors...
|
|
|
|
*
|
|
|
|
* Following code is then generated by AllocSLCallback. The code is 16 bit, so
|
|
|
|
* the 0x66 prefix switches from word->long registers.
|
|
|
|
*
|
|
|
|
* 665A pop edx
|
|
|
|
* 6668x arg2 x pushl <arg2>
|
|
|
|
* 6652 push edx
|
|
|
|
* EAx arg1 x jmpf <arg1>
|
|
|
|
*
|
|
|
|
* returns the startaddress of this thunk.
|
|
|
|
*
|
|
|
|
* Note, that they look very similair to the ones allocates by THUNK_Alloc.
|
|
|
|
*/
|
|
|
|
DWORD WINAPI
|
|
|
|
AllocSLCallback(DWORD finalizer,DWORD callback) {
|
|
|
|
LPBYTE x,thunk = HeapAlloc( GetProcessHeap(), 0, 32 );
|
|
|
|
WORD sel;
|
|
|
|
|
|
|
|
x=thunk;
|
|
|
|
*x++=0x66;*x++=0x5a; /* popl edx */
|
|
|
|
*x++=0x66;*x++=0x68;*(DWORD*)x=finalizer;x+=4; /* pushl finalizer */
|
|
|
|
*x++=0x66;*x++=0x52; /* pushl edx */
|
|
|
|
*x++=0xea;*(DWORD*)x=callback;x+=4; /* jmpf callback */
|
|
|
|
|
|
|
|
*(DWORD*)(thunk+18) = GetCurrentProcessId();
|
|
|
|
|
|
|
|
sel = SELECTOR_AllocBlock( thunk , 32, SEGMENT_CODE, FALSE, FALSE );
|
|
|
|
return (sel<<16)|0;
|
|
|
|
}
|
|
|
|
|
|
|
|
void WINAPI
|
|
|
|
FreeSLCallback(DWORD x) {
|
|
|
|
fprintf(stderr,"FreeSLCallback(0x%08lx)\n",x);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**********************************************************************
|
|
|
|
* KERNEL_358 (KERNEL)
|
|
|
|
* Allocates a code segment which starts at the address passed in x. limit
|
|
|
|
* 0xfffff, and returns the pointer to the start.
|
|
|
|
*/
|
|
|
|
DWORD WINAPI
|
|
|
|
_KERNEL_358(DWORD x) {
|
|
|
|
WORD sel;
|
|
|
|
|
|
|
|
fprintf(stderr,"_KERNEL_358(0x%08lx),stub\n",x);
|
|
|
|
if (!HIWORD(x))
|
|
|
|
return x;
|
|
|
|
|
|
|
|
sel = SELECTOR_AllocBlock( PTR_SEG_TO_LIN(x) , 0xffff, SEGMENT_CODE, FALSE, FALSE );
|
|
|
|
return (sel<<16)|(0x0000);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**********************************************************************
|
|
|
|
* KERNEL_359 (KERNEL)
|
|
|
|
* Frees the code segment of the passed linear pointer (This has usually
|
|
|
|
* been allocated by _KERNEL_358).
|
|
|
|
*/
|
|
|
|
VOID WINAPI
|
|
|
|
_KERNEL_359(DWORD x) {
|
|
|
|
DWORD savedsssp;
|
|
|
|
|
|
|
|
fprintf(stderr,"_KERNEL_359(0x%08lx),stub\n",x);
|
|
|
|
if ((HIWORD(x) & 7)!=7)
|
|
|
|
return;
|
|
|
|
savedsssp = IF1632_Saved16_ss_sp;IF1632_Saved16_ss_sp = 0;
|
|
|
|
SELECTOR_FreeBlock(x>>16,1);
|
|
|
|
IF1632_Saved16_ss_sp = savedsssp;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**********************************************************************
|
|
|
|
* KERNEL_472 (KERNEL)
|
|
|
|
* something like GetCurrenthInstance.
|
|
|
|
*/
|
|
|
|
VOID WINAPI
|
|
|
|
_KERNEL_472(CONTEXT *context) {
|
|
|
|
fprintf(stderr,"_KERNEL_472(0x%08lx),stub\n",EAX_reg(context));
|
|
|
|
if (!EAX_reg(context)) {
|
|
|
|
TDB *pTask = (TDB*)GlobalLock16(GetCurrentTask());
|
|
|
|
AX_reg(context)=pTask->hInstance;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (!HIWORD(EAX_reg(context)))
|
|
|
|
return; /* returns the passed value */
|
|
|
|
/* hmm ... fixme */
|
|
|
|
}
|