Difference between revisions of "ChangeLog-0.3.11"
Grschneider (talk | contribs) (misc 3/3) |
m (→DSOUND) |
||
Line 455: | Line 455: | ||
* Implement stereo to mono channel conversion [[Johannes Anderwald]] | * Implement stereo to mono channel conversion [[Johannes Anderwald]] | ||
* Create a thread which performs the mixing [[Johannes Anderwald]] | * Create a thread which performs the mixing [[Johannes Anderwald]] | ||
+ | * Add more checks IDirectSoundCapture::CreateCaptureBuffer [[Johannes Anderwald]] | ||
+ | * Implement IDirectSoundNotify interface [[Johannes Anderwald]] | ||
=== GDI32 === | === GDI32 === |
Revision as of 13:53, 7 November 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
- 1 General
- 2 Headers
- 3 Host Tools
- 4 Core
- 5 USETUP
- 6 Win32™ Personality
- 6.1 User mode subsystem server (CSRSS)
- 6.2 Kernel-mode subsystem server (Win32K)
- 6.3 Services
- 6.4 Control panel applets
- 6.5 Win32™ Applications
- 6.6 Win32™ Libraries
- 6.6.1 ADVAPI32
- 6.6.2 CARDS
- 6.6.3 DSOUND
- 6.6.4 GDI32
- 6.6.5 GDIPLUS
- 6.6.6 IPHLPAPI
- 6.6.7 KERNEL32
- 6.6.8 KSUSER
- 6.6.9 MSAFD
- 6.6.10 MSI
- 6.6.11 MSVCRT
- 6.6.12 NETSHELL
- 6.6.13 OPENGL32
- 6.6.14 SECUR32
- 6.6.15 SETUPAPI
- 6.6.16 SHELL32
- 6.6.17 SHLWAPI
- 6.6.18 SYSSETUP
- 6.6.19 USER32
- 6.6.20 USERENV
- 6.6.21 WINMM
- 6.6.22 WDMAUD.DRV
- 6.6.23 WS2_32_NEW
- 6.6.24 WINSPOOL
- 6.7 Regression tests
General
Generic 0.3.11 Changes
- Updated DejaVu Fonts to Version 2.30 (Daniel Reimer)
- Updated 3rd Party Files Document (Daniel Reimer)
- Update Readme.WINE (Daniel Reimer)
- Several gcc 4.4 compilation fixes (Gregor Schneider)
- Correct MPEG1/2 video decoder filename (Russell Rice)
- Various resource fixes (Russell Rice, Gregor Schneider)
Translations
Brazilian
- Brazilian translation updates (Wagner Leandro Bueno Angelo, bug #4738)
Bulgarian
- Bulgarian translation updates (CCTAHEB, bugs #4805, #4864)
Chinese
- chinese translation updates (Elton Chung)
Czech
- Czech translation updates (Radek Liska, bug #4749)
Dutch
- Dutch translation updates (Jan Roeloffzen, bugs #4700, #4786)
- Dutch translation updates (Wouter De Vlieger, bug #4893)
German
- German translation of ReactOS Applications Manager (Matthias Kupfer)
- German translation fixes for usetup (Gregor Schneider)
Hungarian
- Hungarian translation updates (Gábor Balogh, bug #4928)
Italian
- Italian translations for spider, explorer_new, ks.inf, usetup (Gabriel Ilardi)
Japanese
- Japanese translation updates (pcds90net, bugs #4081, #4795)
- Japanese translation updates (Tomoya Kitagawa, bugs #4638, #4733)
Norwegian
- Norwegian translation updates (Lars Martin Hambro, bugs #4761, #4797)
Polish
- Polish translation updates (Ichoroszi, bug #4651)
- Polish translation updates for rapps, mmsys, syssetup (Olaf Siejka)
- Polish translation for spider (Maciej Białas)
Romanian
- Romanian translation updates (Dimitriu Petru, bug #4636)
Slovak
- Slovak translation updates (Mario Kacmar, bugs #4652, #4828, #4854, #4900)
Spanish
- Spanish translations for spider, explorer_new, usetup (Gabriel Ilardi)
- Spanish translation for spider (Javier Agustìn Fernàndez Arroyo)
Generic
- Generic: Updated resources for explorer_new, added english ks.inf (Gabriel Ilardi)
Headers
DDK
NDK
PSDK
Host Tools
BUILDNO
LOG2LINES
RBUILD
RBUILD_HELPER
Core
Bootloader (FreeLoader)
- Clear the screen before printing the current path\file. (Gabriel Ilardi, #4877)
Kernel and Executive (NTOSKRNL)
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
KDBG
KE
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
OB
PS
SMSS
NT System Library (NTDLL)
Run Time Library (RTL)
- Map STATUS_NOT_FOUND to ERROR_NOT_FOUND Johannes Anderwald
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
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 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
- Cancel all audio stream irps when the it is used in looped stream mode. Fixes re*opening of playback / capture devices in DSound. Johannes Anderwald
- Implement looped streaming Johannes Anderwald
- Implement GetPosition handler for looped streaming Johannes Anderwald
- Pass correct flags to KsProbeStreamIrp when the irp has not already been probed Johannes Anderwald
- Implement support for submitting multiple stream headers at once Johannes Anderwald
- Return correct status code on error Johannes Anderwald
- Silence most dprints of portcls
- Fix a bug in PcCreateSubdeviceDescriptor Johannes Anderwald
- Pass correct flags to KsProbeStreamIrp Johannes Anderwald
- Implement KSPROPERTY_CONNECTION_ALLOCATORFRAMING for CPortPinWaveCyclic + CPortPinWavePci Johannes Anderwald
- Fix various bugs such as wrong function definitions, using of uninitialized variables Johannes Anderwald
- Add macros which are not present in the WDK Johannes Anderwald
- Check return type of synchronized interrupt routine Johannes Anderwald
- Use PcHandlePropertyWithTable IPortPinWavePci Johannes Anderwald
- Store MiniportStream & pin instance in subdevice descriptor Johannes Anderwald
- Simplify irp handling code in class IIrpStream Johannes Anderwald
- Rewrite CPortPinWaveCyclic code to handle property request. It now uses PcHandlePropertyWithTable, which calls the supported property request handlers via a callback. The code is now a lot cleaner as KsPropertyHandler peforms input & output length checks and also handles basic support requests Johannes Anderwald
- Implement a Audio position handler for CPortPinWaveCyclic Johannes Anderwald
- Use the IDmaChannel::CopyFrom when copying sound bytes from an dma buffer. Fixes recording of sound with KsStudio Johannes Anderwald
- Make sure that the GUID_NULL handler only adds guid which are not already present in the guid array. Fixes duplicate entries of properties of Nodes in KsStudio Johannes Anderwald
- Handle Basic Support requests in a default way when the driver doesnt provide a BasicSupport handler Johannes Anderwald
- KSCATEGORY_AUDIO should be the first device category so that wdmaud can correctly assign virtual device ids Johannes Anderwald
- Check if there is an automation table Johannes Anderwald
- Add KSPROPSETID_Audio guid Johannes Anderwald
- Allocate data format after successful initialization of IPinWaveCyclic Johannes Anderwald
- Store Miniport Adapter in subdevice descriptor Johannes Anderwald
- Implement GUID_NULL handler for topology nodes Johannes Anderwald
- Implement setting / retrieving properties for topology nodes Johannes Anderwald
- Implement PcHandlePropertyWithTable Johannes Anderwald
- Use PcHandlePropertyWithTable to handle IOCTL_KS_PROPERTY requests Johannes Anderwald
- Handle variable sized PCPIN_DESCRIPTORs Johannes Anderwald
- Rewrite registering physical connection handling to support KSPROPERTY_PIN_PHYSICALCONNECTION Johannes Anderwald
- Implement CPortFilterWaveCyclic::FastDeviceIoControl Johannes Anderwald
- Add back PHYSICAL_ADDRESS workarround for IDmaChannel::PhysicalAddress Johannes Anderwald
- Only define guids for gcc Johannes Anderwald
- Add missing PURE interface function definitions Johannes Anderwald
- Initialize ResourceList members Johannes Anderwald
- Fix calculation when allocating new resources entries Johannes Anderwald
- Fix building of portcls with msvc Johannes Anderwald
- Store dispatch context in FsContext Johannes Anderwald
- Ignore return value in interrupt sync routine Amine Khaldi
- Disable assert for frame size check for now Johannes Anderwald
- Free buffer only if the irp was from kernel mode(hack 2 be removed) Johannes Anderwald
- remove unused includes Amine Khaldi
- Don't attempt copying an empty resource list Amine Khaldi
- Convert portcls to a C++ driver Johannes Anderwald
- Check that all pins have been closed when the last filter reference is gone Johannes Anderwald
- Add support for DirectKs Johannes Anderwald
- Implement IPortEvents interface for IPortTopology Johannes Anderwald
- Increment reference count only if resource list was passed Johannes Anderwald
- Implement IPortDMus_fnNewRegistryKey Johannes Anderwald
- Remove superflouous checks by Amine Khaldi
- Calculate resource list size with FIELD_OFFSET macro Johannes Anderwald
- Fix a big bug in IResourceList_fnAddEntryFromParent which didnt copy the untranslated resource list entry Johannes Anderwald
- Check if translated / untranslated resource list is empty Johannes Anderwald
- Fix lots of COM object leaks Johannes Anderwald
- Implement freeing of all registered physical connections and release of the registered power management interface Johannes Anderwald
- Check if current partially processed irp has been cancelled and complete it in that case Johannes Anderwald
- Switch portcls to use the provided ks irp queue function Johannes Anderwald
- Store real dispatched object in FsContext2 Johannes Anderwald
- Implement a fast device i/o handler Johannes Anderwald
- Remove the hack of checking wether pin create request is passed. Since create items now work nicely, use a different function and handle pin creation requests seperately. Johannes Anderwald
- Interrupt is only shareable if the type is latched Johannes Anderwald
- Only transfer as maximum the FrameSize which was obtained by IMiniportWaveCyclicStream::SetNotficationFreq Johannes Anderwald
- Remove the pin service group member before queing the workitem to close the stream Johannes Anderwald
- Implement dynamic unregistration of physical connections Johannes Anderwald
- Implement IUnregisterPhysicalConnection interface for all port drivers Johannes Anderwald
- The pin creation parameters are now placed right after the reference string. Handle this case in KsValidateConnectRequest Johannes Anderwald
- Only store the passed create items, no need to copy the passed create items. This is required for enabling dynamic audio devices Johannes Anderwald
- Fix copying of the object class in KsAllocateObjectHeader Johannes Anderwald
- Check for KSCREATE_ITEM_IRP_STORAGE flag in KsCreate Johannes Anderwald
- Rewrite PcRegisterIoTimeout, PcUnregisterIoTimeout to support more than one PIO_TIMER_ROUTINE per device object Johannes Anderwald
SCSIPORT
SYSAUDIO
- Fix several bugs in the mixer handling code Johannes Anderwald
- Disable kmixer untill all issues are resolved Johannes Anderwald
- Release file object of pin to prevent reference leak Johannes Anderwald
- Fix creation of mixer pin Johannes Anderwald
- Store dispatch context in FsContext2 Johannes Anderwald
- Implement KSPROPERTY_SYSAUDIO_DEVICE_INTERFACE_NAME Johannes Anderwald
- Refactor sysaudio pin creation Johannes Anderwald
- Remove the hack of checking wether pin create request is passed. Since create items now work nicely, use a different function and handle pin creation requests seperately. Johannes Anderwald
TCPIP
UNIATA
- Synched the UniATA Inf to the internal support list. Now ROS can detect all supported SATA Controller 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
- Implement support for DRV_QUERYDEVICEINTERFACESIZE, DRV_QUERYDEVICEINTERFACE Johannes Anderwald
- Set correct irp dispatch code Johannes Anderwald
- Pointer / handle values should be printed with %p. Christoph Wittich
- Add the sum / mixer node to the destination pin Johannes Anderwald
- Only create MIXERVOLUME_DATA when there is an actual range Johannes Anderwald
- Use unsigned members to calculate the range Johannes Anderwald
- When enumerating controls, cControls *tells* the number of controls not *cConnections*. Fix a crash in XP sndvol32 Johannes Anderwald
- Clear the entire struct, not just part of it Johannes Anderwald
- WdmAudMixerCapabilities just provides the index of a device, not its handle. Fixes displaying of duplicate mixer name in sndvol32 Johannes Anderwald
- Verify that a mixer line exists Johannes Anderwald
- Use KsProbeStreamIrp in wdmaud to probe user buffers Johannes Anderwald
- Remove a few hacks which were required to pass down irps to portcls Johannes Anderwald
- Implement MIXER_GETLINEINFOF_COMPONENTTYPE for WdmAudGetLineInfo Johannes Anderwald
- Implement MIXER_GETLINECONTROLSF_ONEBYID for WdmAudGetLineControls Johannes Anderwald
- Clear MIXER_OBJECTF_HMIXER from Flags Johannes Anderwald
- Fix a bug SetGetVolumeControlDetails which fixes retrieving current volume level (verified by sndvol32.exe from XP / mmsys.cpl ReactOS) Johannes Anderwald
- Implement setting / getting volume level Johannes Anderwald
- Implement Un*Muting of audio lines Johannes Anderwald
- Rewrite Wave API to enumerate wave out / in devices at startup Johannes Anderwald
- Enumerate controls for source and destination lines Johannes Anderwald
- Several bugfixes for mixer source / destination line detection code Johannes Anderwald
- Store destination line in LineList Johannes Anderwald
- Implement WdmAudGetLineInfo for MIXER_GETLINEINFOF_LINEID Johannes Anderwald
- Implement enumerating mixer source and destination lines Johannes Anderwald
- Implement copying mixer capabilities Johannes Anderwald
- Implement opening / closing of mixer devices Johannes Anderwald
- Check if allocation succeeded Amine Khaldi
- Implement retrieving devicename by looking up in the registry Johannes Anderwald
- Set the stream state to run when opening the device Johannes Anderwald
- Set the stream state to stop when closing the device Johannes Anderwald
- Implement retrieving position Johannes Anderwald
Static Libraries
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)
IP
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, bug #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, bug #4803)
- GetTransform: Add support for more transforms, stub out missing functionality, fix return values (Gregor Schneider)
Services
AUDIOSRV
- Fix a lock release leak Russel Rice
- Check if allocation succeeded Johannes Anderwald
- Wait untill each audio service has been started Johannes Anderwald
RPC Server
Eventlog
DHCP
- Fix derefercing of null pointerAmine Khaldi
Control panel applets
APPWIZ
- Check if a shortcut to shortcut is made and resolve it in that case Johannes Anderwald
DESK
- Bind DragFullWindows property to configuration checkbox. (Matthias Kupfer)
MAIN
- Enable experimental ClockLock feature via mouse settings (Matthias Kupfer)
MMSYS
- Implement reading preferred playback / record device Johannes Anderwald
- Make sure that no duplicate wdmaud.drv audio drivers exists as winmm currently not recognizes duplicate audio driver entries Johannes Anderwald
- Fix a crash when an application hasnt defined a event label Johannes Anderwald
- Rewrite sound scheme handling Johannes Anderwald
- Implement changing sound scheme & sound action Johannes Anderwald
SYSDM
Win32™ Applications
- Sync WineFile to Wine 1.1.31 (Daniel Reimer)
- Sync WordPad and Winhlp32 and xcopy and write to Wine 1.1.31 (Daniel Reimer)
Downloader
Explorer
- Don't add quick launch icon copies after showing a context menu (Gregor Schneider, bug #2453)
Notepad
Paint
RApps
- A dozen of Rapps Updates. (Daniel Reimer Victor Martinez)
Servman
Solitaire
- Adjust to use cardlib as a shared lib (Gregor Schneider)
- Allow to choose card decks from 12 instead of 4 options (Gregor Schneider, bug #2535)
Spider
- Add a spider solitaire clone, convert catch22 cardlib to a static library (Gregor Schneider)
- Fix a deck complete bug (Gregor Schneider, bug #4886)
- Fix misc game related bugs (Gregor Schneider)
- Allow to choose card decks from 12 instead of 4 options (Gregor Schneider)
Taskmgr
Win32™ Libraries
ADVAPI32
- Check Input Parameter (fixes a skype crash) Johannes Anderwald
- Fix broken check Johannes Anderwald
CARDS
- Added 11 new Backs for my bavarian cards dll. Way better than using 12 times the same (Daniel Reimer)
DSOUND
[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 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
- Remove duplicate WToA conversion routine, update the kept version to current Wine (Gregor Schneider)
- Various resource and failure fixes (Amine Khaldi, Gregor Schneider)
- GetGlyphOutline: fail if output or transformation matrix buffers are not passed (Gregor Schneider)
- Prevent possible buffer overrun in TranslateCharsetInfo, (Gregor Schneider, Wine bug #19819)
GDIPLUS
IPHLPAPI
KERNEL32
- Update German NLS Files in Kernel32 (Daniel Reimer)
- Comm: Supply default ansi codepage when converting from unicode (Gregor Schneider)
- GetFileAttributes: Return INVALID_FILE_ATTRIBUTES when no filename is passed (Gregor Schneider)
- Various resource and failure fixes (Amine Khaldi, Gregor Schneider)
KSUSER
- Fix a broken cast (x64 compability) Johannes Anderwald
- Fix a BufferOverflow Johannes Anderwald
- Ks expects a '\\' for each pin creation request Johannes Anderwald
- ObjectLength was not correctly set, thus truncating the request Johannes Anderwald
- Zero byte was not set at correct offset, potentialy leading to a heap overflow Johannes Anderwald
- Extend checks for ATOM handling (Gregor Schneider)
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
- Various *printf fixes (Geoffroy Couprie, Gregor Schneider, bug #4584)
- Various _ecvt fixes (Gregor Schneider)
- Fix mbslwr (Gregor Schneider, bug #4755)
- Use ALL_X macros in fstat (Gregor Schneider)
- Import tkreuzer's time implementation from AMD64 branch (Gregor Schneider)
- Various fixes to the time64 implementation, delete old implementation (Gregor Schneider)
- Sync scanf to Wine (Gregor Schneider)
NETSHELL
- Fix displaying of random characters if there is no device name Johannes Anderwald
OPENGL32
SECUR32
SETUPAPI
- Add SetupDiGetDeviceInterfaceAlias, SetupDiOpenDeviceInterfaceRegKey stubs Johannes Anderwald
- RegQueryValueExW returns ERRROR_SUCCESS Johannes Anderwald
SHELL32
- Partly implement IBandSite, IMenuBand Johannes Anderwald
- Fix several bugs in printer ' IShellFolder implementation Johannes Anderwald
- Partly implement IShellFolder::GetAttributesOf Johannes Anderwald
- Implement IShellFolder::GetDisplayNameOf for root pidl Johannes Anderwald
- Implement ISF_ControlPanel_fnParseDisplayName to parse display names Johannes Anderwald
- Implement ISFHelper_fnCopyItems for desktop shellfolder Johannes Anderwald
- Even without a CMINVOKECOMMANDINFOEX structure a link should be executed with the supplied parameters (Gregor Schneider)
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, bug #4098)
- Only set text resource in DefWndProcA on WM_NCCREATE if passed and exists (Gregor Schneider, bug #4766)
USERENV
- Set ProgramFiles, CommonProgramFiles environment variable Johannes Anderwald
WINMM
- Fix a heap corruption at process shutdown Samuel Serapion
- Partial sync winmm to wine head Johannes Anderwald
WDMAUD.DRV
- Implement support for DRV_QUERYDEVICEINTERFACESIZE, DRV_QUERYDEVICEINTERFACE for recording / mixer / midi*in midi*out Johannes Anderwald
- Set the audio pin to KSSTATE_RUN if it is wave*out pin Johannes Anderwald
- Implement support for manually starting / stopping a pin, which is used for recording Johannes Anderwald
- Partially sync winmm Johannes Anderwald
- Make sure string is null terminated Johannes Anderwald
- Copy all required fields for WaveIn devices Johannes Anderwald
- Use double of the reported FrameSize to increase audio playback performance Johannes Anderwald
- Use default of 100 audio buffers if there are no prefered frame size available Johannes Anderwald
- Implement support for reading from waveIn devices Johannes Anderwald
- Forward mixer control requests to wdmaud driver Johannes Anderwald
- Implement usermode mixing test mode Johannes Anderwald
- Implement retrieving the preferred frame size Johannes Anderwald
- Implement retrieving position Johannes Anderwald
- The wave / mixer / midi handles are kernel handles, consequently wdmaud_kernel must close them Johannes Anderwald
WS2_32_NEW
WINSPOOL
- Fix error return of EnumPrinterKeyA/W Johannes Anderwald
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 | 0.4.13 | 0.4.14 |