- Sync to Wine-1.3.4
- Bugfix: The switchtype attribute of non-encapsulated unions was not propagated to a type but only to its aliases.
svn path=/trunk/; revision=49085
- Sync to WINE 1.3.4
[WININET]
- Add a forgotten change to the diff
[WINHTTP]
- Sync to WINE 1.3.4
- Sync the inet_ntop.c change from wininet
- Update the diff
svn path=/trunk/; revision=49083
- Add a ROS-specific change that was missed during the last winesync to fix winsock error handling
- Remove the CP_UNIXCP definition
- Use WSASetLastError instead of errno in inet_ntop.c
- Thanks to IRC:igorko for pointing out the bug
svn path=/trunk/; revision=49078
- Move (and cleanup) private heap definitions and structure to a standalone header file heap.h. It's explicitly included in heap_rewrite.c and heapdbg.c to prevent conflicts with the existing heap manager in heap.c.
svn path=/trunk/; revision=49071
- Implement setting/getting heap user values and flags (very easy provided heap design is now proper). Amount of winetest failures is down to 12 (but 3 crashes in child processes).
svn path=/trunk/; revision=49069
Igor Paliychuk:
- Update some broken links.
- Changed the cyrillic "P" to a latin "P" in the beginning of the VBox driver's russian and ukrainian descriptions (rapps doesn't display it when it's cyrillic).
svn path=/trunk/; revision=49067
- Revert incorrect changes from 34404 and 40910: RtlSetUserFlagsHeap() doesn't set usual heap flags, it sets special user-settable heap entry flags. With the new heap manager such usage corrupts heap integrity (not to say prototype of this function is incorrect).
- RtlReAllocateHeap() is supposed to copy user values and flags so there is no need to set them afterwise again.
- Fix a typo in comments.
svn path=/trunk/; revision=49063
- Set proper heap flags (tail and free checking) in case heap validation is enabled. Fixes another bunch of winetests.
svn path=/trunk/; revision=49057
Rename the EVENTSOURCE struct to LOGHANDLE because it is currently used like a handle object. The EVENTSOURCE struct will be added again in one of the next commits.
svn path=/trunk/; revision=49055
- Roel Messiant: Remove old-style Peb->ProcessHeaps assignment from RTL, it's already done by MM.
- Roel Messiant: Fix a typo (missing else) between two if branches, which fixes commit routine support.
- Properly save requested size if 0 was given (1 should be allocated, but 0 saved as a requested amount). Fixes winetests.
- Remove unnecessary dprints.
svn path=/trunk/; revision=49048
- Load image execution options before creating process heap (so that GlobalFlag overrides can be taken into account).
- Make LdrQueryImageFileExecutionOptions avoid heap usage when possible (and when it's not possible, fail with out of memory status).
- Fixes a dramatic count of ~100 failures in "kernel32_winetest heap".
svn path=/trunk/; revision=49045
On boot, while loading drivers, make starting Loader Block available to the whole kernel to let drivers calling on-boot functions that may need it.
One of them will be implemented later.
svn path=/trunk/; revision=49044
Fixed a FIXME in ARC names by implementing IopStoreSystemPartitionInformation(). This make ReactOS writing boot paths to registry.
svn path=/trunk/; revision=49043
Don't ignore IopCreateArcNames() return while booting.
At the moment, it's just returning STATUS_SUCCES but it will be changed later.
svn path=/trunk/; revision=49042
- Fix allocated/free memory fillers to match those Windows uses (winetests)
- Add missing coalesce-on-free flag check in RtlCreateHeap
- Turn on tail check/pattern filling in RtlAllocateHeap.
- Add extra stuff storage support in RtlAllocateHeap and its helpers.
- Set win32 statuses where necessary.
- Return success in RtlValidateHeap to reduce spam when running winetest.
svn path=/trunk/; revision=49034
- Roel Messiant: Properly handle STATUS_BUFFER_TOO_SMALL in RegEnumValueW implementation.
See issue #2492 for more details.
svn path=/trunk/; revision=49028
- LoadImageFileExecutionOptions() improvements:
* Apply certain heap flags if the process is being debugged (only if NtGlobalFlags is not overridden).
* Implement enabling page heap and reading image-specific configuration values.
- Add page heap configuration values to the Heap Manager.
svn path=/trunk/; revision=49025
- Fix loading of GlobalFlags in Image File Execution Options. I really wonder who had that brilliant idea that bitwise flags would be stored as a string in the registry.
- If there is a GlobalFlags value specified in the registr for that specific image, it means that value should overwrite NtGlobalFlags. Fix that too (previously it was ORing which made no sense).
svn path=/trunk/; revision=49021
Use the full name we get from SearchForExecutable when building the command line for CreateProcess so we get proper name in argv[0] later.
svn path=/trunk/; revision=49020
Alternative workaround for pentium lock errata: Instead of burdening the page fault handler, just mark the IDT page as Write-Through if the bug is present. According to http://www.rcollins.org/Errata/Dec97/F00FBug.html it shall prevent the lock up. Please test. Dedicated to elhoir.
svn path=/trunk/; revision=49018
- Fix incorrect codepage values
- Look for applets in windows dir as well as system dir
- Patch by Carlo Bramix
See issue #3158 for more details.
svn path=/trunk/; revision=49017
- Implement missing parts of a virtual block allocations support.
- Minor fixes to handling extra stuff in heap blocks.
- Wine's heap regression tests now run through the end without crashing and show 277 failures.
svn path=/trunk/; revision=49010
- First commit of a heap manager rewrite. It introduces a totally new heap manager, with the following features:
* Actually resembles real NT's heap manager;
* Based on data structures similar to Windows 2003 and Vista+'s heap structures;
* Supporting advanced heap flags (e.g. useful for debugging);
* Substantially lower fragmentation rates (and thus speed and reliability) than the existing Wine's implementation. It's going to be further enhanced by adding a frontend allocator (for example, as lookaside lists, or as a Low Fragmentation Heap alike frontend in Vista+ systems);
* Real support for user-defined flags and native support for user-defined values;
* Native support for a custom commit routine, which is very important for trunk's win32 subsystem;
* Reserving, committing, decommitting and freeing on the fly, unlike existing heap manager which prefers to reserve and commit as much as possible, and doesn't decommit when it's no longer necessary;
* Support for per process heaps, with a proper lock;
* Reserved support for a special so-called debug heap allocator (to be implemented in heapdbg.c) which will be useful for finding heap corruptions.
The committed code is a result of a month of work, and is a heavy work-in-progress one. It already implements the bare minimum required to boot to 3rd stage and run FireFox 3, however many rare codepaths are not implemented yet and there is some maintenance work to do (e.g. move structures and defines to a standalone header file). A list of used references is stated in the header of a source file for now.
svn path=/trunk/; revision=49007