Commit Graph

697 Commits

Author SHA1 Message Date
Andreas Mohr 786c9a68f6 Get ELF_LoadLibraryExA back into a working state. 2000-11-06 05:26:27 +00:00
Alexandre Julliard 908464d448 Authors: Andreas Mohr <amohr@codeweavers.com>, Dimitrie O. Paun <dimi@cs.toronto.edu>, Patrik Stridvall <ps@leissner.se>
Various warning fixes.
2000-11-01 03:11:12 +00:00
Dimitrie O. Paun 334a42f521 Fixed a few compilation warnings 2000-10-29 18:07:04 +00:00
Andreas Mohr cabee39f3c Free the Win16 dummy module and wm->deps. 2000-10-25 21:22:27 +00:00
Alexandre Julliard 0e236a1f37 Removed GetResDirEntryA/W. 2000-10-24 21:35:14 +00:00
Patrik Stridvall a9f6a9daec Explicitly initialize structures. 2000-10-24 02:22:16 +00:00
Uwe Bonnes 38012a5604 Pass the correct hFile to PE_CreateModule. 2000-10-19 22:27:23 +00:00
Alexandre Julliard 81800b1f6d Use a binary search to find entries in resource directories.
Fixed GetResDirEntryA/W prototypes.
2000-10-19 20:29:53 +00:00
Andreas Mohr 49851f88e3 Back out my ELFDLL_dlopen patch and add a warning for future misguided
hackers.
2000-10-19 20:25:02 +00:00
Ove Kaaven 7c4bee569c Implemented DOS INT21 AH=4B (EXEC). 2000-10-17 00:33:02 +00:00
Ove Kaaven d94b631947 Fixed a couple of recent bugs, and added some more safeguards (could
be handy for portability anyway) and trace statements.
2000-10-15 00:41:08 +00:00
Andreas Mohr 1563abe8ec - stupid spelling fixes
- some more loadorder array work
2000-10-13 20:26:52 +00:00
Ove Kaaven dfa4130804 Merged DOSVM_Int with DOSVM_SimulateInt, and made it handle apps that
purposefully shuffle the interrupt vectors around.
2000-10-13 20:14:49 +00:00
Andreas Mohr 6a2a2ebc71 Make sure that we skip tasks with missing hInstance. 2000-10-02 22:16:34 +00:00
Andreas Mohr 6d52787f73 Beautified the loadorder array (group DLLs according to functionality,
add group header comments, ...), added builtin x11drv and winaspi.
2000-10-02 03:33:51 +00:00
Alexandre Julliard afb49ead82 Moved a bunch of routines to kernel32.dll (with the help of
Dimitrie O. Paun).
2000-09-29 20:48:04 +00:00
Alexandre Julliard 15bfcd0398 Moved $(MODULE).o rule out of Make.rules into the individual
Makefiles.
2000-09-29 00:28:25 +00:00
Dmitry Timoshkov 4ca7e6343f Avoid crashes if 16-bit module handle was passed to the 32-bit
resource enumerator.
2000-09-26 00:39:06 +00:00
Alexandre Julliard 74af67ef42 Removed shell.h. Cleaned up the nested includes mess in wine/obj_*.h. 2000-09-26 00:00:55 +00:00
Alexandre Julliard d8fab2e67c Removed some of the XXX_reg macros now that we are using the standard
CONTEXT86 structure everywhere.
2000-09-25 23:53:07 +00:00
Alexandre Julliard 072dfb57e3 Removed inclusion of wine/winestring.h from winbase.h and added it to
the C files that need it.
2000-09-25 23:30:56 +00:00
Alexandre Julliard 770eb51ed5 Moved most global data out of the LPDOSTASK structure.
Allocate DPMI real-mode segments globally at startup.
Try to allocate DOS memory at address 0.
2000-09-24 20:47:50 +00:00
Andreas Mohr 7096384d14 Fixed WinExec16 to handle quoted filenames correctly. 2000-09-22 22:08:28 +00:00
Ulrich Weigand a761e3dad0 Modified CallTo16Register routines to update register context after
call returns. Callers adapted.
2000-09-13 20:29:44 +00:00
Andreas Mohr c4a264428b Fixed NE_LoadExeHeader error handling. 2000-09-10 03:14:36 +00:00
Eric Pouech 208955cada Fixed loader - broken search for already loaded modules. 2000-09-10 03:14:00 +00:00
Patrik Stridvall 6e740b5b46 Fixed some issues found by winapi_check. 2000-09-04 20:21:06 +00:00
Alexandre Julliard 92643003cf Converted a lot of server requests to the new exception handling
mechanism.
2000-08-31 01:59:51 +00:00
Alexandre Julliard 9c2370bd75 Added exception handling wrapper to a number of server requests.
Changed a few requests to use the new vararg mechanism.
2000-08-30 00:00:48 +00:00
Peter Ganten c7c4246a99 - Always store the full path name of 32bit modules in WINE_MODREF
- Add the possibility to use path names with the --dll command line
  option
- Add the possibility to use the --dll command line option several
  times.
- Note: The colon-sign is now exchanged with the plus-sign, as it is
  part of dos path names.
2000-08-28 21:33:28 +00:00
Alexandre Julliard 7bbba4f9ce Removed calls to ConvertToGlobalHandle and MakeCriticalSectionGlobal. 2000-08-26 21:18:36 +00:00
Andreas Mohr 349655636b - made the MIDI sequencer error message much better for confused users
to be found on #WineHQ
- use strerror instead of errno at important places
- got rid of HAVE_STRERROR macro
- removed some #include:s (hopefully I didn't break anything)
2000-08-26 20:31:48 +00:00
Andreas Mohr 62f3eaa782 Transform every ERR() to WARN() in MakeProcInstance. 2000-08-21 20:16:26 +00:00
Dusan Lacko 9f6d4bc0be Pass the type/name as a C string instead of an
IMAGE_RESOURCE_DIR_STRING_U structure to the callback function.
2000-08-20 03:32:57 +00:00
Niclas Karlsson MATE 1918601e4c WATCOM compiled programs leave VirtualSize to zero which triggers the
virus check. Use SizeOfRawData instead.
2000-08-16 12:54:03 +00:00
Alexandre Julliard a257ba245a Avoid going past the end of the relocation section. Skip sanity checks
for empty relocation blocks.
2000-08-16 12:46:09 +00:00
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