Difference between revisions of "ChangeLog-0.3.11"

From ReactOS Wiki
Jump to: navigation, search
(Kernel-mode subsystem server (Win32K))
(Add my stuff)
Line 112: Line 112:
  
 
=== KD ===
 
=== KD ===
 
 
* Continued the implementation of kernel support for debugging with WinDbg/KD. Implemented missing handling of various functionality in the KD support APIs and fixed missing or broken support in other areas. Debugging ReactOS kernel mode with WinDbg now works quite well. ([[Stefan Ginsberg]])
 
* Continued the implementation of kernel support for debugging with WinDbg/KD. Implemented missing handling of various functionality in the KD support APIs and fixed missing or broken support in other areas. Debugging ReactOS kernel mode with WinDbg now works quite well. ([[Stefan Ginsberg]])
  
 
=== KDBG ===
 
=== KDBG ===
 +
* Get rid of the KDB_MODULE_INFO and operate with LDR_DATA_TABLE_ENTRYs directly.<br>This saves us from some copy steps and unneeded search operations. ([[Colin Finck]])
 +
* Don't duplicate code in KdbpSymFindModule and KdbpSymFindUserModule. Use a helper function instead and call it twice from KdbpSymFindModule. ([[Colin Finck]])
 +
* Get rid of KdbpSymFindModuleByAddress, KdbpSymFindModuleByName and KdbpSymFindModuleByIndex. Instead use a single KdbpSymFindModule for all three variants. ([[Colin Finck]])
 +
* Remove some unused functions and defines. ([[Colin Finck]])
  
 
=== KE ===
 
=== KE ===
Line 377: Line 380:
  
 
== Static Libraries ==
 
== Static Libraries ==
 +
=== ATL ===
 +
* Initial submit with enough code to compile new browseui classes ([[Andrew Hill]])
 +
* Added Init and Term to CComModule ([[Andrew Hill]])
 +
 
=== CMLIB ===
 
=== CMLIB ===
 
* CmpPrepareKey: Call CmpPrepareKey vice CmpPrepareIndexOfKeys for cell signature of CM_KEY_NODE_SIGNATURE. Fixes ASSERT in cminit.c that occurs on reboot after installing some applications.  ([[Michael Martin]])
 
* CmpPrepareKey: Call CmpPrepareKey vice CmpPrepareIndexOfKeys for cell signature of CM_KEY_NODE_SIGNATURE. Fixes ASSERT in cminit.c that occurs on reboot after installing some applications.  ([[Michael Martin]])
Line 382: Line 389:
 
=== CRT ===
 
=== CRT ===
 
* Rewrite time implementation, implement 64bit time support. ([[Timo Kreuzer]])
 
* Rewrite time implementation, implement 64bit time support. ([[Timo Kreuzer]])
 
=== IP ===
 
 
=== ATL ===
 
* Initial submit with enough code to compile new browseui classes ([[Andrew Hill]])
 
* Added Init and Term to CComModule ([[Andrew Hill]])
 
  
 
=== DELAYIMP ===
 
=== DELAYIMP ===
 
* Implement delayimp lib. ([[Timo Kreuzer]])
 
* Implement delayimp lib. ([[Timo Kreuzer]])
 +
 +
=== SCRNSAVE ===
 +
* Properly handle multiple monitors by expanding the screensaver window to all monitors ([[Michael Bruestle]])
  
 
= USETUP =
 
= USETUP =
Line 478: Line 482:
 
* Sync WineFile to Wine 1.1.31 ([[Daniel Reimer]])
 
* Sync WineFile to Wine 1.1.31 ([[Daniel Reimer]])
 
* Sync WordPad and Winhlp32 and xcopy and write to Wine 1.1.31 ([[Daniel Reimer]])
 
* Sync WordPad and Winhlp32 and xcopy and write to Wine 1.1.31 ([[Daniel Reimer]])
 
=== Downloader ===
 
  
 
=== Explorer ===
 
=== Explorer ===

Revision as of 23:55, 10 December 2009

This is the changelog for ReactOS™ version 0.3.11 (released *pending*), 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.10 (released 5th July, 2009).

Contents

General

Generic 0.3.11 Changes

Translations

Brazilian

Bulgarian

Chinese

Czech

Dutch

German

Hungarian

Italian

  • Italian translations for spider, explorer_new, ks.inf, usetup (Gabriel Ilardi)

Japanese

Norwegian

Polish

Romanian

Slovak

Spanish

Generic

  • Generic: Updated resources for explorer_new, added english ks.inf (Gabriel Ilardi)

Headers

DDK

NDK

PSDK

  • Reorganize some headers to make them better match the Platform SDK (Andrew Hill)
  • Move InlineIsEqualGUID to guiddef.h (Andrew Hill)
  • Create new header files shlguid_undoc.h, shlobj_undoc.h, and shlwapi_undoc.h to hold undocumented types, functions, and GUIDs (Andrew Hill)
  • Move some undocumented definitions declared in explorer_new/todo.h and undoc.h to new headers (Andrew Hill)
  • Add definition of RBSTR_CHANGERECT to commctrl.h (Andrew Hill)
  • IDeskBarClient inherits from IOleWindow, not IUnknown (Andrew Hill)
  • HMONITOR was declared in both dxsdk/axextend.idl and wine/wined3d.idl, but not in wtypes.idl where it belongs (Andrew Hill)

Host Tools

BUILDNO

LOG2LINES

RBUILD

RBUILD_HELPER

Core

Bootloader (FreeLoader)

Kernel and Executive (NTOSKRNL)

  • Make use of the _SEH2_YIELD macro when returning from an exception instead of pre-initializing status codes and checking them after leaving the SEH block. (Stefan Ginsberg)
  • Don't use ExSystemExceptionFilter in SEH filters if we know the caller is user mode. (Stefan Ginsberg)
  • Fixed the remaining issues for running the MP kernel (only on UP so far). Implemented stubbed code in the scheduler, DPC handling and context switch code and fixed various bugs in the spinlock implementation. (Stefan Ginsberg)

DBGK

  • Fixed support for sending second chance exceptions to user mode debuggers. (Stefan Ginsberg)

FSTUB

IO

  • Calling NtLoadDriver on an already loaded driver should fail with STATUS_IMAGE_ALREADY_LOADED. Fixes one test for kmtest driver tests and a bugcheck when loading drivers a second time. (Michael Martin)
  • Don't call ExFreePool for null pointers (Johannes Anderwald)
  • Don't touch the freed buffer in case of an error (Amine Khaldi)
  • Fix IoRegisterDeviceInterface, IoSetDeviceInterfaceState to handle reference strings (Johannes Anderwald)

KD

  • Continued the implementation of kernel support for debugging with WinDbg/KD. Implemented missing handling of various functionality in the KD support APIs and fixed missing or broken support in other areas. Debugging ReactOS kernel mode with WinDbg now works quite well. (Stefan Ginsberg)

KDBG

  • Get rid of the KDB_MODULE_INFO and operate with LDR_DATA_TABLE_ENTRYs directly.
    This saves us from some copy steps and unneeded search operations. (Colin Finck)
  • Don't duplicate code in KdbpSymFindModule and KdbpSymFindUserModule. Use a helper function instead and call it twice from KdbpSymFindModule. (Colin Finck)
  • Get rid of KdbpSymFindModuleByAddress, KdbpSymFindModuleByName and KdbpSymFindModuleByIndex. Instead use a single KdbpSymFindModule for all three variants. (Colin Finck)
  • Remove some unused functions and defines. (Colin Finck)

KE

  • Fixed a bug in KeDetachProcess and KeUnstackDetachProcess that caused a switch from the original process to itself instead of

switching from the attached process. (Stefan Ginsberg)

  • Removed a hack from KiGetMachineBootPointers and set the TSS selector properly in KiRosPrepareForSystemStartup instead for FreeLdr boot style. (Stefan Ginsberg)
  • Fixed a critical bug in KeFindConfigurationEntry; it passed NULL to KeFindConfigurationNextEntry which expected a pointer to a value containing NULL. This was hidden by the FreeLdr boot style as that boot style maps NULL, but got exposed by WinLdr boot style as NULL is not mapped there. (Stefan Ginsberg)

MM

  • NtAllocateVirtualMemory: Add check to make sure that BaseAddress + RegionSize is inside MemoryArea. For AllocationType of MEM_RESET add FIXME's and return STATUS_SUCCESS, without modifying attributes of region. Fixes 2 kernel32 virtual tests. (Michael Martin)
  • NtMapViewOfSection: When referencing the section object by handle, don't assume access mask of SECTION_MAP_READ. Access mask must be determined from page protection attributes passed in Protect parameter. Fixes 5 winetests for kernel32 virtual. (Michael Martin)
  • MiReserveAlignedSystemPtes: Add missing lock release (Johannes Anderwald)
  • Fixed recursive spinlock acquisition in the Memory Manager introduced by the rewrite: the old Mm calls certain routines for performing operations on PFNs, and those routines acquire the PFN lock, while the new Mm holds the PFN lock while working with PFNs, including calling those routines. Moved out spinlock acquire/release to the callers of those functions instead. (Stefan Ginsberg)
  • Added missing spinlock release to MiReserveAlignedSystemPtes. (Stefan Ginsberg)
  • Added missing synchronization for PsLoadedModuleList in certain cases. (Stefan Ginsberg)
  • Fix MmGrowKernelStack to check for available space. Timo Kreuzer)

OB

  • Fixed assumptions that memory allocated by ObCreateObject is zero-initialized (it shouldn't be) and removed the object zeroing hack. (Stefan Ginsberg)

PS

Hardware Abstraction Layer (HAL)

  • Reimplemented HalpCalibrateStallExecution with a more accurate implementation to determine the stall count factor for KeStallExecutionProcessor. (Stefan Ginsberg)

SMSS

NT System Library (NTDLL)

Run Time Library (RTL)

  • Map STATUS_NOT_FOUND to ERROR_NOT_FOUND (Johannes Anderwald)
  • Reimplemented RtlRaiseException and RtlRaiseStatus in assembly for x86 so they do not corrupt non-volatile registers when saving the callers context. (Stefan Ginsberg)
  • Fix stack offset in asm implementations of RtlInterlockedPopEntrySList, RtlInterlockedPushEntrySList and RtlInterlockedFlushSList. (Timo Kreuzer)
  • Make heap functions 64bit safe. (Samuel Serapión)

Kernel Mode Drivers

Audio Stack

BDASUP

  • Implement DllInitialize, BdaPropertyGetPinControl, BdaPropertyNodeTypes, BdaPropertyPinTypes, BdaInitFilter, BdaCreateTopology, BdaCheckChanges, BdaCommitChanges, BdaCreateFilterFactory, BdaCreateFilterFactoryEx, BdaCreatePin, BdaMethodCreatePin, BdaFilterFactoryUpdateCacheData, BdaGetChangeState, BdaMethodCreateTopology, BdaMethodDeletePin, BdaPropertyTemplateConnections, BdaStartChanges, BdaUninitFilter, BdaValidateNodeProperty (Johannes Anderwald)
  • Define automation tables for Filter & Pin (Johannes Anderwald)
  • Plug in automation tables when creating a new filter factory / pin (Johannes Anderwald)
  • Add BDA filter context to object bag, so that it gets freed automatically later (Johannes Anderwald)

FASTFAT

I8042prt

KBDCLASS

KDCOM

KS

  • Fix a bug in KsCancelIo which accessed already freed memory (Johannes Anderwald)
  • Activate handling of requests of type KSPROPERTY_TYPE_BASICSUPPORT (Johannes Anderwald)
  • Return correct status code in the GUID_NULL handler (Johannes Anderwald)
  • Store KSPROPERTY_SET in Irp when using KsPropertyHandler (Johannes Anderwald)
  • Fix a bug in KsPinDataIntersection (Johannes Anderwald)
  • Fix a bug when canceling irps (Johannes Anderwald)
  • Fix a critical bug in the counted worker implementation (Johannes Anderwald)
  • Check if NodeId is out of bounds (Johannes Anderwald)
  • Return correct status code (Johannes Anderwald)
  • Retrieve the correct pin name (Johannes Anderwald)
  • Implement KSPROPERTY_PIN_NAME properly (Johannes Anderwald)
  • KsPinPropertyHandler does *NOT* set Status in the IRP (Johannes Anderwald)
  • The Category member is LPGUID not GUID (Johannes Anderwald)
  • Check if there is a category member (Johannes Anderwald)
  • Fix 'Assertion 'WorkItem->List.Flink == NULL' failed at ntoskrnl\ex\work.c' (Johannes Anderwald)
  • Fix a bug spotted by Timo (Johannes Anderwald)
  • Store Object Header in FsContext2 (Johannes Anderwald)
  • Fix allocation of create item entry in KsAllocateObjectCreateItem (Johannes Anderwald)
  • Fix de-referencing in Ks[De]ReferenceSoftwareBusObject & Ks[De]ReferenceBusObject (Johannes Anderwald)
  • Fake success in KsEnableEvent (Johannes Anderwald)
  • Check if the list empty in KspFreeEventList (Johannes Anderwald)
  • Handle GUID_NULL in KspPropertyHandler (Johannes Anderwald)
  • Return STATUS_MORE_ENTRIES if outputbuffer is too small (Johannes Anderwald)
  • Zero struct in KsRegisterWorker (Johannes Anderwald)
  • Fix calling property handler in IKsFilter_DispatchDeviceIoControl Found by (Amine Khaldi)
  • Implement handling of KSPROPERTY_TYPE_BASICSUPPORT (Johannes Anderwald)
  • Fix a few bugs in KsPinPropertyHandler & KsTopologyPropertyHandler (Johannes Anderwald)
  • Implement CBaseUnknown class functions in C! (KJK::Hyperion)
  • Store input buffer in Irp->AssociatedIrp.SystemBuffer (Johannes Anderwald)
  • Implement KsCopyObjectBagItems, KsCreateBusEnumObject, KsProbeStreamIrp, KsGetFirstChild, KsGetNextSibling, IKsFilter_fnAddProcessPin, IKsFilter_fnRemoveProcessPin, KsDispatchSpecificProperty, KsPropertyHandler, KsMergeAutomationTables, KsStreamPointerDelete, KsStreamPointerScheduleTimeout, KsStreamPointerCancelTimeout, KsPinGetFirstCloneStreamPointer, KsStreamPointerGetNextCloneKsPropertyHandlerWithAllocator, KsFastPropertyHandler, KsValidateConnectRequest, IKsPin_DispatchDeviceIoControl, IKsPin_Close, KsQueryInformationFile, KsStreamIo, KsMoveIrpsOnCancelableQueue, KsRegisterFilterWithNoKSPins, _KsEdit, KsCacheMedium, KsHandleSizedListQuery, KsAcquireResetValue, KsCompletePendingRequest, KsAllocateExtraData, KsFreeEventList, KsDisableEvent, KsAddEvent, KsDefaultAddEventHandler, KsPinAttachAndGate, KsPinAttachOrGate, KsPinGetAndGate, KsDeviceSetBusData, KsDeviceGetBusData, KsGetPinFromIrp, KsPinAcquireProcessingMutex, KsPinGetConnectedPinDeviceObject, KsPinGetConnectedFileObject, KsPinGetConnectedPinInterface, KsPinGetNextSiblingPin, KsPinGetParentFilter, KsPinRegisterFrameReturnCallback, KsPinRegisterHandshakeCallback, KsPinRegisterIrpCompletionCallback, KsPinRegisterPowerCallbacks, KsPinReleaseProcessingMutex, KsAcquireControl, KsReleaseControl, KsFilterAddTopologyConnections, KsFilterCreatePinFactory, KsFilterAcquireProcessingMutex, KsFilterReleaseProcessingMutex, KsFilterGetChildPinCount, KsFilterRegisterPowerCallbacks, KsGetFilterFromIrp, KsGetObjectFromFileObject, KsGetObjectFromFileObject, KsGetObjectTypeFromIrp, KsGetParent, KsGetObjectFromFileObject, KsGetObjectFromFileObject, KsGetObjectTypeFromIrp, KsGetParent, KoDriverInitialize, KoDeviceInitialize, KsReferenceBusObject, KsReferenceSoftwareBusObject, KsDereferenceSoftwareBusObject, KsDereferenceBusObject, KsGetFirstChild, KsGetImageNameAndResourceId, KsMapModuleName, KsAcquireDevice, KsReleaseDevice, KsTerminateDevice, KsQueryObjectAccessMask, KsQueryObjectCreateItem, KsQueueWorkItem, KsIncrementCountedWorker, KsDecrementCountedWorker, KsRegisterCountedWorker, KsUnregisterWorker, KsRegisterWorker, KsCancelIo, KsReleaseIrpOnCancelableQueue, KsRemoveIrpFromCancelableQueue, KsRemoveSpecificIrpFromCancelableQueue, KsAddIrpToCancelableQueue, KsCancelRoutine, KsValidateAllocatorCreateRequest, KsValidateClockCreateRequest, KsValidateTopologyNodeCreateRequest, KsAddObjectCreateItemToObjectHeader, KsGetDevice, KsDefaultDispatchPnp, KsDefaultDispatchPower, KsDefaultForwardIrp, KsReadFile, KsSetInformationFile, KsQueryInformationFile, KsCreateAllocator, KsCreateDefaultAllocatorEx, KsValidateAllocatorFramingEx, KsSetDevicePnpAndBaseObject, KsQueryDevicePnpObject, KsSetTargetState, KsSetTargetDeviceObject, KsSetPowerDispatch, KsFreeDeviceHeader, KsFreeObjectHeader, KsAllocateObjectCreateItem, KsFreeObjectCreateItem, KsFreeObjectCreateItemsByContext, KsCreateDefaultSecurity, KsCreateClock, KsCreateDefaultClock, partly implement KsAllocateDefaultClockEx, KsFreeDefaultClock, KsGetDefaultClockState, KsSetDefaultClockState, KsGetDefaultClockTime, KsSetDefaultClockTime, KsInitializeDevice, KsGetDeviceForDeviceObject, KsCreateFilterFactory, KsFilterFactorySetDeviceClassesState, KsFilterFactoryGetSymbolicLink, KsFilterFactoryAddCreateItem, KsLoadResource, KsDispatchQuerySecurity, KsDispatchSetSecurity, KsWriteFile, KsDefaultIoCompletion, KsEnableEvent, KsEnableEventWithAllocator, KsDiscardEvent (Johannes Anderwald)
  • Implement attach of filter factories to the device header (Johannes Anderwald)
  • Filter dispatch is optional, handle it when creating new filters (Johannes Anderwald)
  • Fix allocation check by (Amine Khaldi)
  • Fix uninitialized return value when the list is empty (Johannes Anderwald)
  • Fix a horrible bug where the end of the list wasnt checked by the source list but the destination list by (Amine Khaldi)
  • Acquire Spinlock at dpc level (Johannes Anderwald)
  • Release cancel spinlock at correct level (Johannes Anderwald)
  • Fix a desastreous bug in KsRemoveIrpFromCancelableQueue (Johannes Anderwald)
  • Remove KsGetChildCreateParameter, it is not exported in NT 5.1 KS (Johannes Anderwald)
  • Start Implementing IKsPin interface (Johannes Anderwald)
  • Increment PinInstanceCount when a pin has succcessfully been created (Johannes Anderwald)
  • Initialize pin dispatch table (Johannes Anderwald)
  • Add create items for allocator, clock, node create requests (Johannes Anderwald)
  • Add create item for creation of pins and topology nodes (Johannes Anderwald)
  • Implement pin creation handler (Johannes Anderwald)
  • Copy Filter descriptor for each instantiated filter (Johannes Anderwald)
  • Create object bag for IKsFilter, IKsFilterFactory and IKsDevice (Johannes Anderwald)
  • Fix storing of device descriptor in KsInitializeDriver, KsAddDevice (Johannes Anderwald)
  • Remove DriverEntry as ks is kernel mode dll (Johannes Anderwald)
  • Fix unimplemented tags (Johannes Anderwald)
  • Use double in spec for functions taking longlong arguments (Colin Finck)
  • Use KSQUEUE_SPINLOCK_IRP_STORAGE macro for access the stored spin lock (Johannes Anderwald)
  • Remove old irp queue implementation (Johannes Anderwald)
  • Use KSSTRING instead of hardcoding object class (Johannes Anderwald)
  • Rewrite KSCREATE_ITEM handling to support clocks, nodes, allocators. (Johannes Anderwald)
  • Store create items in list instead of an array. Consequently, the code can be re-used for KSDEVICE_HEADER / KSOBJECT_HEADER functions. (Johannes Anderwald)
  • Implement by using KSBASIC_HEADER struct which must be positioned before its object specific (PKSFILTER, PKSFILTERFACTOR, PKSPIN) (Johannes Anderwald)
  • Remove a hack from KspCreateObjectType (Johannes Anderwald)
  • Return the correct device object in KsQueryDevicePnpObject (Johannes Anderwald)
  • Remove KspClose, KspRead, KspWrite, KspFlushBuffers, KspQuerySecurity, KspSetSecurity and all these IOCTL in KspDispatchIrp (Johannes Anderwald)
  • Rewrite KsDispatchIrp to handle IRP_MJ_CREATE & IRP_MJ_POWER, IRP_MJ_PNP for AV Stream minidrivers and forward IRP_MJ_SYSTEM_CONTROL requests to the registered pnp base object (Johannes Anderwald)
  • Unsupported IOCTLs are now completed with KsDispatchInvalidDeviceRequest (previously leaked) (Johannes Anderwald)
  • Implement registering of device interface for AVStream drivers (Johannes Anderwald)
  • Add KsFilterFactoryUpdateCacheData (Johannes Anderwald)
  • Fix a bug which was responsible for most audio-related crashes (Gregor Schneider)

NDIS

PCIIDE

PCNET

PORTCLS

SCSIPORT

  • Add stubs for unimplmented cases in ScsiPortNotification. (Olaf Siejka)

SYSAUDIO

TCPIP

UNIATA

  • Synched the UniATA Inf to the internal support list. Now ROS can detect all supported SATA Controllers even after 1st stage and properly shows them in the HW Wizard. (Daniel Reimer)

USB

  • Initialize DPC before connecting interrupt with IoConnectInterrupt in ehci_alloc, ohci_alloc and uhci_alloc. Probably fixes crashes on real hardware. (Michael Martin)

VIDEOPRT

WDMAUD_KERNEL

Static Libraries

ATL

  • Initial submit with enough code to compile new browseui classes (Andrew Hill)
  • Added Init and Term to CComModule (Andrew Hill)

CMLIB

  • CmpPrepareKey: Call CmpPrepareKey vice CmpPrepareIndexOfKeys for cell signature of CM_KEY_NODE_SIGNATURE. Fixes ASSERT in cminit.c that occurs on reboot after installing some applications. (Michael Martin)

CRT

  • Rewrite time implementation, implement 64bit time support. (Timo Kreuzer)

DELAYIMP

SCRNSAVE

  • Properly handle multiple monitors by expanding the screensaver window to all monitors (Michael Bruestle)

USETUP

Win32™ Personality

User mode subsystem server (CSRSS)

Kernel-mode subsystem server (Win32K)

  • experimental message handling implementation for ClickLock feature (Matthias Kupfer)
  • KeyboardThreadMain: Set RepeatRate to 1 vice 0. Fixes text input in OpenOffice Writer. (Michael Martin)
  • Various AlphaBlend fixes (Gregor Schneider)
  • Don't try to delete non existing XLateObjects (Gregor Schneider)
  • Implement and optimize FloodFill (Gregor Schneider)
  • Use system wide caret width and height if input parameters are zero (Gregor Schneider, #1559)
  • Fix a typo in EngMovePointer (Gregor Schneider)
  • ChangeDisplaySettings improvements (Gregor Schneider)
  • StretchBlt: Don't access the pattern GetPixel function pointer if it hasn't been set (Gregor Schneider)
  • BitBlt: Only set the pattern function pointer if the pattern surface is valid (Gregor Schneider)
  • Allocate span memory for every clipping type, not only for one (Gregor Schneider)
  • StretchBlt: Copy the source rectangle after checking it, create input rectangle from destination size if source is not used (Gregor Schneider)
  • Various resource and failure fixes (Amine Khaldi, Gregor Schneider)
  • Sync and adapt Wine font metric code for setting first, last, default and break characters (Gregor Schneider)
  • co_IntLoadSysMenuTemplate: only copy buffer if prior operation succeeded (Gregor Schneider, #4803)
  • GetTransform: Add support for more transforms, stub out missing functionality, fix return values (Gregor Schneider)
  • NtGdiGetRasterizerCaps: fix return value on success (Kamil Hornicek)
  • Implement brush realization. (Timo Kreuzer)
  • Rewrite XLATEOBJ implementation. (Timo Kreuzer)
  • Implement EngFileIoControl and EngFileWrite. (Timo Kreuzer)
  • Remove XlatePatternToDest from BLTINFO and DIB code. (Amine Khaldi)
  • Don't cleanup the XLATEOBJ in GreSetPointerShape when it wasn't initialized. (Amine Khaldi)
  • Rewrite (NtUser)SystemParametersInfo implementation. (Timo Kreuzer)
  • Remove syscolor pen support. (Timo Kreuzer)
  • Implement PALETTE_ulGetNearestPaletteIndex, PALETTE_ulGetRGBColorFromIndex, PALETTE_vGetBitMasks. (Timo Kreuzer)
  • Implement GreMovePointer and GreSetPointerShape. (Timo Kreuzer)
  • Fix LIST_FOR_EACH and LIST_FOR_EACH_SAFE. (Timo Kreuzer)
  • UserPostMessage: allow broadcasting of WM_QUIT and post it to the window's message queue instead of the current thread's message queue. (Giannis Adamopoulos, bug #4058)

Services

AUDIOSRV

RPC Server

Eventlog

DHCP

Control panel applets

ACCESS

APPWIZ

CONSOLE

DESK

MAIN

MMSYS

NCPA

SYSDM

Win32™ Applications

Explorer

Explorer_new

  • Rename a few interfaces in explorer_new to the correct name (Andrew Hill)

Notepad

Paint

RApps

Servman

Solitaire

Spider

Taskmgr

Win32™ Libraries

ADVAPI32

BROWSEUI

  • Convert existing classes to C++/ATL (Andrew Hill)
  • Add AddressBand, AddressEditBox, BandProxy, BaseBar, BaseBarSite, BrandBand, InternetToolbar, ShellBrowser, ToolsBand, and TravelLog (Andrew Hill)
  • Add stub implementations of commonbrowser, globalfoldersettings, and regtreeoptions (Andrew Hill)

CARDS

  • Added 11 new Backs for my bavarian cards dll. Way better than using 12 times the same (Daniel Reimer)

DDRAW

DSOUND

  • Implement IDirectSoundCaptureBuffer8::Stop, IDirectSoundCaptureBuffer8::Lock, IDirectSoundCaptureBuffer8::Unlock, IDirectSound8::GetCaps, IDirectSound8::Compact, IDirectSoundCaptureBuffer::GetCaps, IDirectSoundCaptureBuffer::GetCurrentPosition, IDirectSoundCaptureBuffer::GetFormat, IDirectSoundCaptureBuffer::GetStatus, IDirectSoundCaptureBuffer::Start, DirectSoundEnumerateA, DirectSoundEnumerateW, DirectSoundCaptureEnumerateA, DirectSoundCaptureEnumerateW, GetDeviceID
  • Implement changing the stream format for secondary buffers
  • Fix checking of flags found by Ged Murphy
  • Register IDirectSound8, IDirectSoundCapture8 with COM
  • Verify if wrong guid is passed in IDirectSound8::Initialize
  • Check for invalid guids passed to IDirectSoundCapture::Initialize
  • Close pin handle when the capture buffer is released
  • Compute a compatible pin format when the format is not supported natively by the driver
  • Fix shadowing of global variable (Usurp)
  • Verify that directsound global info has already initialized in IDirectSound8::Initialize
  • DllRegisterServer / DllUnregisterServer are taken from Wine DSound implementation (John K. Hohm)
  • Implement stereo to mono channel conversion (Johannes Anderwald)
  • Create a thread which performs the mixing (Johannes Anderwald)
  • Add more checks IDirectSoundCapture::CreateCaptureBuffer (Johannes Anderwald)
  • Implement IDirectSoundNotify interface (Johannes Anderwald)

GDI32

GDIPLUS

IPHLPAPI

KERNEL32

KSUSER

MSAFD

MSI

  • Schedule a rename operation also for ERROR_USER_MAPPED_FILE. Prevents msi from aborting an install when attempting to overwrite font files. Open Office should now install successfully. (Michael Martin)

MSVCRT

NETSHELL

OPENGL32

  • Handle WGL_SWAP_MAIN_PLANE case in SwapLayerBuffers stub (Kamil Hornicek)
  • Ported wglUseFontOutlines, wglUseFontBitmaps from the glDirect driver (Kamil Hornicek)

SECUR32

SETUPAPI

SHELL32

SHLWAPI

SYSSETUP

USER32

  • DIALOG_CreateIndirect: Save the current focused window after sending WM_INITDIALOG as the current window with focus could have been set in the dialog's procedure. Fixes setting focus on Open and Close dialogs to the FileName edit control in OpenOffice. (Michael Martin)
  • GetDlgItem: Change to WINE's implementation as ours was incorrect. Remove function GetDlgItemEnumProc and struct GETDLGITEMINFO as they are no longer needed. Fixes drawing issues in Open and Save dialogs for OpenOffice. (Michael Martin)
  • Fix 2 user32 winstation test failures (Giannis Adamopoulos)
  • Restructure and simplify CreateCursorFromData, allow to create colored icons (Gregor Schneider)
  • Handle WM_SETREDRAW messages differently in the DefWndProc, riched20 regression (Gregor Schneider, #4098)
  • Only set text resource in DefWndProcA on WM_NCCREATE if passed and exists (Gregor Schneider, #4766)

USERENV

- Set ProgramFiles, CommonProgramFiles environment variable (Johannes Anderwald)

WINMM

WDMAUD.DRV

WS2_32_NEW

WINSPOOL

Regression tests

Versions / Official Changelogs / 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 | 0.4.8 | 0.4.9 | 0.4.10 | 0.4.11 | 0.4.12