ChangeLog-0.3.14

From ReactOS Wiki
Revision as of 20:24, 3 January 2012 by Z98 (talk | contribs)
Jump to: navigation, search

This is the changelog for ReactOS™ version 0.3.14 (to be released soon), an open-source operating system designed to be binary executable - and device driver-compatible with Microsoft™ Windows NT™ and subsequent Microsoft operating systems such as Windows 2000™ and Windows XP™. ReactOS is written by the ReactOS development team, and the last previous version of ReactOS was version 0.3.13.

Contents

General

Contributors

Core developers

  • Giannis Adamopoulos
  • Johannes Anderwald
  • Aleksey Bragin
  • Dmitry Chapyshev
  • Thomas Faber
  • Benedikt Freisen
  • Jérôme Gardou
  • Cameron Gutman
  • Rafał Harabień
  • Kamil Hornicek
  • Gabriel Ilardi
  • Amine Khaldi
  • Eric Kohl
  • Timo Kreuzer
  • Matthias Kupfer
  • Michael Martin
  • Ged Murphy
  • Sylvain Petreolle
  • ReactOS Portable Systems Group
  • Daniel Reimer
  • Gregor Schneider
  • Pierre Schweitzer
  • James Tabor
  • Christoph von Wittich
  • Art Yerkes

Patch Submitters

  • Carlo Bramini
  • Elton Chung
  • Vincenzo Cotugno
  • HansH (hans at atbas dot org)
  • Adam Kachwalla
  • Mario Kacmar
  • Edijs Kolesnikovics
  • Nathan Lineback
  • Nikolay Myltsev
  • Lee Schroeder
  • Anton Yarotsky

Localization

  • Jan Blomqvist-Kinander
  • Stefan Fule
  • Radek Liska
  • Igor Paliychuk
  • Jeisson Toscano
  • Yurij Vodkin
  • Michael Wu

Generic 0.3.14 Changes

  • CMake and MSVC efforts continue.

Applications

  • 3DText: Rotation is now independent of computer speed.
  • Calc: Buttons have been realigned to better match calculator in Windows XP.
  • CharMap: Skeleton for advanced view implemented. Font zoom when scrolling and changing fonts has been fixed.
  • Cmd: File IO functions have been replaced with memory IO functions for batch files.
  • Device Manager: New device manager using ATL has been begun. Main window focus defaults to treeview to allow easier navigation by keyboard.
  • MSPaint: Cut function implemented.
  • Notepad: Notepad is now marked as unicode.
  • Ping: Option parsing has been made stricter and more robust.
  • Rapps: Links have been converted from FTP to HTTP until underlying Wine library starts supporting FTP.
  • Regedit: Ability to parse and display REG_RESOURCE_LIST values added. User is now prompted when importing from commandline. Fixes to handling of REG_MULTI_SZ values.
  • SndVol32: Application to control setting the volume in ReactOS.
  • Spider: Yes/No dialog is now used for exiting the game instead of Okay/Cancel.
  • Taskmgr: Terminating an application now uses 1 as the exit code.

Control Panel Applets

  • A variety of translation and memory usage fixes.
  • Appwiz: Directories can now be passed to the create shortcut wizard.
  • Desktop: The wallpaper and desktop background is only applied when they have been changed. Color scheme selection has bee fixed.
  • Sysdm: All hardware profiles are now displayed. Homepage link control now correctly shows the focus window. GPL license is now properly displayed.

Installer

  • FAT32 boot sector pointer arithmetic fixed, resolving error when installing FAT32 boot sector.
  • Floppy disk is now correctly formatted to FAT12 before the bootloader is installed and booting from floppy works again.
  • OemName in boot sector is no longer overwritten.
  • Volume Boot Record only is now an install option so that the MBR will not be overwritten.

Core Functionality

Audio/Video Stack

Kernel Streaming

  • Input/output parameters are now probed when a request comes in from user mode.

PORTCLS

  • Status codes of unhandled IRPs are no longer modified.

Filesystems

CDFS

  • Reading along non-aligned blocks has been fixed.

FASTFAT

  • A leading period in front of a file name no longer causes asserts as it is valid for long filenames.
  • Verification code moved so that they are in the codepath for more functions.

FSRTL

  • FsRtlIs*InExpression functions are now working after backtracking was implemented.

NPFS

  • Interruption of waits have been reworked to avoid potential deadlocks and corruption.
  • CCB access is now managed using reference counting, elimination a race condition and corruption during 2nd stage.

Hardware Management

  • IRP_MN_QUERY_POWER and IRP_MN_SET_POWER are now sent to all enumerated devices when a power state change occurs.
  • A volatile device tree is created during 1st stage booting so that the HAL loaded during 2nd stage will not have to deal with phantom devices.
  • ACPI is now automatically enabled when the ACPI HAL is loaded, and disabled when the standard HAL is loaded.

ACPI

  • ACPIA updated to 20110922.
  • Special devices are now identified with unique IDs.
  • Physical address retrieval has been implemented.
  • Reading and writing PCI configuration mistakenly interpreted a value representing bits as representing bytes, causing memory corruption and overreads. This issue is now resolved.

HAL

  • Support for Scatter/Gather DMA operations has been added.

Plug n Play

  • IRPs sent to PnP devices during enumeration are now compatible with XP/2003/Vista.
  • Duplicate loading of drivers is now properly resolved.
  • Device removal has been reworked so that the remove command will propagate down to the children of devices. When any device in the top level fails to honor the remove request, the remove command is canceled for all devices that received the original remove command.

Kernel

  • Time setting functions are now implemented.
  • Trap handling code continues to be separated into architecture specific blocks as needed.
  • Processor number count is now defined in one place instead of having a different version for each architecture.
  • Debug trace code has been cleaned up to avoid crashes in certain situations.
  • More Interlocked functions have been converted into C from assembly, improving portability.
  • Trap handling for user-mode traps has been fixed.
  • Text display using bootvid is now disabled after phase 1 initialization, eliminating graphical glitches when debug to screen is enabled.
  • A variety of internal data structures have been fixed thanks to the new kernel mode unit tests.
  • Resource acquisition now returns the correct boolean value depending on whether the caller wishes to wait for the resource to be available.
  • Assembly trap handlers have been moved so that a 32bit relative jump is always to ensure consistency now that a wider range of interrupt values may be used.
  • Execution yielding has been modified to match behavior on Windows, including attempting to locklessly check the processor control block.
  • The kernel now correctly reports whether there are pending APCs during a KiSwapContextExit call.

I/O

  • Names for internal IO functions have been renamed to match those on Windows.
  • IopDecrementDeviceObjectHandleCount, IopInterlockedIncrementUlong, IopInterlockedDecrementUlong, IopNotifyAlreadyRegisteredFileSystems, and IoEnumerateRegisteredFiltersList functions implemented.
  • Additional I/O device registration and removal functions relating to storage devices have been implemented.
  • The kernel now handles unexpected device removals.
  • Removal of locks when debug information is associated is now fixed.
  • The correct number of serial ports is now registered in the global configuration table.

KDBG

  • Output after doublefaults improved.
  • The mouse is now disabled when reading from keyboard.
  • Output counting fixed so that new commands will show even after previous command created large amounts of output.

Memory Management

  • Kernel debug pool implemented. The debug pool is designed to help driver developers find memory usages errors in their code.
  • Session space address layout initialization has now been separated on a per-architecture basis.
  • Continued work on memory management on AMD64 platform.
  • SEH usage has been streamlined to avoid an infinite loop when locking an address space.
  • Working set balancer code has been reworked to trim pages during low memory situations.
  • Alignment of memory blocks fixed up to make sure operations are done on page-sized blocks.
  • Traversal of virtual address tree has been fixed and optimized.
  • Mapping of memory sections has seen fixes to support the new loader.
  • A variety of locking related fixes.

Common Cache

  • CC now will flush dirty pages if it cannot satisfy a memory request from available free pages.

Network Stack

MSAFD

  • Inflight disconnect IRPs are now canceled during socket closure.
  • Cancellation of operations and shutdown of connections has been reworked considerably. This included waiting for all pending requests to be fulfilled, issuing correct signals to initiate shutdown, and cleaning up lingering operations to make sure all data is delivered.
  • Data is no longer corrupted when the receive buffer is smaller than the incoming data.
  • Events whose conditions have already been fulfilled before a wait operation was called are immediately notified now.
  • AFD now immediately listens for new connections instead of waiting for the current connection to be accepted, helping increase throughput.

Network Driver Interface Specification

  • NDIS now reports itself as 5.1 conformant.
  • Memory allocations are now done at correct interrupt levels or have been made safe to do at lower interrupt levels.
  • A variety of DMA functions have been implemented, granting drivers access to Scatter/Gather functionality.
  • Addressing of slave DMA devices that do not support 32bit addresses has been fixed.
  • PnP issued IRP handling has seen fixes.

TCP/IP

  • The default packet and buffer pools have been increased to help deal with high network traffic situations.

Shell

Explorer

  • Thread handles for startup processes in Run and RunOnce keys are now properly closed, fixing ghost command prompts on first startup of Explorer.
  • Network connections start menu item now opens the network connections folder.
  • Hotkeys that require the Windows key are now supported.
  • Explorer returns 1 when it exited without error.
  • Custom positioning is now possible, making positioning of icons look more like that of Windows.

Explorer-New

  • Start menu initialization has been improved to better show what fails.
  • A ReactOS registry key is used for ReactOS specific features.

Startup/Shutdown

FreeLoader

  • FreeLoader now splits the memory it needs into two different heaps, one that is preserved and passed onto the kernel and one that is discarded once booting is complete. This helps reduce the memory footprint of the OS when it first starts up.
  • FreeLoader no longer allocates entire pages for every small memory allocations, reducing fragmentation and overall memory usage during booting.
  • A variety of fixes for dealing with bios memory maps. These maps could have a range of problems including invalid entries, overlapping regions, and not aligning entries along page boundaries. FreeLoader also no longer overwrites itself when loading the HAL due to invalid memory maps.
  • Wine-like debug macros ERR, FIXME, WARN, and TRACE have been introduced.
  • Boot drive and partition is now stored in shared memory instead of a register due to register value being erased during switch to long mode for 64bit booting.
  • FreeLoader is now able to switch back and forth between realmode and long mode on 64bit platforms.
  • FreeLoader no longer attempts to load referenced DLLs from directories other than system32.
  • Interrupt Descriptor Table setup is now in C instead of assembly.
  • Page entries are offset on ARM platforms to eliminate wasted entries that represented unusable addresses.
  • A variety of changes were made to where data was placed in low address memory to conform with Windows 2003 expectations.
  • A hack was added to support booting with "exotic" languages.
  • The VESA bios signature is now checked before VESA extensions are reported as being present.
  • Support for booting from ramdisks further improved.

Storage Stack

  • The disk geometry has been changed to be 63 sectors per track and 255 tracks per cylinder to match modern conventions.

UniATA

  • Synced to 0.41b2.
  • Timing values and sending of ATAPI commands has been modified to better deal with VirtualBox.

Drivers

Floppy

  • Initialization and resetting of the floppy controller have been reworked to prevent deadlocks in certain situations.
  • The count of floppy driver has been increased, fixing an issue where the drive would not show in Explorer.

I8042PRT

  • Hotplugging of PS/2 mice now supported if one was present at boot time.
  • Extended mice keys are no longer always treated as power keys.
  • All interrupts are enabled at the same time to avoid the controller going unresponsive.

KDCOM

  • Timing changes for better performance when transmitting output.

Keyboard/Mouse

  • A hack was added to bind all keyboard devices to the same keyboard class device when no default setting is present.

PCI

  • False interrupt resources are no longer reported.
  • Additional IRPs relating to device removal have been implemented, including ones that inform the PnP manager a device cannot be disabled or removed.

PCNET

  • Backoff mechanism has been added to the buffer allocation operation.
  • Resource cleanup has been fixed to not attempt to free resources that were never allocated.

SACDRV

  • Initial implementation of Special Administration Console driver begun.

USB

EHCI

  • Initial transfer of data transfer and related DMA operations, very preliminary.
  • Linking of queueheads and cleanup of used resources has been fixed. Queueheads identify a list of queued transfer descriptors.

USBDRV

  • usbdriver has been renamed to usbdrv.
  • The status is now correctly set to not be STATUS_PENDING, which caused the keyboard driver to wait indefinitely. Keyboard input using usbdrv should now work.

Video

VIDEOPORT

  • Legacy resources are correctly reported to the PnP manager.
  • All PCI buses are now checked instead of just the first eight.
  • Minor code cleanup to avoid usage of magic numbers.
  • A hack that resulted in the device object's name differing from what was stored in the registry has been removed, fixing mouse integration in VirtualBox.
  • Various AMD64 related fixes.

VGAMP

  • Mode index 12 and video mode 12h are no longer confused, permitting ReactOS to boot once more when VGA mode is selected.

Libraries

ADVAPI32

  • RtlGenRandom has been hacked to be less dependent on the current time, producing better random values. This fixes non-unique RPC IDs that were causing problems for services.
  • Start arguments are also passed to ANSI services now.
  • Querying of service statuses has been fixed.
  • Registry query values have been fixed to avoid memory leaks and corruption.

CFGMGR32

  • Forwarders have been added for functions implemented in setupapi.dll.

COMCTL32

  • Subclassing is currently disabled when themes are disabled. This is a hack due to bugs in subclassing and requires the user to reboot if they wish to turn themes on.

GDI32

  • Object attribute support completed.

IPHLPAPI

  • The entire TDI entity database and interface table are no longer leaked after calls to query interfaces.

KERNEL32

  • Path related functions have been rewritten, taking into account a variety of encoding conversions and buffer usage.
  • Beep has been refactored to follow the same chain of operation as on Windows.
  • Manual INF selection has been fixed by fixing retrieving of an environment variable and properly null terminating the string returned by GetDllLoadPath.
  • Functions handling environment variables have been reworked to perform better.
  • Pending I/O is now supported.
  • Pointer probing functions have been fixed.
  • Stack creation has been fixed to behave more like in NT 5.2 and later.
  • Heap allocation functions have been cleaned up with additional parameter checks, error checks, and failure cases.
  • System information functions have been reworked, removing unsupported architectures and some preparation work for WoW64 support in the future.
  • The time API now does its own conversions instead of relying on an external API.
  • A fake copy of the BASE_STATIC_SERVER_DATA is currently used to allow kernel32 to cache some data. A correct implementation is still in the works.
  • Setting and retrieving handle contexts has been implemented.
  • Setting of the last error code has been fixed.
  • Fiber support has been greatly expanded, along with underlying thread support.
  • Several synchronization and event related bugs have been fixed, along with a new set of macros.
  • A major winesync took place in kernel32 of all code imported from Wine. Most of the major changes occurred in locale/language functions.
  • Loader related functions in kernel32 have been rewritten as part of the overall loader rewrite.
  • Conversion between ANSI and Unicode API objects has been fixed, resolving many longstanding bugs.

NTDLL

A new loader has been implemented, which respects more complex loader options and is better able to resolve dependency issues between various DLLs.

  • Security cookie initialization now correctly creates a 16bit cookie when asked, instead of always creating a 32bit cookie.
  • Thread Local Storage initialization has been fixed.
  • SEH has been applied to more parts of the new loader to protect against errors.
  • DLL loading has been improved, including optimizing checks for known DLLs.

Client/Server Runtime

CSRSS

  • A reference leak when GuiConsoleOpenUserRegistryPathPerProcessId failed to open registry keys has been fixed, resolving ghost console processes in the LiveCD.
  • The keyboard and mouse input threads have been merged into a single CSRSS thread.
  • Desktop class rewrite completed, fixing several window drawing issues.
  • CSRSS is currently hacked to allow connecting back to itself.
  • Hard error messages are now formatted as ANSI strings.
  • Initial implementation of Sound Sentry CSRSS API, nonfunctional right now due to missing winsrv.dll.

Kernel-mode subsystem server (Win32K)

  • Theme support has been merged in.
  • Path drawing has been fixed and now passes all related winetests.
  • Keyboard layout loading has been fixed.
  • All top level windows are now forced to update the size and position of their non-client areas.
  • Mode enumeration when a second video adapter is present has been fixed.
  • Timer resolutions now match those in Windows.
  • A variety of additional timer fixes to resolve input message handling.
  • Retrieving the current process' window station has been simplified and fixed.
  • A variety of hotkey registration fixes have been made, including corrected error codes and not permitting the overriding of special combinations.
  • Significant reworking of TrackMouseEvent API, due to added requirements imposed by themes.
  • Debug channels are now supported, permitting the activation from user mode extended debug output.
  • The GDI handle manager has been rewritten, fixing major memory leakage with a new GDI pool. Synchronization is now handled using a lock-free reference counter.
  • GetKeyState has been rewritten based on Wine's implementation. State is now dependent on whether a keyboard message has been processed or not instead of the current state of the keyboard.
  • Message callbacks have been fixed.

Bootloader (FreeLoader)

  • [ISOBTRT] call it 13h with es set to 0, instead of the transfer buffer segment, that we loaded it with. Fixes KVM boot. (Timo Kreuzer)
  • [EXT2] Fix remaining issues, bootsector compiles with GAS and ML. Sadly GAs sucks a bit and does neither allow to specify byte offsets, nor does it chose this itself to save space. As a result the code gets several bytes larger and I had to trim the messages even more. (Timo Kreuzer)
  • [EXT2] Use HEX() macro remove BYTE modifiers [es:di] -> es:[di] equ -> = (Timo Kreuzer)
  • [EXT2] Convert labels and strings to portable format (Timo Kreuzer)
  • [EXT2] Convert comments to preprocessor format (Timo Kreuzer)
  • [EXT2] Duplicate ext2.asm to ext2.S, no changes yet (Timo Kreuzer)
  • [ISOBOOT] Use a high segment and 0 offset when loading setupldr. This fixes problems with an award bios. Thanks to Igor Paliychuk (igorko) for his help and patience burning / testing dozens of isos Fixes boot regression of cmake builds on real hw. (Timo Kreuzer)
  • [FAT32] Really fix loading the MSVC built kernel, by moving the FAT sector buffer beyond the area for freeldr.sys Load segment only in one place (Timo Kreuzer)
  • [FAT32] Add some code that does ... nothing, but fixes 2nd stage boot with msvc. To figure out why this is needed, is left as an excercise to the reader :) (Timo Kreuzer)
  • [FREELDR] Allocate enough memory for unicode strings (Rafał Harabień)
  • [ASM] Use CR, LF and NUL in .ascii macro. (Sylvain Petreolle)
  • [SETUPLDR] Display a message box and bail out if loading imported dlls failed (Timo Kreuzer)
  • [BOOTSECTOR] Fix a typo in a comment (Timo Kreuzer)
  • [ISOBOOT] Fix portable bootsector and make it gas compatible (its opcode identical to the nasm compiled one and works correctly) (Timo Kreuzer)
  • [ISOBOOT] Add portable asm version of iso boot sector (Timo Kreuzer)
  • [FAT32] Fix the "portable" version of the fat32 bootsector Its now mostly identical to the one we currently use, only a few encoding differences (Timo Kreuzer)

Win32™ Libraries

  • [MSHTML][SHDOCVW] Initialize OLEINPLACEFRAMEINFO.cb for IOleInPlaceSite::GetWindowContext. Fixes explorer "Web" button assert. Already applied upstream. See issue #6011 for more details. (Thomas Faber)
  • [user32] When themes are active and the text of a window changes, we should send the WM_NCUAHDRAWCAPTION message instead of drawing the window directly ( which will result painting a classic caption on the themed window) Fixes explorer window that is repainted with a classic style when a subfolder is opened (Giannis Adamopoulos)
  • [TRANSLATION] serialui, setupapi, shimgvw and tapiui romanian translation, patch by Stefan Fulea; See issue #6558 for more details. (Olaf Siejka)
  • [MSPORTS] Implement device removal. (Eric Kohl)
  • [MSPORTS] Implement ComDBResizeDatabase. (Eric Kohl)
  • [UNICOWS] doesn't have an entry point (Jérôme Gardou)
  • [RC files] don't declare unicode strings, newer wrc doesn't like it, and it's (hopefully) useless. (Jérôme Gardou)
  • Remove shell32_new, the real one is in the branch (Ged Murphy)
  • [MSI/URLMON] Guard wine attributes against widl. (Amine Khaldi)
  • [UNICOWS] Link to msvcrt for proper crt imports. Fix msvc build. (Amine Khaldi)
  • [WINDOWSCODECS] Add wincodec_i.c to sources now it links (Timo Kreuzer)
  • [WINDOWSCODECS] Add typeof.h for MSVC. Now windowscodecs compiles, but doesn't link yet. (Timo Kreuzer)
  • [MSPORTS] Finish the serial port settings dialog. (Eric Kohl)
  • [MSPORTS] Implement ComDBGetCurrentPortUsage. (Eric Kohl)
  • [MSPORTS] Protect the COM database from concurrent access. (Eric Kohl)
  • [MSPORTS] Try to read the PortName registry value and get the port number from the name. Determine the port number for parallel ports the same way we determine the port number for serial ports, except for the use of the com port database. (Eric Kohl)
  • [MSPORTS] Store the PortName value in the registry. Please note that SetupDiCreateDevRegKey and SetupDiOpenDevRegKey are broken because they do not open or create the 'Device Parameters' subkey of a device instance key but the device instance key itself. (Eric Kohl)
  • Real fix of the broken build. (Eric Kohl)
  • [MSPORTS] Determine serial port names COM1-4 and parallel port names LPT1-2 from their resources. Other serial and parallel are still named COMx and LPTx. (Eric Kohl)
  • [MSPORTS] Remove reference to non-existing files and unused libraries. (Eric Kohl)
  • [SHELL32_NEW] Add the shell32 code which has been converted into C++ from the existing C code. This is a straight drop using the code Andrew sent to me, it's currently unchanged and untested All C++ conversion work to date was carried out by Andrew Hill <ash77 at reactos dot org> (Ged Murphy)
  • Add the Windows version of SHIShellFolder_EnumObjects, but compile it out as per Wine's notes Move the scope in the reg script (Ged Murphy)

LSASRV

  • [LSASRV] Initialize required policy attributes when the LSA database is created. This fixes the hanging lsa winetest. (Eric Kohl)
  • [LSASRV] Implement the PolicyPrimaryDomainInformation and PolicyAccountDomainInformation cases of LsarQueryInformationPolicy. (Eric Kohl)
  • [LSASRV] Change some stubs to real exports in the spec file, since the functions exist. Fixes MSVC build (Timo Kreuzer)
  • [LSA] Implement the LSA object database. Implement the information classes PolicyPrimaryDomainInformation and PolicyAccountDomainInformation of LsarSetInformationPolicy(). (Eric Kohl)

MSAFD

  • [MSAFD] Correctly handle an arbitrarily large sockaddr in WSPConnect. Fixes mIRC 7.1x crash on connect See issue #6005 for more details. (Thomas Faber)
  • [MSAFD] More consistent error handling in WSPConnect Fix a DPRINT (Thomas Faber)
  • [MSAFD] Implement SO_LINGER and SO_DONTLINGER for getsockopt and setsockopt Fix and add buffer size checks Yes, we've gone this long without SO_LINGER support (Cameron Gutman)
  • [MSAFD] Remove a broken debug print (Cameron Gutman)
  • [MSAFD] Fix several bugs in WSPGetSockName and WSPGetPeerName (Cameron Gutman)
  • [MSAFD] Let WSPSend handle WSPSendTo on a non-datagram socket (mswsock_new does this) Fixes sendto on connection-oriented sockets (Cameron Gutman)
  • [MSAFD] Let WSPRecv handle WSPRecvFrom on a non-datagram socket (mswsock_new does this) Fixes recvfrom on connection-oriented sockets (Cameron Gutman)
  • [MSAFD] Only shutdown the socket if it has not already been shutdown Fixes EINVAL messages (Cameron Gutman)
  • [MSAFD] Fail SIO_GET_EXTENSION_FUNCTION_POINTER Fixes the crash during ws2_32_winetest sock In my testing, "sock: 4374916 tests executed (0 marked as todo, 93 failures), 6 skipped." (Cameron Gutman)
  • [MSAFD] Mark the accepted socket as connected Fixes graceful disconnect on accepted sockets (Cameron Gutman)
  • [MSAFD] Reenable the FD_OOB async event after a call to WSPRecvFrom which received OOB data Remove a useless check (Cameron Gutman)
  • [MSAFD] Fix linger and graceful disconnect Fix a crash in WSPGetSockName and WSPGetPeerName exposed by ws2_32 winetest sock (Cameron Gutman)
  • [MSAFD] Print the caller in MsafdReturnWithErrno Initialize SockAsyncCompletionPort handle Check if the creation of the completion port failed Defer free of the socket information struct until the socket handle has been closed because the socket may have a pending select. When the socket is closed, the pending select is canceled, thus a apc routine is invoked which access the freed socket information struct. Fixes mIRC crash Should be merged to 0.3.13 branch (Johannes Anderwald)

MSGINA

  • [MSGINA] Call NotifyBootConfigStatus after a user has been logged-on successfully. Implement WlxIsLogoffOk. (Eric Kohl)

MSI

MSVCRT

  • [MSVCRT] comment out _vswprintf export until I get more time to fix this properly (Jérôme Gardou)
  • [MSVCRT] some fixes to spec file, based on a wine patch by Piotr Caban (Jérôme Gardou)
  • [MSVCRT] Add 64bit exports of operator new and operator delete (Timo Kreuzer)
  • [MSVCRT] Fix usage of set_entrypoint (Timo Kreuzer)
  • [MSVCRT] being a stub doesn't allow you to be uninitialized (Jérôme Gardou)
  • [MSVCRT] more fixes to spec file (Jérôme Gardou)
  • [MSVCRT] export bessel's functions misc fixes to spec file (Jérôme Gardou)

MSVCRT20

  • [MSVCRT20] being a full blown crt dll, msvcrt20 needs a correct dllmain entry point (Jérôme Gardou)
  • [MSVCRT20] hopefully fix rbuild's build (Jérôme Gardou)
  • [MSVCRT20] link to static crt instead of forwarding function to msvcrt. As msvcrt, msvcrt20 exports some variable, marked as DATA in the def file. Forwarding them is not a good idea, since msvcrt would be initialized only if one of the forwarded function is called. We must keep those variables in our module. And as the forwarded functions might use the said variables, we can't really forward them, as they would not know which instance they should reference. (Jérôme Gardou)

MSVCRT40

  • [MSVCRT40] static link to crt, correct base address qnd entry point, etc... See change log of MSVCRT20 for details. (Jérôme Gardou)

MSXML3

  • [MSXML3] Don't link to libxslt in rbuild build. Dedicated to Alex. (Amine Khaldi)

NETAPI32

  • [NETAPI32] NetUserModalsGet failed if the domain SID returned by LsaQueryInformationPolicy was NULL. Handle the NULL SID case correctly. See issue #6102 for more details. (Eric Kohl)

NETID

  • [NETID] Use EDITTEXT instead of LTEXT. Patch by Edijs Kolesnikovics <terminedijs at yahoo dot com> See issue #6129 for more details. (Amine Khaldi)

NETSHELL

  • [NETSHELL] Fix a typo Intel PRO/1000 shows a link speed of 1 Gbps now (Cameron Gutman)
  • [NETSHELL] Fix icon handle leaks in the network status taskbar icon (Cameron Gutman)

OLE32

  • [Ole2] Fix Adobe Acrobat Reader 7.x from throwing exceptions at start up. Partial sync with wine, See bug 5560. (James Tabor)
  • [OLE32] Fix comcat build, DllGetClassObject has to remain public. (Sylvain Petreolle)

OLEAUT32

  • [OLEAUT32] add assembly version of call_method for MSVC fix a syntax error (sizeof(int[3]) is not valid C) move definitions to the top of the CMakeLists.txt (Timo Kreuzer)

QMGRPRXY

RASDLG

  • [TRANSLATION] rasdlg romanian translation, patch by Stefan Fulea; See issue #6499 for more details. (Olaf Siejka)

RICHED20

  • [RICHED20] Fix ME_CharFromPoint relying on Wine's incorrect behavior of GetTextExtentExPointW. Already sent upstream(TM) See issue #6196,5784,6037,6095,6187,6513 for more details. (Thomas Faber)

RPCRT4

  • [RPCTR4] Take NetworkAddr into account when a named pipe client is opened. Return RPC_S_SERVER_UNAVAILABLE when an attempt to create a named pipe client fails with an ERROR_BAD_NETPATH error. This fixes the first test failure in the advapi32 service winetest. (Eric Kohl)
  • [RPCRT4] remove ros hack, obsoleted by r53580 and r53581 (Jérôme Gardou)
  • [RPCRT4] do not wait for other threads in DLL_PROCESS_DETACH fix handle leak remove debug code (Jérôme Gardou)
  • [RPCRT4] reduce difference with WINE : use their implementation of RpcMgmtStopServerListening (Jérôme Gardou)
  • [RPCRT4] restore lost ros specific change. Thanks Vic. (Jérôme Gardou)
  • [RPCRT4] fix msvc version of call_stubless_func (Jérôme Gardou)
  • [RPCRT4] sync with wine 1.3.26 MAny thanks to Filip Navara for his invaluable help. (Jérôme Gardou)
  • [RPCRT4] Fix MSVC version of call_server_func (Timo Kreuzer)
  • [RPCRT4] Add msvc.S containing call_stubless_func in assembly Fix spec file, 2 stub functions are already implemented fix use of GetExceptionCode(), it cannot be used in that context. (Timo Kreuzer)

SETUPAPI

  • [SETUPAPI] SetupDiCreateDeviceInfoW: return the proper error code. Fixes a winetest. Implements parts of SetupDiRegisterDeviceInfo. (Eric Kohl)
  • [SETUPAPI] Implement a FIXME in SetupDiOpenDeviceInfoW (Thomas Faber)
  • [SETUPAPI] Do not fail in SetupDiInstallDevice if the inf file already exists. Fixes VirtualBox 4.1.x additions See issue #6522 for more details. (Thomas Faber)
  • [SETUPAPI] Correctly interpret the result of compare_files in SetupCopyOEMInfW. Prevents random failures (Thomas Faber)
  • [SETUPAPI] Fix installation failure of services without a load order group (Thomas Faber)
  • [SETUPAPI] Implement CM_Get_DevNode_Custom_Property[_Ex]A/W. Fix the return value of CM_Open_Class_Key_ExA. Handle REG_MULTI_SZ values properly in CM_Get_DevNode_Registry_Property_ExA. (Eric Kohl)
  • [SETUPAPI/FORMATTING] Try to fix some indentation nightmares. No code changes (Thomas Faber)
  • [SETUPAPI] fix broken check fix potential NULL pointer dereference fix non critical parameter checks. (Jérôme Gardou)
  • [SETUPAPI] fix typo (Jérôme Gardou)
  • [SETUPAPI] fix confusion on buffer size between string length and number of bytes. Might fix some infamous heap corruption bug during install. Please test. (Jérôme Gardou)
  • [SETUPAPI] Add stubs for CM_Set_Class_Registry_PropertyA/W. Add support for missing properties to CM_Set_DevNode_Registry_Property_ExA/W. (Eric Kohl)
  • [SETUPAPI] SetupDiGetClassDevPropertySheetsW: Improve the way property sheet pages are added to a property sheet. This change enables us to retrieve the number of property sheet pages provided by a property sheet provider without leaking property sheets. (Eric Kohl)
  • [SETUPAPI] Implement CM_Get_Class_Registry_PropertyW. (Eric Kohl)
  • [SETUPAPI] Fix SetupDiCreateDevRegKeyW: When trying to open a devices driver key (DIREG_DRV) the function always created a new driver instance key. The fixed version checks for an existing driver value. If the driver value exists, it opens or creates the driver instance key. If the driver value does not exist, the function generates a new driver instance key and sets a new driver value for the device instance. (Eric Kohl)
  • [SETUPAPI] SetupDiCreateDeviceInfoW: Really create a new device instance instead and return its device info data instead of returning the device info data for an existing device. Implement SetupDiDeleteDeviceInfo. (Eric Kohl)
  • [SETUPAPI] Add stubs CM_Get_Class_Registry_PropertyA/W. Move CMP_RegisterNotification, CMP_UnregisterNotification and CMP_WaitNoPendingInstallEvents. Remove stubs TPWriteProfileString and suErrorToIds because they are part of setupx.dll (16 bit DLL). (Eric Kohl)
  • [SETUPAPI] CM_Create_DevNode_ExW: Copy the device id string into a local buffer before passing it to PNP_CreateDevInst because its 2nd argument is an 'in out' string. Using a writable string buffer prevents exceptions in case the device id passed to CM_Create_DevNode_ExW is a string constant. (Eric Kohl)

SFC

  • [SFC] Add sfc_os import lib target. Link sfc to sfc_os. Fixes msvc build. (Amine Khaldi)

SFC_OS

  • [SFC_OS] Implement SfcFileException, required by VBox Guest additions to install 3D support. (Sylvain Petreolle)

SHELL32

  • [SHELL32] - Restore functionality of Start Menu from old shell32 (Rafał Harabień)
  • [SHELL32] Make functions in folder_options.c static Register FolderOptions using folderoptions.rgs (Rafał Harabień)
  • [SHELL32] Display file size in bytes in file properties dialog Don't use ULONGLONG if ULONG is enough Change LARGE_INTEGER to ULARGE_INTEGER where it makes sense Fix calculation of file size in CountFolderAndFiles WM_GETTEXT receives size in bytes (not characters count) Use Get(Set)DlgItemTextW instead of SendDlgItemMessageW Patch by Carlo Bramix. Improvements by me. See issue #6294 for more details. (Rafał Harabień)
  • [SHELL32] Use string IDs from rgs files Improve Polish translation (Rafał Harabień)
  • [SHELL32] Improve Polish translation of Folder Options Fix Start Menu folder having name "Menu" in Polish translation (Rafał Harabień)
  • [SHELL32] - Don't fail if Shell folder cannot be created. This way shell registers more folders on LiveCD. (Rafał Harabień)
  • [SHELL32] Initialize fSite in the constructor. CID 15134. (Amine Khaldi)
  • [SHELL32] Fix the syntax of the Japanese resource file (Spotted by windres). (Amine Khaldi)
  • [SHELL32] - Fix running batch files from patch containing spaces in ShellExecute API (Rafał Harabień)
  • [SHELL32] - Load iCmdShow value from .lnk files (Rafał Harabień)
  • [SHELL32] - Fix dereferencing context menu object twice. (Rafał Harabień)
  • [SHELL32] - Fix "No text" warnings when starting control panel (Rafał Harabień)
  • [SHELL32] - Improve method names and simplify _ILCreateCPanelApplet (Rafał Harabień)
  • [SHELL32] - Remove "retrieve display name from control panel app" FIXME - it's already done + minor code improvements. (Rafał Harabień)
  • [SHELL32] - Revert r54404 (Rafał Harabień)
  • [SHELL32] - Support keys with readable name and default value set to GUID in MyComputer name space. Fixes a warning about "Controls" not beeing GUID. (Rafał Harabień)
  • [SHELL32] - Remove a not needed hack (Rafał Harabień)
  • [SHELL32] - Register Printers folder in ControlPanel namespace. Fixes "Printers is not a GUID" warning (Rafał Harabień)
  • [SHELL32] - Rename CBitBucket to CRecycleBin (Rafał Harabień)
  • [SHELL32] Export IContextMenu interface in RecycleBin object. Fixes recycle bin context menu. Export IShellPropSheetExt interface too and fix order. See issue #6543 for more details. (Rafał Harabień)
  • [Shell32] Fix edit control window procedure, see Bug 4856. (James Tabor)
  • [shell32] Fix a few more winetests in shlfolder tests. (Claudiu Mihail)
  • [SHELL32] Fix rbuild build. Remove a debug breakpoint that is no longer needed. (Amine Khaldi)
  • [shell32] Fix ParseDisplayName based on wine by checking for paths that are parsable through IEParseDisplayNameWithBCW. Score 2 failed wine tests in shlfolder (Claudiu Mihail)
  • [SHELL32] Hackfix shell new item service Add support for SID_IFolderView (Johannes Anderwald)
  • [SHELL32] Remove unwanted change (Johannes Anderwald)
  • [SHELL32] Check first it the path is a drive path Fixes launching drive property dialog when clicked in the shell view area (Johannes Anderwald)
  • [SHELL32] Remove unused code Display file extension based on Edijus patch See issue #6310 for more details. (Johannes Anderwald)
  • Fix launching of properties dialog in the detail view Based on Edijus patch (terminedijsatyahoodotcom) See issue #6571 for more details. (Johannes Anderwald)
  • [SHELL32] Use COPYRIGHT_YEAR in the Authors dialog. See issue #6496 for more details. (Kamil Hornicek)
  • one .rbuild file ought to be enough for anybody (Kamil Hornicek)
  • [SHELL32] Igor Paliychuk: Convert shell32 resources to utf-8. See issue #6379 for more details. (Amine Khaldi)
  • [SHELL32] Improve the registration. By Johannes Anderwald. (Amine Khaldi)
  • [SHELL32] Mark some functions as static. Fix a typo in My_VideoW. (Amine Khaldi)
  • [SHELL32] Sync brsfolder.cpp with Wine. Reduce the scope of some variables. (Amine Khaldi)
  • [SHELL32] Use the previous registration mechanism. Fixes several shell32 regressions. Dedicated to Claudiu Mihail and Johannes Anderwald. (Amine Khaldi)
  • [shell32] Remove CS_HREDRAW and CS_VREDRAW stlye from the defview class. Reduces flicker (Giannis Adamopoulos)
  • [shell32] Add two dummy icons for id 26 and 27. Now trying to load the recycle bin icon by index works (Giannis Adamopoulos)
  • [SHELL32] Fix a memory leak. (Amine Khaldi)
  • [SHELL32] Implement SHPropStgCreate, SHPropStgReadMultiple, SHPropStgWriteMultiple based on wine This should fix the shellole tests (Claudiu Mihail)
  • [SHELL32] Properly stub SHPropStgCreate, SHPropStgReadMultiple and SHPropStgWriteMultiple. By Claudiu Mihail. Shell32 shellole winetest doesn't crash anymore. (Amine Khaldi)
  • [shell32] Fix auto complete init method based on Wine. Autocomplete shell tests should no longer crash now. Brought to you by Claudiu Mihail. (Giannis Adamopoulos)
  • [SHELL32] Implement CDefView::SetCurrentViewMode based on Wine, along with some other bugfixes. Shell32 shlview winetest doesn't crash anymore as a result. Brought to you by Claudiu Mihail. (Amine Khaldi)
  • [SHELL32] Implement more functions based on Wine. By Claudiu Mihail. (Amine Khaldi)
  • [SHELL32] Implemented CDefView::GetSpacing based on Wine. By Claudiu Mihail. (Amine Khaldi)
  • [SHELL32] it's right there, use quotes to include it (Jérôme Gardou)
  • [SHELL32] A DialogProc returns INT_PTR, not BOOL (Timo Kreuzer)
  • [SHELL32] do not include headers that are already in precomp.h This time with necessary changes (Jérôme Gardou)
  • wrong change, sorry (Jérôme Gardou)
  • [SHELL32] do not include headers that are already in precomp.h (Jérôme Gardou)
  • [SHELL32] Update years in ReactOS about box (Rafał Harabień)
  • [SHELL32] Make the lengthy strings compatible with the recent gcc preprocessor. (Amine Khaldi)
  • [SHELL32_NEW] Merge 48786. (This is why we moved to C++, so much cleaner than the previous C code.) Improve parameter checks for IShellLinkA interface. Fix heap corruption when an invalid pointer is passed. Implement IPersistFile_fnGetCurFile. TODO: Add same checks to IShellLinkW interface and fix IShellLink[A|W]::GetPath / SetPath / SetIdList / GetIdList logic. (Ged Murphy)
  • [SHELL32_NEW] Merge 48254, 48371, 48463, 48501 Don't worry about trying to build this dll, it needs the new PSDK interfaces which won't be committed until the very end as they'll break the existing shell32. It make take a day or two as everything has to be merged by hand. (Ged Murphy)
  • [shell32/shell32_new] Improve German translation (Gregor Schneider)
  • Merge r51819 (Ged Murphy)
  • [shell32] One sizeof shall suffice (Gregor Schneider)
  • [SHELL32] Owen Rudge <orudge at codeweavers dot com>: Implement SHGetImageList http://source.winehq.org/git/wine.git/commitdiff/9db87f13d3f0f9e07accc9b5e12dccd202b88156 Fixes explorer++ main window patch provided by igorko (Timo Kreuzer)
  • [shell32] Don't create the ShellView class with the CS_HREDRAW and CS_VREDRAW styles Should reduce flicker in explorer (Giannis Adamopoulos)
  • [SHELL32] Update Italian & Spanish translations. (Gabriel Ilardi)
  • [SHELL32] Translation update (Olaf Siejka)
  • [shell32] Igor Paliychuk <mansonigor at gmail dot com>: Remove duplicate string and add some missing resources Increase buffer sizes in FolderOptionsFileTypesDlg Update RU and UA translations Myself: update German translation (Gregor Schneider)
  • [shell32] Re-add spaces to German translation (Gregor Schneider)
  • [shell32] Folder options: Load text from language file. Fill in the extension and description. Patch by Edijs Kolesnikovics <terminedijs at yahoo dot com> Fix an Italian string. See issue #6208 for more details. (Gabriel Ilardi)
  • [SHELL32] Properly support WM_SYSCOLORCHANGE in ShellView window. Changing system colors in ReactOS works perfectly now :) (Rafał Harabień)
  • [shell32] Split declarations and operations, in case any pure C compiler cares (Gregor Schneider)
  • [shell32] Pass an argument array to FormatMessage to insert the filename details into error messages (instead of failing) See issue #5977 for more details. (Gregor Schneider)
  • [shell32] Properly arrange icons in explorer shell view window. This also fixes navigating in files with keyboard arrows (Giannis Adamopoulos)
  • [SHELL32] Return 1 in WM_ERASEBKGND when desktop is painted Fix background for desktop icons and their labels Moreover fixes explorer_new background (Rafał Harabień)
  • [SHELL32] Fix control style of property dialogs Patch Edijs Kolesnikovics, terminedijs@yahoo.com, irc:Edijus (Johannes Anderwald)
  • [SHELL32] Fix a bug, by Johannes Anderwald (Olaf Siejka)
  • [SHELL32] Fix compile warning (uninitialized use). Based on patch by Edijs Kolesnikovics <terminedijs at yahoo dot com> slightly modified by Aleksiej See issue #6058 for more details. (Olaf Siejka)
  • [SHELL32] Italian & Spanish fixes + RunFileDlg translations (Gabriel Ilardi)
  • [SHELL32] Sync RunFileDlg to wine. It was crashing for one char input. Add "All files (*.*)" filter to RunDlg and OpenWith dialogs. Improved polish translation. Translators: please localize rest... (Rafał Harabień)
  • [SHELL32] Thomas Faber Fix memory leak in RenderHDROP. Modifications by me to have just a single return statement in the function. See issue #5998 for more details. (Colin Finck)
  • [SHELL32] Fix missing "Open" menu entry on right click for All Users desktop shortcuts. Patch by Thomas Faber <thfabba at gmx dot de> See issue #5998 for more details. (Sylvain Petreolle)

SHIMGVW

SHLWAPI

  • [SHLWAPI] - Add a diff file (Rafał Harabień)
  • [SHLWAPI] - PathIsUNC returns FALSE for paths starting with "\\?". Should be sent to wine. (Rafał Harabień)
  • [SHLWAPI] Fix the syntax of some resource files (Spotted by windres). (Amine Khaldi)

SYSSETUP

  • [LIVECD] - Add registration to LiveCD. Fixes #6597, #6613 and probably some more (Rafał Harabień)
  • [SYSSETUP] Close opened handles Improve code a bit (Rafał Harabień)
  • [SYSSETUP] Don't redefine constants from psdk in source files Improve error message (Rafał Harabień)
  • [SYSSETUP] Do not rely on setupapi's FileExists function, which shouldn't even be exported (Thomas Faber)
  • [SYSSETUP] Update the spec file to Windows XP SP2. (Eric Kohl)
  • [SYSSETUP] Set the account domain name. (Eric Kohl)
  • [SYSSETUP] Fix broken logic in CreateShortcut() and add an explicit overall (Pierre Schweitzer)
  • [SYSSETUP] fix WCHAR/TCHAR confusion (Jérôme Gardou)
  • [SYSSETUP] Make the lengthy strings compatible with the recent gcc preprocessor. (Amine Khaldi)
  • [syssetup] Remove duplicate code, adjust message box text to fit the context (Gregor Schneider)
  • [SYSSETUP] Generate random computer name (REACTOS-xxxxxxx) in Setup. Patch by David Quintana <gigaherz at gmail dot com> modified by me See issue #6099 for more details. (Rafał Harabień)
  • [SYSSETUP] Fix information about computer name length limit in Setup. Translators: please review (Rafał Harabień)
  • [SYSSETUP] Computer name length is limited to 15 characters, not 63. Fixes possible buffer overflow Spotted by Victor Martinez (Rafał Harabień)
  • [SYSSETUP] Fix compilation warning. Patch by Edijs Kolesnikovics <terminedijs at yahoo dot com> See issue #6059 for more details. (Olaf Siejka)
  • [SYSSETUP] Set HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\InstallDate to install date. Patch by Edijs Kolesnikovics <terminedijs at yahoo dot com> slightly modified by me See issue #6044 for more details. (Rafał Harabień)

UPDSPAPI

  • [UPDSPAPI] Fix exports. Thank you, gcc toolchain, for letting this slip without any problems. Brought to you by the msvc toolchain. (Amine Khaldi)

USER32

  • [User32] Sync up with wine controls. See http://www.winehq.org/pipermail/wine-cvs/ for log data. (James Tabor)
  • [User32] Fix errno in dialog.c by linking to msvcrt with rbuild. Cmake does not have this issue, already links to msvcrt. Gdi32 rbuild does link to crtdll instead of msvcrt. Should we fix this too, before the Cmake switch over to see anything is different? (James Tabor)
  • Removes next phase for DesktopWndProcA. (James Tabor)
  • [User32] Updating MsgiAnsiToUnicodeReply fixed bug 4856 and 6650. Mirrored with it's counterpart. More work is needed. Adding some future DBCS char support. Miscellaneous changes. (James Tabor)
  • Add WndProc address to error prints. (James Tabor)
  • [USER32] Fix a TRACE. Spotted by Victor Martinez (Thomas Faber)
  • [User32] Fixed Dialog Ansi and color control brush acquisition. Added stack protection for message recursion. Due to wine message bug when in dialog initialization. See bug 6126. Miscellaneous fixups. (James Tabor)
  • [USER32] Fix MSVC build (Thomas Faber)
  • [User32] Icon title, menu and scroll bar do not set the death bit. Menu and scroll bar set the id only on specific window messages. (James Tabor)
  • [User32] Fix function ids, setting of the death bit when in NC destroy. Implement get control brush and color. Patch by Alexander LAW, Replicate Windows behavior of WM_SETTEXT handler regarding WM_CTLCOLOR* (James Tabor)
  • [User32] Up Dialog.c to 1.3.31, sync port and minimized differences. Sync Information: Alexandre Julliard <julliard@winehq.org> : Don't overwrite the default button id when creating the dialog structure. Michael Stefaniuc <mstefani@redhat.de>: Avoid using long. Avoid using HIWORD() on atoms/resources. (James Tabor)
  • Port wine right. (James Tabor)
  • [User32] Fix class window procedure checks, prevents misbehaving applications from calling wrong class procs. (James Tabor)
  • [User32] Fix class window procedure checks, prevents misbehaving applications from calling wrong class procs. Fixed callout for static control color brush. (James Tabor)
  • [User32] Use SetWindowTextA/W so that it passes through defwnd to be processed for themes. Fix validation of the dialog window and procedure. (James Tabor)
  • [User32] Fix SetWindowTextA/W so that it passes through defwnd to be processed for themes. Fix desktop checks. Add create window flags. (James Tabor)
  • [USER32] - Simplify DrawCaret (Rafał Harabień)
  • Add hits to track callback and winproc faults. (James Tabor)
  • [USER32] Fix memory leak (Pierre Schweitzer)
  • [User32] Check return value of DIB_GetBitmapInfo. (Dmitry Gorbachev)
  • [user32] Merge from the themes branch (Giannis Adamopoulos)
  • [USER32] Fix ole32:clipboard winetest regression (Rafał Harabień)
  • [User32] Fixed over check conditions for deleting regions in set window region. Disabled offsets with window region. Fixes wine tests.. (James Tabor)
  • Fix build Fix wrong memory copying, found by PVS-Studio (Dmitry Chapyshev)
  • Fix typo, found by PVS-Studio (Dmitry Chapyshev)
  • This seems to happen alot... (James Tabor)
  • [USER32] Fix a bad sizeof(). (Amine Khaldi)
  • [User32] Fix copy paste error in DIALOG_IsAccelerator, fixes a crash. Up Dialog.c to 1.3.26, sync port and minimized differences. (James Tabor)
  • [USER32] Partly sync static.c with wine, reduce diff between ros and wine code. The leak fix is taken care of. Also go back from Get/SetWindowLongPtr to Get/SetWindowLong for LONG values. Using the *Ptr version is wrong for LONG values! (Timo Kreuzer)
  • [USER32] Simplify finding the icon size in IntDrawState As a bonus, it now works for black and white icons too (Cameron Gutman)
  • [USER32] Fix a bitmap leak in IntDrawState (Cameron Gutman)
  • [USER32] Fix bitmap leaks in STATIC_SetIcon and get_icon_size (Cameron Gutman)
  • [user32] Merge part of r50590 Fix resource include path (Giannis Adamopoulos)
  • [user32] Fix double definition of GetClipCursor, ClipCursor, SetCursor and HiliteMenuItem Fixes compilation with msvc (Giannis Adamopoulos)
  • [user32] Fix several compilation issues with msvc (Giannis Adamopoulos)
  • [USER32] Use DISPLAY_DEVICEW instead of assuming DISPLAY_DEVICE is in unicode (Rafał Harabień)
  • [User32] When active or inactive set the appropriate action so the correct keyboard mode can be returned. (James Tabor)
  • [User32] Uses KF_Xxx flags instead of made up ones. Someone let wine know there are standard flags to use. (James Tabor)
  • [User32] Add Switch Class support. See bug 5378. Original patch by David Quintana. Alt-Tab works the same as windows, Alt-Esc needs more work. (James Tabor)
  • [USER32] Convert all resources to utf-8 (Timo Kreuzer)
  • [User32] DispatchMessage does not allow pointers to be passed forward so need to check for non synchronous messages. Added the same check for the other functions in User32 leaving the rest to be checked in Win32k. Add the timer callback validation check. (James Tabor)
  • [User32] Add missing wine sync for system command sub functions. (James Tabor)
  • [User32] Fix loop when using arrow keys in menu mode, other miscellaneous code changes. (James Tabor)
  • [User32] Sync up menu without the Right to Left support. Still missing needed changes for adding it. Patches by Alexandre Julliard and Dmitry Timoshkov. (James Tabor)
  • [User32] Connect the rest of the pump hooks and start tracking from application testing. (James Tabor)
  • [User32] Fix select old brush in FillRect. (James Tabor)
  • [USER32] Fix a bug causing "Attempted to lock object, wrong reuse counter" messages when CMD was started in LiveCD. Once got desktop HDC was used in different threads. When thread, which created handle terminated, DC handle was removed and next calls to CreateIcon* API was using invalid hDC. (Rafał Harabień)
  • [USER32] Don't fail if FillRect is called without brush. Fixes user32:uitools winetest (Rafał Harabień)
  • [User32] Cleanup edit and add back missing break in combo. (James Tabor)
  • [USER32] Improve formatting (Timo Kreuzer)
  • [USER32] Fix bug causing no NULL termination of strings after conversion in EnumDisplayDevicesA. Fixes one usr32:monitor winetest (Rafał Harabień)
  • [USER32] Gray close button if SC_CLOSE is disabled is sysmenu or class has CS_NOCLOSE flag See issue #5272 for more details. (Rafał Harabień)
  • [User32] Finishing with setting window class types from the window proc. Next step will be checking it in the User32 message exchange instead of using the class structure. This was recognized with the MDI tests, this too could fix the combo listbox issue. Minor static test fixes and miscellaneous notes. (James Tabor)

UXTHEME

WINHTTP

WININET

  • [WININET] Disable connection keep-alive to avoid calling into msafd to close the connection later during DLL_PROCESS_DETACH (Cameron Gutman)
  • Add forgotten language files (Cameron Gutman)

WINMM

  • [WinMM] avoid buffer overrun. do not try to unload uninitialized driver. See issue #6343 for more details. (Jérôme Gardou)

WSOCK32

  • [WSOCK32] Fix the spec file Fixes FF regression (Cameron Gutman)
  • [WSOCK32] remove useless def file rbuild : use spec file cmake : do not use two def files, it's... pointless. (Jérôme Gardou)

uncategorized

  • [Usp10] Sync up to wine head. This will be needed for edit controls. Waiting for Pierres patched to be added! (James Tabor)
  • [TCPIP] Make interface octets in/out stats more accurate (Cameron Gutman)
  • [TCPIP] Fix the overflow fix (Cameron Gutman)
  • [TCPIP] Massive IPPacket usage overhaul (fix missing frees, initializations, and double frees) Make IP receive completely agnostic of the buffers and data location (part 2 of 2) Use paged pool for the majority of allocations during receive and assembly Implement ProtocolReceivePacket for faster performance with 3rd party NIC drivers Fix a buffer overflow if an IPv4 packet is received with a header larger than 20 bytes Many more improvements and bug fixes (Cameron Gutman)
  • [Win32k] Fix more set active window API tests. The window postion change message with fixed lparam is erroneous. How can the address be the same since it originates from kernel space? (James Tabor)
  • [TCPIP] Avoid an extra copy operation when receiving packets Optimize loopback code a bit Make IP receive independent of the location of the data and continuity of buffers in the NDIS packet for ProtocolReceivePacket support (part 1 of x) (Cameron Gutman)
  • [RTL]: Clarify a comment. (Alex Ionescu)
  • [RTL]: Fix a bug in RtlGetCurrentDirectory_U. (Alex Ionescu)
  • [NDK]: Add missing define. (Alex Ionescu)
  • [TRANSLATION] Romanian translation update (bug no. 6704) by Stefan Fulea; Lithuanian UTF-8 translation fixes (bug no. 6716) by Edijs Kolesnikovics; sysdm translation update by myself; (Olaf Siejka)
  • [BOOTDATA] Log service control manager events in the system log. (Eric Kohl)
  • [EVENTLOG] Open the application log if the desired log does not exist. Log eventlog service stop and shutdown. (Eric Kohl)
  • [BOOTDATA] Remove class2 and scsiport service keys from the registry because these drivers are loaded automatically when they are needed. (Eric Kohl)
  • debug code for bug 6663 (Johannes Anderwald)
  • [libwine] add wine dll registration functions to libwine (taken from winecrt0) TODO: support for linking multiple res files rbuild/cmake: generating .rgs files from typelibs (Christoph von Wittich)
  • Fix typo. (Sylvain Petreolle)
  • [CRT] Normalize all crt dll entry points to be identical. Implement a single per thread data structure, instead of ancient and incomplete "wine port" hack and use it everywhere. Remove completely unused HeapCreate calls that just wasted memory. Update cpp.c and cppexcept.c to wine 1.3.33 Fix up strtok, wcstok, rand, and _beginthread_trampoline according to wine. Add place holders for future locale stuff. Patch by Samuel Serapion. (Sylvain Petreolle)
  • add debug code for handling bug 6663 (Johannes Anderwald)
  • [LWIP] Save a bit of memory by changing the way pbufs are allocated for transmission (Cameron Gutman)
  • [Win32k|User32] Fix regressions, running RegEdit. Adding more support for scroll bar controls. Pass all but 7 tests including the two wine todos. (James Tabor)
  • [Win32k|User32] Fix scrollbar class support. Sync ports from wine. Added the window scroll structure to the class. Pass all but 15 tests, two are wine todos lines 304 and 343. (James Tabor)
  • [CRT] Fix error handling for j0, j1, y0, y1 Bessel functions. Remove useless defines (Pierre Schweitzer)
  • [KERNEL32]: Write out the 3 internal APIs which will do path resolution, and define the structures that determine the search path order which each one will use. No functional change. (Alex Ionescu)
  • [SOLITAIRE] Change "Ok/Cancel" to "Yes/No". Lee Schroeder (=spaceseel=AT=gmail=DOT=com=), bug #6606. [CPL][WIN32K] Fix indentation, comments, debug messages. Lioncash (=mathew1800=AT=gmail=DOT=com=), bug #6562, bug #6621. (Dmitry Gorbachev)
  • [RBUILD] - Create livecd shortcuts on rbuild too (Rafał Harabień)
  • [DiskPart] Remove unused file. Lee Schroeder, bug #6699. (Dmitry Gorbachev)
  • Add padded boarder width to NONCLIENTMETRICS. (James Tabor)
  • [MKSHELLLINK] - Don't use stricmp. It's not a standard function. (Rafał Harabień)
  • [MKSHELLLINK] - Don't use windows.h in host tool (Rafał Harabień)
  • [MKSHELLLINK] Add host tool for creating .lnk files (Rafał Harabień)
  • Add window placement flag for async message mode. Yes we support this too now. (James Tabor)
  • [TCPVCS] Report service status upon an interrogate request. Set the wait hint to a non-zero value. (Eric Kohl)
  • [TRANSLATION] Romanian translation update (bug no. 6677) by Stefan Fulea; (Olaf Siejka)
  • [LIBXML2][LIBXSLT] Suppress unhelpful warnings (Thomas Faber)
  • [CRT] Remove some differences to Wine. Fixes comparing a char against EOF in fgetwc. (Thomas Faber)
  • [IP] Remove unused value. CID 11342. (Amine Khaldi)
  • [HAL] Timo Kreuzer: Fix a NULL pointer dereference. CID 13453. (Amine Khaldi)
  • [SERVICES] Do not use an unsigned type for a value that can become negative in ScmAssignNewTag (CID 14665) (Thomas Faber)
  • [SERVICES] Fix dwServiceType and dwServiceState checks in REnumServicesStatusW (see r54373) Fix a memory leak in RQueryServiceConfig2A (Thomas Faber)
  • Partially revert r54475 to check if it fixes KVM (Rafał Harabień)
  • [NTOSKRNL|KDCOM] Allow to specify the serial port address, as requested by people on the forum. (Dmitry Gorbachev)
  • [HALx86] Fix the fix (do not truncate ULONGLONG value) (Jérôme Gardou)
  • [HALx86] Hey Arch, it's an USHORT! (Jérôme Gardou)
  • [HALx86] fix various compiler warnings (msvc) fix a bug, where only the last IO map entry would be saved (Jérôme Gardou)
  • [Translation] Changes in a registry file by Stefan Fulea (Romanian). Bug #6677. (Dmitry Gorbachev)
  • [NTOSKRNL] Do not repeat messages into serial port even when using other debug methods. Allow to specify debug log file name. When using the "Screen" method, show blue screen when entering KDB. Disable the repetition of previous KDB command with long many-page output. [USETUP] Add "ReactOS (Screen)" entry to boot menu. (Dmitry Gorbachev)
  • [ADVAPI32_APITEST] Add missing test to CD (Pierre Schweitzer)
  • [RTL] explicitly truncate some values, so it doesn't count as an error for compiler/MSVC runtime checker (Jérôme Gardou)
  • [HAL] truncate PCI vendor id instead of casting it. MSVC chokes on it with /RTCc (Jérôme Gardou)
  • [RBUILD] Convert SPACEs to TABs in .rbuild. (Aleksey Bragin)
  • [KERNEL32/WIN32CSR] - Use ShowCmd from STARTUPINFO when creating console window (Rafał Harabień)
  • [CRT] implement _chkesp (Jérôme Gardou)
  • [CRT] Break ReactOS CRT: Add back crash on NULL pointer arg. This is the behaviour on w2k3. Don't skip \\?\ prefix any longer. This is the behaviour on w2k3. (Pierre Schweitzer)
  • [CRT] Fix MSVC build. (Pierre Schweitzer)
  • [CRT] Check for NaN and set error accordingly (Pierre Schweitzer)
  • [INF] - Don't place Polish translation in German section (Rafał Harabień)
  • [WINDEF.H] you never use enough brackets (Jérôme Gardou)
  • [CRT] Reimplemented _scalb properly. This fixes 19 tests. (Pierre Schweitzer)
  • [CRT] Reimplemented _fpclass properly. This fixes all failing _fpclass tests. See: http://babbage.cs.qc.cuny.edu/IEEE-754/References.xhtml Based on OpenAD implementation (Pierre Schweitzer)
  • [RTL/HEAP] Bring more awesomeness to the heap manager by zefklop's request: Add support for settable user values and flags in RtlAllocateHeap and RtlReAllocateHeap. Return error if RtlSetUserValueHeap was unable to set the value. Fixes remaining 2 failures of the kernel32_winetest alloc test. (Aleksey Bragin)
  • [CRT] _fpclass never returns SNaN class, but only QNaN class. This fixes 4 more tests (Pierre Schweitzer)
  • [CRT] Fix _fpclass prototype Fix headers included Remove internal defines that were useless and even not matching real defines. This fixes 4 tests (Pierre Schweitzer)
  • [CRT] Windows has no _isnanl, _isinfl functions (Pierre Schweitzer)
  • [CRT] Reimplemented _finite properly. Removed unused _isinf function. (Pierre Schweitzer)
  • [HALX86] Do not allow software interrupts to preempt code running with interrupts disabled during KfLowerIrql (Cameron Gutman)
  • [MSVCRT_APITEST] Add msvcrt_apitest to CDs (Pierre Schweitzer)
  • [CRT] Fix _fpclass. Spotted by: Vincenzo Cotugno Reviewed by: Timo Kreuzer (Pierre Schweitzer)
  • [SMSS] Limit the size of swapfile (to 2GiB). Bug #4760. (Dmitry Gorbachev)
  • [INF] Fix ServiceType value for the ne2000 driver Should fix ne2000 installation (Cameron Gutman)
  • [ATL] - Fix buffer overflow in CComDynamicUnkArray::Add. Found by Coverity (CID 2474) [NDK] - Remove meaningless const attribute from pointer rvalues to make Coverity's life easier (Thomas Faber)
  • [TRANSLATION] Romanian translation update (bug no. 6654) by Stefan Fulea; Simplified Chineese translation of base/shell and system (bug no. 6655) by Song Fuchang; Slovak translation fixes (bug no. 6658) by Mario Kacmar; (Olaf Siejka)
  • [Win32k|User32] Correct more types. (James Tabor)
  • [Win32k|User32] Patch by Shinobu Maehara: fix for kernel-mode/user-mode marshalling of WM_DDE_ACK. (James Tabor)
  • [HAL] Remove broken map register "prefetcher" code Check that we have enough space to grow our map registers Fix a bad hint to RtlFindClearBitsAndSet Queuing the grow work item is non-vital; treat it as such Fixes BSOD with CM3738 and VIA1723 sound cards [bug 6657] (Cameron Gutman)
  • [SERVICES] Always return ERROR_SUCCESS when ScmWaitForServiceConnect completes successfully instead of sometimes returning ERROR_PIPE_CONNECTED because the callers of this helper just look for ERROR_SUCCESS to indicate a successful call (Cameron Gutman)
  • [Win32k|User32] Fix broadcast message, pass all wine tests. Code consolidation next round. (James Tabor)
  • [NDK] Fix definition of RtlExtendedLargeIntegerDivide. (Sylvain Petreolle)
  • [TRANSLATION] Fix Czech resources that got broken by the UTF8 conversion. (Kamil Hornicek)
  • [SERVICES] REnumServicesStatusExW: Fix dwServiceType and dwServiceState checks. (Eric Kohl)
  • [HAL] Fix DMA on the EISA bus Fix a critical calculation error in map register size resulting in the map register allocation worker not allocating enough map registers for a dynamic resize (Cameron Gutman)
  • [SERVICES] RControlService: Initialize the callers service status information. (Eric Kohl)
  • [SERVICES] RControlService returns ERROR_SERVICE_NOT_ACTIVE if the service has not been started. (Eric Kohl)
  • [KERNEL32]: Fix mailslot code to use the static unicode string in the TEB for conversion, and correctly handle failure cases to bound names to MAX_PATH as Win32 demands. Also fix timeout conversions to use the correct timeout value for infinite timeout. [KERNEL32]: Reformat since 3-space identation is just murder. (Alex Ionescu)
  • [TRANSLATION] base/setup,shell and system conversion patch, by UTF-8 conversion patch by Elton Chung, see bug 6333; Romanian translation fixes and UTF-8 conversion by Stefan Fulea, see bug 6603; (Olaf Siejka)
  • [MESA32] Include headers in the proper order. Fixes mesa32 build. (Pierre Schweitzer)
  • [PSDK] Revert r54359. (Pierre Schweitzer)
  • [BLUE] "Remove" dependencies with user-mode without breaking CSRSS. (Pierre Schweitzer)
  • [PSDK]: I forgot this was the OS where drivers (blue.sys) import from SDK headers. Fix header. (Alex Ionescu)
  • [PSDK]: Add missing Console APIs. [CSRSS]: Add definition for the Sound Sentry CSRSS API. (Alex Ionescu)
  • [PNP] Kill some debug spam (Cameron Gutman)
  • [RTL] A bit more of the DPH code cleanup, no bugs found so far. (Aleksey Bragin)
  • [SERVICES] Allow changing the image path with ChangeServiceConfig. Fixes timeout that shouldn't actually be a timeout in advapi32:service test. See issue #6646 for more details. (Thomas Faber)
  • [BOOTDATA] Disable usbdrv I've heard too many reports of it breaking boot and too few reports of it actually working on real hardware (although it does work perfectly in QEMU) (Cameron Gutman)
  • [SERVICES] Move utility functions to the top (Thomas Faber)
  • [SERVICES] Do not use local memory functions (and possibly free the result using HeapFree!) Do not use double percent signs with _wcsnicmp DPRINT and style fixes (Thomas Faber)
  • [RTL] DPH: Improve RtlpPageHeapAllocate() code, make variable names consistent with the generic available/busy terms. Logic is absolutely unchanged. (Aleksey Bragin)
  • [SERVICES] Improve the parameter checks in RCreateServiceW. (Eric Kohl)
  • Hurray for misisng includes. (Alex Ionescu)
  • [TRANSLATION] Add some Romanian strings to the registry. Fulea Stefan, bug #6603. Add a few Russian strings, too. (Dmitry Gorbachev)
  • Forgotten file. (Alex Ionescu)
  • [KERNEL32]: Implement Wow64Enable/Disable/RevertWow64Direction, document the Rtl equivalents in NDK, export and implement them in NTDLL. [KERNEL32]: Cleanup files a bit. Bintype.c is gone and moved into VDM (these are functions for VDM support). Npipe.c and pipe.c are merged. Dosdev is moved into client, these are not quite File APIs. Base(8Bit/Unicode) APIs are moved into utils.c Wow64 APIs are moved into utils.c The mess that was file.c has the Replace* file APIs going into move.c (similar behaviors), the Open* APIs into create.c (similar) and the Read/Write Scatter/Gather APIs into rw.c (where they belong). What remained in file.c were mostly Set/Query functions, so it becomes fileinfo.c The remaining APIs in file.c were all about paths -- at the file level, specifically filenames, so they go into filename.c Move some File API functions from certain files into other files where they belong more. (Alex Ionescu)
  • [SERVICES] Use FIELD_OFFSET for variable-length structure sizes Handle an invalid parameter condition in RCreateServiceW. Fixes an advapi32:service test Do not dereference a NULL-pointer on out-of-memory (Thomas Faber)
  • [ADVAPI32][SERVICES] Remove unnecessary casts, fix some const-ness, fix a DPRINT, some spacing (Thomas Faber)
  • [MSVCRTEX] Fix some warnings Remove a ros-diff in favor of mingw-w64's solution (Thomas Faber)
  • [CRT] Export _resetstkoflw from msvcrt. Implementation from Wine 1.3.32 (Thomas Faber)
  • [NTDLL]: Export RtlImageNtHeaderEx and LodrLoadAlternateResourceModule. [NDK]: Add LdrLoadAlternateResourceModule. Fix RtlDosApplyFileIsolationRedirection_UStr and add flags. [NTDLL]: Halfplement LdrLoad/UnloadAlternateResourceModule. (Alex Ionescu)
  • Add missing struct to winnt.h. (Sylvain Petreolle)
  • [LWIP] Properly sync to lwIP 1.4.0 No code changes (except unit tests) (Cameron Gutman)
  • [CRT] Gracefully fail on NULL for gmtime functions. Fixes msvcrt:time crash (Thomas Faber)
  • [CRT] Sync heap.c and undname.c with Wine 1.3.32 Remove incorrect casts. Undo an incorrect warning fix. Fixes hang in msvcrt:cpp test (Thomas Faber)
  • [PSDK][KERNEL32] Fix some DWORD vs SIZE_T confusion for memory functions (Thomas Faber)
  • [Win32k|User32] Move control color support to Win32k. (James Tabor)
  • [KERNEL32] Small performance improvement : Directly reference dll when getting its handle instead of just checking it's there and then load it (Jérôme Gardou)
  • [UMPNPMGR] Implement PNP_GetHwProfInfo. Fix PNP_GetClassRegProp: Set the transfer length only in case of success. (Eric Kohl)
  • [FSLIB] Don't call the callback if the caller didn't give one (Cameron Gutman)
  • Fix crash in cursoricon test. (James Tabor)
  • [ROSAPPS] Add rosapps to build. (Sylvain Petreolle)
  • [DISKPART] Add a simple usage function (/? option). Simplify the interpreter loop a little bit. (Eric Kohl)
  • [DISKPART] Implement argument processing. Patch by Lee Schroeder. The original patch was modified to fix the following issues: Indentation and coding style. Remove obsolete code: 1. The if-statement around the for-loop is not needed. 2. The call to wcsicmp() is already case insensitive (it is the 'i' in wcsicmp). Check the existence of a script file name and a timeout value before trying to process them. Call run_script() after the argument list has been processed. This fixes the argument order issue. See issue #6552 for more details. (Eric Kohl)
  • [WINLOGON] Move playing log on sound to HandleLogon Don't use HKEY_CURRENT_USER for accessing user registry key. This key points to settings of user which started Winlogon process (SYSTEM) instead of logged user. Instead use HKU\SID. See issue #5436 for more details. (Rafał Harabień)
  • Update Liberation fonts to 1.07.1 (Rafał Harabień)
  • [WIN32K] Mouse code cleanup Support MOUSEEVENTF_VIRTUALDESK flag in MOUSEINPUT properly Support MOUSE_VIRTUAL_DESKTOP flag in MOUSE_INPUT_DATA properly Do not ignore MK_SHIFT and MK_CONTROL flags in some mouse messages (Rafał Harabień)
  • [TXTSETUP] - Add Polish (214) layout. It's now visible in usetup. (Rafał Harabień)
  • [REGISTRY] Mark the VGA driver as VgaCompatible too so it doesn't take precedence over the VBE driver in case both are installed. See issue #6578 for more details. (Kamil Hornicek)
  • [TRANSLATION] SysSetup: add a very tiny enhancement to Spanish translation (Elhoir, bug #6596). USetup: change encoding of Brazilian Portuguese file to CP 850. USetup: fix a few bugs in German and Italian translations. (Dmitry Gorbachev)
  • [LIVECD] Fix profiles path. FIXES ICONS IN LIVECD! Add few interfaces to livecd registry so it doesn't spam the log so much (Rafał Harabień)
  • [WINLOGON] If no keyboard layout can be loaded, load US layout Try to load all layouts from Preloaded key even if some of them fail (Rafał Harabień)
  • Add Polish keyboard layout (there was only "Polish programmer" layout). It should fix installing ROS in Polish. (Rafał Harabień)
  • [WIN32K|USER32] Make keyboard layouts code more compatible Layouts and kbd files are user objects Preloaded layouts are added by Winlogon, not win32k Support Keyboard Layout substitutes in registry (Rafał Harabień)
  • [TRANSLATION] Change time zone information for Russia. Add Russian translation of country list. Recode Swedish translation of USetup from CP 1252 to 850. Bug #6574. Fix Dutch tr. of USetup. Bug #6510, patch by <congruwer.AT.yahoo.DOT.co.DOT.uk>. (Dmitry Gorbachev)
  • [WINE] Undefine HAVE_GETADDRINFO Even though this is fully implemented (and used other parts of ROS), it seems to enable broken code paths in some WINE code Fixes the rapps regression (Cameron Gutman)
  • [WINE] Fix a couple of incorrect definitions Rapps is still regressed since r54146 (Cameron Gutman)
  • [TCPIP] Differentiate between incomplete and complete NCEs with regard to the timeout Change the IP timer to fire only once each second Remove unneeded completion functions (Cameron Gutman)
  • [TCPIP] Do not transmit fragments recursively since it can cause a kernel stack overflow with large packets Big thanks to hto for his work on this bug which has eluded me since last year See issue #5796 for more details. (Cameron Gutman)
  • [TRANSLATION] Romanian translation of userenv, winmm, ntvdm, and win32csr (bug no. 6580) and inf (bug no. 6577) by Stefan Fulea (minor corrections by me); Polish translation update/cleanup of inf by me; Spanish inetcpl translation (bug no. 6472) and French subst translation (bug no. 6166) by Jason Genie; (Olaf Siejka)
  • [WIN32K] Remove ReadRegistryValue in kbdlayout.c as we already implement RegQueryValue for reading from registry in W32k. This function additionally checks value type. Rename KBL to KL based on Techwiki HKCU\Keyboard Layout\Preload value is REG_SZ (not REG_EXPAND_SZ) NtUserLoadKeyboardLayoutEx should set last error if flags are invalid Minor keyboard layout code cleanup (Rafał Harabień)
  • [TRANSLATION] Fix some German formal addressing (Thomas Faber)
  • [registry] Mark the VBE driver as VgaCompatible. This is an outrageous lie, but it lets us use 3rd party drivers, like VBoxVideo, while VBE is installed. Consider this a hack, which is to be fixed bei either making vbemp really vga compatible or by fixing whatever keeps the VBoxVideo from replacing vbemp. (Timo Kreuzer)
  • [PSDK] don't define _cdecl and __cdecl to nothing on MSVC builds. define cdecl and CDECL to nothing add #pragma once this file is full of hacks (Timo Kreuzer)
  • [WINE/WS2_32] Sync config.h with recent Wine and remove some now unneeded defines. By Samuel Serapion. See issue #6174 for more details. (Amine Khaldi)
  • [KERNEL32/LIBWINE/USP10] Move the wctype table from kernel32 to libwine in preparations for implementing crt locale support. By Samuel Serapion. See issue #6538 for more details. (Amine Khaldi)
  • [UNICODE] Update unicode tool to wine 1.3.29. By Samuel Serapion. See issue #6537 for more details. (Amine Khaldi)
  • [CRT] Fix rbuild... (Timo Kreuzer)
  • [CRT] Remove _fltused from alldiv_asm.s / mscmain.c and use fltused.c instead. Remove amd64/alldiv.S Implement amd64 ceil, ceilf with sse [NTOSKNRL] Fix amd64 exports [ASM] Fix amd64 asm files to conform to the new syntax (Timo Kreuzer)
  • [BOOTDATA] Enable usbdrv.sys in 1st stage setup and the system hive USB keyboards and mice work now (file bugs if you have problems) (Cameron Gutman)
  • [RTL] Fix unix build. (Amine Khaldi)
  • [WINED3D] Finally recognize Mesa's GDI driver as HW_VENDOR_SOFTWARE. This commit was blessed by the Wine team. (Kamil Hornicek)
  • [RTL] Fix two bugs revealed by the newly added test in r54114. Original length of the passed string should be used when checking for out-of-buffer access in the loop PathChars should be updated if a DOS device name was found in the given string. See issue #6390 for more details. (Aleksey Bragin)
  • [ASM] Improve .proc / .endproc syntax, so that the full symbolic name is passed, which allows to create fastcall symbols. Remove the need to pass the function name to .endp (Timo Kreuzer)
  • [USER32|WIN32K] Convert wParam in WM_*CHAR messages to ANSI in GetMessageA instead of win32k. Fixes wrong characters used in cmake notepad which is ANSI. (Rafał Harabień)
  • [SYSSETUP] Allow creating of shortcuts with icon indexes != 0. [EXPLORER] Shuffle the resources a bit so icons with indexes 0 and 1 match those in windows explorer. See issue #6544 for more details. (Kamil Hornicek)
  • [Win32k] Restore global class operations. [ComCtl32] Use local class since this has higher priority over all global classes. [Themes] Tested with XP Luna and two others. Rune and another Luna. (James Tabor)
  • [Rtl] Replace RtlQueryInformationActiveActivationContext and set it based on wine. (James Tabor)
  • [Win32k] Support Active SxS for the window structures. (James Tabor)
  • [RTL] On x86 builds use the asm versions of the byte swap functions. This is neccessary for RtlUlonglongByteswap, because the function breaks the calling convention on Windows, not cleaning up the stack. Make the asm compatible to ML and improve it a bit. Investigated by Thomas Faber. (Timo Kreuzer)
  • [SERVICES] Do not keep the process handle of a started process open when sending a STOP command to a process failed, then succeed and mark the process as stopped. Fixes ghost processes, when terminating a service with taskmgr and allows to restart services that got terminated or possibly crashed. (Timo Kreuzer)
  • Improve some includes. (Amine Khaldi)
  • [RTL] Handle a NULL buffer in RtlIpv4AddressToStringA as Windows does. Fixes crash in ntdll:rtl test [CRT] Fail on qsort with 0 size. Fixes hang in ntdll:string test (Thomas Faber)
  • [STLPORT] Revert r54088 [GLU32] Do not use stlport headers with MSVC, as they are broken. Should really fix MSVC build (Thomas Faber)
  • [RTL] Rewrite RtlFindCharInUnicodeString. Fixes timeout in ntdll:rtlstr test. (Thomas Faber)
  • [STLPORT] Do not define min() or max() when standard headers are included. Should fix MSVC build (Thomas Faber)
  • [CMAKE] Use the gcc toolchain-provided STL. Use STLport only on MSVC builds. [KSPROXY] Set imagebase, properly set its entry point, use set_cpp() instead of hardcoded definition/includes and add no exceptions/rtti gcc flags. [GLU32] Use set_cpp() instead of the hardcoded target_link_libraries(). [PORTCLS] Use set_module_type() with proper entry point, instead of expanded macro calls, and get rid of hardcoded target_link_libraries(). Commit Dedicated to Olaf Siejka (Caemyr). (Amine Khaldi)
  • [NDIS] Fix NdisMWanIndicateReceiveComplete params. (Amine Khaldi)
  • [RTL] - Make sure RtlInitUnicodeString(Ex) don't set odd length. Fixes ntdll:rtlstr winetest. (Rafał Harabień)
  • [RTL] Fix possible integer overflow in RtlpInitializeHeapSegment Simplify loop in RtlIsDosDeviceName_Ustr Make MonthLengths an array of UCHARs instead of ints Remove pointless loops in RtlTimeToTimeFields Fix MSVC warnings (Timo Kreuzer)
  • Add register class name proc. (James Tabor)
  • [SMSS] Remove a hack for MSVC. (Timo Kreuzer)
  • [NTOSKRNL] Rename KTHREAD.DispatchHeader to Header Remove KeInitializeDispatcherHeader and initialize dispatcher headers depending on object type. Fixes all ntos:KeEvent and KeTimer kmtests. (Rafał Harabień)
  • [RTL] Silence a debugprint (Timo Kreuzer)
  • [Win32k] Implement get atom name for user32. (James Tabor)
  • Add new CreateWindowEx flags. (James Tabor)
  • [HALACPI] Work around a race condition related to devices reported before the I/O subsystem is fully up Fixes bug #6271 (Cameron Gutman)
  • [HAL] Do not write past the end of buffer. (Dmitry Gorbachev)
  • [SPEC2DEF] Support thiscall and float specifiers. By Samuel Serapion. See issue #6539 for more details. (Amine Khaldi)
  • [RTL] Post-r52687 implementation of RtlIsDosDeviceName_U is more advanced than pre-r52687 one and covers more corner cases which may not be tested by existing winetests. Thus bring back the post-r52687 and also introduce fixes for the following bugs in it: Incorrect extension/space-at-the-end truncation Incorrect encoding of returned offset/length pair Incorrect condition for for-loop exit Incorrect calculation of the return length in case of COMx/AUX devices (it should not include the terminating 0 character) After those trivial fixes (mostly oneliners and typos), the function works as expected and passes all ntdll_winetest path tests. Sorry for any inconviniences! (Aleksey Bragin)
  • [HAL] Implement support for scatter/gather DMA Tested with Intel's NDIS 5.1 PRO/1000 driver (but more testing would be helpful to weed out bugs) [NDIS] Report NDIS 5.1 now since S/G DMA is supported Stop warning when S/G DMA is used (Cameron Gutman)
  • [WIN32K] Rewrite keyboard input processing to match windows behavior Deduplicate code, add comments, mark functions static Support keyboard LEDs in SendInput API Set last error in more places Make keyboard layouts compatible with Windows Add some defines from keyboard layouts to kbd.h and use names from MS file Move kbd.h from ntoskrnl to NDK as it has nothing to do with kernel More fixes which I don't remember Please test CAPSLOCK key with AltGr characters (RALT+X) for layouts which support it. If something fails, report it to me on IRC (Rafał Harabień)
  • [NLS] Remove unused: icu4ros and all its dependencies (normalize, idna) (Pierre Schweitzer)
  • [TRANSLATION] netid, vmwinst romanian translation, see bug number:6531; resource updates and corrections in multiple romanian translations, see bug number: 6532; Patches by Stefan Fulea; [ACLUI] convert module to ReactOS resource style (separate lang directory); (Olaf Siejka)
  • Make some eol-styles consistent for .sln and .vcproj and .cmd (Timo Kreuzer)
  • Add a .hgeol file in the hope that it allows to get native line endings with hg (Timo Kreuzer)
  • [INFLIB] Fix memory leak (Pierre Schweitzer)
  • [WINLOGON] Do not call HandleShutdown() with NULL Session. (Dmitry Gorbachev)
  • [INTRIN] Use "unsigned int" for x86 __writecr*(), as it is (reportedly) used in VS10 headers. (Dmitry Gorbachev)
  • [PSDK] Missed this one. (Amine Khaldi)
  • [PSDK] Add some missing definitions. (Amine Khaldi)
  • Add Kazakh language to the registry. Patch by <seven_s*AT*mail*DOT*ru>. Bug #6277. (Dmitry Gorbachev)
  • [PSDK] Add some missing defines. (Amine Khaldi)
  • [XDK/DDK/PSDK] Fix a compiler (clang) warning. (Amine Khaldi)
  • [HEADERS/CRT] Work around an issue with clang and __debugbreak(). They mark __debugbreak as built-in (so we can't use ours) but it's not supported yet (so if we use nothing we get an error). (Amine Khaldi)
  • [UMPNPMGR] Implement PNP_GetCustomDevProp(). (Eric Kohl)
  • [PSDK] Add missing LAYOUT_LTR define. (Amine Khaldi)
  • [RBUILD] Plug a leak. (Amine Khaldi)
  • [ASM] Add data32 prefix for MSVC (Timo Kreuzer)
  • [NTOSKRNL] - Fix MSVC build [INCLUDE/C++] - Fix some typos in (obviously never used) typeinfo header [MSVCRTEX] - Use _DLL instead of _M_CEE_PURE (Thomas Faber)
  • [LIBPNG] - Update libpng to 1.55. Patch by Elton Chung <elton328 [at] gmail [dot] com>. See issue #6524 for more details. (Rafał Harabień)
  • [HEADERS/CRT] We don't need this guard anymore. (Amine Khaldi)
  • [HEADERS/CRT] Properly check for clang. (Amine Khaldi)
  • [FREELDR] use a dll instead of an exe for the freeldr_pe and setupldr_pe targets and add a spec file to export scsiport stuff. This is the first step in cleaning up the scsiport import hack in freeldr (Timo Kreuzer)
  • [NDK] Fix 64 bit issues of SYSTEM_VERIFIER_INFORMATION and SYSTEM_POOLTAG. Reported by dmex. (Timo Kreuzer)
  • fix some relocations (Giannis Adamopoulos)
  • [CRT] implement floor and floorf for amd64 with sse2 instructions (Timo Kreuzer)
  • [SERVICES] Minor fixes to ScmAssignNewTag Correctly handle an invalid parameter case in RCreateServiceW. Fixes second stage boot under certain circumstances. (Thomas Faber)
  • [SERVICES] Assign a new Tag to new or changed services. Patch by Thomas Faber! See issue #6147 for more details. (Eric Kohl)
  • [HAL] Fix a typo in HalpAllocPhysicalMemory, that caused the function to remove MADs that still had pages rather than removing those who are empty. Fixes an assertion on VMWare. Kudos go to Kamil for tracking it down. Fix another bug in HalpAllocPhysicalMemory, where the size of the newly allocated MAD was set to the alignment value instead of the original MAD, this lead to conflicting MADs and possible reuse of hal memory by the kernel. This seems to fix a bugcheck 0x19 with halacpi. (Timo Kreuzer)
  • [DISKPART] Install diskpart. (Eric Kohl)
  • [PSDK] Remove duplicate lines, noticed by sharpsighted forum people. (Dmitry Gorbachev)
  • [SERVICES] Silence debug messages. Fix typos. Add missing database locks. RControlService: Return ERROR_INVALID_PARAMETER on illegal control code. (Eric Kohl)
  • Commit forgotten file... (Rafał Harabień)
  • [MKHIVE] - Get all INF files from command line instead of using hardcoded names [CMAKE] - Use new mkhive syntax and fix livecd hives dependences [RBUILD] - Use new mkhive syntax (Rafał Harabień)
  • [BUGCODES] Bug check code 0x5d is UNSUPPORTED_PROCESSOR. [NTOSKRNL] Use it. (Dmitry Gorbachev)
  • [BUGCODES] Add SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION definition. (Aleksey Bragin)
  • [SMSS] Fix wrong behavior of the "native applications startup at boot time" feature in SMSS. Modifications: Added missing buffer allocation checks. Check for presence of default path. Minor clean-ups. Fix bad indentation/coding style. Original patch by Hermès BÉLUSCA. See issue #6180 for more details. (Eric Kohl)
  • [HAL] Report table lookup failures Report supported ACPI version (Cameron Gutman)
  • [undocuser.h] Add a definition for TrackMouseEvent timer (Giannis Adamopoulos)
  • Add the Diskpart utility by Lee Schroeder (milawynsrealm). The following modifications were made: Removed the help texts because they were copied from Windows Diskpart. Used a single string resource per help text. Used only Unicode strings and Unicode string functions. Replaced the giant if-statement in the command dispatcher in interpreter.c by a command-table and a little loop. Improved the command-line parser. Argument count and argument vector are passed to the command and help functions for easy evaluation. Moved the help function for commands into the command specific file. TODO: Implement all commands as the utility is only an empty frame. Add help texts. Translate help texts. See issue #6402 for more details. (Eric Kohl)
  • [WPP] Sync to Wine 1.3.29 to fix a warning (Rafał Harabień)
  • [PSDK] Bring-in some idl changes from Wine. These changes (and the related changes below) are to allow us to sync shell32 tests to Wine 1.3.29. [UUID] CLSID_TaskbarList is no longer needed in here. [ACTXPRXY] Sync with Wine 1.3.29. (Amine Khaldi)
  • [DDK/PSDK] Fix several typos. Patch by Elton Chung (elton328 at gmail dot com). Slight compatibility fix by me Add missing NTSYSAPI to some externs remove Se*DefaultDacl externs from ntifs, as they don't belong there, and are already correctly found in ndk/setypes.h (Thomas Faber)
  • [HAL] Revert part of r53788 (MAXIMUM_IDTVECTOR is a valid vector number) The buffer overrun in the IDT code was already fixed by r53420 (Cameron Gutman)
  • [TRANSLATION] Multimodule translation and UTF-8 conversion to Portugese Brazilian. Patch by mkbu95. Minor fixes by me; See issue #6467 for more details. (Olaf Siejka)
  • Czech localization (base/applications): UTF-8 conversion cleanup, fixed typos, translated some more English strings. (Kamil Hornicek)
  • [Desk|User32|UXTheme] Silence GCC 4.6 "variable 'foo' set but not used [-Werror=unused-but-set-variable]" warnings/errors. (Dmitry Gorbachev)
  • [EVENTLOG] Fix broken if condition (Pierre Schweitzer)
  • [HAL/x86] Completely fix one of the overruns (Pierre Schweitzer)
  • [HAL/x86] Fix buffer overruns (Pierre Schweitzer)
  • [CRT] Rewritten _tfullpath(). This: Fixes memory leak Fixes null pointer use Adds missing features Sets errno (Pierre Schweitzer)
  • [TRANSLATION] Massive Romanian translation patch by Stefan Fulea. See bugs 6468 and 6478; (Olaf Siejka)
  • [win32k] move function definitions from c files to headers (Giannis Adamopoulos)
  • [RTL] Remove qsort, its already in crt. Fix a number of MSVC/64 bit issues (Timo Kreuzer)
  • [OBJ2BIN] Fix memory leaks Fix resources leaks Fix wrong if statement (Pierre Schweitzer)
  • [MKHIVE] Fix memory leak (Pierre Schweitzer)
  • [LOG2LINES] Fix memory leak (Pierre Schweitzer)
  • [GENINC] Fix resources leak (Pierre Schweitzer)
  • [PEFIXUP] Fix resources leak (Pierre Schweitzer)
  • [RTL] Fix a number of MSVC/64 bit warnings/problems Fix return type of RtlpInitializeHeapSegment (by Roel) (Timo Kreuzer)
  • [RGENSTAT] Fix memory leaks (Pierre Schweitzer)
  • [REGTESTS2XML] Fix memory leaks (Pierre Schweitzer)
  • [NTOSKRNL] Keep APC delivery disabled while holding a Heap Lock, not just while acquiring/releasing it (Dedicated to Timo and Ged). Store the Heap Lock in non-paged pool, the only place where executive resources belong (Dedicated to patient people). [RTL] Restructure/simplify/correct Heap and Heap Segment initialization (partially to cope with the changed Heap Lock interface). Restrict the location of Heap Segment headers to the base address of the Heap Segment (which frees up a whopping 60 bytes per Heap!). Cater for acquiring the Heap Lock exclusively or shared (the latter is only available in kernel-mode); only exclusive locking is used for now. Use a plain critical section to guard the Process Heap list, no reason to disguise it as a Heap Lock (saves us a handful more bytes). (Roel Messiant)
  • Fix more unused-but-set warnings. (Dmitry Gorbachev)
  • add the themes service to boot cd (Giannis Adamopoulos)
  • [thmsvc] Add the themes service from the themes branch (Giannis Adamopoulos)
  • [uxundoc.h] Add a couple of definitions that I forgot to add (Giannis Adamopoulos)
  • [RTL] Fix a number of MSVC/amd64 warnings/problems Remove code duplication in RtlCharToInteger and RtlUnicodeStringToInteger Fixup too large string length in RtlInitAnsiString, RtlInitUnicodeString Use symbolic constants instead of hardcoded values Fix overflow check in RtlInitUnicodeStringEx (Timo Kreuzer)
  • [HPP] Fix memory leak (Pierre Schweitzer)
  • [SPEC2DEF] Fix resources leak (Pierre Schweitzer)
  • [STUBGEN] Fix resources leak (Pierre Schweitzer)
  • [NDK] Add the missing RtlpNt-Registry functions and move RtlpNtOpenKey into the NTOS_MODE_USER section. (Eric Kohl)
  • [RTL] Improve formatting, no code change (Timo Kreuzer)
  • [wingdi.h] merge one last header change from the themes branch (Giannis Adamopoulos)
  • [RTL] Improve formatting, no code change (Timo Kreuzer)
  • [headers] Begin merging from themes branch (Giannis Adamopoulos)
  • [HAL/NDK] Make Vector parameter in HalEnableSystemInterrupt, HalDisableSystemInterrupt and HalBeginSystemInterrupt an ULONG, not an UCHAR [NDK] 64bit fixes for HANDLE_TABLE, KPROCESS, SECTION_IMAGE_INFORMATION, MMADDRESS_LIST, MMVAD_FLAGS, MMVAD, MMVAD_LONG, MMVAD_SHORT, MEMORY_DESCRIPTOR, MEMORY_ALLOCATION_DESCRIPTOR, LdrVerifyMappedImageMatchesChecksum KDPC_DATA::DpcQueueDepth is signed on amd64, unsigned on x86 [NTOSKRNL] Fix hundreds of MSVC and amd64 warnings add a pragma message to FstubFixupEfiPartition, since it looks broken Move portable Ke constants from <arch>/cpu.c to krnlinit.c Fixed a bug in amd64 KiGeneralProtectionFaultHandler (Timo Kreuzer)
  • [CABMAN] Leak less resources (Pierre Schweitzer)
  • [RTL] Fix the overly complicated and buggy implementation of RtlIsDosDeviceName_Ustr based on the simple pre-r52687 implementation of RtlIsDosDeviceName_U. This fixes 14(!) wine tests. (Eric Kohl)
  • [RTL] RtlGenerate8dot3Name: Ignore spaces in long file names instead of converting them to underscores. See issue #6385 for more details. (Eric Kohl)
  • [WIN32K] syscalls are stdcall (Jérôme Gardou)
  • [HAL/APIC/AMD64] add common amd64 asm trap macros fix amd64 version of HackEoi send EOI in amd64 trap exit code, so we avoid using HackEoi modify HalpClockInterruptHandler for better portability fix amd64 TscCalibrationISR (Timo Kreuzer)
  • [REACTOS] wait patiently for rbuild going to Valhalla (Jérôme Gardou)
  • [REACTOS] get version.h and buildno.h out of precompiled headers, to avoid rebuilding the whole module each time we reconfigure the build (Jérôme Gardou)
  • [CRT] Implement MSVC versions of call_copy_ctor, call_dtor, continue_after_catch, __CxxFrameHandler Fix amd64 versions of _control87 and _statusfp Fix MSVC and amd64 warnings (Timo Kreuzer)
  • [HAL/APIC] Fix some stuff that gcc complains about. It doesn't like to use static data in non-static inline functions for some unknown reason. Implement support for level triggered interrupts, when using lazy irql (Timo Kreuzer)
  • [FREELDR/HAL/NDK] Move some shared constants (HYPERSPACE_BASE, MM_HAL_VA_START, APIC_BASE) to NDK to avoid duplicating them, also fix wrong values for amd64 Map the hal address space in amd64 freeldr Fix use of uninitialized variable (HighPart of PHYSICAL_ADDRESS) in HalpAcpiCopyBiosTable Fix some MSVC and amd64 warnings (Timo Kreuzer)
  • [PSDK] Use CHAR instead of char in STRRET structure (as documented in MSDN). Fixes compilation of shell32 with MSVC. (Timo Kreuzer)
  • [HAL] Fix amd64 build (Timo Kreuzer)
  • [HAL] Implement lazy irql for APIC. This is useful for VMs, since APIC usually has high overhead due to the need of invoking the hypervisor on every irql raise and lower. With lazy irql we avoid that until absolutely neccessary. Note that we misuse the PCR's IRR field to save the current hardware irql. Its a huge performance boost (some parts take half the time), making APIC performance close to PIC performance on VBox. This is something that Windows doesn't have :) (Timo Kreuzer)
  • Comment out some unused but set variables, remove some others. Allow warnings for some 3rd party code. (Amine Khaldi)
  • Comment out some unused but set variables, remove some others. Allow warnings for some 3rd party code. (Amine Khaldi)
  • [WS2_32_NEW] Fix an error found by PVS Studio [RAMDISK] Fix an error found by PVS Studio (Cameron Gutman)
  • [NTOSKRNL][RTL][DOC] Fix incorrect loop boundaries in the ARM version of MmCreateProcessAddressSpace. Spotted by Vincenzo Cotugno and cppcheck Correct outdated wineimport.cmd URL in README.WINE Assorted spelling and readability fixes (Thomas Faber)
  • [SERVICES] Add optional asynchronous io code for service control pipes. This is disabled by default due to bugs in NPFS. Read service pipe timeout value from the registry. (Eric Kohl)
  • [HAL] End the interrupt in HalpApcInterruptHandler and HalpDispatchInterruptHandler before calling the kernel, otherwise we would be stuck at high processor irql Improve HalEnableSystemInterrupt disable interrupts in HalpInitializeClock => APIC hal boots to desktop! (Timo Kreuzer)
  • Missed some assignments in debug.c. Add a dummy allow_warnings() for msvc build. (Amine Khaldi)
  • Comment out some unused but set variables, remove some others. (Amine Khaldi)
  • Fix some more unused but set variables. Allow warnings for some 3rd party code. (Amine Khaldi)
  • Fix some unused but set variables. Brought to you by gcc 4.6.1. Allow warnings for some 3rd party code. (Amine Khaldi)
  • [HAL] Use a global variable HalpBuildType instead of a define when checking the BUILD (we don't recompile this code for SMP hal) Move registering IRQ2 out of the generic init code into HalInitializePICs Modify legacy HalpGetRootInterruptVector to use HalpIrqToVector and HalpVectorToIrql so it works with APIC, too (Timo Kreuzer)
  • [RBUILD] Add kmtests to the CD (Thomas Faber)
  • [HAL/APIC] Implement HalpApcInterruptHandler, fix HalpDispatchInterruptHandler Insert a read to the APIC version register in ApicGetCurrentIrql(). This fixes inconsistencies between the internal APIC state and register reads/writes. Remove old hacks in ApicGetCurrentIrql() and ApicSetCurrentIrql Fix HalpVectorToIrql() read/write cr8 for the value of the TPR on amd64 builds Fix amd64 build (Timo Kreuzer)
  • [HAL] Add a hack to work around a bug in VBox: The APIC emulation requires an iret instruction following closely after writing the EOI register. Since we return from kernel mode traps with a jmp (yes you can return from an interrupt with a jmp!) the EOI is never triggered, making VBox believe we are still serving the interrupt and keeping the PPR on high level, preventing following interrupts. A small asm stub now does the work of both writing the EOI and doing an iret. (Timo Kreuzer)
  • [HAL] Add a hack to ApicGetCurrentIrql and ApicSetCurrentIrql to work around a VBox bug call KeSetTimeIncrement after initializing the rtc clock calculate TSC frequency from the samples Fix a bug in KeStallExecutionProcessor (Timo Kreuzer)
  • [undocuser.h] Move definition of UpdatePerUserSystemParameters to undocuser.h (Giannis Adamopoulos)
  • [WIN32K] Rewrite clipboard to match Windows implementation Clipboard uses window stations instead of global variables Data is saved in clipboard data user objects Memory is no longer leaked when winsta is destroyed Data is synthesized on demand Make internal functions static Fix possible memory corruption in IntGetAtomName More winetests are passed (Rafał Harabień)
  • Downgrade some DPRINT1s to DPRINTs. (Aleksey Bragin)
  • [HAL] Fix I/O APIC register access set APIC logical id based on Cpu (currently flat model with up to 8 cpus supported) In HalpInitializeTsc, setup the RTC clock, since the timer is initialized later in the TSC calibration ISR, send EOI and read RTC register C to get the next interrupt (Timo Kreuzer)
  • [HAL] Don't use debug prints before the debugger is even initialized acquire cmos spinlock when accessing the cmos registers Fix amd64 build (Timo Kreuzer)
  • [HAL] give apic hal its own halinit_apic give minihal an own halinit_mini.c containing function stubs move HalInitializeProcessor to halinit.c and add hal specific function HalpInitProcessor get rid of all the #ifndef _MINIHAL_ in halinit.c and move the file to lib_hal_generic improve the hal version/build check Update spec file for amd64 (Timo Kreuzer)
  • [HAL] move v86 code out of trap.S into v86.S (APIC uses a different trap entry file), compile it directly in the dll instead of a lib to be able to silence linker warnings Group files in HAL_PIC_SOURCE and HAL_APIC_SOURCE, you just need to replace PIC with APIC to build the hal with APIC support (we can later use it to build the other hals: halapic, halaacpi, halmacpi, halmps) use apic on amd64 builds give halacpi its own resource file silence MSVC linker warnings (Timo Kreuzer)
  • [HAL] Rename HalpAcquireSystemHardwareSpinLock to HalpAcquireCmosSpinLock (Timo Kreuzer)
  • [MKHIVE] Fix max key name length, max value name length, max value data length properties of registry key not being set correctly Fixes #6042 - regedit on LiveCD shows keys and values now (Rafał Harabień)
  • [HAL] Start implementing APIC support, which is needed for both SMP and x64. It will use the local APIC + I/O APIC for interrupt control, the RTC instead of the PIT for the timer interrupt (PIT doesn't always work with I/O APIC), the APIC timer for profiling and finally the TSC for the performance counter and KeStallExecutionProcessor. The code is incomplete and doesn't work yet (Timo Kreuzer)
  • [MUP] Any attempt to open or create a file on a remote machine will return STATUS_BAD_NETWORK_PATH. This means the server is not available. Trying to create \\testserver\testshare\testdir\test.txt fails just like on Windows XP. Add service key and values for the MUP driver. Add the driver to the File System group because adding it to the Network group, like on Windows XP, does not load the driver. (Eric Kohl)
  • [RTL] Add FPO information to some asm functions (Timo Kreuzer)
  • [RSYM] .stab/.stabstr sections have no IMAGE_SCN_LNK_REMOVE flag now. (Dmitry Gorbachev)
  • [HAL] Use functions instead of macros for irq<->vector<->irql translation, this will be neccessary, once apic support is there Disable mp hal in rbuild for now, its broken anyway (Timo Kreuzer)
  • [SERVICES] RStartServiceA: Convert the ANSI start arguments vector to a UNICODE vector and pass it to ScmStartService. Calls to StartServiceA can now be used to pass arguments to a starting service. (Eric Kohl)
  • [PSDK] put NOGDI guard at the right place... (Jérôme Gardou)
  • [PSDK] fix compilation for any fool wanting to use our headers outside of NT 5.2 scope (Jérôme Gardou)
  • [LWIP] fix warning in ros glue code (Jérôme Gardou)
  • [ROSSYM_NEW] fix some warnings fix function prototype. This might fix usermode stack logs (Jérôme Gardou)
  • [SERVICES/ADVAPI32] Pass the service start argument vector to the started service main function. ANSI services are not supported yet. (Eric Kohl)
  • [TRANSLATION] Romanian syssetup and usetup translation by Stefan Fulea <fulea.stefan> at <gmail.com>; Fix ipconfig build under MSVC, use "" instead of \" as escape character; (Olaf Siejka)
  • [HAL] Fix a dependency issue (Timo Kreuzer)
  • [HAL] Flatten the directory structure use static libraries in cmake builds as well to save build time (Timo Kreuzer)
  • [HAL] Don't use enums as bitfields. MSVC doesn't handle it the way gcc does. Fixes clock initialization on MSVC builds. You would wonder how the MSVC build even worked without a clock interrupt :D (Timo Kreuzer)
  • [USER32] Attempt to fix the relocation issue in the rbuild build. (Amine Khaldi)
  • [RTL][NETSHELL] Fix the remaining issues from preceding commits (Thomas Faber)
  • Fix multiple typos and bugs, found by PVS-Studio (Dmitry Chapyshev)
  • Fix typos, found by PVS-Studio (Dmitry Chapyshev)
  • Fix wrong macros usage, found by PVS-Studio (Dmitry Chapyshev)
  • Fix wrong macros usage, found by PVS-Studio (Dmitry Chapyshev)
  • Fix a bug, found by PVS-Studio (Dmitry Chapyshev)
  • [TRANSLATION] Fulea Stefan <fulea.stefan> at <gmail.com> : Mega Romanian translation commit. Bugs 6422, 6424, 6425, 6426, 6427, 6428, 6429, 6430, 6432, 6438, 6442, 6446, 6450 and 6451. (Amine Khaldi)
  • [FREELDR] Massively refactor the winldr code move common parts of LoadReactOSSetup and LoadAndBootWindows into LoadAndBootWindowsCommon Combine architecture specific code into 2 functions: WinLdrSetupMachineDependent prepares the main stuff and WinLdrSetProcessorContext is the last thing done before transferring control to the kernel. rename WinLdrTunOnPaging to WinLdrSetupMemoryLayout Stop wasting stack space by decreasing the number of huge text buffers used Don't handle x86 specific data like Tss in portable code Add the progressbar for reactos setup as well Add missing DPRINT_PELOADER to DEBUG_ALL (Timo Kreuzer)
  • [CMAKE] try to fix gcc build without breaking msvc (Jérôme Gardou)
  • Add msvcrt to KnownDLLs. This will enforce use of reactos msvcrt when apps provide one. Its required because cmake dlls currently depend on msvcrt for their startup code. (Sylvain Petreolle)
  • [NTOSKRNL] Update amd64 kd64 from ros-amd64-bringup (Timo Kreuzer)
  • [HAL] Small cleanup and fix amd64 build (don't use the PIT) (Timo Kreuzer)
  • [HAL] We cannot make any assumptions about the latency whith which the timer interrupt fires after a rollover, since VBox (other VMs probably as well) doesn't always meet this. Add another check to KeQueryPerformanceCounter that gracefully handles missing interrupts. Also raise to DISPATCH_LEVEL, since the function is not reentrant. (Timo Kreuzer)
  • [HAL] Rewrite KeQueryPerformanceCounter in C Implement support for changing the clock rate (Timo Kreuzer)
  • [INTRIN] add __nop() (Timo Kreuzer)
  • [KDBG] Don't enable int3 first chance handling by default. Should fix ntdll exception winetest. Found by Arty. (Timo Kreuzer)
  • [WIDL] reenable -Oif flag, it's too good to be disabled With this commit, advapi32:service winetest suffers only 2 failures. (Jérôme Gardou)
  • [WIDL] duplicate type entry for parameters with the range attribute. This fixes the problem that Eric Kohl detected. This has already been sent to wine. (Jérôme Gardou)
  • [INTRIN] Add missing memory barriers to _enable, _disable and __halt (Timo Kreuzer)
  • [IDL] fix definition of PPCONTEXT_HANDLE (Jérôme Gardou)
  • [SHELL32] Fix Shell_MergeMenus return type. (Amine Khaldi)
  • [WIDL] Revert parts of r53171: Remove the -Oif flag for WIDL because the NT4 stub code generated by the current WIDL is heavily broken with respect to the range attribute and others. Please enable the -Oif feature only after these bugs are fixed in WIDL! (Eric Kohl)
  • [NTDLL/LDR] Improve DPRINTs Fix some MSVC warnings [NTOSKRNL] Fix missing exports (Thomas Faber)
  • [CRT] Do not skip calling DllMain on non-GCC builds (Thomas Faber)
  • [HAL] Fix amd64 build (Timo Kreuzer)
  • [CRT] Add frame pointer omission info to strcpy and wcscpy (Timo Kreuzer)
  • [INF] Add Polish translation of device names (Rafał Harabień)
  • [user32/win32k] cleanup internal headers remove unused functions and definitions move shared definitions to ntuser.h (Giannis Adamopoulos)
  • [KSPROXY/KS/SCSIPORT] Use sizeof(PVOID) instead of sizeof(PFOO) just for clarity that we really want a pointer size [SCSIPORT] Don't initialize a pointer with RtlZeromemory (Timo Kreuzer)
  • [INTRIN] Fix _bittest64 prototype [STLPORT] Fix amd64 build of modules using these headers (Timo Kreuzer)
  • Slightly rearrange base addresses to get rid of DLL relocations during bootup. (Aleksey Bragin)
  • [HAL] Add PCI_HAL device for non-ACPI machines. Code taken from the ACPI-HAL. This is just a quick hack and needs some more improvements. (Eric Kohl)
  • [HAL] Handle IRP_MN_QUERY_CAPABILITIES for the ACPI_HAL device object [PNPMGR] Don't bring up a device if a required IRP has failed Don't perform operations on a child if it is not ready yet (Cameron Gutman)
  • [HAL/NTOSKRNL] Fix an off-by-one bug in the IDT table size (Cameron Gutman)
  • [DDK/XDK] Add function types, not only function pointers types for EXPAND_STACK_CALLOUT and KSYNCHRONIZE_ROUTINE (Thomas Faber)
  • [NTOSKRNL] Do not return an NTSTATUS from KeSynchronizeExecution, which returns BOOLEAN [KERNEL32] Do not return an NTSTATUS from BasepGetModuleHandleExW Found by MSVC. (Thomas Faber)
  • [EVENTLOG] Don't use sizeof for a variable-length structure Fix string buffer building (Thomas Faber)
  • [HAL/VIDEOPRT/EVENTLOG] Really fix some of the sizeof issues (Timo Kreuzer)
  • [EVENTLOG] Fix a bad sizeof(). (Amine Khaldi)
  • [HAL] Fix a couple bad sizeof(). (Amine Khaldi)
  • [XDK/DDK] Add KeSaveFloatingPointState as well (Timo Kreuzer)
  • [DDK(XDK] Add inline functionss Ke*FloatingPointState for amd64 and arm, doing nothing. Noticed by Thomas Faber. (Timo Kreuzer)
  • [VMWINST] Fix amd64 build [NTDLL] add missing amd64 specific exports [MSVCRT*] Fix mangled c++ exports for amd64 [OLEAUT32] Add amd64 adm stub for call_method, fix MSVC/amd64 build [RICHED20] Fix MSVC thiscall wrapper [RPCRT4] add amd64 specific asm [KSFILTER] Add c++ aliases, use dummy KeSaveFloatingPointState and KeRestoreFloatingPointState on non-x86 builds [KMIXER] Fix a broken DPRINT [PSEH] Priorize native SEH over dummy SEH (Timo Kreuzer)
  • [RTL] Remove duplicate function [CRT] add _local_unwind stub and fix c++ symbols (Timo Kreuzer)
  • [INTRIN] Deconstify most parameters in the intrinsics. add __movsq, _bittest64, __umulh (Timo Kreuzer)
  • [HAL] Fix device reporting to work with the IoReportDetectedDevice patch [HAL/ACPI] Turn debugging off (Cameron Gutman)
  • [INF] Install the processors class Add missing INFs to syssetup.inf (Cameron Gutman)
  • [LIBSAMPLERATE] Fix amd64 build (Timo Kreuzer)
  • [CRT] Fix definition of __m128d and __m128. (Timo Kreuzer)
  • Update list with the latest changes by jgardou. Remove an obviously wrong citation. (Eric Kohl)
  • [CRT] add minimal versions of emmintrin.h, mmintrin.h, xmmintrin.h just enough for libsamplerate (Timo Kreuzer)
  • [LIBSAMPLERATE] Update to version 0.1.8 Supports amd64 now (Timo Kreuzer)
  • [STLPORT] Fix Interlocked* declarations Fix amd64 build (Timo Kreuzer)
  • [SERVICES/ADVAPI32] Rewrite the command packet transfer code between the service control manager (services.exe) and the service control dispatcher (advapi32.dll). The service name is no longer stored in an array of WCHARs at the end of the command packet. The service name is now stored behind the fixed size command packet header using an offset value in the header to determine the start of the string. The same method will be used to store start arguments to the service dispatcher, but it is not fully implemented yet. (Eric Kohl)
  • [PCI] Fix handling of IRP_MN_QUERY_DEVICE_TEXT [PNPROOT] Fix registry query and returning of device description [ACPI] Fix handling of IRP_MN_QUERY_DEVICE_TEXT (Cameron Gutman)
  • [VFATLIB] Fix completely non-standard, broken and retarded definition of GET_UNALIGNED_W for 64 bit architectures The function is supposed to read an unaligned little endian USHORT value. The old version copied the 2 bytes with memcpy to an aligned stack variable and then (bug bug) read the unaligned value directly (discarding the result of the previous operation) and passed it to bswap if neccessary. The new function simply reads the 2 bytes and combines them using << and |. (Timo Kreuzer)
  • [CRT] Make .CRT sections always read only. (Timo Kreuzer)
  • [RTL] Fix a typo (Timo Kreuzer)
  • [NTDLL] Add exports for RtlInstallFunctionTableCallback and RtlRestoreContext (amd64 only) [KERNEL32] Forward RtlCompareMemory, RtlCopyMemory, RtlDeleteFunctionTable and RtlInstallFunctionTableCallback to ntdll Fix build with MSVC amd64 (Timo Kreuzer)
  • [CRT] Add __C_specific_handler stub Add aliases for C++ code on amd64 builds Fix fmod symbol Merge .CRT section into .data on amd64 remove an old hack (Timo Kreuzer)
  • [PSDK] Simplify definition for YieldProcessor and add DbgRaiseAssertion for amd64 in winnt.h [ASM] Fix some stuff for amd64 (Timo Kreuzer)
  • [CRT] guard some inline functions from being used in certain cases (Timo Kreuzer)
  • [ASM] prefix labels only on x86 improve syscall stub code (Timo Kreuzer)
  • [HAL] Debugging changes (Cameron Gutman)
  • [HAL] Hey Arch, don't combine code for 2 different length calculation algorithms into 1 broken mess (Cameron Gutman)
  • [HAL] Add (and fix) more validation and debugging (Cameron Gutman)
  • [HAL] Fix the length calculation for the resource requirements list (Cameron Gutman)
  • [RTL] Hack around lds inability to detect used functions, when they are exported. (Timo Kreuzer)
  • [HAL] Simplify device extension setup Allocate memory for existing PDOs in the device relations struct (Cameron Gutman)
  • [RTL] Fix this rbuild thingie (Timo Kreuzer)
  • Enable debug prints temporarily in an attempt to help diagnose the ACPI issues (Cameron Gutman)
  • [RTL] Rename memgen.c to byteswap.c and merge with the implementations from largeint.c, that were using intrinsics Fix amd64 build (Timo Kreuzer)
  • [INTRIN] Use fixed inlined version of __invlpg only on x86 (Timo Kreuzer)
  • [HAL] Don't use a hard-coded constant instead of PAGE_SHIFT (Cameron Gutman)
  • Free memory using a valid tag Don't use a hardcoded constant for pointer size Don't access invalid memory when an SCI is absent (fixes ASSERT(Descriptor->u.Interrupt.MinimumVector == Descriptor->u.Interrupt.MaximumVector) failure) Remove unreachable code (Cameron Gutman)
  • [LWIP] Add missing dependency on bugcodes. (Amine Khaldi)
  • [EVENTLOG] Stop listening to RPC messages when receiving SERVICE_CONTROL_STOP (Jérôme Gardou)
  • Include NDK headers on-demand. (Amine Khaldi)
  • [HALACPI] Add to build. Dedicated to Cameron. [SPEC2DEF] Add an option to set the name of the output def file. (Amine Khaldi)
  • [USETUP] Autodetect ACPI like we autodetect a multiprocessor configuration This will make the ACPI HAL the default on ACPI-compliant machines while the standard HAL will continue to be the default on older machines Please file bugs for any issues encountered when running in ACPI mode and assign them to me (I think it's very important to have working ACPI for 0.4.0 so I'd really like to get everything fixed now) [TXTSETUP.SIF] Add a MP configuration for ACPI HAL Slightly modify the names of each HAL configuration (Cameron Gutman)
  • [TXTSETUP.SIF] Add an option to install the ACPI HAL Feel free to try it out (you might be surprised) (Cameron Gutman)
  • [INF] Add hal.inf (Cameron Gutman)
  • [HAL] Also report the *PNP style IDs Don't hang when a power IRP is received (Cameron Gutman)
  • [HAL] Invalidate device relations so the child devices get enumerated (Cameron Gutman)
  • [HAL] Fix string length calculation (Cameron Gutman)
  • [HAL] Fix a bug writing the DisableFirmwareMapper entry (Cameron Gutman)
  • [HALACPI] Fix several bugs involving garbage data in a PHYSICAL_ADDRESS struct (Cameron Gutman)
  • [HAL] Fix incorrect modification of device object flags (Cameron Gutman)
  • [ROSSYM_NEW] add missing debug.h include (Jérôme Gardou)
  • [ROSSYM_NEW] including debug.h once is enough This time for real, sorry. (Jérôme Gardou)
  • [ROSSYM_NEW] including debug.h once is enough (Jérôme Gardou)
  • [ROSSYM_NEW] please, do not include debug.h from precompiled header :-/ (Jérôme Gardou)
  • [AUTOCHK][CMD][TASKMGR] Exclude some indirectly included headers. (Amine Khaldi)
  • [SERVICES] Fix the GENERIC_ALL access rights mapping for service handles. (Eric Kohl)
  • [AUTOCHK][CMD][TASKMGR] Include NDK headers on-demand. (Amine Khaldi)
  • [UMPNPMGR] Store the correct buffer size for requests that aren't satisfied via the registry Fixes displaying the enumerator on the device manager property page (Cameron Gutman)
  • [NTOSKRNL/WIN32K/NDK] OkToClose procedure (OB_OKAYTOCLOSE_METHOD) returns BOOLEAN, not NTSTATUS Check ppi for NULL before dereferencing it in IntWinstaOkToClose (it is NULL, if we do our job of cleaning up the win32 process properly) Set the win32 process info to NULL on process cleanup Free THREADINFO and PROCESSINFO instead of leaking them Set NULL cursor, when the last thread is cleaned up in win32k, so we don't call UserSetCursor() in the process cleanup, when we don't have a THREADINFO anymore. This should hopefully fix a crash of MSVC builds. Remove unused UserGetNextHandle function Fix some warnings (Timo Kreuzer)
  • [ADVAPI32] Fix QueryServiceConfigEx[A/W]: If lpServiceConfig is NULL or cbBufSize is less than sizeof(QUERY_SERVICE_CONFIGA/W) pass a pointer to an internal status buffer to RQueryServiceConfigA/W. Revert r53153 and r53154. Adding 'in' and 'unique' attributes is NOT an option because this is not compatible with Windows. (Eric Kohl)
  • [IP] Zero the sin_zero member in the TDI_ADDRESS_IP struct (Cameron Gutman)
  • [CRT] Add assembly stubs and aliases for c++ symbols for MSVC (Timo Kreuzer)
  • [SPEC2DEF] Ignore redirections for c++ symbols, since this doesn't work with link (Timo Kreuzer)
  • [LWIP] Rewrite receive code to make it much simpler, handle some corner cases that weren't treated correctly, and fix the data corruption bug Downloaded successfully (no data corruption): OpenOffice 2.4, OpenOffice 3.3, BitTorrent 7.2.1, Firefox 5, Firefox 3.6, Firefox 3, Firefox 2, Abyss Web Server, Opera 9.64, and Opera 11.01 (Cameron Gutman)
  • [LWIP] Fix a buffer overflow when the packet queue has more packets than the receive request can take Remove an extra variable (Cameron Gutman)
  • [WIDL] Reapply the switchtype patch from widl-ros.diff. This patch should be sent upstream to wine. See issue #6406 for more details. (Eric Kohl)
  • [LWIP] Fix user-initiated hard connection closures (Cameron Gutman)
  • [WIDL] use -Oif flag to produce modern (!) NT4 stubs, with Microsoft extensions to IDL language. [ADVAPI32] Initialize *pcbBytesNeeded, as it's marked as [in], it needs to be in the 0-8k range before being passed to RPC. Now 2nd stage got his mouse and keyboard again. (Jérôme Gardou)
  • [LWIP] Remove 2 custom definitions to use the default values (Cameron Gutman)
  • [ROSSYM_NEW] Add RosSymAggregate and RosSymFreeAggregate stubs for MSVC (Timo Kreuzer)
  • [RTL] Fix MSVC warning about signed/unsigned mismatch. In this case it was not a bug, because the compiler implicitly casts to unsigned, when signed and unsigned are compared, so (-1 < 0x23U) is false. (Timo Kreuzer)
  • [WIDL] Don't include non host headers for host executables I'm sure my dog told me that once. (Jérôme Gardou)
  • [TOOLS] sync wpp, widl and wrc with wine 1.3.26 (Jérôme Gardou)
  • [LWIP] Tune several TCP attributes to behave similarly to Windows XP (Cameron Gutman)
  • [SERVICES] addendum to r53153 : [unique] and [ptr] can't be applied to [out] only parameters, so mark them as [in] too. Now MSVC build gets as far as 3rd stage. (Jérôme Gardou)
  • [SERVICES] mark pointers argument of RQueryServiceConfigA/W as [unique], since they can be NULL. See http://msdn.microsoft.com/en-us/library/aa367153%28v=VS.85%29.aspx for details. (Jérôme Gardou)
  • [INTRIN] memory barriers implement a fixed version of __invlpg for MSVC, since the intrinsic is broken and can generate wrong instructions, when optimization is enabled add MSVC versions of _mm_mfence, _mm_lfence, _mm_sfence and __faststorefence add _mm_mfence() for gcc give _mm_lfence, _mm_sfence, __invlpg and __wbinvd proper (Timo Kreuzer)
  • [RTL] Fix MSVC warnings (Timo Kreuzer)
  • [IP] Merge r53134 and r53135 from the GSoC TCP/IP branch (Cameron Gutman)
  • [LWIP] Fix msvc build (Timo Kreuzer)
  • [INTRIN] _mm_pause has an implicit full memory barrier, emulate this on gcc as well (Timo Kreuzer)
  • [IDL] set end points of interfaces (Jérôme Gardou)
  • [TRANSLATION] Resize controls to allow wider strings of polish translation to fit in; Assorted translation fixes, added missing strings; Patch by Adam Stachowicz (Saibamen) and wojo664, minor corrections by me; (Olaf Siejka)
  • [IP] Remove an obsolete comment (Cameron Gutman)
  • [WIN32K] - Fix uninitialized variable usage [ADVAPI32] - Fix a TRACE [PCIX] - Fix statements without effect Spotted by MSVC. (Thomas Faber)
  • [SERVICES] Fix coding style. No code changes. (Eric Kohl)
  • [PSDK] do not redefine UNICODE_STRING and NTSTATUS if wintrnl.h has already been included define PNTSTATUS in wintrnl.h add RPC_PROTSEC_VECTOR and RPC_MGMT_AUTHORIZATION_FN definitions (Jérôme Gardou)
  • [NDK] Add RtlCompareMemoryUlong and RtlCopyBytes/RtlFillBytes/RtlZeroBytes (Thomas Faber)
  • [DHCPCSVC] - Fix another funny GetLastError DPRINT.
  • [NETID] - It's unicode! Surprising it even worked. Fixes warnings [SACDRV] - Fix entry point warning [CRT] - Fix MSVC warning (Thomas Faber)
  • [DDK/XDK] Add function types, not only function pointer types, for splay/avl tree functions RTL_SPLAY_LINKS needs to be defined regardless of RTL_USE_AVL_TABLES [NDK] Add missing splay/avl tree function declarations Add the function types as well. These are also not in ntifs anymore (Thomas Faber)
  • [CSRSRV] Define NDEBUG only once Don't define helper macro in the source DPRINT fixes [NTDLL/LDR] More verbose DPRINT for initialization failure (Thomas Faber)
  • [KERNEL32] - Fix DuplicateHandle return value [WIN32CSR] - Fix DPRINT (Thomas Faber)
  • [PSDK] mark operators == et != of REFPROPERTYKEY as C++ externs (Jérôme Gardou)
  • [CSRSS]: Fix broken logic. (Alex Ionescu)
  • [CSRSRV/KERNEL32]: Have CSRSS create a proper shared section (Based on code taken from the CSRSS rewrite in trunk) and attach it to every client. [CSRSRV/KERNEL32]: Have CSRSS fill out the base server static data. Still a bit of a hack since we should have a basesrv to do this, but it'll fix the "can't install any drivers" bug as well as increase performance since we now cache a bunch of data system-wide. [KERNEL32]: Remove all related hacks in kernel32. [CSRSRV]: Only accept the incoming connection if we found CSR process data about it. (Alex Ionescu)
  • [SERVICES] If a service will be started and another service is already running in the same image, send a start command instead of starting the process again. This enables us to run multiple services within a single process, like svchost.exe. (Eric Kohl)
  • [PSDK/WINNT.H] add DEFINE_ENUM_FLAG_OPERATORS macro (Jérôme Gardou)
  • [TCPIP] Remove the extra debug prints since the bug has been fixed (Cameron Gutman)
  • [RTL] Implemenet SwapSplayLinks, return 'NewElement' correctly when inserting. Thanks to Alex Ionescu for helping out with this patch. (Art Yerkes)
  • [OSKITTCP] Force the connection to be closed immediately Hopefully will fix the random bind issues caused by oskit becoming out of sync with the rest of the IP library (Cameron Gutman)
  • [IP] Add some temporary debug prints to troubleshoot some seemingly random bind failures (Cameron Gutman)
  • [SERVICES] ScmCreateOrReferenceServiceImage: Link the SERVICE_IMAGE struct to the SERVICE struct in the create and the reference case. Otherwise only the first service started from an image gets a valid pImage pointer. Add some debug code. (Eric Kohl)
  • [FULLFAT] Add missing bugcodes dependency, spotted by elhoir. (Sylvain Petreolle)
  • Add "-fno-omit-frame-pointer" compiler option. GCC 4.6 omits on -O2 and -O3 level. (Dmitry Gorbachev)
  • [NDK/DDK] Fix definitions of ZwPowerInformation and ZwInitiatePowerAction (Jérôme Gardou)
  • [MINGW-W64] Reduce differences with upstream. Fixes crash if ReactOS is compiled with GCC 4.6. (Dmitry Gorbachev)
  • [AUDIOSRV] Designate audiosrv.h as a precompiled header and use it as one. (Amine Khaldi)
  • [CSRSRV|NTOSKRNL|KERNEL32|NTDLL] Fix multiple definition of variables. (Dmitry Gorbachev)
  • [NDK] Remove Resource functions, as they are in wdm.h add KeTryToAcquireQueuedSpinLockRaiseToSynch, ExRaiseHardError & enum members Patch by Thomas Faber (Olaf Siejka)
  • [NDK]: ntpoapi.h only includes Nt functions, not Zw, so leave the Zw's in the NDK. (Alex Ionescu)
  • [NDK]: Fix Po function prototypes. Also guard against _PO_DDK_ which means caller already has ntpoapi.h. (Alex Ionescu)
  • [NDK]: Add missing native power functions. [KERNEL32]: Cleanup the power APIs. Fix calculation of battery percentage in GetSystemPowerStatus. (Alex Ionescu)
  • [CRT] get back atexit handling as it was before. (reverts 52838, 52829, 52828) Thanks to Kai and Timo for the explanation (Jérôme Gardou)
  • Save the project from possession by evil spirits. (Dmitry Gorbachev)
  • [MSVCRTEX] I say let msvcrt handle atexit registered functions. Fix msvc build (Jérôme Gardou)
  • [ATL] Invoke the member function through "this->". (Dmitry Gorbachev)
  • woops, sorry :-) (Jérôme Gardou)
  • [LIBWINE] new tentative to fix build : get rid of libwine's stricmp, we have it in our crt (Jérôme Gardou)
  • [MSVCRTEX] aply 52828 as well (Jérôme Gardou)
  • [MINGW_COMMON] get rid of atexit handling, it's arlready handled by msvcrt. The funny thing is that the only module using this is msvcrt_winetest, which tested the mingw implementation, not the msvcrt one. (Jérôme Gardou)
  • [CRT] fix stupid gcc warnings patch by Igor Paliychuk (Jérôme Gardou)
  • [CRT] import bessel's function j0, j1, jn, y0, y1, yn from glibc (Jérôme Gardou)
  • [KERNEL32]: SleepEx forgot to de-activate the SxS frame. (Alex Ionescu)
  • [ROSTESTS] Add 3 missing tests to rbuild testcd. Thanks to Caemyr and Testman. (Sylvain Petreolle)
  • [SPEC2DEF] fix forward name export for c++ mangled functions. (Jérôme Gardou)
  • [SPEC2DEF] Fix creation of stubs for c++ mangled names (Timo Kreuzer)
  • [HIVES] Fix Nls registry keys casing. Tested by Alex. (Sylvain Petreolle)
  • [NLS]: Kill this directory from the build. It produced nothing other than a Vista-calling DLL which was never even on the BootCD. [KERNEL32]: Remove GetLocaleInfoEx again. [KERNEL32]: It seems CMAKE build doesn't like kernel32 code calling "HeapAlloc" because HeapAlloc doesn't exist -- it's a forward to RtlAllocateHeap. As a hack, add compiler defines to do the forwarding in C code as well. (Alex Ionescu)
  • [PSDK]: Add missing RESETDEV define to winbase. [WINE]: Wrap Wine's get_char_typeW to iswctype in unicode.h, which will allow better sharing of synched code. (Alex Ionescu)
  • [RTL] Fix a couple of potential null pointer accesses (Cameron Gutman)
  • [RTL] Validate parameters passed into path functions (Cameron Gutman)
  • [PSDK]: Add missing QUOTA_LIMITS_EX. [NDK]: Fix certain SxS functions. [RTL]: "Implement" RtlActivateActivationContextEx which lets you specify a TEB. RtlActivateActivationContext uses the current TEB. NOTE: All these functions are broken because they copy-paste Win32 wine code into NT Native functions (with different parameters/structures). [NDK]: Fix pstypes.h -- it was a #define mess, and worked by luck because we are a < Vista OS. [NDK]: Add RtlInitEmptyAnsiString. (Alex Ionescu)
  • [RTL] Fix the string length calculation for the partial name Fixes the 2nd stage regression (Cameron Gutman)
  • [RTL] Fix returning relative path names for path API calls using RtlpDosPathNameToRelativeNtPathName_Ustr on the backend (Cameron Gutman)
  • [IP] Register an interface route for interfaces with a static IP address (Cameron Gutman)
  • [RTL]: Makes sure there is a curdir handle. (Alex Ionescu)
  • [RTL]: Fix a typo in RtlpDosPathNameToRelativeNtPathName_Ustr thanks so smiley. [RTL]: Implement the unimplemented corner case based on the old ReactOS code. (Alex Ionescu)
  • [RTL]: Implement RtlDosPathNameToRelativeNtPathName_U_WithStatus, RtlDosPathNameToRelativeNtPathName_U, RtlDosPathNameToNtPathName_U_WithStatus. [RTL]: Reimplement RtlDosPathNameToNtPathName_U to use UNICODE_STRING semantics. [RTL]: Fix RtlGetFullPathName_Ustr. [RTL]: RtlGetFullPathName_U remains based on the legacy non-UNICODE_STRING mechanism, but it's too complex to attempt changing for now. (Alex Ionescu)
  • [SERVICES] Fix an MSVC warning (Timo Kreuzer)
  • [IP/OSKITTCP] Fix a race condition that occurs when the socket is closed by the remote host while waiting on OSKLock to perform a socket operation and results in accessing freed memory (Cameron Gutman)
  • [SERVICES] Implement service image records. This will enable us to run executables that contain multiple services and control them individually. (Eric Kohl)
  • [RTL]: Implement RtlGetFullPathName_Ustr, not yet used. [RTL]: Simplify RtlDosSearchPath_U by not using a temporary "char" value, and just reading straight from the string buffer. (Alex Ionescu)
  • [D3D] Do not link d3dx9 dlls to wined3d. (Sylvain Petreolle)
  • [RTL] fix RtlDosSearchPath_U : do not alter filename while searching for file extension (Jérôme Gardou)
  • [ASM] Generate MSVC debugging info for KiUserExceptionDispatcher, KiIntSystemCall, KiFastSystemCall, KiFastSystemCallRet, KiSystemService, KiFastCallEntry, all systemcall stubs Now usermode backtraces look as they should in WinDbg (Timo Kreuzer)
  • [RTL]: Cleanup, no code changes. (Alex Ionescu)
  • [NDK]: Add RtlReleaseRelativeName. [RTL]: Re-implement RtlDosSearchPath_U using new path functions from past commits. Uses correct behavior with RtlDoesFileExists (for relative paths, return success when file is locked -- for absolute paths, do not!). Also uses a more optimized path loop that does not alloc/realloc/free heap continously (only one heap allocation is used). (Alex Ionescu)
  • [RTL]: Fix RtlDoesFileExists_UEx, thanks to ThFabba. (Alex Ionescu)
  • [NDK]: DEPENDENCY TRACKING. GET IT RIGHT. GODDAMN IT RBUILD. (Alex Ionescu)
  • [RTL]: Implement RtlIsDosDeviceName_Ustr and make RtlIsDosDeviceName use it. Uses UNICODE_STRING APIs everywhere and similar to the old implementation. (Alex Ionescu)
  • [RTL]: Implement RtlDoesFileExists_UstrEx, RtlDoesFileExists_UStr, RtlDoesFileExists_UEx. [RTL]: Make RtlDoesFileExists_UStrEx use the new RTL_RELATIVE_NAME structure and also support whether or not sharing violations should return success or not. [RTL]: For now, use the old RtlDosPathNameToNtPathName API instead of the newer one. (Alex Ionescu)
  • [RTL]: Fix prototype of RtlDosPathNameToNtPathName_U and fix code to match the new prototype. [NDK]: Add RTL_RELATIVE_NAME_U which is the Windows 2003+ structure used instead of CURDIR for all relative path APIs. (Alex Ionescu)
  • [IP] Store the address of an outgoing NIC properly (gethostname() fix) Don't do an explicit bind if we don't have to (ws2_32_winetest sock hang fix) (Cameron Gutman)
  • [IP] Reset the reassembly timeout when a new fragment is received (Cameron Gutman)
  • [OSKITTCP] Fix a crash that occurs during BitTorrent downloads The official BitTorrent client works now (Cameron Gutman)
  • [NTDLL]: Always compile your code before comitting, like my cat used to say. (Alex Ionescu)
  • [NTDLL]: Reimplement RtlGetCurrentDirectory_U... I couldn't even understand what the old version was doing. This one is at least commented and makes more sense. (Alex Ionescu)
  • [RTL]: RtlDetermineDosPathNameType_U Path is not optional. Checked build ASSERTs if not present. Also, \\? is valid, not only \\., so this should fix a bunch of incorrect path determinations. Aren't there supposed to be unit tests for these things?! (Alex Ionescu)
  • [RTL]: Clarify what RtlGetLongestNtPathLength returns instead of using "+9" as a magic constant. (Alex Ionescu)
  • [RTL]: One day, Microsoft is going to stop using flags that are negatives. Fix boot/etc. (Alex Ionescu)
  • [NDK]: Add missing RtlImageNtHeaderEx flags. [RTL]: Implement RtlImageNtHeaderEx and make RtlImageNtHeader call it. This will result in much stricter (and correct) PE loading by default, and enable a flag which can do even stricter checks. [NTDLL]: Export RtlImageNtHeaderEx (maybe NTOS should export it too, not sure). (Alex Ionescu)
  • Add more NT status messages. Few of them are used by new LDR. Contains patch by Thomas Faber. (Rafał Harabień)
  • [RTL] Revert r52612 It came before its time ;) (Cameron Gutman)
  • [RTL] Enable the proper implementation of RtlActivateActivationContextUnsafeFast (Cameron Gutman)
  • [EVENTLOG] Fix MSVC warnings (Rafał Harabień)
  • [NTDLL]: Multiple fixes and cleanups to several loader functions in ldrutils. [NTDLL]: Use original symbolic function names instead of modified ones. [NTDLL]: Fixup some incorrect flag and typedef definitions with correct ones. [NTDLL]: Tag functions which seem broken/lacking in functionality/very different from the rest of the code the LDR rewrite was based on. (Alex Ionescu)
  • [NTDLL/LDR] Fix build (not sure if its right place for IMAGE_LOADER_FLAGS_*) Remove unused label (Rafał Harabień)
  • [BZIP2] Fix MSVC build (Rafał Harabień)
  • [NORMALIZ] Don't build normaliz.dll - it's Win Vista library. It didn't even work because exports was redirected to commented out kernel32 exports. GCC ignored it but MSVC returns error in such case. (Rafał Harabień)
  • [NTOSKRNL] Update TRAP_ENTRY macro to generate debugging information. Now WinDbg knows how to deal with the trap functions and also shows the user mode back traces. (Timo Kreuzer)
  • [NTDLL]: Fix multiple levels of fail in LdrGetDllHandleEx (returning with lock held, leaking memory, using NULL pointers, using magic flags, missing ASSERTs, buffer overflows, usage of incorrect constants, ignoring status failures, lack of varaible initialization, incorrect string initialization). (Alex Ionescu)
  • [WLANSVC] Set status SERVICE_STOPPED when the service has been stopped. (Eric Kohl)
  • [NTDLL]: Fix LdrUnlockLoaderLock bugs. 4x10000$. (Alex Ionescu)
  • [IP] Complete waiting requests upon socket error Fixes connect() stall forever if the remote side is not listening (Cameron Gutman)
  • [NDK] Fix LPCP_PORT_OBJECT definition (Timo Kreuzer)
  • [IP] Return the amount of data sent in XXXSendDatagram() functions Fixes send() and sendto() return values for datagram sockets (bug exposed by the AFD send user-mode IRP rewrite) (Cameron Gutman)
  • [MSAFD/AFD] Pass the non-blocking information as a boolean (mswsock_new does this too) [AFD] Don't block waiting for a connection to accept on a non-blocking listener (Cameron Gutman)
  • [RTL] Fix RtlFindSetBits to search for bits before the HintIndex as well Remove a wrong (and commented out) ASSERT Fix MSVC warnings (Timo Kreuzer)
  • [IP] Handle an EPIPE error (Cameron Gutman)
  • [OSKITTCP] Remove socket state checks from OskitTCPRecv and OskitTCPSend Oskit already returns ESHUTDOWN when sosend is called on a socket with SS_CANTSENDMORE so it is unnecessary The check in OskitTCPRecv broke returning success and 0 bytes on a graceful shutdown (We got the FIN, set SS_CANTRCVMORE, signaled the connection, tried to read and failed with ESHUTDOWN instead of succeeding with 0 bytes) (Cameron Gutman)
  • [OSKITTCP] Signal readable when read is closed and writeable when write is closed This seems counterintuitive on the surface but signaling the socket in this way ensures that pending reads and writes are cancelled if either side shuts down send/receive Graceful close (recv() returns 0 bytes and FD_CLOSE is signaled when we receive a FIN) works much better (Cameron Gutman)
  • [TCPIP] Implement support for timing out disconnects Add debug prints for oskittcp errors [MSAFD] Set a disconnect timeout value that actually makes sense (1 second vs 100 nanoseconds) (Cameron Gutman)
  • [TCPIP] Fix binding to an unspecified port on a connect so that it works reliably by asking the TCP library for a free port instead of assuming that one we have is free Fix binding to an unspecified port on a listen which previously would result in the address file not having information stored about the port number assigned Fix a nasty bug which resulted in us binding to an arbitrary port during a connect even when the client wfix