From ReactOS Wiki
Jump to: navigation, search



  • KDB stabs handling changed, should require less memory and load slightly faster ;-) (Gregor Anich)
  • Fixed handling of \r\n in KDB (Gregor Anich)
  • Do not call HalReleaseDisplayOwnership when KDB is entered and screen debugging is not enabled. After an exception the screen will not turn blue but will freeze and be un-frozen when KDB is left (cont) (Gregor Anich)
  • Added OPTIMIZED Flag in config file for building an optimized kernel. (Alex Ionescu)
  • Tagged certain functions that were exported both under NT and ROS, but not marked as un/implemented. (Alex Ionescu)
  • Added all Mm, Rtl, Nt, Se, Zw stubs, and Synched EDF/DEF files, completing stub project. Related work done by Eric Kohl, Mike Nordell, Caroline Liang and Bob Yu. (Alex Ionescu)
  • Implemented PsGetProcessCreateTimeQuadPart, PsGetProcessDebugPort, PsGetProcessExitProcessCalled, PsGetProcessExitStatus, PsGetProcessId, PsGetProcessImageFileName, PsGetProcessInheritedFromUniqueProcessId, PsGetProcessPeb, PsGetProcessPriorityClass, PsGetProcessSectionBaseAddress, PsGetProcessSecurityPort, PsGetProcessWin32Process, PsGetProcessWin32WindowStation, PsIsProcessBeingDebugged, PsGetCurrentProcessSessionId, PsGetProcessSessionId, PsSetProcessPriorityClass, PsSetProcessSecurityPort, PsSetProcessWin32Process, PsSetProcessWin32WindowStation, PsGetThreadFreezeCount, PsGetThreadHardErrorsAreDisabled, PsGetThreadId, PsGetThreadProcess, PsGetThreadProcessId, PsGetThreadSessionId, PsGetThreadTeb, PsGetThreadWin32Thread, PsGetCurrentThreadPreviousMode, PsGetCurrentThreadStackBase, PsGetCurrentThreadStackLimit, PsSetThreadHardErrorsAreDisabled, PsSetThreadWin32Thread, PsRevertThreadToSelf. (Alex Ionescu)
  • Small fixes to I/O Manager and Implemented IoMakeAssociatedIrp. (Parts by Filip Navara, Alex Ionescu)
  • Set the thread of the Allocated IRPs created by Io/Nt Query functions that didn't do this. This can cause problems if the thread is ever read on a completed request. (Alex Ionescu)
  • I/O Manager fixes. (Filip Navara)
  • Initial Support for Quota Pool Allocations: Implemented ExAllocatePoolWithQuota, ExAllocatePoolWithQuotaTag, PsChargePoolQuota, PsChargeProcessNonPagedPoolQuota, PsChargeProcessPagedPoolQuota, PsChargeProcessPoolQuota. (Alex Ionescu)
  • Implemented a basic ExAllocatePoolWithTagPriority, but needs Special Pool support for Driver Verifier functionality. The allocation works however. (Alex Ionescu)
  • Rundown Protection Implementation. Implemented ExAcquireRundownProtection, ExAcquireRundownProtectionEx, ExInitializeRundownProtection, ExReInitializeRundownProtection, ExReleaseRundownProtection, ExReleaseRundownProtectionEx, ExRundownCompleted, ExWaitForRundownProtectionRelease. (Alex Ionescu)
  • Fixed RtlUnwind to correctly remove SEH frames and not to call ZwContinue. (Filip Navara)
  • Fixed NtQueryInformationProcess to return STATUS_NOT_IMPLEMENTED for unimplemented cases. (Filip Navara)
  • Improved implementation of UnhandledExceptionFilter. (Filip Navara)
  • Fixed dispatching of nested exceptions. (Filip Navara)
  • Corrected the obtaining of TLS callbacks address. (Filip Navara)
  • RegQueryValueExW shouldn't touch *lpcbData if lpData == NULL. (Filip Navara)
  • RegEnumValueW should fill in *lpcbData if lpData == NULL. (Filip Navara)
  • Change length checking semantics of NtEnumerateKey for KeyBasicInformation. (Filip Navara)
  • Fix handling of METHOD_IN_DIRECT IRPs. (Filip Navara)
  • Fix heap corruption on converting ANSI -> UNICODE strings. (Filip Navara)
  • Support for deserialized miniports (experimental). (Filip Navara)
  • Set StackPtr->Parameters.Read.Length in IoPageRead. (Filip Navara)
  • Set StackPtr->Parameters.Write.Length in Io[Synchronous]PageWrite. (Filip Navara)
  • Don't increase Irp->AssociatedIrp.IrpCount in IoMakeAssociatedIrp. The caller is responsible for doing it. (Filip Navara)
  • Don't unlock MDLs of associated Irps. (Filip Navara)
  • Fix deleting of section if an early failure during section creation happens and not all structures are initialized yet. (Filip Navara)
  • Fix FsRtlDoesNameContainWildCards loop to take into account the first and lst letter of the expression. (Filip Navara)
  • Dumb implementation of FsRtlIsNameInExpression. (Filip Navara)
  • Copy over device object SectorSize and AlignmentRequirement in IoAttachDeviceToDeviceStack. (Filip Navara)
  • NtQuerySection should check for SECTION_QUERY access right and not SECTION_MAP_READ. (Filip Navara)
  • Implement NtNotifyChangeDirectoryFile. (Filip Navara)
  • Honour ApcRoutine and ApcContext parameters of NtQueryDirectoryFile. (Filip Navara)
  • Fix NtQueryDirectoryObject for empty directories. (Filip Navara)
  • Fix masking out the write flags in IoCheckShareAccess and IoSetShareAccess. (Filip Navara)
  • Implement CcRepinBcb and CcGetFileObjectFromBcb. (Filip Navara)
  • Partially implement CcUnpinRepinnedBcb, CcPinMappedData, CcPinRead, CcPreparePinWrite, CcInitializeCacheMap (Art Yerkes),and CcUninitializeCacheMap. (Filip Navara)
  • Fix ReadCacheSegmentChain to handle correctly big request and check for MDL request memory overflow. (Filip Navara)
  • Allow passing NULL BCB to CcSetFileSizes. (Filip Navara)
  • Ensure that registry files are opened using lowercase file names. (Filip Navara)
  • Mapping zero-sized files is prohibited. (Filip Navara)
  • Close the registry hive file object in CmiInitNonVolatileRegistryHive. (Filip Navara)
  • Revise order of PsInitializeThread to insert the thread to the lists after *all* the fields are initialized and while holding the PiThreadListLock lock. (Filip Navara)
  • Implement IntWideCharToMultiByteUTF8 since it's needed for saving Explorer configuration. (Filip Navara)
  • Use FsRtl routines for wildcard handling. (Filip Navara)
  • Fix setting of GDT and IDT pointers in KPCR. (Filip Navara)
  • Fix section object dereferencing in NtCreateSection. (Filip Navara)
  • Improved removable media support. (Hartmut Birr)
  • Implemented NtQueryVirtualMemory for unallocated regions. (Hartmut Birr)
  • Fixed some minor bugs in NtQueryVirtualMemory and its related query functions. (Hartmut Birr)
  • Update the page counters in MmGetContinuousPages. (Hartmut Birr )
  • Add a flag to PHYSICAL_PAGE, to detect if a free page is on the zeroed or on the unzeroed list. (Hartmut Birr)
  • Changed all internal memory functions to use the page frame number instead of the physical address. (Hartmut Birr)
  • Allowed MmCreateVirtualMapping to create mappings for more than one page. (Hartmut Birr)
  • Used invplg to invalidate a single tlb entry. (Hartmut Birr)
  • Simplified the access to the page tables/directories. (Hartmut Birr)
  • Returned more of the protection bits in MmGetPageProtect. (Hartmut Birr)
  • Ignore the PAGE_SYSTEM attribute and set the user bit according to the given address in MmSetPageProtect and MmCreateVirtualMappingUnsafe. (Hartmut Birr)
  • Don't change the accessed and dirty bit in MmSetPageProtect. (Hartmut Birr)
  • Fixed the calculation of used non paged pool pages in grow_block. (Hartmut Birr)
  • Enabled global pages if it is possible. (Hartmut Birr)
  • Put the kernel map onto a fixed location and establish a page table for the first 4MB in the very early boot process. (Hartmut Birr)
  • Disable the mapping for the page table pages within the bss section at boot time. (Hartmut Birr)
  • Replaced MmUpdateStackPageDir by MmUpdatePageDir which can establish the pde's of a process for any address range within the kernel address range. (Hartmut Birr)
  • Set the pde's for the kernel stack at thread creation time and not at any task switch. (Hartmut Birr)
  • Fixed a crash which occurs on thread switching if the pde's for the new process structure are not established within the address space of the old thread. (Hartmut Birr)
  • Rewrote MmInitializePageList. It isn't necessary to setup the pde's for the largest memory configuration at boot time. (Hartmut Birr)
  • Made the parts of the page directory map inaccessible from user mode which are setup at boot time. (Hartmut Birr)
  • Changed the sequence of some memory initialisation functions. (Hartmut Birr)
  • Check for a valid layout buffer entry in xHalIoAssignDriveLetters. (Hartmut Birr)
  • Check if the given address points into a valid section (in MmUnmapViewOfSection). (Hartmut Birr)
  • Check if the section isn't deleted straight (in MmUnmapViewOfSection). (Hartmut Birr)
  • NtOpenThread should look at the CIDs UniqueThread member only, not at UniqueProcess. Makes OpenThread() work. (Gé van Geldorp)
  • Implement TokenOrigin class for GetTokenInformation (Gé van Geldorp)
  • Copy AuthenticationId from existing token when duplicating a token (Gé van Geldorp)
  • Use MmCopyFrom/ToCaller to transfer data in NtQueryDirectoryObject, also lock list when traversing it (Gé van Geldorp)
  • Don't clobber the exception list in the PCR when handling a trap: it breaks kernel-mode SEH (KJK::Hyperion)
  • cleanup/reformat syscall code, save return value as soon as possible so that eax is freed up, which also simplifies the implementation of KiAfterSystemCallHook(), also removes a couple redundant instructions. (Royce Mitchell III)
  • NtContinue fixed to return failure on invalid params ( not checking for access violations yet ), but not clobber EAX on success. This patch was made possible by the collaborative efforts of (Royce Mitchell III, KJK::Hyperion, Art Yerkes, and Skywing)
  • NtRaiseException fixed to not clobber EAX any more, and both NtContinue and NtRaiseException no longer clobber EDX. kmode SEH works now, but there are likely some lingering bugs. This patch was made possible by the collaborative efforts of (Royce Mitchell III, KJK::Hyperion, Art Yerkes, and Skywing)
  • Implement the security descriptor cache (Eric Kohl)
  • Improve many security-related functions (Eric Kohl)
  • Implement basic functionality to ingerit an objects security descriptor (Eric Kohl)


  • Implementation of HalReadDmaCounter. (Filip Navara)
  • Let HalAllocateCommonBuffer allocated 64K aligned memory. (Filip Navara)
  • Change IoMapTransfer to support auto initialize and single transfer mode, 16-bit DMA and common buffers. (Filip Navara)
  • Stop DMA transfer in IoFlushAdapterBuffers. (Filip Navara)
  • Replaced all single pushf/popf inline assembler instructions with a macro which doesn't change the stack layout. (Hartmut Birr)


  • Handle correctly bottom-up surfaces in the VGA driver. (Filip Navara)
  • Stop processing if exact match is found in ClosestColorMatch. (Filip Navara)
  • Fixed locking in NtGdiGetBitmapBits. (Filip Navara)
  • Removed IntCopyBitmap and replaced it's usage by BITMAPOBJ_CopyBitmap. (Filip Navara)
  • Fixed setting of SURFOBJ->pvBits and SURFOBJ->pvScan0 in EngCreateBitmap for bottom-up surfaces. (Filip Navara)
  • Call IntEngBitBlt instead of EngBitBlt from EngCopyBits. (Filip Navara)
  • Correctly set the SURFOBJ->hsurf field. (Filip Navara)
  • Support for bottom-up mouse cursors in the Eng* cursor emulation routines. (Filip Navara)
  • Fix locking in error cases of NtGdiRestoreDC (get Primitives demo to start). (Filip Navara)
  • Fix BitmapFormat to return 0 for unknown bit depth. (Filip Navara)
  • New implementation of NtGdiGetDIBits. (Filip Navara)
  • Fixed buffer handling and coordinate translation in IntGdiPolyline. (Filip Navara)
  • Allocate memory from paged pool in EngAllocMem. (Filip Navara)
  • Support resursive locking of the GDI objects. (Filip Navara)
  • Call EngMovePointer instead of DrvMovePointer if driver DrvSetPointerShape returned SPS_DECLINE. (Filip Navara)
  • Don't continue execution if there is no exception handler. (Filip Navara)
  • Send the cursor to display driver in top-down format. (Filip Navara)
  • Guard against out of bounds access to KeyboardLayout->pusVSCtoVK in W32kKeyProcessMessage. (Filip Navara)
  • Fixed SetKeyState to correctly index the keyboard state table. (Filip Navara)
  • Use absolute value of the color difference when calculating color match rating. (Filip Navara)
  • Handle allocation failure in IntCreateBitmap. (Filip Navara)
  • Don't allow creating surface with BitmapFormat == 0 (Invalid) in IntCreateSurface. (Filip Navara)
  • Fixed ExcludeClipRgn for case when DC contained no clipping region before the call to this function. (Filip Navara)
  • Don't create XLATEOBJ for BitBlt and StretchBlt operations that don't use source DC. (Filip Navara)
  • Honor the "Extended" bit in SetKeyState. (Filip Navara)
  • Display window icon only if there is any. (Filip Navara)
  • DrawIcon should return TRUE if it succeeds. (Filip Navara)
  • Handle UnsafeRect == NULL case in NtUserGetUpdateRect. (Filip Navara)
  • Implementation of [NtGdi]GetTextFace[W] and [NtGdi]GetFontData[W]. (Filip Navara)
  • Fixed locking in NtGdiGetCharWidth32. This caused problems with AbiWord reported by Jason Filby. (Filip Navara)
  • Add IntEngCreateSrcMonoXlate. (Filip Navara)
  • Get rid of compiler warnings in Win32k. (Filip Navara)
  • Handle indexed palettes in IntEngCreateSrcMonoXlate. (Filip Navara)
  • Fix WS_CAPTION style handling. (Filip Navara)
  • Maintain higher internal precision during font rendering. (Filip Navara)
  • Honour bitmap->bitmap_left while rendering. (Filip Navara)
  • Correctly handle ClipCursor(NULL) case. (Filip Navara)
  • Implemented NtUserEnumDisplaySettings/IntEnumDisplaySettings (Gregor Anich)
  • Only accept matching palette (Gé van Geldorp)
  • FindWindow() should search the threads desktop, not the active one. (Gé van Geldorp)
  • Implement NtUserBuildNamesList() (Gé van Geldorp)
  • If SendMessageTimeout() times out, GetLastError() should return 0 (Gé van Geldorp)
  • Simplified assigning of DDI functions (Thomas Weidenmueller)
  • Fixed graphics (gui) checks (Thomas Weidenmueller)
  • Added support to paint and change desktop wallpapers (Thomas Weidenmueller)



  • Simple experimental tool to make try ... blocks into PSEH. (Art Yerkes)


  • Turned on -Wall and -Werror, fixed prototypes in almost every file. (Art Yerkes)
  • Fixed serious inherited problem with passing NTE as IP_INTERFACE too a few places. (Art Yerkes)
  • Removed reference counts, preferring more obvious ownership rules. (Art Yerkes)
  • Pulled lots of address structs into their containing structs. (Art Yerkes)


  • Reimported Oskittcp closer to the freebsd code, and also linkable from userland. (Art Yerkes)



  • Rewrote partial implementation for basic Internet Operations. Implemented WSPSocket, WSPBind, WSPRecv, WSPRecvFrom, WSPSend, WSPSendTo, WSPDisconnect, WSPAccept, WSPListen, SockSetOption, SockGetOption, WSPStartup. (Alex Ionescu)



  • Implemented ImageLoad, MapAndLoad, ImageRvaToVa, ImageRvaToSection, ImageDirectoryEntryToData, GetImageUnusedHeaderBytes and BindImageEx (Alex Ionescu)
  • Implemented TouchFileTimes (Thomas Weidenmueller)


  • EnumDisplaySettingsExA fixed (did not output anything into devmode) (Gregor Anich)
  • Implement EnumDesktopsA/W and EnumWindowStationsA, rewrite of EnumWindowStationsW (Gé van Geldorp)
  • Fixed displaying the context menu for edit controls. (Thomas Weidenmueller)
  • Added support to change desktop wallpapers. (Thomas Weidenmueller)
  • Sync'ed the WINE (20040724) standard user controls and a few later syncs (Thomas Weidenmueller)
  • Fixed handling of NULL arguments in ChangeDisplaySettings(Ex)(). (Grigor Anich)


  • Cleanup buffer allocation in some console functions. (Filip Navara)
  • Always use non-antialiased font for consoles. (Filip Navara)
  • Minor correction to multibyte character conversion for GUI consoles. (Filip Navara)
  • Support for non-ENABLE_PROCESSED_OUTPUT and non-ENABLE_WRAP_AT_EOL_OUTPUT modes in ConioWriteConsole. (Filip Navara)
  • Other minor fixes to get Wine Kernel32 Console test working. (Filip Navara)
  • Complete rewrite of environment variable handling to get rid of memory leaks, heap corruption and spurious pointers. (Filip Navara)
  • Fix input peeking in CSRSS to not return fake events. (Filip Navara)
  • Fixed NumLock, CapsLock and ScrollLock handling in ConioGetShiftState. (Filip Navara)
  • Fixed the back-space-handling in ConioWriteConsole. (Hartmut Birr)
  • Allow selection of text in gui consoles. (Thomas Weidenmueller)
  • use WM_NOTIFY to communicate with the desktop window thread. (Thomas Weidenmueller)


  • More complete implementation of CharUpperA. (Filip Navara)
  • Implement ReadConsoleInputW, PeekConsoleInputW, ReadConsoleOutputW, WriteConsoleOutputW, SetConsoleIcon and GetConsoleWindow. (Filip Navara)
  • Fix Get[System/Window]Directory[AW] for Buffer == NULL case. (Filip Navara)
  • Fix return value of GetDriveType[AW]. (Filip Navara)
  • Implementation of GetCPFileNameFromRegistry, GetNlsSectionName and IsValidCodePage. (Filip Navara)
  • Partial implementation of MultiByteToWideChar and WideCharToMultiByte. (Filip Navara)
  • Fix realloc to not call HeapReAlloc for allocating new memory. (Filip Navara)
  • Remove invalid code from CreateToolhelp32Snapshot. (Filip Navara)
  • RtlReAllocateHeap shouldn't allocate memory if ptr == NULL. (Filip Navara)
  • Simplify CreateFileMapping[AW]. (Filip Navara)
  • Fix return value of GlobalReAlloc and GlobalUnlock. (Filip Navara)
  • Fix converting of UTF8 sequences in IntMultiByteToWideCharUTF8. (Filip Navara)
  • Properly set last error in WaitForSingleObjectEx. (Filip Navara)
  • Implemented GetACP() and GetOEMCP(). (Hartmut Birr)
  • Handle file names like ./somename in SearchPath() (Gé van Geldorp)
  • Don't reset LastError on success (CreateFile) (Gé van Geldorp)
  • Fix WinExec return value (Gé van Geldorp)
  • Implemented timer queue functions (Thomas Weidenmueller)
  • Implemented Get/SetProcessPriorityBoost (only the kernel32 part) (Thomas Weidenmueller)
  • Fixed copying LARGE_INTEGER structs to FILETIME structs that may cause alignment problems (Thomas Weidenmueller)



  • Fix CreateMappedBitmap for palette-less bitmaps. (Filip Navara)
  • Create toolbar with a not zero default size, it allows applications which check toolbar size before adding buttons to it work. (Filip Navara, Dmitry Timoshkov)
  • Added support for PBS_MARQUEE style. (Thomas Weidenmueller)
  • Use system metrics values in TOOLBAR_DrawPattern instead of hardcoded values. (Filip Navara)
  • Wizard contents shouldn't be moved by the size of watermark bitmap. (Filip Navara)
  • Fix PSH_WIZARD97_[NEW/OLD] checks. (Filip Navara)
  • Blit the watermark even if PSH_USEHBMWATERMARK flag isn't set and blit only the part that fits into the dialog. (Filip Navara)
  • Implemented PSM_INDEXTOHWND. (Marcus Meissner)
  • Implemented syslink control. (Thomas Weidenmüller)
  • Properly calculate caption length when converting multi-byte string to wide character one. (Filip Navara)
  • Create a tooltip on demand in the Listview. (Mike McCormack)
  • Implemented PSM_HWNDTOINDEX. (Robert Shearman)
  • Add stubs for some new property sheet messages. (Robert Shearman)
  • Clean up the mask drawing code. (Robert Shearman)
  • Improve bitmap not found message. (Robert Shearman)
  • Start of balloon tip support. (Robert Shearman)
  • Don't crash on NULL tab text. (Jon Griffiths)
  • Make the pattern drawing in TOOLBAR_DrawPattern look better. (Filip Navara)
  • Make pattern brush data const. (Jon Griffiths)
  • Prevent listview from crashing when a null sort function is passed to LVM_SORTITEMS. (Mike McCormack)
  • Don't update infoPtr->dwStyle in LISTVIEW_WindowProc. It's already handled in LISTVIEW_StyleChanged and LISTVIEW_Create processing. (Filip Navara)
  • Ignore WS_VSCROLL/WS_HSCROLL flags in infoPtr->dwStyle because they're not always up-to-date. (Filip Navara)
  • Use correct dialog title for Wizard 97 and correctly display header bitmap for old-style Wizard 97. (Filip Navara)
  • Fix TOOLBAR_DrawMasked to correctly use image list mask. (Filip Navara)
  • Move watermark and header bitmap loading code from PROPSHEET_CreatePage into its own function PROPSHEET_LoadWizardBitmaps and call this function from property sheet's dialog procedure. (Eric Kohl)
  • Correct tooltips behavior. (Thomas Weidenmueller)


  • Optimized and re-wrote parts of VFAT (Filip Navara)
  • Fixed a bug, which prevents an opening of files, if the file name contains short path names. (Hartmut Birr)


  • Added OpenGL support. File is built by default and included with the distribution (Gregor Anich)


  • Added OpenGL support. File is built by default and included with the distribution (Gregor Anich)


  • Added OpenGL support. File is built by default and included with the distribution (Gregor Anich)




  • Destroy associated listview when IShellView is destroyed. (Filip Navara)
  • Don't allow selecting separators in start menu and avoid nasty refreshing when moving mouse above the left ReactOS Logo bar. (Filip Navara)
  • Execute any file from Start->Run, myFile.doc starts Word for example. (Jens Collin)
  • Scroll mode for very long start menus (Martin Fuchs)
  • Update of xmlstorage and some minor bug fixes (Martin Fuchs)
  • Ignore unexpected exceptions while extracting icons (Martin Fuchs)
  • Fix root path for folders opened from the desktop (Martin Fuchs)
  • Precompiled header support for GCC 3.4.1 (Martin Fuchs)
  • Use same startmenu entries height as MS explorer (Martin Fuchs)
  • Recalculate start menu root position for any call (Martin Fuchs)
  • Display version information in about dialog and on the desktop (Martin Fuchs)
  • Implementation of IServiceprovider interface (Martin Fuchs)
  • Display different drive icons depending on the drive type (Martin Fuchs)
  • Integrate new drive icons of Klemens Friedl (Martin Fuchs)
  • Context menus for qick launch bar (Martin Fuchs)
  • Context menus for start menus (Martin Fuchs)



  • Fixed the compilation as unicode. (Hartmut Birr)
  • Search only for the file name directly if the name contains a known extension. (Hartmut Birr)
  • Don't add an extension if the file name contains a known extension. (Hartmut Birr)
  • Execute any file from command line, myFile.doc starts Word. (Jens Collin)
  • 'cd' command works correctly with "" (Jens Collin)
  • Use PATHEXT env. variable to execute files (Jens Collin)
  • Fix autocompletion (Jens Collins)
  • Use default PATHEXT if none found in environment (Gé van Geldorp)


  • Fixed some pointer increments/decrements. (Hartmut Birr)
  • Fixed some 'dereferencing type-punned pointer will break strict-aliasing rules' warnings on higher optimisation levels. (Hartmut Birr)
  • Enabled the declaration of DbgPrint because they is used in DPRINT and CHECKPOINT macros. (Hartmut Birr)


  • Fixed the comparing of video modes in IntInitScreenInfo. (Hartmut Birr)


  • Reduced the necessary size of inquiry data to 4 byte. (Hartmut Birr)
  • Incremented the active irp counters in SpiAddActiveIrp, because the valid value is necessary in this function while starting new irp's. (Hartmut Birr)
  • Do not set the command queueing enable flag in SpiAddActiveIrp, because this is the job of a driver above scsiport. (Hartmut Birr)

VBE driver

  • Add power managment code to the vbe driver (Magnus Olsen, Filip Navara (commit and source clean up) )
  • Restoring of character size in VBEResetHw (Hervé Poussineau)
  • Use LinBytesPerScanLine (value for linar framebuffer modes) instead of BytesPerScanLine for VBE 3.0 controllers. (Filip Navara)



  • Don't statically link userenv.dll with ole32.dll as userenv is required by winlogon. (Thomas Weidenmueller)



  • Shutdown step 1: inform winlogon (Gé van Geldorp)
  • The first thing winlogon does is registering itself as the logon app to get special access rights granted (Thomas Weidenmueller)


  • Split "old-style Win 3.1" file dialog into 16 and 32 bit code (Gé van Geldorp)
  • Add the selected extension from file type filter if file name does not contain the file extension. (Krishna Murthy)
  • Fix control coordinates in German and French versions of open file dialog. (Dmitry Timoshkov)
  • Remove duplicate control ids in Catalan, Russian and Ukrainian dialogs. (Dmitry Timoshkov)
  • Fixed collate icon behavior. (James Hawkins)
  • Check for empty PrinterName in PRINTDLG_WMCommandW. (James Hawkins)
  • Avoid some non-portable makefile constructs, and get rid of the ALTNAMES variable. (Alexandre Julliard)
  • Get rid of the non-standard ICOM_VTABLE macro. (Alexandre Julliard)
  • Minor fixes and updates to the German resource files. (Henning Gerhardt)
  • Translation update. (Jacek Caban)
  • Unicode file dialogs send and receive unicode messages. (Mike McCormack)
  • Fix a bug in passing parameters to CFn_WMInitDialog and CFn_WMCommand in FormatCharDlgProcW. (Jacek Caban)
  • Cleanup A->W cross calls. (James Hawkins)
  • Better fix for collate icon behavior. (James Hawkins)



  • Fix a few serious race conditions in the OLE object pipe server. (Mike McCormack)
  • Add some explanations to compobj.c, implement flushing message queue on shutdown. (Mike McCormack)
  • Assorted spelling fixes. (Francois Gouget)
  • IMalloc vtables are static. (Marcus Meissner)
  • IID_IObjectWithSite is already in libuuid, no need to declare here. (Marcus Meissner)
  • Return an error in CoMarshalInterface if the IUnknown pointer is NULL and don't crash. (Aric Stewart)
  • Removed the winedefault.reg message. (Ivan Leo Puoti)
  • Add static to non-exported marshal functions. (Robert Shearman)
  • Remove unused marshal functions. (Robert Shearman)
  • Rename several RPC functions. (Robert Shearman)
  • Avoid some non-portable makefile constructs, and get rid of the ALTNAMES variable. (Alexandre Julliard)
  • Get rid of the non-standard ICOM_VTABLE macro. (Alexandre Julliard)
  • Get rid of the non-standard ICOM_VFIELD macro. (Alexandre Julliard)
  • Get rid of the non-standard ICOM_DEFINE macro. (Alexandre Julliard)
  • Moved ICOM_THIS_MULTI definition out of objbase.h and into the files that use it. (Alexandre Julliard)
  • Added a test for stat'ing a memory based storage file. (Mike McCormack)
  • stat on memory storage should return a NULL name, not "". (Mike McCormack)
  • Assorted spelling fixes. (Francois Gouget)
  • Modify widl to put the C COM macros inside an #ifdef COBJMACROS block as is done in the Windows headers. (Francois Gouget)
  • Add #define COBJMACROS where needed in Wine. (Francois Gouget)
  • Fixes the compilation of the oleaut32/tests/olefont.c and urlmon/tests/url.c conformance tests with the Windows headers. (Francois Gouget)
  • Implement disconnect for proxies so that stubs are properly destroyed. (Mike Hearn)
  • Disconnect proxies at COM shutdown to release the corresponding stubs. (Mike Hearn)
  • Don't marshal IClassFactory into the local server pipe until we have connected, otherwise we might end up with stubs that are never used. (Mike Hearn)
  • Pass -Embedding switch to EXE servers, more tracing. (Mike Hearn)
  • Fix misleading warning ole CoGetClassObject. (Mike Hearn)
  • Fix ref counting in StdMarshalImpl_MarshalInterface for case where the stub already exists. (Mike Hearn)
  • Implement StdMarshal::ReleaseMarshalData. (Mike Hearn)
  • Fix infinite loops by checking the return value of _invoke_onereq and bailing appropriately. (Mike Hearn)
  • Add a comment on the SendReceive behaviour. Improve two others. (Mike Hearn)
  • Unref stub after invoking on it. (Mike Hearn)
  • Remove unneeded STUBMGR_Start call. (Robert Shearman)
  • Cleanup compobj_private.h. (Robert Shearman)
  • Fix some inaccuracies in a comment and reformat. (Robert Shearman)
  • Add static to non-exported marshal functions. (Robert Shearman)
  • Remove unused marshal functions. (Robert Shearman)
  • Rename several RPC functions. (Robert Shearman)
  • Emit fixme for known local wrong behaviour. (Robert Shearman)
  • Implement StdMarshal::ReleaseMarshalData. (Robert Shearman)
  • Document wrong behaviour for IRunningObjectTable. (Robert Shearman)
  • Fix infinite loops by checking the return value of _invoke_onereq and bailing appropriately. (Robert Shearman)
  • Add a comment on the SendReceive behaviour. Improve two others. (Robert Shearman)
  • Set RPC data representation. (Robert Shearman)
  • Updated some MSDN links in the code. (Jeroen Janssen)



  • Don't ERR on a used connection being destroyed. (Mike Hearn)
  • Don't print an extra newline in the olerelay code. (Mike Hearn)
  • Remove the RPC connection cache as Windows does not allow multiple binds on the same connection. (Mike Hearn)
  • Correct connection releases on error path in RPCRT4_OpenBinding. (Mike Hearn)
  • Moved ICOM_THIS_MULTI definition out of objbase.h and into the files that use it. (Alexandre Julliard)
  • Get rid of the non-standard ICOM_VTABLE macro. (Alexandre Julliard)
  • Get rid of the non-standard ICOM_VFIELD macro. (Alexandre Julliard)



  • More German translations. (Henning Gerhardt)
  • Added some Japanese translations. (Hajime Segawa)
  • Lookup driver information in registry and system.ini. (Dimitrie O. Paun)
  • Make the code inspect the registry/system.ini at call time, rather then initialization time. (Dimitrie O. Paun)
  • Code cleanups. (Dimitrie O. Paun)
  • Avoid some non-portable makefile constructs, and get rid of the ALTNAMES variable. (Alexandre Julliard)
  • Change MIXER_GetDev to take pointer to returned address pointer and return one of 3 possible return values rather than an address or NULL. (Robert Reif)
  • Adds *GetDevCapsW bad pointer check. (Robert Reif)
  • Adds waveOutGetDevCapsW test. (Robert Reif)
  • Implementation of mmTaskCreate. Based on patch by Eric Pouech. (Filip Navara)
  • Fallback implementation in waveOut[Un]PrepareHeader. (Filip Navara)
  • Localization of devenum to Portuguese and minor corrections. (Marcelo Duarte)


  • Remove dead code. (Mike McCormack)
  • Added EM_SCROLLCARET definition in include/richedit.h and handling in WindowProc. (Jacek Caban)





  • Added and export stubs for all documented functions in hid.dll (Thomas Weidenmueller)
  • Implemented HidD_FlushQueue, HidD_FreePreparsedData, HidD_GetAttributes, HidP_GetButtonCaps, HidD_GetFeature, HidD_GetHidGuid, HidD_GetInputReport, HidD_GetManufacturerString, HidD_GetNumInputBuffers, HidD_GetPhysicalDescriptor, HidD_GetPreparsedData, HidD_GetProductString, HidD_GetSerialNumberString, HidP_GetValueCaps, HidD_Hello, HidD_SetFeature, HidD_SetNumInputBuffers and HidD_SetOutputReport (Thomas Weidenmueller)






  • Improve PCI device descriptions (Eric Kohl)


  • Add environment variables page to the system control panel (Eric Kohl)
Changelogs / Versions / Community Changelogs
0.0.x Series 0.0.8 | 0.0.9 | 0.0.10 | 0.0.11 | 0.0.12 | 0.0.13 | 0.0.14 | 0.0.15 | 0.0.16 | 0.0.17 | 0.0.18 | 0.0.19 | 0.0.20 | 0.0.21
0.1.x Series 0.1.0 | 0.1.1 | 0.1.2 | 0.1.3 | 0.1.4 | 0.1.5
0.2.x Series 0.2.0 | 0.2.1 | 0.2.2 | 0.2.3 | 0.2.4 | 0.2.5 | 0.2.6 | 0.2.7 | 0.2.8 | 0.2.9
0.3.x Series 0.3.0 | 0.3.1 | 0.3.2 | 0.3.3 | 0.3.4 | 0.3.5 | 0.3.6 | 0.3.7 | 0.3.8 | 0.3.9 | 0.3.10 | 0.3.11 | 0.3.12 | 0.3.13 | 0.3.14 | 0.3.15 | 0.3.16 | 0.3.17
0.4.x Series 0.4.0 | 0.4.1 | 0.4.2 | 0.4.3 | 0.4.4 | 0.4.5 | 0.4.6 | 0.4.7