Commit Graph

661 Commits (26ee2ca4451463f4cc5dc8ea7991b87b09cea4e1)

Author SHA1 Message Date
Alexandre Julliard c19e1a7e19 Implemented SEC_IMAGE mappings and shared PE sections (with the help
of Peter Ganten).
2000-08-14 20:20:01 +00:00
Alexandre Julliard dcd247e55f Moved CharUpper* and CharLower* functions to dlls/user. 2000-08-14 17:39:15 +00:00
Alexandre Julliard c7e7df8b17 Replaced all lstr* calls from inside Wine code by their str* equivalent. 2000-08-14 14:41:19 +00:00
Alexandre Julliard 198746d812 Replaced global Callbacks structure by appropriate glue code
generation. Removed a few unused entries in the Callout structure.
2000-08-14 14:29:22 +00:00
Dmitry Timoshkov 05c88fa664 Make FindResource and FindResourceEx fully windows compatible. 2000-08-11 12:50:56 +00:00
Alexandre Julliard 52900c818f Make PDB, ENVDB and STARTUPINFO global variables.
Added 'module' field in PDB, and removed Wine-specific fields.
2000-08-09 22:33:42 +00:00
Alexandre Julliard 231674d824 Removed the DOS handles table from the PDB and made it a static
variable.
2000-08-09 22:30:18 +00:00
Alexandre Julliard 32936f0e48 Fixed resource functions to work with 32-bit modules that don't have a
16-bit counterpart (necessary for LOAD_LIBRARY_AS_DATAFILE support).
2000-08-07 23:50:00 +00:00
Peter Ganten b9f350b517 Set up exe_modref before loading implicitly linked dlls. 2000-08-07 17:10:20 +00:00
Alexandre Julliard 081ee94117 - Fixed resource functions to work directly from the HMODULE instead of
requiring a modref.
- Attempted to get LOAD_LIBRARY_AS_DATAFILE right (based on patches by
  Eric Pouech and Dusan Lacko).
- Simplified modref structure and handling.
2000-08-07 04:12:41 +00:00
Alexandre Julliard cb10fdab99 Replaced lstrlen/lstrcmp by libc equivalents everywhere we don't need
to trap exceptions.
2000-08-06 02:41:16 +00:00
Alexandre Julliard 93652e1a68 Moved a bunch of functions out of libwine/kernel/gdi into USER. 2000-08-04 04:21:02 +00:00
Peter Ganten 44d0d1907e WinExec16 should not split quoted filenames with spaces. 2000-08-01 20:55:22 +00:00
Ove Kaaven e3d70795ff Fixed another non-Linux build failure. 2000-08-01 20:52:20 +00:00
Alexandre Julliard 15aef00f29 Skip quoted program name when building command line. 2000-07-31 21:02:53 +00:00
Alexandre Julliard fd8a6de90a Backed out FindResource language patch. 2000-07-31 20:59:59 +00:00
Ove Kaaven 6200a48b70 Fixed a few problems. 2000-07-31 20:58:31 +00:00
Ove Kaaven 7248d47fd2 Convert DOS (MZ) binary loader to the new DOS process model. 2000-07-31 20:56:28 +00:00
Alexandre Julliard 946a4448af Cleaned up a few USER dependencies. 2000-07-30 13:50:27 +00:00
Ove Kaaven e3b353e220 Removed hModule parameter from MZ_AllocDPMITask(), and renamed
MZ_KillModule() to MZ_KillTask().
2000-07-30 13:41:13 +00:00
Ove Kaaven 3bbd167a46 Removed usage of obsolete pModule->lpDosTask. 2000-07-30 13:27:08 +00:00
Alexandre Julliard 58d5a0a786 Removed some unnecessary inclusions of wingdi.h and winuser.h 2000-07-29 21:58:17 +00:00
Alexandre Julliard 0aa6cc298e Removed a few external dependencies from ntdll. 2000-07-29 21:56:59 +00:00
Ove Kaaven d5cab2a058 Added support for the Win32 Console interface to the main DOSVM event
loop. Cleaned up event dispatching code a bit.
2000-07-29 14:34:45 +00:00
Ove Kaaven a9c19f0710 Let Int09 routines remember a keystroke's ASCII code, if available. 2000-07-29 11:30:28 +00:00
Dmitry Timoshkov f1fd89db42 FindResourceExA/W should search for the specified language resource only.
FindResourceA/W should search for any language resource.
2000-07-29 00:01:57 +00:00
Ove Kaaven 7b49914afc Removed the hModule parameter from various DOSMEM routines, the DOSMEM
routines now always use the current memory space.
2000-07-28 22:23:59 +00:00
Alexandre Julliard 99e1e8106c Return the proper error code when a 16-bit task failed to start
(thanks to Peter Ganten).
2000-07-26 18:03:43 +00:00
Andreas Mohr b021fe2911 Added detection code for very old Windows (1.1, 2.0, ...) binaries to
MODULE_GetBinaryType().
2000-07-26 18:02:28 +00:00
Dave Pickles a64603d3d6 Improved FormatMessage:
- Added full support for FORMAT_MESSAGE_FROM_SYSTEM
- Implemented language search as documented
- Illegal combinations of options trapped.
- Message table for system messages added.
2000-07-25 17:53:58 +00:00
Alexandre Julliard b18dbd26c5 Perform NE_InitProcess in the context of the new task. 2000-07-25 12:11:53 +00:00
Ove Kaaven 9b2060afab Change the V86BASE macro to call DOSMEM_MemoryBase() instead of using
the ugly Dr7 hack.
2000-07-23 13:36:41 +00:00
Alexandre Julliard a3e0cfc5fb Get full path of argv[0] before we change directories.
Make sure process names are long path names.
Cleaned up initialisation a bit.
2000-07-16 18:21:34 +00:00
Andreas Mohr 2caee712a2 Spelling fixes. 2000-07-16 15:44:22 +00:00
Andreas Mohr 6f83a5ee8f Doc and trace updates. 2000-07-16 15:43:07 +00:00
Marcus Meissner dad709122a Transmit current directory settings to newly created processes. 2000-07-16 15:42:22 +00:00
Huw D M Davies 10b1b23d40 Create rpcrt4.dll.
Implement UuidCreate (using existing code from CoCreateGuid).
CoCreateGuid calls UuidCreate.
2000-07-15 19:53:50 +00:00
Peter Ganten ddd1a73675 Fixed a file descriptor leak in the PE loader. 2000-07-15 19:44:29 +00:00
Andreas Mohr f8b0725399 Added ws2_32 loadorder. 2000-07-15 15:13:28 +00:00
Gerard Patel bd55eb8703 Add a warning when the normal load address for a win32 program is not
available.
2000-07-15 15:11:31 +00:00
Andreas Mohr e0a08423a0 Added loadorder entry for the Linux glide3x library. 2000-07-15 14:58:08 +00:00
Andreas Mohr 96293d4c29 Rename MODULE_InitDll to MODULE_InitDLL for the sake of consistency. 2000-07-08 18:28:03 +00:00
Alexandre Julliard 596921da0c Make sure the cmdline passed to CreateProcessA is writeable (thanks to
Peter Ganten <peter@ganten.org>).
2000-06-24 20:53:47 +00:00
Dave Hawkes fd54c98abd GlobalFree16 returns NULL on success, but DestroyAcceleratorTable
should return TRUE on success.
2000-06-23 16:51:19 +00:00
Dmitry Timoshkov 5890c09983 Use GetSystemDefaultLangID() instead of WINE_LanguageId. 2000-06-18 19:31:19 +00:00
Ove Kaaven fefb104327 Make the base relocation message a WARN, not a FIXME. 2000-06-18 17:21:12 +00:00
Dmitry Timoshkov 3332bd068e Optimized implementation of LoadStringA. 2000-06-15 00:11:06 +00:00
Juergen Schmied 13d74c5f0a - new dll shfolder.dll
- small fixes
2000-06-13 03:45:52 +00:00
Alexandre Julliard 5ea22474bb Use the Unicode string functions from wine/unicode.h instead of the
crtdll ones.
2000-06-13 01:10:29 +00:00
Alexandre Julliard 13c965cc9f Make sure GetModuleFileName16 does not return garbage even if the path
is not valid (thanks to Andreas Mohr).
2000-06-10 04:45:52 +00:00
Alexandre Julliard 8fe0551aa3 Removed a few unnecessary includes. 2000-06-08 04:57:58 +00:00
Alexandre Julliard e3332128b0 Use FILE_SHARE_READ to open the file in GetBinaryTypeA. 2000-06-08 01:00:16 +00:00
Alexandre Julliard ec77b8387f Send full path name and debug information in load_dll event. 2000-06-08 00:58:50 +00:00
Ulrich Weigand 7e85ea7c86 Moved stack switch handling (large stack) to sysdeps.c
Enable exception dispatch while on large stack.
2000-06-04 01:35:43 +00:00
Alexandre Julliard 7fe09bce86 Moved kernel initialization to kernel_main.c 2000-06-03 04:49:40 +00:00
Alexandre Julliard 2d8cf500c3 Merged display.dll into USER. 2000-06-03 04:20:19 +00:00
Juergen Schmied 6d01aeb20f Give a error message if a forwarded export is not resolved. 2000-06-01 23:23:00 +00:00
Dimitrie O. Paun 84bde6a4a4 Separate wineps out of Wine's core. 2000-05-30 20:27:23 +00:00
Alexandre Julliard 0211d70a15 Make sure initial task is not marked as 32-bit. 2000-05-30 19:46:11 +00:00
Alexandre Julliard c192ba2468 Exec a separate wine binary for every win32 process so that they run
in separate address spaces.
Run 16-bit tasks as Win32 threads, not processes.
2000-05-29 21:25:10 +00:00
Ulrich Weigand f2f0927eb3 Fixed initialization of INSTANCEDATA in InitTask(). 2000-05-19 03:40:22 +00:00
Lionel Ulmer bedf40b58b Added support for OpenGL. 2000-05-12 20:18:14 +00:00
Bernd Herd 4d05761958 Make sure hInstance is a proper global handle and not a selector
value.
2000-05-11 00:10:36 +00:00
Alexandre Julliard 680919c2e6 Moved Load/FreeLibrary16 definition to winbase16.h. 2000-05-07 18:39:28 +00:00
Stephane Lussier bb3c164f73 If we do not find a resource for both (primary lang|sub lang), we try
just (primary lang) before using the default.
2000-05-05 18:17:52 +00:00
Alexandre Julliard ae719405fb PE_LoadImage: removed version parameter, set last error correctly. 2000-05-03 18:43:11 +00:00
Alexandre Julliard 5b4f3e8d6d Rewrote Unix process launching to allow passing startup information to
Winelib apps. Improved handling of execve() failures.
2000-05-01 16:24:22 +00:00
Alexandre Julliard 9e1c48b8a4 Clear the remainder of the page when mapping a section whose size on
disk is not a full page multiple.
Temporarily commented out the VirtualFree call in PE_UnloadLibrary.
2000-04-29 17:23:32 +00:00
Alexandre Julliard f93eb3e319 Authors: Gavriel State <gavriels@corel.com>, Ulrich Czekalla <ulrichc@corel.com>
Added support for memory mapping of 4k aligned PE binaries.  This can
speed up load times significantly for some applications.
2000-04-28 20:26:35 +00:00
Patrik Stridvall a4ecb41e49 Added new configuration file option for selecting graphics driver. 2000-04-25 20:12:55 +00:00
Alexandre Julliard 180a088beb Moved PE header definitions to winnt.h where they belong. 2000-04-18 11:58:24 +00:00
Richard Cohen c775e1ec7f Wrap an exception handler around FindResource. 2000-04-16 20:27:51 +00:00
Alexandre Julliard c970904c2c Save the registry on server exit without client intervention.
Removed "alt" registry files since we now have symlinks and
WINEPREFIX to replace them.
2000-04-16 17:21:13 +00:00
Alexandre Julliard 8e8f0f52f7 Rewrote command-line parsing of CreateProcessA to be more compatible. 2000-04-15 21:30:33 +00:00
Alexandre Julliard b44595283f Improved Winelib apps initialisation code. No longer need to link
winestub.o with Winelib apps.
2000-04-15 21:00:55 +00:00
Eric Pouech 394203f68c Let CreateProcess launch unix executable without a .exe extension.
Fixed arguments passed when creating a unix process.
2000-04-13 19:26:56 +00:00
Alexandre Julliard 227a0894d4 Removed a number of global handle allocations and critical section
initializations.
2000-04-08 21:06:06 +00:00
Patrik Stridvall 54fe8380a1 Fixed some issues reported by winapi_check. 2000-04-06 20:21:16 +00:00
Patrik Stridvall 2d6457c11a Added/fixed some documentation reported by winapi_check. 2000-03-28 20:22:59 +00:00
Hidenori Takeshima e2905ea478 Fixes for i18n. 2000-03-26 14:43:22 +00:00
Francois Gouget 6d77d3a1df Use min/max instead of MIN/MAX. 2000-03-25 21:44:35 +00:00
Alexandre Julliard 9a0e28f153 Fixed a couple of file descriptor leaks.
Always call USER signal proc in the right context.
Cleaned up THREAD_Create.
2000-03-25 19:14:37 +00:00
Alexandre Julliard 28c3a1baf3 Moved graphics initialisation to the x11drv/ttydrv dll init code.
Merged event, keyboard and mouse drivers into USER driver.
2000-03-20 18:21:19 +00:00
Alexandre Julliard 69e2bf626f Hack: always try builtin module before elf or elfdll to avoid loading
a builtin dll .so file in the wrong mode.
2000-03-19 21:21:56 +00:00
Dimitrie O. Paun 9ad9636725 Removed most calls to xmalloc/xrealloc. 2000-03-19 14:29:50 +00:00
Eric Pouech cba7be7954 Now attaching imported DLLs of a winelib executable. 2000-03-19 12:46:56 +00:00
Alexandre Julliard 1dac57f05f Created separate dlls for user,gdi,ttydrv,x11drv.
Fixed Winelib argc handling (thanks to Eric Pouech).
2000-03-19 12:08:09 +00:00
Alexandre Julliard 9b59da0dd9 Misc small cleanups. 2000-03-18 22:25:41 +00:00
Alexandre Julliard 62f824f7cb Avoid calling the *Rect USER functions from inside GDI.
Moved a few USER functions to a more appropriate location.
2000-03-18 22:12:33 +00:00
Alexandre Julliard fe08568a0d Moved command-line option handling out of the X11 driver.
Added support for "--" prefix on options.
Replaced a few X11 command-line options by wine.conf parameters.
2000-03-18 21:56:10 +00:00
Alexandre Julliard 12f29b5076 Have threads and processes exit more cleanly whenever possible. 2000-03-17 15:16:57 +00:00
Alexandre Julliard 05f0b71bb3 Store the list of loaded dlls in the server, and generate debug events
internally.
2000-03-09 18:18:41 +00:00
Ulrich Czekalla cc27998626 wm->modname might be invalid at the end of FreeLibrary. 2000-03-08 18:41:22 +00:00
Patrik Stridvall 6cc47d4924 Removed a lot of unnecessary includes and fixed the compile errors. 2000-03-08 18:26:56 +00:00
Alexandre Julliard 00641d5b1c Removed PDB32_DEBUGGED flag and send all debug events unconditionally.
Implemented IsDebuggerPresent().
2000-03-08 16:41:37 +00:00
Andreas Mohr f2df6a2afe Fixed second instance DGROUP loading. 2000-03-07 12:26:16 +00:00
Andreas Mohr 45b5bcf65b Several fixes to MakeProcInstance. 2000-03-07 12:22:35 +00:00
Alexandre Julliard 916f975624 Improved the selector get/set functions.
Support ANSI-compatible inline asm (with the help of Patrik Stridvall).
2000-02-26 16:51:13 +00:00
Patrik Stridvall 0ee98cc39f Fixed ANSI C violations. 2000-02-26 13:17:55 +00:00
Andreas Mohr 4654c32122 It seems to be GetModuleFileName16 that checks exe version on whether
to return long or short paths, not GetModuleFileNameA.
2000-02-20 19:15:34 +00:00
Alexandre Julliard 431cf32450 Hard-coded DllPairs configuration; there is no need for the user to
change it.
2000-02-19 20:51:01 +00:00
Alexandre Julliard 67a24c8cfb Store the handle of the process exe file in the server.
Removed PROCESS_Initial().
2000-02-18 21:54:32 +00:00
Alexandre Julliard 90476d6b4a Moved SystemHeap allocations to the process heap. 2000-02-16 22:47:24 +00:00
Jeremy White d3e22d9d55 Removed #include of wingdi.h and windef.h from winuser.h (and resolved
the resulting compilation failures).
2000-02-10 19:03:02 +00:00
Alexandre Julliard b2f6f0e7d2 Removed resource.h. 2000-02-03 01:54:36 +00:00
Ulrich Weigand 9ffd403001 Added .spec keyword 'mode' to allow creating built-in EXE modules.
Use built-in EXE modules for WineLib apps (instead of ELF modules).
Removed dummy ELF module creation.
Removed LIBRES handling.
2000-02-03 01:33:48 +00:00
Ove Kaaven 9b89998113 Cleanup VGA refresh when terminating. 2000-02-03 00:46:00 +00:00
Alexandre Julliard 318f4cefd2 Build most dlls as separate shared libraries. 2000-01-31 05:02:49 +00:00
Ulrich Weigand f3bfa3a4b0 Mark initial process as 32-bit for WineLib apps.
Use teb->tibflags instead of teb->flags (for Win95 USER32 compatibility).
Removed unused thread event.
2000-01-30 21:16:06 +00:00
Ove Kaaven 43b2ad1973 dosmod protocol revision 3, featuring MPROTECT and ENTERIDLE. 2000-01-30 02:53:56 +00:00
Andreas Mohr 8cd93514f0 - add some documentation items
- fix some spelling
- fix some warnings
2000-01-29 21:12:58 +00:00
Alexandre Julliard 0dd3655fd0 Removed debugstr.h. 2000-01-29 19:49:58 +00:00
Alexandre Julliard eafa391081 Use argv[0] to locate the server executable. 2000-01-25 21:19:58 +00:00
Alexandre Julliard 2fe57779fb Made the server listen for new clients on a Unix socket in
$HOME/.wine. Newly started wine processes now attach to an existing
server if one is running.
2000-01-25 01:40:27 +00:00
Uwe Bonnes c8c800c851 Check for MZ header before trying to decipher the PE header. 2000-01-23 02:27:16 +00:00
Ulrich Weigand fa5647ab33 Fixed race between Win16 parent and child for first rescheduling
of child process. This fixes WinExec returning too early.
2000-01-17 22:21:29 +00:00
Ulrich Weigand 0b57a5caed Don't access 'wm->modname' after the modref has been flushed. 2000-01-15 22:01:48 +00:00
Alexandre Julliard 74e4a28a34 Built-in DLLs resources are now specified in spec file.
Removed unnecessary flags in built-in DLLs tables.
2000-01-09 04:20:31 +00:00
Marcus Meissner 59db20fbc1 Made virus warning a bit more drastic, since some people don't believe us. 2000-01-05 01:47:30 +00:00
Peter Ganten 6619f5a71a Implemented WaitForInputIdle. 2000-01-01 22:38:20 +00:00
Francois Gouget baa9bf9a23 Buffer overflows and strncpy fixes. 1999-12-27 05:24:06 +00:00
Alexandre Julliard bbeaeebb2d PE_FindExportedFunction: use a binary search for function names. 1999-12-27 00:25:25 +00:00
Andreas Mohr 8952dea404 Fixed cmd line length calculation. 1999-12-12 20:16:42 +00:00
Alexandre Julliard 8551f8ca98 Xiang Li
Implementation of a proxy ODBC32 dll.
1999-12-11 23:56:46 +00:00
Ulrich Weigand f00830086d Bugfix: Added missing 'return' statement. 1999-12-11 23:00:58 +00:00
Ulrich Weigand 4fd8cc37e2 Implemented PE_UnloadLibrary(). 1999-12-10 03:31:25 +00:00
Dimitrie O. Paun dd03cc19fd Make use of the DEFAULT_DEBUG_CHANNEL where appropriate.
Use the default version of FIXME, ERR, WARN, TRACE for the default
channel.
1999-12-08 03:56:23 +00:00
Ulrich Weigand 0106f85e5f Delay sending debug events until process initialization is complete. 1999-12-08 03:28:14 +00:00
Andreas Mohr a2da86898a Added .rc file support for Win16 NE modules.
Moved display.c and mouse.c to separate dll directories.
1999-12-06 01:20:00 +00:00
Eric Pouech fe08849938 Added typedef to insure compilation on all gcc&egcs versions. 1999-12-05 23:04:00 +00:00
Ulrich Weigand 2149934a2d Bugfix: Call DllEntryPoint for *every* process that loads the DLL, not
just for the first one.
Bypass 32->16->32 transition when calling DllEntryPoint of built-in.
1999-12-05 02:50:38 +00:00
Ulrich Weigand 979000e038 Call 16-bit instead of 32-bit UserSignalProc entry point.
Don't load USER32.DLL unless requested by the program.
Bugfix: Pass the correct thread ID to UserSignalProc.
1999-12-05 02:48:53 +00:00
Eric Pouech cd841a4a86 Fixed crash when map fails. 1999-12-05 02:45:52 +00:00
Sergei Turchanov d14aea2c64 Fix for GetBinaryType to return SCS_DOS_BINARY if extended signature
is unknown.
1999-12-04 04:17:37 +00:00
Ulrich Weigand 237e8e95b0 Fixed 32-bit module name handling to conform better to Win9x.
Removed OFSTRUCT passing during process creation sequence.
Bugfix: don't set exe_modref when LOAD_LIBRARY_AS_DATAFILE is set.
1999-12-04 04:04:58 +00:00
Niels Kristian Bech Jensen 1d5bc469cc Removed extra #include statements. 1999-11-21 02:14:36 +00:00
Ulrich Weigand 61206bd8a0 Simplified hInstance creation/handling.
Fixes problems with self-loaders creating DGROUP themselves.
1999-11-21 00:50:30 +00:00
Ulrich Weigand eb94c7d2c4 Adapted to new register function handling. 1999-11-13 23:54:04 +00:00
Alexandre Julliard ec7bb2391d Added support for CREATE_SUSPENDED flag in CreateProcess. 1999-11-12 03:35:25 +00:00
Ulrich Weigand d024d5e942 Bugfix: LOAD_DLL_DEBUG_EVENT lpImageName parameter was incorrect. 1999-11-10 20:15:04 +00:00
Ulrich Weigand e7957d6b48 Determine expected_version of PE buddies from the SubsystemVersion. 1999-11-10 19:45:56 +00:00
Marcus Meissner 38eae846bb Fixed the relocation hack in PE_InitTls. Added some more for the other
pointerfields in the TLS entry. (With testing help from Jussi
Jumppanen <jussij@zeusedit.com>).
1999-11-07 22:29:18 +00:00
Francois Gouget edf3e434b0 Added ICMP DLL implementation. 1999-11-07 21:22:17 +00:00
Alexandre Julliard e582158788 Fixed -debugmsg +server. 1999-11-04 02:51:24 +00:00
Eric Pouech abe722778f Added built-in msacm.drv and midimap.drv drivers. 1999-10-31 02:23:49 +00:00
Patrik Stridvall 96336324cf - Added missing configuration #if:s and #includes:s.
- Minor configuration related changes.
1999-10-24 22:13:47 +00:00
Uwe Bonnes 6111ee6186 Return the size of the needed resource when buffer is NULL for LoadString(). 1999-10-24 20:39:21 +00:00
Uwe Bonnes f959be9c97 Ignore wrong hInstance. 1999-10-23 19:47:55 +00:00
Jim Aston 031f4faaff Fixed compiling with STRICT. 1999-10-23 19:00:02 +00:00
Ove Kaaven f45608f639 Winsock rewrite. Sockets are now proper win32 handles.
Internal structures are now really internal.
1999-10-23 16:53:34 +00:00