Difference between revisions of "ChangeLog-0.3.8"

From ReactOS Wiki
Jump to: navigation, search
(Generic 0.3.8 Changes)
m
 
(9 intermediate revisions by 5 users not shown)
Line 4: Line 4:
 
== Generic 0.3.8 Changes ==
 
== Generic 0.3.8 Changes ==
 
* Cleaned up the PSDK/DDK header set, fixing numerous types and definitions. Remove all usage of the GCC system_header 'extension' ([[Stefan Ginsberg]])
 
* Cleaned up the PSDK/DDK header set, fixing numerous types and definitions. Remove all usage of the GCC system_header 'extension' ([[Stefan Ginsberg]])
* Install more Administrative Tools ([[Mário Kačmár]], Bug #4052)
+
* Install more Administrative Tools ([[Mário Kačmár]], Bug {{bug|4052}})
 
* Set -Wno-non-virtual-dtor compiler flag globally ([[KJK::Hyperion]])
 
* Set -Wno-non-virtual-dtor compiler flag globally ([[KJK::Hyperion]])
 
* Decorate C runtime functions and global variables as dllimport when necessary ([[KJK::Hyperion]])
 
* Decorate C runtime functions and global variables as dllimport when necessary ([[KJK::Hyperion]])
 
* Link DLLs to NTDLL instead of MSVCRT unless absolutely necessary ([[KJK::Hyperion]])
 
* Link DLLs to NTDLL instead of MSVCRT unless absolutely necessary ([[KJK::Hyperion]])
* Fixed several compilation warnings ([[KJK::Hyperion]], Bugs #3922, #3608)
+
* Fixed several compilation warnings ([[KJK::Hyperion]], Bugs {{bug|3922}}, {{bug|3608}})
 
* Fixed several 64-bit portability issues in PSDK headers ([[KJK::Hyperion]])
 
* Fixed several 64-bit portability issues in PSDK headers ([[KJK::Hyperion]])
 
* Use int instead of long in PSDK headers when compiling Wine code ([[KJK::Hyperion]])
 
* Use int instead of long in PSDK headers when compiling Wine code ([[KJK::Hyperion]])
Line 14: Line 14:
 
* All modules migrated to PSEH v2. All flavors of Wine exception handling macros reimplemented with PSEH v2 ([[KJK::Hyperion]])
 
* All modules migrated to PSEH v2. All flavors of Wine exception handling macros reimplemented with PSEH v2 ([[KJK::Hyperion]])
 
* Miscellaneous fixes in PSDK/DDK headers for Visual C++ support ([[KJK::Hyperion]])
 
* Miscellaneous fixes in PSDK/DDK headers for Visual C++ support ([[KJK::Hyperion]])
* Fixes for gcc 4.3.2 support ([[KJK::Hyperion]], [[Dmitry Gorbachev]], [[Maciej Bialas]], Bug #3922)
+
* Fixes for gcc 4.3.2 support ([[KJK::Hyperion]], [[Dmitry Gorbachev]], [[Maciej Bialas]], Bug {{bug|3922}})
* Fixed _bittestandcomplement, _bittestandreset, and _bittestandset intrinsics ([[Dmitry Gorbachev]], Bug #3921)
+
* Fixed _bittestandcomplement, _bittestandreset, and _bittestandset intrinsics ([[Dmitry Gorbachev]], Bug {{bug|3921}})
 
* Updated wined3d, d3d8 and d3d9 to Wine 1.1.12 ([[Kamil Horníček]])
 
* Updated wined3d, d3d8 and d3d9 to Wine 1.1.12 ([[Kamil Horníček]])
 
* Updated Mesa3D to version 7.3 ([[Kamil Horníček]])
 
* Updated Mesa3D to version 7.3 ([[Kamil Horníček]])
Line 31: Line 31:
 
* New default wallpaper by Forum user "Angelus"
 
* New default wallpaper by Forum user "Angelus"
 
* Many IDL files fixes spotted by a newer WIDL ([[Aleksey Bragin]])
 
* Many IDL files fixes spotted by a newer WIDL ([[Aleksey Bragin]])
* Add more stuff to bootcd ([[Mário Kačmár]], Bug #4095)
+
* Add more stuff to bootcd ([[Mário Kačmár]], Bug {{bug|4095}})
* Update crt headers to ming64 and add various fixes for msvc compatibility ([Samuel Serapión]], [[Timo Kreuzer]])
+
* Update crt headers to ming64 and add various fixes for msvc compatibility ([[Samuel Serapión]], [[Timo Kreuzer]])
 +
* Fix definition of EMRCREATECOLORSPACE and EMRPOLYXXX ([[Timo Kreuzer]])
 +
* Fix multiple 64bit warnings and errors ([[Samuel Serapión]])
 +
* Fix broken DLGPROC, CryptReleaseContext, definition ([[Samuel Serapión]])
 +
* Define SERVICE_STATUS_HANDLE, CLIENT_HANDLE as handles ([[Samuel Serapión]])
 +
* Fix LSAPR_HANDLE, SC_RPC_HANDLE definitions ([[Samuel Serapión]])
  
 
== Translations ==
 
== Translations ==
* Added/Updated Slovak translations ([[Mário Kačmár]], Bugs #3834, #3866, #3890, #3934, #3955, #3983, #4005, #4035, #4071)
+
* Added/Updated Slovak translations ([[Mário Kačmár]], Bugs {{bug|3834}}, {{bug|3866}}, {{bug|3890}}, {{bug|3934}}, {{bug|3955}}, {{bug|3983}}, {{bug|4005}}, {{bug|4035}}, {{bug|4071}})
* Added/Updated Czech translations ([[Radek Liška]], Bugs #4014, #4033, #4105)
+
* Added/Updated Czech translations ([[Radek Liška]], Bugs {{bug|4014}}, {{bug|4033}}, {{bug|4105}})
* Added/Updated Spanish translations ([[Javier Remacha]], Bugs #3830, #4047)
+
* Added/Updated Spanish translations ([[Javier Remacha]], Bugs {{bug|3830}}, {{bug|4047}})
* Added/Updated Ukrainian translations ([[Artem Reznikov]], Bugs #3833, #3852)
+
* Added/Updated Ukrainian translations ([[Artem Reznikov]], Bugs {{bug|3833}}, {{bug|3852}})
* Added/Updated Italian translations ([[Paolo Devoti]], Bugs #3839, #4061)
+
* Added/Updated Italian translations ([[Paolo Devoti]], Bugs {{bug|3839}}, {{bug|4061}})
* Added/Updated Korean translations ([[Seungju Kim]], Bugs #3851, #3915)
+
* Added/Updated Korean translations ([[Seungju Kim]], Bugs {{bug|3851}}, {{bug|3915}})
* Added/Updated Polish translations ([[Maciej Bialas]], Bug #3871)
+
* Added/Updated Polish translations ([[Maciej Bialas]], Bug {{bug|3871}})
* Added/Updated Greek translations ([[Apostolos Alexiadis]], Bugs #3881, #4030, #4063, #4088)
+
* Added/Updated Greek translations ([[Apostolos Alexiadis]], Bugs {{bug|3881}}, {{bug|4030}}, {{bug|4063}}, {{bug|4088}})
* Added/Updated Norwegian translations ([[Lars Martin Hambro]], Bugs #3942, #4037)
+
* Added/Updated Norwegian translations ([[Lars Martin Hambro]], Bugs {{bug|3942}}, {{bug|4037}})
 
* Added/Updated German translation of Hardware Wizard, System Setup DLL ([[Daniel Reimer]])
 
* Added/Updated German translation of Hardware Wizard, System Setup DLL ([[Daniel Reimer]])
 
* Added Armenian translation of Notepad ([[Andranik Haroyan]])
 
* Added Armenian translation of Notepad ([[Andranik Haroyan]])
 
* Added Thai translation of ReactOS Calc ([[Sumath Aowsakulsutthi]])
 
* Added Thai translation of ReactOS Calc ([[Sumath Aowsakulsutthi]])
* Updated Italian translation of ReactOS Calc ([[Carlo Bramini]], Bug #4078)
+
* Updated Italian translation of ReactOS Calc ([[Carlo Bramini]], Bug {{bug|4078}})
  
 
= Host Tools =
 
= Host Tools =
* Fix compiler warnings treated as errors when using GCC 4.3.2 ([[Dmitry Gorbachev]], bug #3849)
+
* Fix compiler warnings treated as errors when using GCC 4.3.2 ([[Dmitry Gorbachev]], bug {{bug|3849}})
 
* Rearrange "host/typedefs.h" to make it look more logical, fix a wrong definition of INT_PTR and UINT_PTR in this file ([[Colin Finck]])
 
* Rearrange "host/typedefs.h" to make it look more logical, fix a wrong definition of INT_PTR and UINT_PTR in this file ([[Colin Finck]])
  
Line 71: Line 76:
 
* Fix msvc project generation for kernel mode drivers without a driver entry ([[Johannes Anderwald]])
 
* Fix msvc project generation for kernel mode drivers without a driver entry ([[Johannes Anderwald]])
 
* Let rbuild throw an exception when an implicit module dependency (like mingw lib) cannot be resolved instead of silently failing ([[Timo Kreuzer]])
 
* Let rbuild throw an exception when an implicit module dependency (like mingw lib) cannot be resolved instead of silently failing ([[Timo Kreuzer]])
 +
* Fix some abuse of the c_str buffer in std::string ([[arty]])
  
 
== RSYM ==
 
== RSYM ==
Line 90: Line 96:
  
 
* Fixed SMP build compilation and enable it by default. It does not boot due to massive lack of SMP support in critical areas ([[Stefan Ginsberg]])
 
* Fixed SMP build compilation and enable it by default. It does not boot due to massive lack of SMP support in critical areas ([[Stefan Ginsberg]])
* Retrieve the count of handles for a process without the occasional crash or race condition ([[KJK::Hyperion]], Bug #4050)
+
* Retrieve the count of handles for a process without the occasional crash or race condition ([[KJK::Hyperion]], Bug {{bug|4050}})
 
* Rename section "init" to "INIT", so that pefixup will actually recognize it. ([[Timo Kreuzer]])
 
* Rename section "init" to "INIT", so that pefixup will actually recognize it. ([[Timo Kreuzer]])
  
Line 161: Line 167:
 
=== MM ===
 
=== MM ===
 
* Implement VirtualMemoryInformationClass of MemorySectionName for NtQueryVirtualMemory. ([[Michael Martin]])
 
* Implement VirtualMemoryInformationClass of MemorySectionName for NtQueryVirtualMemory. ([[Michael Martin]])
* Use volatile with PagesLocked and MdlAddress in MiDoMappedCopy, to prevent bugcheck when code in SEH failed. ([[Michael Martin]], Bug #3674)
+
* Use volatile with PagesLocked and MdlAddress in MiDoMappedCopy, to prevent bugcheck when code in SEH failed. ([[Michael Martin]], Bug {{bug|3674}})
 
* MmMapViewOfSection: Fix a missing unlock of the kernel address space in some failure cases ([[Stefan Ginsberg]])
 
* MmMapViewOfSection: Fix a missing unlock of the kernel address space in some failure cases ([[Stefan Ginsberg]])
 
* Fix page protection flag checks in NtAllocateVirtualMemory and MmMapViewOfSection ([[Timo Kreuzer]])
 
* Fix page protection flag checks in NtAllocateVirtualMemory and MmMapViewOfSection ([[Timo Kreuzer]])
Line 176: Line 182:
 
== Hardware Abstraction Layer (HAL) ==
 
== Hardware Abstraction Layer (HAL) ==
 
* Fix broken implementation of KdComPortInUse ([[Stefan Ginsberg]])
 
* Fix broken implementation of KdComPortInUse ([[Stefan Ginsberg]])
* Fixed HAL DMA problem that caused floppy driver not to work (the point was that function had to copy the read sector back to the MDL buffer and it was not doing that because of the problem with braces, broken in rev is 24464) ([[Juan Sánchez Jurado]], bug #2287)
+
* Fixed HAL DMA problem that caused floppy driver not to work (the point was that function had to copy the read sector back to the MDL buffer and it was not doing that because of the problem with braces, broken in rev is 24464) ([[Juan Sánchez Jurado]], bug {{bug|2287}})
  
 
== Run Time Library (RTL) ==
 
== Run Time Library (RTL) ==
Line 193: Line 199:
 
* When querying file name information, fill in the whole buffer provided by the caller, even if filename does not fully fit (driver by Microsoft(R) does the same). Also, return the actual amount of data written in IoSb.Information, even in case of buffer overflow result ([[Aleksey Bragin]])
 
* When querying file name information, fill in the whole buffer provided by the caller, even if filename does not fully fit (driver by Microsoft(R) does the same). Also, return the actual amount of data written in IoSb.Information, even in case of buffer overflow result ([[Aleksey Bragin]])
 
* Upcase a search expression when calling RtlIsNameInExpression with case-insensitive option ([[Pierre Schweitzer]])
 
* Upcase a search expression when calling RtlIsNameInExpression with case-insensitive option ([[Pierre Schweitzer]])
 +
* Add a per-directory cache for short filenames that guarantees generation of unique names ([[arty]])
  
 
=== FASTFAT ===
 
=== FASTFAT ===
Line 254: Line 261:
  
 
=== SCSIPORT ===
 
=== SCSIPORT ===
* Implement ScsiPortCompleteRequest based on OSR description ([[Aleksey Bragin]], bug #3025)
+
* Implement ScsiPortCompleteRequest based on OSR description ([[Aleksey Bragin]], bug {{bug|3025}})
  
 
=== SYSAUDIO ===
 
=== SYSAUDIO ===
Line 266: Line 273:
  
 
=== VIDEOPRT ===
 
=== VIDEOPRT ===
* Add missing assignments to all CallingProcess variables in int10.c. ([[Michael Martin]], Bug #2286)
+
* Add missing assignments to all CallingProcess variables in int10.c. ([[Michael Martin]], Bug {{bug|2286}})
* Fixed memory corruption in VideoPortInt10 implementation. ([[Michael Martin]], Bug #2286)
+
* Fixed memory corruption in VideoPortInt10 implementation. ([[Michael Martin]], Bug {{bug|2286}})
* Fixed bug in VideoPortGetAccessRanges, causing the device to not be found on the bus. ([[Michael Martin]], Bug #2286)
+
* Fixed bug in VideoPortGetAccessRanges, causing the device to not be found on the bus. ([[Michael Martin]], Bug {{bug|2286}})
  
 
== NT System Library (NTDLL) ==
 
== NT System Library (NTDLL) ==
Line 275: Line 282:
 
=== CRT ===
 
=== CRT ===
 
* Fixed potential va_list issue in _cprintf ([[KJK::Hyperion]])
 
* Fixed potential va_list issue in _cprintf ([[KJK::Hyperion]])
* Fixed structure initializer in locale data ([[Dmitry Gorbachev]], Bug #3926)
+
* Fixed structure initializer in locale data ([[Dmitry Gorbachev]], Bug {{bug|3926}})
 
* Replace wine exception handling headers with ndk ([[Timo Kreuzer]])
 
* Replace wine exception handling headers with ndk ([[Timo Kreuzer]])
  
 
=== MINGW ===
 
=== MINGW ===
* Removed stray semicolon in __cpu_features_init ([[Dmitry Gorbachev]], Bug #3924)
+
* Update mingw lib to latest mingw64 version ([[Timo Kreuzer]])
 +
* Removed stray semicolon in __cpu_features_init ([[Dmitry Gorbachev]], Bug {{bug|3924}})
  
 
=== PSEH ===
 
=== PSEH ===
Line 285: Line 293:
  
 
== Keyboard Layouts ==
 
== Keyboard Layouts ==
* Add Czech QWERTZ keyboard layout ([[Radek Liška]], bug #4031)
+
* Add Czech QWERTZ keyboard layout ([[Radek Liška]], bug {{bug|4031}})
  
 
= USETUP =
 
= USETUP =
 
* Include zero byte in byte count to NtSetValueKey ([[Johannes Anderwald]])
 
* Include zero byte in byte count to NtSetValueKey ([[Johannes Anderwald]])
 +
* Fix a cast from pointer to integer of different size ([[Samuel Serapión]])
  
 
= Win32™ Personality =
 
= Win32™ Personality =
Line 294: Line 303:
  
 
== Kernel-mode subsystem server (Win32K) ==
 
== Kernel-mode subsystem server (Win32K) ==
* Fix TransparentBlt in 24bpp mode ([[Gregor Schneider]], bug #1583)
+
* Fix TransparentBlt in 24bpp mode ([[Gregor Schneider]], bug {{bug|1583}})
 
* Fix StretchBlt offset calculation in 8bpp and 16bpp ([[Gregor Schneider]])
 
* Fix StretchBlt offset calculation in 8bpp and 16bpp ([[Gregor Schneider]])
 
* Fix BitBlt MergePaint operation ([[Gregor Schneider]])
 
* Fix BitBlt MergePaint operation ([[Gregor Schneider]])
 
* Fix hatched brush color conversion ([[Gregor Schneider]])
 
* Fix hatched brush color conversion ([[Gregor Schneider]])
* Fix BitBlt coordinate calculation for 1 bit masks ([[Gregor Schneider]], bug #2372)
+
* Fix BitBlt coordinate calculation for 1 bit masks ([[Gregor Schneider]], bug {{bug|2372}})
 
* Add several PS_NULL, PS_INSIDEFRAME and PS_ALTERNATE brush improvements ([[Gregor Schneider]])
 
* Add several PS_NULL, PS_INSIDEFRAME and PS_ALTERNATE brush improvements ([[Gregor Schneider]])
 
* Fix DrawIcon and DrawIconEx in 32bpp mode ([[Gregor Schneider]])
 
* Fix DrawIcon and DrawIconEx in 32bpp mode ([[Gregor Schneider]])
Line 304: Line 313:
 
* Create CallProc for edit controls to match windows behavior. ([[Michael Martin]], [[James Tabor]])
 
* Create CallProc for edit controls to match windows behavior. ([[Michael Martin]], [[James Tabor]])
 
* Store settings of SPI_SETMOUSEBUTTONSWAP in registry ([[Johannes Anderwald]])
 
* Store settings of SPI_SETMOUSEBUTTONSWAP in registry ([[Johannes Anderwald]])
* Add key modifiers MK_CONTROL and MK_SHIFT to all mouse events ([[Matthias Kupfer]], bug #3557)
+
* Add key modifiers MK_CONTROL and MK_SHIFT to all mouse events ([[Matthias Kupfer]], bug {{bug|3557}})
 
* Rename BITMAPOBJ to SURFACE as it's called on windows ([[Timo Kreuzer]])
 
* Rename BITMAPOBJ to SURFACE as it's called on windows ([[Timo Kreuzer]])
 
* Fix creation of xlate object for mono dib sections ([[Timo Kreuzer]])
 
* Fix creation of xlate object for mono dib sections ([[Timo Kreuzer]])
* Use the bitmap's palette, not the DC one's in NtGdiGetDIBitsInternal ([[Timo Kreuzer]], bug #3854)
+
* Use the bitmap's palette, not the DC one's in NtGdiGetDIBitsInternal ([[Timo Kreuzer]], bug {{bug|3854}})
 
* Flush the gdi batch in NtGdiDeletObjectApp, so all pending operations are done, before the dc is deleted ([[Timo Kreuzer]])
 
* Flush the gdi batch in NtGdiDeletObjectApp, so all pending operations are done, before the dc is deleted ([[Timo Kreuzer]])
 
* Make NtGdiExtTextOutW call the internal function GreExtTextOut and use that from within win32k ([[Timo Kreuzer]])
 
* Make NtGdiExtTextOutW call the internal function GreExtTextOut and use that from within win32k ([[Timo Kreuzer]])
 
* Fix usermode pointer protection in NtGdiExtTextOutW using SEH instead of MmCopyFromCaller ([[Timo Kreuzer]])
 
* Fix usermode pointer protection in NtGdiExtTextOutW using SEH instead of MmCopyFromCaller ([[Timo Kreuzer]])
 
* Only use one pool allocation for usermode buffer in NtGdiExtTextOutW, try a stack buffer first ([[Timo Kreuzer]])
 
* Only use one pool allocation for usermode buffer in NtGdiExtTextOutW, try a stack buffer first ([[Timo Kreuzer]])
* Handle Dy values in NtGdiExtTextOutW when ETO_PDY is specified ([[Alexander Potashev]], bug #3958)
+
* Handle Dy values in NtGdiExtTextOutW when ETO_PDY is specified ([[Alexander Potashev]], bug {{bug|3958}})
 
* Probe the usermode buffer instead of the safe buffer in NtGdiGetFontUnicodeRanges ([[Timo Kreuzer]])
 
* Probe the usermode buffer instead of the safe buffer in NtGdiGetFontUnicodeRanges ([[Timo Kreuzer]])
 
* Fix thread dereferencing mechanism in NtUserSetWindowsHookEx ([[Aleksey Bragin]])
 
* Fix thread dereferencing mechanism in NtUserSetWindowsHookEx ([[Aleksey Bragin]])
Line 320: Line 329:
  
 
== Services ==
 
== Services ==
 +
* Fix ScmGetServiceEntryByClientHandle definition ([[Samuel Serapión]])
  
 
=== DHCP ===
 
=== DHCP ===
* Fixed bug that caused failure to assign ip address if address 255.255.255.255 was received from server. ([[Michael Martin]], Bug #3962)
+
* Fixed bug that caused failure to assign ip address if address 255.255.255.255 was received from server. ([[Michael Martin]], Bug {{bug|3962}})
 
* Fix length check ([[Johannes Anderwald]])
 
* Fix length check ([[Johannes Anderwald]])
  
 
=== WinLogon ===
 
=== WinLogon ===
 
* Set the APPDATA environment variable when logging in ([[Colin Finck]])
 
* Set the APPDATA environment variable when logging in ([[Colin Finck]])
 +
* Correct return type for GinaLoadFailedWindowProc and DefaultWlxWindowProc ([[Samuel Serapión]])
  
 
== Control panel applets ==
 
== Control panel applets ==
 
=== APPWIZ ===
 
=== APPWIZ ===
* Check for a null pointer when creating a link to a directory or a file without extension ([[Kamil Horníček]], Bug #3959)
+
* Check for a null pointer when creating a link to a directory or a file without extension ([[Kamil Horníček]], Bug {{bug|3959}})
  
 
=== INTL ===
 
=== INTL ===
Line 342: Line 353:
 
== Win32™ Applications ==
 
== Win32™ Applications ==
 
=== Calc ===
 
=== Calc ===
* Add Slovak koruna to ReactOS Calc ([[Mário Kačmár]], bug #3867)
+
* Add Slovak koruna to ReactOS Calc ([[Mário Kačmár]], bug {{bug|3867}})
* Add categories Angle and Time and Czech koruna to ReactOS Calc ([[Radek Liška]], bug #4064)
+
* Add categories Angle and Time and Czech koruna to ReactOS Calc ([[Radek Liška]], bug {{bug|4064}})
  
 
=== Command Prompt ===
 
=== Command Prompt ===
Line 349: Line 360:
 
* Fix bug where DIR /D wouldn't always show all files ([[Jeffrey Morlan]])
 
* Fix bug where DIR /D wouldn't always show all files ([[Jeffrey Morlan]])
 
* Implement proper support for multi-line IF blocks, IF /I option, IF CMDEXTVERSION, and generic comparisons (EQU etc); fix IF ERRORLEVEL to do >= check rather than == ([[Jeffrey Morlan]])
 
* Implement proper support for multi-line IF blocks, IF /I option, IF CMDEXTVERSION, and generic comparisons (EQU etc); fix IF ERRORLEVEL to do >= check rather than == ([[Jeffrey Morlan]])
* Give an error message when trying to MKDIR a directory that already exists; add support for making multiple directories with one MKDIR command ([[Jeffrey Morlan]], bug #3961)
+
* Give an error message when trying to MKDIR a directory that already exists; add support for making multiple directories with one MKDIR command ([[Jeffrey Morlan]], bug {{bug|3961}})
* Allow the DIR command to be interrupted via Ctrl-C even while in the middle of a directory. ([[Jeffrey Morlan]], bug #3967)
+
* Allow the DIR command to be interrupted via Ctrl-C even while in the middle of a directory. ([[Jeffrey Morlan]], bug {{bug|3967}})
* Allow MOVE's arguments to contain slashes ([[Víctor Martínez Calvo]], bug #4013)
+
* Allow MOVE's arguments to contain slashes ([[Víctor Martínez Calvo]], bug {{bug|4013}})
 
* For MOVE command: only check for options at the beginning of the command line; give an error message if too many parameters are given; if no destination is given, default to current directory; fix crash that occurred with certain source filenames; fix memory leaks ([[Jeffrey Morlan]])
 
* For MOVE command: only check for options at the beginning of the command line; give an error message if too many parameters are given; if no destination is given, default to current directory; fix crash that occurred with certain source filenames; fix memory leaks ([[Jeffrey Morlan]])
 
* Add support for removing multiple directories with one RMDIR command ([[Jeffrey Morlan]])
 
* Add support for removing multiple directories with one RMDIR command ([[Jeffrey Morlan]])
* Fixed REN command ([[Víctor Martínez Calvo]], bug #3902)
+
* Fixed REN command ([[Víctor Martínez Calvo]], bug {{bug|3902}})
  
 
=== Ipconfig ===
 
=== Ipconfig ===
* Fix ipconfig output when no nic adapter is present, patch by [[Lucas Suggs]] bug #3928
+
* Fix ipconfig output when no nic adapter is present, patch by [[Lucas Suggs]] bug {{bug|3928}}
 
* Fix a few memory leaks ([[Johannes Anderwald]])
 
* Fix a few memory leaks ([[Johannes Anderwald]])
  
 
=== Notepad ===
 
=== Notepad ===
* Fix the display of Line and Column in the Status Bar and add language resources for this ([[Carlo Bramini]], bug #3702)
+
* Fix the display of Line and Column in the Status Bar and add language resources for this ([[Carlo Bramini]], bug {{bug|3702}})
  
 
=== SC ===
 
=== SC ===
Line 367: Line 378:
  
 
=== Solitaire ===
 
=== Solitaire ===
* Fix winning infinitely bug by dealing cards again ([[Lucas Suggs]], bug #3288)
+
* Fix winning infinitely bug by dealing cards again ([[Lucas Suggs]], bug {{bug|3288}})
* Fix status bar overlay problems ([[Gregor Schneider]], bug #3336, bug #3820)
+
* Fix status bar overlay problems ([[Gregor Schneider]], bug {{bug|3336}}, bug {{bug|3820}})
  
 
=== Taskmgr ===
 
=== Taskmgr ===
* Fix Switch-To Button, enable only if one selected application ([[Mário Kačmár]], bug #4028)
+
* Fix Switch-To Button, enable only if one selected application ([[Mário Kačmár]], bug {{bug|4028}})
  
 
== Win32™ Libraries ==
 
== Win32™ Libraries ==
 
=== ADVAPI32 ===
 
=== ADVAPI32 ===
 
* Fix potential accesses to uninitialized variables detected by Visual C++ ([[KJK::Hyperion]])
 
* Fix potential accesses to uninitialized variables detected by Visual C++ ([[KJK::Hyperion]])
* Fix return value of GetTraceLoggerHandle ([[Dmitry Gorbachev]], Bug #3827)
+
* Fix return value of GetTraceLoggerHandle ([[Dmitry Gorbachev]], Bug {{bug|3827}})
  
 
=== COMCAT ===
 
=== COMCAT ===
Line 400: Line 411:
 
* Reimplemented BuildCommDCB and BuildCommDCBAndTimeouts. New implementation passes the Wine regression tests ([[KJK::Hyperion]])
 
* Reimplemented BuildCommDCB and BuildCommDCBAndTimeouts. New implementation passes the Wine regression tests ([[KJK::Hyperion]])
 
* Thanks to PSEH v2, OutputDebugString now correctly sends the output to the user-mode debugger, if one is attached ([[KJK::Hyperion]])
 
* Thanks to PSEH v2, OutputDebugString now correctly sends the output to the user-mode debugger, if one is attached ([[KJK::Hyperion]])
 +
 +
=== MSAFD ===
 +
* Multiple listen on a listening socket is ok. ([[Arty]])
  
 
=== MSVCRT ===
 
=== MSVCRT ===
* Add parameter checks to strftime ([[Daniel Zimmermann]], bug #3910)
+
* Add parameter checks to strftime ([[Daniel Zimmermann]], bug {{bug|3910}})
* Add support for floating point operations in sprintf ([[Gregor Schneider]], bug #1533, bug #3727, bug #3878)
+
* Add support for floating point operations in sprintf ([[Gregor Schneider]], bug {{bug|1533}}, bug {{bug|3727}}, bug {{bug|3878}})
 
* Update and fix undname, makepath, locale and several mbstring functions for increased compatibility ([[Gregor Schneider]])
 
* Update and fix undname, makepath, locale and several mbstring functions for increased compatibility ([[Gregor Schneider]])
  

Latest revision as of 14:33, 13 May 2014

This is the changelog for ReactOS™ version 0.3.8 (released 4 February, 2009), 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.7 (released 4 November, 2008).

General

Generic 0.3.8 Changes

Translations

Host Tools

  • Fix compiler warnings treated as errors when using GCC 4.3.2 (Dmitry Gorbachev, bug #3849)
  • Rearrange "host/typedefs.h" to make it look more logical, fix a wrong definition of INT_PTR and UINT_PTR in this file (Colin Finck)

RBUILD

  • Don't decide whether to preprocess .spec files based on Kernel-Mode vs. User-Mode, but on the file extension. Preprocessed files use the .pspec extension now (Colin Finck, KJK::Hyperion)
  • Removed some checks for uppercased file extensions (Colin Finck)
  • Reenable testing on undefined properties, they are treated as being empty now (Colin Finck)
  • Parallel build fixes related to .spec/.pspec and the generation of .exp object files (KJK::Hyperion)
  • Automatically choose a C runtime library for each module and provide a standard way to override the default (KJK::Hyperion)
  • Force each module to choose between a statically linked or a dynamically linked C runtime library, for future compatibility with Visual C++ (KJK::Hyperion)
  • Create a separate import library ("ntsys") to import just system services from ntdll (KJK::Hyperion)
  • Echo "[CPP]" for invocations of the C preprocessor (KJK::Hyperion)
  • Fixed setting project-global compiler flags (KJK::Hyperion)
  • New project-global attribute allowwarnings, to fail on compilation warnings for either all modules or no modules (KJK::Hyperion)
  • Refactored makefile rules to be more maintainable (KJK::Hyperion)
  • Makefile rules extracted from hard-coded strings in rbuild code to an include .mak file, to be more maintainable (KJK::Hyperion)
  • Reimplemented pre-rbuild feature of full dependencies, for faster, minimal, comprehensive incremental builds at the price of slower full builds (KJK::Hyperion)
  • Correctly support C++ precompiled headers (KJK::Hyperion)
  • Echo "[HOST-CC]", "[HOST-LD]" and "[HOST-AR]" for host build tools to distinguish them from target tools (KJK::Hyperion)
  • Fix msvc project generation for kernel mode drivers without a driver entry (Johannes Anderwald)
  • Let rbuild throw an exception when an implicit module dependency (like mingw lib) cannot be resolved instead of silently failing (Timo Kreuzer)
  • Fix some abuse of the c_str buffer in std::string (arty)

RSYM

  • Don't overrun a heap block when there are discarded relocations (KJK::Hyperion)

WIDL

Core

Bootloader (FreeLoader)

  • Allow alternate ReactOS path on live-CD (Andrew Greenwood)
  • Add special ReactOSSetup OS type which calls setupldr (Andrew Greenwood)
  • Add a new API to Freeldr's memory manager, which allows to override type of an already allocated memory (Aleksey Bragin)
  • WINLDR: Fix page tables buffer memory allocation so that it doesn't rely on luck anymore and always allocates a contiguous area of memory. Fixes spontaneous case of booting problem (immediate black screen after loading drivers, reboot of real hardware, halt of cpu in a virtual machine) (Aleksey Bragin)
  • WINLDR: Fix some debug print (Aleksey Bragin)

Kernel and Executive (NTOSKRNL)

  • Fixed SMP build compilation and enable it by default. It does not boot due to massive lack of SMP support in critical areas (Stefan Ginsberg)
  • Retrieve the count of handles for a process without the occasional crash or race condition (KJK::Hyperion, Bug #4050)
  • Rename section "init" to "INIT", so that pefixup will actually recognize it. (Timo Kreuzer)

CM

  • Fix KCB ref leaks in Cm parse routine (Aleksey Bragin, Stefan Ginsberg)
  • Fix registry lock leakages in CmpDoOpen in failure cases (Aleksey Bragin)
  • Add support for a special case of opening existing (cached) KCBs by CmpDoOpen (Aleksey Bragin)
  • Specify a flag for that case in one specific case inside CmpParseKey, which allows us to get rid of the "\\REGISTRY" hack inside the code, fixes the 'Kcb->RefCount == 1' assertion failure, and certainly fixes registry-related regression tests. There might be some side effects in theory, but since this hack only applied to the root key, they shouldn't happen (Aleksey Bragin, Stefan Ginsberg)

DBGK

  • Fix various bugs and some missing handling of failure cases in the DBGK implementation. This makes Ollydbg able to attach, detach, suspend and resume processes under debug without causing weird kernel crashes (Stefan Ginsberg)

EX

  • Fixed implementation of PsCreateProcessNotifyRoutine (Michael Martin)
  • Fixed dereferencing of wrong object in NtCreateProfile, pProcess not Process. (Michael Martin)
  • Fix an array overrun in NtQuerySystemInformation and NtSetSystemInformation (KJK::Hyperion, CID 527 and CID 528)
  • Remove hack around VFATFS and CDFS bugs which were fixed in r37393 (Aleksey Bragin)
  • Fix NtAddAtom/NtFindAtom logic when dealing with NULL or kernel Atom names (Alex Ionescu)
  • Use KeQueryRuntimeProcess for obtaining idle process times, and per-process information in QuerySystemInformation routines (Aleksey Bragin)
  • Fix incorrect multiplier being applied to user/kernel times (should be KeMaximumIncrement instead of 100000) (Aleksey Bragin)
  • Slightly rework SystemProcessorPerformanceInformation to provide valid data (Aleksey Bragin)
  • Implement query case of SystemTimeAdjustmentInformation (Aleksey Bragin)
  • Implement a better stub for setting case of SystemTimeAdjustmentInformation (Aleksey Bragin)
  • Rewrite SystemTimeOfDay QuerySystemInformation case. ReqSize is the amount of data copied to the user so use it accordingly. Also, fill up the buffer as much as the caller requested. Fixes 1 "ntdll_winetest.exe info" (Aleksey Bragin)
  • Use a newer (5.0 and higher) version of SYSTEM_TIMEOFDAY_INFORMATION structure (consisting of two additional 64 bits fields: boot time bias and sleep time bias) (Aleksey Bragin)

FSRTL

FSTUB

  • Correctly assign NtSystemRoot and remove assumption that number of partitions equals number of harddisks (Giannis Adamopoulos, bug 3170)

IO

  • NtWrite/ReadFile: Fix a bug where RequestorMode would always be set to KernelMode, which would cause user-mode APCs to be called directly from kernel (Stefan Ginsberg)
  • IopCheckVpbMounted: Fix a bug where NT_SUCCESS was used on a pointer to NTSTATUS value instead of the status value itself (Timo Kreuzer)
  • Use ExInitializeSystemLookasideList instead of ExInitializeNPagedLookasideList for the internal I/O lookaside lists (just as it was done for the Ob lists a couple of months ago) (Aleksey Bragin)
  • Optimize lookaside allocation by using one large contiguous buffer instead of fragmented buffers for each CPU (Aleksey Bragin)
  • Use NT structure names instead of ReactOS-only structures (Aleksey Bragin)
  • Fixes some memory corruption issues when doing I/O completion (found by Stefan Ginsberg and winetests) (Aleksey Bragin)
  • Do not use "with tag" when freeing the system buffer, because drivers are allowed to re-allocate their own buffer, which may have a different tag (Aleksey Bragin)
  • Fix failure cases in EnumerateRootDevices which might've freed non-allocated memory (Alex Ionescu)
  • Implement IoGetRemainingStackSize (Aleksey Bragin)
  • Fix broken behavior of IoBuildPartialMdl, which instead of copying 4 flags from a source mdl to a target one was always setting all of them, thus often making resultant mdl unusable (Aleksey Bragin)
  • Fix one more typo in the IoBuildPartialMdl code leading to ignore of TargetMdl flags and always setting MDL_ALLOCATED_FIXED_SIZE and MDL_ALLOCATED_MUST_SUCCEED even if a caller did not want so (Alex Ionescu)
  • Fix an always true comparison in IoCheckEaBufferValidity (Aleksey Bragin)
  • Check if CompletionFilter has a valid value too (Aleksey Bragin)
  • Don't leak a FileObject reference in case of failure (Aleksey Bragin)
  • Merge IoGetRelatedTargetDevice implementation by Pierre Schweitzer (pierre-fsd branch), with my modifications (Pierre Schweitzer, Aleksey Bragin)
  • Remove a hack from IopApplyRosCdromArcHack (Giannis Adamopoulos)

KD

  • Add some code to complete breakpoint of gdbstub (Cary Xiao)

KDBG

  • Fix KDBGs usage of PsLookupThread/ProcessByThread/ProcessId, which leaked references every time we attached to a process/thread (Stefan Ginsberg)
  • Remove useless circle definition _setjmp -> setjmp -> _setjmp (Timo Kreuzer)

KE

MM

  • Implement VirtualMemoryInformationClass of MemorySectionName for NtQueryVirtualMemory. (Michael Martin)
  • Use volatile with PagesLocked and MdlAddress in MiDoMappedCopy, to prevent bugcheck when code in SEH failed. (Michael Martin, Bug #3674)
  • MmMapViewOfSection: Fix a missing unlock of the kernel address space in some failure cases (Stefan Ginsberg)
  • Fix page protection flag checks in NtAllocateVirtualMemory and MmMapViewOfSection (Timo Kreuzer)
  • Fix inversed failure logic in MmAllocatePagesForMdl (Aleksey Bragin)

OB

PS

  • Fix a potential case of non-paged pool memory double freeing spotted by Michael Martin (Aleksey Bragin)
  • Fix a typo: if a process has DisableBoost set then TRUE should be returned when querying ProcessPriorityBoost information, not FALSE (Aleksey Bragin)

SMSS

Hardware Abstraction Layer (HAL)

  • Fix broken implementation of KdComPortInUse (Stefan Ginsberg)
  • Fixed HAL DMA problem that caused floppy driver not to work (the point was that function had to copy the read sector back to the MDL buffer and it was not doing that because of the problem with braces, broken in rev is 24464) (Juan Sánchez Jurado, bug #2287)

Run Time Library (RTL)

  • Fix a bug in OEM to Unicode conversion code (Dmitry Gorbachev)
  • Fix weird code in RtlGetVersion (Aleksey Bragin, Daniel Zimmerman)
  • RtlUnicodeStringToCountedOemString improvements: Fix zero-sized input string handling, result would be error instead of success and zero output string; If destination string's MaximumLength and Length are equal, it's not an erroneous situation (in fact, a very common situation); Add comments (Aleksey Bragin)
  • RtlOemStringToCountedUnicodeString improvements: Fix STATUS_BUFFER_OVERFLOW when destination string's MaximumLength and Length are equal; Add comments (Aleksey Bragin)
  • Stubplement SwapSplayLinks helper function, and make RtlDelete call it (Aleksey Bragin)

Kernel Mode Drivers

ACPI

CDFS

  • When querying file name information, fill in the whole buffer provided by the caller, even if filename does not fully fit (driver by Microsoft(R) does the same). Also, return the actual amount of data written in IoSb.Information, even in case of buffer overflow result (Aleksey Bragin)
  • Upcase a search expression when calling RtlIsNameInExpression with case-insensitive option (Pierre Schweitzer)
  • Add a per-directory cache for short filenames that guarantees generation of unique names (arty)

FASTFAT

  • When allocating a cluster, decrement the AvailableClusters count to keep reported free space consistent (Jeffrey Morlan)
  • Fixed bug where extending the size of an already non-empty file would crash if disk space runs out; also optimized that code so it doesn't always have to traverse the entire file (Jeffrey Morlan)
  • When querying file name information, fill in the whole buffer provided by the caller, even if filename does not fully fit (driver by Microsoft(R) does the same). Also, return the actual amount of data written in IoSb.Information, even in case of buffer overflow result (Aleksey Bragin)
  • Target device to mount may not have VPB, the driver should get the VPB passed in parameters (Aleksey Bragin)
  • Set target device's VPB to this value. This should not really be done, however our driver heavily depends on target device having this VPB. I don't see any side effects. With these changes, Windows 2003 is able to boot up to desktop and cleanly shutdown using this driver (Aleksey Bragin)
  • Always uninit cache for a file object (Aleksey Bragin)

FS_REC

  • UDF recognizer fixed so it doesn't perform partial sector reads. When trying to detect filesystem for a floppy without 0xaa55 signature UDF recognizer is called and it performed wrong partial sectors read because of a confusion between sectors and offset in bytes (Juan Sánchez Jurado, bug 2287)

KS

  • Implement KsCreateAllocator, KsRegisterWorker, KsUnregisterWorker, KsRegisterCountedWorker, KsDecrementCountedWorker, KsIncrementCountedWorker, KsQueueWorkItem (Johannes Anderwald)
  • Implement KsCreateDevice, KsAddDevice, KsInitializeDriver (Johannes Anderwald)
  • Add KsDefaultForwardIrp stub (Johannes Anderwald)

NPFS

  • Re-implemented read/write for message type mode. (Michael Martin)
  • Fixed bug in NpfsRead that was causing thread to not wake from wait. (Michael Martin)
  • Fixed problems with not being able to terminate threads that used pipe functions. (Michael Martin)
  • Modified NpfsSetPipeInformation to not allow changing read mode to message mode for byte stream type pipes. (Michael Martin)
  • Modified NpfsCreatePipe so that clients for NamedPipes always start off in byte stream mode. (Michael Martin)
  • Implemented NpfsPeekPipe. (Michael Martin)

PORTCLS

  • Implement PcGetDeviceProperty, PcGetTimeInterval, PcNewResourceSublist, PcRegisterIoTimeout, PcUnregisterIoTimeout, PcNewServiceGroup, PcRegisterSubdevice, PcRegisterAdapterPowerManagement, PcNewDmaChannel, PcForwardIrpSynchronous, PcNewPort, PcDmaMasterDescription, PcDmaSlaveDescription, PcRegisterPhysicalConnection, PcRegisterPhysicalConnectionFromExternal, PcRegisterPhysicalConnectionToExternal, PcRequestNewPowerState (Johannes Anderwald)
  • Implement PcNewRegistryKey for DeviceRegistryKey, DriverRegistryKey, HwProfileRegistryKey (Johannes Anderwald)
  • Implement portcls port drivers such as IPortWavePci, IPortWaveCyclic, IPortTopology and IPortMidi (Johannes Anderwald)
  • Implement portcls helper object such as IServiceGroup, IRegistryKey, IInterruptSync, IDmaChannel, IDmaChannelSlave (Johannes Anderwald)
  • Implement IPortClsVersion interface and make all port drivers use them (Johannes Anderwald)
  • Implement IDrmPort, IDrmPort2 interface and make all port drivers use them (Johannes Anderwald)
  • Partly implement PcCreateSubdeviceDescriptor (Johannes Anderwald)
  • Implement ISubdevice interface for IPortTopology, IPortWaveCyclic, IPortWavePci (Johannes Anderwald)
  • Add IIrpTarget, IKsWorkSink, IKsShellTransport, IIrpStream, IIrpStreamVirtual IIrpStreamPhysical, IPortFilterWaveCyclic, IPortPinWaveCyclic interface (Johannes Anderwald)
  • Use FILE_DEVICE_KS when creating new device object (Johannes Anderwald)
  • Pass correct flags when creating the fdo (Johannes Anderwald)
  • If there is no interrupt yet connected, call the synchronized routine holding the internal spinlock (Johannes Anderwald)
  • Don't disconnect the interrupt on cleanup, IInterruptSync_Disconnect exist for that purpose (Johannes Anderwald)
  • Move all calls to ExAllocatePoolWithTag to a function AllocateItem which is also responsible for zeroing memory (Johannes Anderwald)
  • Store PhysicalDeviceObject in device extension (Johannes Anderwald)
  • Check for valid DeviceExtensionSize (Johannes Anderwald)
  • Set DO_DIRECT_IO flag (Johannes Anderwald)
  • Clear DO_DEVICE_INITIALIZING flag (Johannes Anderwald)
  • Initialize the dpc for calling Miniport object, as it might create an interrupt object which immediately fires an interrupt (Johannes Anderwald)
  • If the caller doesnt provide an IAdapterPowerManagement interface, clear the existing reference (Johannes Anderwald)
  • Pass the pdo to IoOpenDeviceRegistryKey (Johannes Anderwald)
  • Move all guids and IIDs to own file and initialize them (Johannes Anderwald)
  • Store DeviceObject before calling IMiniportWaveCyclic, IMiniportTopology, IMiniportMidi as the driver might immediately call port functions (Johannes Anderwald)
  • Pass the PhysicalDeviceObject to IoGetDmaAdapter (Johannes Anderwald)
  • Handle IRP_MN_QUERY_INTERFACE (Johannes Anderwald)
  • Implement IPortEvents interface to IPortWavePci (Johannes Anderwald)
  • Register all device interfaces identified in the subdevice descriptor (Johannes Anderwald)
  • Create a subdevice descriptor for IPortWavePci, IPortWaveCyclic and IPortTopology and handle the respective ISubDevice::GetDescriptor (Johannes Anderwald)
  • Always request PCFILTER_DESCRIPTOR regardless of presence IPinCount interface (Johannes Anderwald)
  • Check if IMiniportWavePci omits a IServiceGroup (Johannes Anderwald)
  • no DriverEntry in here -> entrypoint="0" (Christoph von Wittich)
  • Fix parameter for KeWaitForSingleObject (Christoph von Wittich)
  • Rename device context struct (Christoph von Wittich)

SCSIPORT

SYSAUDIO

WDMAUD

VIDEOPRT

  • Add missing assignments to all CallingProcess variables in int10.c. (Michael Martin, Bug #2286)
  • Fixed memory corruption in VideoPortInt10 implementation. (Michael Martin, Bug #2286)
  • Fixed bug in VideoPortGetAccessRanges, causing the device to not be found on the bus. (Michael Martin, Bug #2286)

NT System Library (NTDLL)

Static Libraries

CRT

MINGW

PSEH

  • Reimplemented as PSEH v2. Now allows a much more readable syntax that's almost completely compatible with native SEH constructs. Also handles exceptions thrown during unwinding in a way that's compatible with native SEH (KJK::Hyperion)

Keyboard Layouts

USETUP

Win32™ Personality

User mode subsystem server (CSRSS)

Kernel-mode subsystem server (Win32K)

  • Fix TransparentBlt in 24bpp mode (Gregor Schneider, bug #1583)
  • Fix StretchBlt offset calculation in 8bpp and 16bpp (Gregor Schneider)
  • Fix BitBlt MergePaint operation (Gregor Schneider)
  • Fix hatched brush color conversion (Gregor Schneider)
  • Fix BitBlt coordinate calculation for 1 bit masks (Gregor Schneider, bug #2372)
  • Add several PS_NULL, PS_INSIDEFRAME and PS_ALTERNATE brush improvements (Gregor Schneider)
  • Fix DrawIcon and DrawIconEx in 32bpp mode (Gregor Schneider)
  • Fix returning correct previous windows procedure for SetWindowLong. (Michael Martin, James Tabor)
  • Create CallProc for edit controls to match windows behavior. (Michael Martin, James Tabor)
  • Store settings of SPI_SETMOUSEBUTTONSWAP in registry (Johannes Anderwald)
  • Add key modifiers MK_CONTROL and MK_SHIFT to all mouse events (Matthias Kupfer, bug #3557)
  • Rename BITMAPOBJ to SURFACE as it's called on windows (Timo Kreuzer)
  • Fix creation of xlate object for mono dib sections (Timo Kreuzer)
  • Use the bitmap's palette, not the DC one's in NtGdiGetDIBitsInternal (Timo Kreuzer, bug #3854)
  • Flush the gdi batch in NtGdiDeletObjectApp, so all pending operations are done, before the dc is deleted (Timo Kreuzer)
  • Make NtGdiExtTextOutW call the internal function GreExtTextOut and use that from within win32k (Timo Kreuzer)
  • Fix usermode pointer protection in NtGdiExtTextOutW using SEH instead of MmCopyFromCaller (Timo Kreuzer)
  • Only use one pool allocation for usermode buffer in NtGdiExtTextOutW, try a stack buffer first (Timo Kreuzer)
  • Handle Dy values in NtGdiExtTextOutW when ETO_PDY is specified (Alexander Potashev, bug #3958)
  • Probe the usermode buffer instead of the safe buffer in NtGdiGetFontUnicodeRanges (Timo Kreuzer)
  • Fix thread dereferencing mechanism in NtUserSetWindowsHookEx (Aleksey Bragin)
  • Remove the dib pointer from SURFACE (Timo Kreuzer)
  • Handle mapped sections in SURFACE_Cleanup (Timo Kreuzer)
  • Handle user provided bitfields, when creating a dib section (Timo Kreuzer)

Services

DHCP

WinLogon

  • Set the APPDATA environment variable when logging in (Colin Finck)
  • Correct return type for GinaLoadFailedWindowProc and DefaultWlxWindowProc (Samuel Serapión)

Control panel applets

APPWIZ

  • Check for a null pointer when creating a link to a directory or a file without extension (Kamil Horníček, Bug #3959)

INTL

SYSDM

Win32™ Applications

Calc

Command Prompt

  • Fix parsing of batch files lacking '\n' character on the last line (Jeffrey Morlan)
  • Fix bug where DIR /D wouldn't always show all files (Jeffrey Morlan)
  • Implement proper support for multi-line IF blocks, IF /I option, IF CMDEXTVERSION, and generic comparisons (EQU etc); fix IF ERRORLEVEL to do >= check rather than == (Jeffrey Morlan)
  • Give an error message when trying to MKDIR a directory that already exists; add support for making multiple directories with one MKDIR command (Jeffrey Morlan, bug #3961)
  • Allow the DIR command to be interrupted via Ctrl-C even while in the middle of a directory. (Jeffrey Morlan, bug #3967)
  • Allow MOVE's arguments to contain slashes (Víctor Martínez Calvo, bug #4013)
  • For MOVE command: only check for options at the beginning of the command line; give an error message if too many parameters are given; if no destination is given, default to current directory; fix crash that occurred with certain source filenames; fix memory leaks (Jeffrey Morlan)
  • Add support for removing multiple directories with one RMDIR command (Jeffrey Morlan)
  • Fixed REN command (Víctor Martínez Calvo, bug #3902)

Ipconfig

Notepad

  • Fix the display of Line and Column in the Status Bar and add language resources for this (Carlo Bramini, bug #3702)

SC

Solitaire

Taskmgr

Win32™ Libraries

ADVAPI32

COMCAT

D3D9

  • Implemented the following functions (Gregor Gullwi)
    • IDirect3DDevice9::CreateAdditionalSwapChain()
    • IDirect3DDevice9::GetGammaRamp()
    • IDirect3DDevice9::GetRasterStatus()
    • IDirect3DDevice9::GetBackBuffer()
    • IDirect3DDevice9::Present()
    • IDirect3DDevice9::GetFrontBufferData()

GDI32

  • Zero the last character in lfFaceName when converting a LOGFONT from A to W or vice versa (Timo Kreuzer)

GLU32

KERNEL32

  • Reimplemented BuildCommDCB and BuildCommDCBAndTimeouts. New implementation passes the Wine regression tests (KJK::Hyperion)
  • Thanks to PSEH v2, OutputDebugString now correctly sends the output to the user-mode debugger, if one is attached (KJK::Hyperion)

MSAFD

  • Multiple listen on a listening socket is ok. (Arty)

MSVCRT

NETCFGX

  • Dont display NCRP_QUERY_PROPERTY_UI when the notification object has already been created (Johannes Anderwald)

NETSHELL

OLE32

OLEAUT32

RPCRT4

SETUPAPI

SHELL32

USER32

  • Choose the correct version of DEVMODE in EnumDisplaySettingsExA (Kamil Horníček)
  • Add inline wrapper functions for kernel forwarded exports and use them inside user32 (Timo Kreuzer)

Regression tests

PSEH2_Test

Rosautotest

  • Wrote a new tool for running automatic regression tests, superseding our previous syssetup/cmd/dbgprint hack (Colin Finck)

Wcstombs-tests

  • Add some tests for WC_NO_BEST_FIT_CHARS, which pass under Windows XP SP3 (Colin Finck)
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