Difference between revisions of "ChangeLog-0.3.4"

From ReactOS Wiki
Jump to: navigation, search
m (GDI32)
Line 2: Line 2:
  
 
'''IMPORTANT: When adding a change, write a REAL NAME of the person, not his IRC or whatever nicks. This is an official paper. Also, reference bug numbers at the end of the change, in braces, like (your name, bug #2373).'''
 
'''IMPORTANT: When adding a change, write a REAL NAME of the person, not his IRC or whatever nicks. This is an official paper. Also, reference bug numbers at the end of the change, in braces, like (your name, bug #2373).'''
 
  
 
This is the changelog for ReactOS™ [[0.3.4|version 0.3.4]] (released when *censored* freezes over), 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 [[ChangeLog-0.3.3|version 0.3.3]] (released 12 September, 2007).
 
This is the changelog for ReactOS™ [[0.3.4|version 0.3.4]] (released when *censored* freezes over), 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 [[ChangeLog-0.3.3|version 0.3.3]] (released 12 September, 2007).
  
 
= General =
 
= General =
 
 
== Generic 0.3.4 Changes ==
 
== Generic 0.3.4 Changes ==
* Added more entries to machine.inf to install ACPI thermal zone and ACPI lid ([[Cameron Gutman]])
+
* Added more entries to machine.inf to install ACPI thermal zones and lids ([[Cameron Gutman]])
* LiveCD's now use SOS boot screen ([[Cameron Gutman]], bug #2658)
+
* LiveCDs now use the SOS boot screen ([[Cameron Gutman]], bug #2658)
 
* XML compliance fixes for the .rbuild files ([[Marc Piulachs]], bug #2649)
 
* XML compliance fixes for the .rbuild files ([[Marc Piulachs]], bug #2649)
 
* Define default strings in the general "version.rc" resource file, which shouldn't be overwritten by applications. ([[Colin Finck]])
 
* Define default strings in the general "version.rc" resource file, which shouldn't be overwritten by applications. ([[Colin Finck]])
Line 40: Line 38:
 
* Added Italian translation for Mstsc ([[Gabriel Ilardi]], bug #2794)
 
* Added Italian translation for Mstsc ([[Gabriel Ilardi]], bug #2794)
 
* Added Greek translation for Comctl32 ([[Apostolos Alexiadis]], bug #2464)
 
* Added Greek translation for Comctl32 ([[Apostolos Alexiadis]], bug #2464)
* Added German Translations for input.cpl, cylfrac, logon, scrnsave, starfield, deskadp, deskmon, eventvwr, joy, tapiui, xcopy, 3dtext, mstsc, telephon, ipconfig, clb, rasapi32, appwiz, modemui and teh OVERKILL: rasdlg ([[Daniel Reimer]])
+
* Added German Translations for input.cpl, cylfrac, logon, scrnsave, starfield, deskadp, deskmon, eventvwr, joy, tapiui, xcopy, 3dtext, mstsc, telephone, ipconfig, clb, rasapi32, appwiz, modemui and rasdlg ([[Daniel Reimer]])
* Ukrainian translation update (Bug 2638, 2643, 2534, 2697, 2699, 2708, 2844, 2882) (temarez<AT>yandex<DOT>ru)
+
* Ukrainian translation update (Bugs #2638, #2643, #2534, #2697, #2699, #2708, #2844, #2882) (temarez<AT>yandex<DOT>ru)
* Catalan Translations (mtbochaca@ya.com) (Bug 2625, 2626, 2647, 2651, 2652, 2653, 2654, 2655, 2656) ([[Marc Tormo i Bochaca]])
+
* Catalan Translations (mtbochaca@ya.com) (Bugs #2625, #2626, #2647, #2651, #2652, #2653, #2654, #2655, #2656) ([[Marc Tormo i Bochaca]])
* Ukrainian translation update (Bug 2677, 2753, 2754) (rstzab@yandex.ru)
+
* Ukrainian translation update (Bugs #2677, #2753, #2754) (rstzab@yandex.ru)
* Italian translation (Bug 2713, 2714, 2716) (folleinvasato@yahoo.it)
+
* Italian translation (Bugs #2713, #2714, #2716) (folleinvasato@yahoo.it)
* Spanish translations (Bug 2603, 2612) (marc.piulachs@codexchange.net) ([[Marc Piulachs]])
+
* Spanish translations (Bugs #2603, #2612) (marc.piulachs@codexchange.net) ([[Marc Piulachs]])
* Bulgarian translation of ReactOS (Bug 2606, 2728, 2881) (sstpr@narod.ru)
+
* Bulgarian translation of ReactOS (Bugs #2606, #2728, #2881) (sstpr@narod.ru)
* Lithuanian translation update (Bug 2712, 2869) (cman<AT>cman<DOT>us)
+
* Lithuanian translation update (Bugs #2712, #2869) (cman<AT>cman<DOT>us)
* Italian translation (Bug 2640, 2722) (carlo.bramix@libero.it) ([[Carlo Bramini]])
+
* Italian translation (Bugs #2640, #2722) (carlo.bramix@libero.it) ([[Carlo Bramini]])
* Few updates to Italian rc files (Bug 2528, 2867) (devotip@tiscali.it)
+
* Updates to Italian rc files (Bugs #2528, #2867) (devotip@tiscali.it)
* Dutch translations for all screensavers (Bug 2678) (dreamsmsn@gmail.com) ([[Joost de Meij]])
+
* Dutch translations for all screensavers (Bugs #2678) (dreamsmsn@gmail.com) ([[Joost de Meij]])
* New intl.cpl italian translation (Bug 2628) (gabrielilardi@hotmail.it) ([[Gabirel Ilardi]])
+
* New intl.cpl Italian translation (Bug #2628) (gabrielilardi@hotmail.it) ([[Gabirel Ilardi]])
* Small fixes to eventvwr (Bug 2749) (marc.piulachs@codexchange.net) ([[Marc Piulachs]])
+
* Small fixes to eventvwr (Bug #2749) (marc.piulachs@codexchange.net) ([[Marc Piulachs]])
* New Greek resource files (Bug 2852) (djapalATgmailDTcom)
+
* New Greek resource files (Bug #2852) (djapalATgmailDTcom)
  
 
= Build Tools =
 
= Build Tools =
Line 59: Line 57:
 
* Correctly define LONG_PTR, ULONG_PTR and SIZE_T in "host/typedefs.h" ([[Colin Finck]])
 
* Correctly define LONG_PTR, ULONG_PTR and SIZE_T in "host/typedefs.h" ([[Colin Finck]])
 
* Define WCHAR to "unsigned short" in "host/typedefs.h", so it's always 2 bytes for host tools ([[Colin Finck]])
 
* Define WCHAR to "unsigned short" in "host/typedefs.h", so it's always 2 bytes for host tools ([[Colin Finck]])
* Add an "nls.h" header file for many NLS definitions needed for WIDL and WRC ([[Colin Finck]])
+
* Add a "nls.h" header file for many NLS definitions needed for WIDL and WRC ([[Colin Finck]])
 
* Remove a hack, which always defined __i386__ and lead to problems on other host platforms ([[Colin Finck]])
 
* Remove a hack, which always defined __i386__ and lead to problems on other host platforms ([[Colin Finck]])
  
Line 91: Line 89:
 
* Merged a number of improvements from the new Configuration Manager by [[Alex Ionescu]] to trunk ([[Aleksey Bragin]])
 
* Merged a number of improvements from the new Configuration Manager by [[Alex Ionescu]] to trunk ([[Aleksey Bragin]])
 
* Updated cmlib's interface to NT 5.2 ([[Aleksey Bragin]])
 
* Updated cmlib's interface to NT 5.2 ([[Aleksey Bragin]])
* Fixed a bug in CmpInitializeHive which was calling HvInitializeHive with inverted params ([[Aleksey Bragin]])
+
* Fixed a bug in CmpInitializeHive which was calling HvInitializeHive with inverted parameters ([[Aleksey Bragin]])
 
* Implement a fast->slow leaf conversion ([[Aleksey Bragin]])
 
* Implement a fast->slow leaf conversion ([[Aleksey Bragin]])
  
 
=== Debugging ===
 
=== Debugging ===
* Improve KDBG symbol loading mechanism, while still maintaining compatitibility when compiled with KDBG=0 ([[Aleksey Bragin]])
+
* Improve KDBG symbol loading mechanism, while still maintaining compatibility when compiled with KDBG=0 ([[Aleksey Bragin]])
 
* The debug object created by NtCreateDebugObject() is restricted to DEBUG_OBJECT_WAIT_STATE_CHANGE, change to DEBUG_OBJECT_ALL_ACCESS. ([[Timo Kreuzer]], bug #2310)
 
* The debug object created by NtCreateDebugObject() is restricted to DEBUG_OBJECT_WAIT_STATE_CHANGE, change to DEBUG_OBJECT_ALL_ACCESS. ([[Timo Kreuzer]], bug #2310)
 
* Turn KDBG into KD-wrapper ([[Aleksey Bragin]])
 
* Turn KDBG into KD-wrapper ([[Aleksey Bragin]])
  
 
=== IO ===
 
=== IO ===
* NtLoadDriver APIs refactor/improvent ([[Aleksey Bragin]])
+
* NtLoadDriver APIs refactor/improvement ([[Aleksey Bragin]])
 
* Almost completely fix the hack in IopParseDevice which was resulting in "FIXME: Broken Parse due to invalid DesiredAccess" messages, by changing some calls to IoGetDeviceObjectPointer to use FILE_READ_ATTRIBUTES instead of FILE_READ_DATA (so that the volume doesn't get mounted) ([[Aleksey Bragin]])
 
* Almost completely fix the hack in IopParseDevice which was resulting in "FIXME: Broken Parse due to invalid DesiredAccess" messages, by changing some calls to IoGetDeviceObjectPointer to use FILE_READ_ATTRIBUTES instead of FILE_READ_DATA (so that the volume doesn't get mounted) ([[Aleksey Bragin]])
 
* Implement IoCheckEaBufferValidity() ([[Daniel Zimmerman]])
 
* Implement IoCheckEaBufferValidity() ([[Daniel Zimmerman]])
Line 110: Line 108:
 
* SSE/SSE2/etc is not broken anymore ([[Aleksey Bragin]], bug #2748)
 
* SSE/SSE2/etc is not broken anymore ([[Aleksey Bragin]], bug #2748)
 
* Copy kernel's IDT entries to the IDT we've got from the bootloader. Fixes boot-process initiated by ntldr-compatible loaders ([[Aleksey Bragin]])
 
* Copy kernel's IDT entries to the IDT we've got from the bootloader. Fixes boot-process initiated by ntldr-compatible loaders ([[Aleksey Bragin]])
* KeRosCaptureUserStackBackTrace is now created, which calls RtlWalkFrameChain with the user-mode flag, meaning that bugchecks finally show the user-mode stack again! ([[Aleksey Bragin]])
+
* KeRosCaptureUserStackBackTrace is now created, which calls RtlWalkFrameChain with the user-mode flag, meaning that bugchecks finally show the user-mode stack again. ([[Aleksey Bragin]])
 
* KeRosDumpStackFrames is fixed so that if the EIP can't be found in a module list, it's still displayed (just without the module name). Previously the EIP would not be shown, resulting in code running on the heap/stack/somewhere else not being shown as part of the trace ([[Aleksey Bragin]])
 
* KeRosDumpStackFrames is fixed so that if the EIP can't be found in a module list, it's still displayed (just without the module name). Previously the EIP would not be shown, resulting in code running on the heap/stack/somewhere else not being shown as part of the trace ([[Aleksey Bragin]])
 
* Coalesce all calls to MmUpdatePageDir through a single inlined function - MiSyncProcessThreadViews, and fix callers which assumed that the kernel stack is KERNEL_STACK_SIZE, when in fact, it may be KERNEL_LARGE_STACK_SIZE. We now detect and handle this, fixing a bug in KiAttachProcess. ([[Aleksey Bragin]])
 
* Coalesce all calls to MmUpdatePageDir through a single inlined function - MiSyncProcessThreadViews, and fix callers which assumed that the kernel stack is KERNEL_STACK_SIZE, when in fact, it may be KERNEL_LARGE_STACK_SIZE. We now detect and handle this, fixing a bug in KiAttachProcess. ([[Aleksey Bragin]])
Line 121: Line 119:
  
 
=== MM ===
 
=== MM ===
* Changed Memory Manager's early initialization to be more slightly more ntldr-compatible ([[Aleksey Bragin]])
+
* Changed Memory Manager's early initialization to be slightly more ntldr-compatible ([[Aleksey Bragin]])
 
* Move Teb's StaticUnicodeString initialisation from ntdll to MmCreateTeb (it's better to initialize it early, and all at once) ([[Aleksey Bragin]])
 
* Move Teb's StaticUnicodeString initialisation from ntdll to MmCreateTeb (it's better to initialize it early, and all at once) ([[Aleksey Bragin]])
 
* Actually create (in the bootloader) and then respect the memory map (in memory manager) ([[Aleksey Bragin]], thanks to Alex)
 
* Actually create (in the bootloader) and then respect the memory map (in memory manager) ([[Aleksey Bragin]], thanks to Alex)
* fix PSEH return usage [[Johannes Anderwald]]
+
* Fix PSEH return usage [[Johannes Anderwald]]
  
 
=== OB ===
 
=== OB ===
Line 134: Line 132:
 
* Fixed a bug in PnP Manager for drivers which failed initialization at boot-time ([[Aleksey Bragin]])
 
* Fixed a bug in PnP Manager for drivers which failed initialization at boot-time ([[Aleksey Bragin]])
 
* Improved compatibility in PnP Manager, driver's load and unload routines are alwyas called in context of the system process ([[Aleksey Bragin]])
 
* Improved compatibility in PnP Manager, driver's load and unload routines are alwyas called in context of the system process ([[Aleksey Bragin]])
* Correctly set DN_DRIVER_LOADED flag. This fixes "i8042prt/kbdclass.sys get installed one more time at each boot". ([[Aleksey Bragin]], bug #2330)
+
* Correctly set DN_DRIVER_LOADED flag. This fixes multiple installation of i8042prt/kbdclass.sys on every boot. ([[Aleksey Bragin]], bug #2330)
  
 
=== PS ===
 
=== PS ===
Line 147: Line 145:
 
* Fix multiple bugs in RtlWalkFrameChain and secure it against any possibility of a bugcheck while walking the stack. ([[Aleksey Bragin]], bugreports and info by Alex)
 
* Fix multiple bugs in RtlWalkFrameChain and secure it against any possibility of a bugcheck while walking the stack. ([[Aleksey Bragin]], bugreports and info by Alex)
 
* Fix bugs in RtlUnwind and RtlExceptionDispatch which assumed the DPC stack size was 4KB instead of 12KB. ([[Aleksey Bragin]], bugreports and info by Alex)
 
* Fix bugs in RtlUnwind and RtlExceptionDispatch which assumed the DPC stack size was 4KB instead of 12KB. ([[Aleksey Bragin]], bugreports and info by Alex)
* Fix multiple bugs in RtlpGetStackLimits and seure it against bugchecks. Properly detect DPC or invalid stacks. ([[Aleksey Bragin]], bugreports and info by Alex)
+
* Fix multiple bugs in RtlpGetStackLimits and secure it against bugchecks. Properly detect DPC or invalid stacks. ([[Aleksey Bragin]], bugreports and info by Alex)
  
 
== Kernel Mode Drivers ==
 
== Kernel Mode Drivers ==
Line 154: Line 152:
  
 
=== NTFS ===
 
=== NTFS ===
* Reorganized NTFS driver header : renamed Magic to jump, and OemName to OEMID, created structures for BPB and EBPB and used them in BOOT_SECTOR one, added a field to BOOY_SECTOR structure This is based on Technet doc and Alex Ionescu doc ([[Pierre Schweiter]])
+
* Reorganized NTFS driver header : renamed Magic to jump, and OemName to OEMID, created structures for BPB and EBPB and used them in BOOT_SECTOR one, added a field to BOOY_SECTOR structure. This is based on a Technet document and Alex Ionescu document ([[Pierre Schweiter]])
  
 
=== UNIATA ===
 
=== UNIATA ===
Line 169: Line 167:
  
 
=== CRT ===
 
=== CRT ===
* Fixed exception handling, and C++ specific exception handling in CRT/MSVCRT. Thanks to this most of MFC apps are now working. ([[Aleksey Bragin]])
+
* Fixed exception handling, and C++ specific exception handling in CRT/MSVCRT. Thanks to this most MFC applications are now working. ([[Aleksey Bragin]])
 
* _findnext is implemeneted and needs to be exported (not a stub). Fixes a crash in Abiword startup. ([[Thomas Bluemel]])
 
* _findnext is implemeneted and needs to be exported (not a stub). Fixes a crash in Abiword startup. ([[Thomas Bluemel]])
  
Line 183: Line 181:
 
= Win32&trade; Personality =
 
= Win32&trade; Personality =
 
== User mode subsystem server (CSRSS) ==
 
== User mode subsystem server (CSRSS) ==
* Fixes updating default character attributes when calling SetConsoleTextAttribute() ([[Thomas Bluemel]])
+
* Fix updating default character attributes when calling SetConsoleTextAttribute() ([[Thomas Bluemel]])
 
* Fix console painting bugs ([[Thomas Bluemel]])
 
* Fix console painting bugs ([[Thomas Bluemel]])
  
Line 206: Line 204:
 
* Dereference callproc handles without a system call ([[Thomas Bluemel]])
 
* Dereference callproc handles without a system call ([[Thomas Bluemel]])
 
* Expose the pointer to the shared heap and the delta to the user mode mapping ([[Thomas Bluemel]])
 
* Expose the pointer to the shared heap and the delta to the user mode mapping ([[Thomas Bluemel]])
* Rename NtGdiSelectPalette to NtUserSelectPalette
+
* Rename NtGdiSelectPalette to NtUserSelectPalette ([[Timo Kreuzer]])
 
* Implement NtGdiDoPalette ([[Timo Kreuzer]])
 
* Implement NtGdiDoPalette ([[Timo Kreuzer]])
 
* Remove NtGdiAnimatePalette, NtGdiGe/SetPaletteEntries, NtGdiGetSystemPaletteEntries, NtGdiGet/SetDIBColorTable ([[Timo Kreuzer]])
 
* Remove NtGdiAnimatePalette, NtGdiGe/SetPaletteEntries, NtGdiGetSystemPaletteEntries, NtGdiGet/SetDIBColorTable ([[Timo Kreuzer]])
Line 212: Line 210:
 
* Cleanup EXTPENS and PENS in BRUSH_Cleanup, remove EXTPEN_Cleanup ([[Timo Kreuzer]])
 
* Cleanup EXTPENS and PENS in BRUSH_Cleanup, remove EXTPEN_Cleanup ([[Timo Kreuzer]])
 
* Use a new ObjectType list with fixed indices ([[Timo Kreuzer]])
 
* Use a new ObjectType list with fixed indices ([[Timo Kreuzer]])
* Allow gdi object allocation w/o lookaside list ([[Timo Kreuzer]])
+
* Allow GDI object allocation without a lookaside list ([[Timo Kreuzer]])
* make gdi object's type field more windows compatible ([[Timo Kreuzer]])
+
* Make the GDI object's type field more windows compatible ([[Timo Kreuzer]])
 
* Basic implementation of NtGdiSetDIBitsToDeviceInternal() ([[Timo Kreuzer]])
 
* Basic implementation of NtGdiSetDIBitsToDeviceInternal() ([[Timo Kreuzer]])
* Add missing NtUser stubs and fix some parameter counts to make win32k syscalls windows xp compatible ([[Timo Kreuzer]])
+
* Add missing NtUser stubs and fix some parameter counts to make win32k syscalls Windows XP compatible ([[Timo Kreuzer]])
 
* Remove ToUnicode() stub ([[Timo Kreuzer]])
 
* Remove ToUnicode() stub ([[Timo Kreuzer]])
 
* UserScrollDC: small simplification and fix calculation of invalidated region ([[Timo Kreuzer]])
 
* UserScrollDC: small simplification and fix calculation of invalidated region ([[Timo Kreuzer]])
Line 221: Line 219:
 
* Fix bug in NtUserToUnicodeEx ([[Timo Kreuzer]]), bug #2557
 
* Fix bug in NtUserToUnicodeEx ([[Timo Kreuzer]]), bug #2557
 
* NtUserScrollwindowEx: fix the default clip region ([[Timo Kreuzer]])
 
* NtUserScrollwindowEx: fix the default clip region ([[Timo Kreuzer]])
* NtGdiBitBlt, IntGdiGetClipBox: don't SetLastError() on invalid dc ([[Timo Kreuzer]])
+
* NtGdiBitBlt, IntGdiGetClipBox: don't SetLastError() on invalid DC ([[Timo Kreuzer]])
 
* Release keyboard modifiers in KeybardThreadMain on KEY_BREAK ([[Timo Kreuzer]]), bug #2751
 
* Release keyboard modifiers in KeybardThreadMain on KEY_BREAK ([[Timo Kreuzer]]), bug #2751
* Implement stub for NtGdiAnyLinkedFonts ([[Magnus Olsen]])
+
* Implement stub for NtGdiAnyLinkedFonts, NtGdiBRUSHOBJ_hGetColorTransform, NtGdiBRUSHOBJ_pvAllocRbrush, NtGdiCLIPOBJ_bEnum, NtGdiCLIPOBJ_cEnumStart, NtGdiCLIPOBJ_ppoGetPath, NtGdiBRUSHOBJ_ulGetBrushColor, NtGdiBRUSHOBJ_pvAllocRbrush, NtGdiBRUSHOBJ_pvGetRbrush ([[Magnus Olsen]])
* Implement stub for NtGdiBRUSHOBJ_hGetColorTransform ([[Magnus Olsen]])
+
* Implement NtGdiCreatePaletteInternal ([[Magnus Olsen]])
* Implement stub for NtGdiBRUSHOBJ_pvAllocRbrush ([[Magnus Olsen]])
+
* Remove NtGdiCreatePalette. It was a ROS specfific function in the win32k syscall list. It has been replaced with NtGdiCreatePaletteInternal ([[Magnus Olsen]])
* Implement stub for NtGdiCLIPOBJ_bEnum ([[Magnus Olsen]])
+
* Remove NtGdiCreatePolygonRgn. It was a ROS specfific function in the win32k syscall list that redirected to another ROS specific syscall named NtGdiCreatePolyPolygonRgn ([[Magnus Olsen]])
* Implement stub for NtGdiCLIPOBJ_cEnumStart ([[Magnus Olsen]])
+
* Added missing information from PrimarySurface.DMW when display driver defaults back to the video driver's standard mode  ([[Gregor Brunmar]])
* Implement stub for NtGdiCLIPOBJ_ppoGetPath ([[Magnus Olsen]])
 
* Implement stub for NtGdiBRUSHOBJ_ulGetBrushColor ([[Magnus Olsen]])
 
* Implement stub for NtGdiBRUSHOBJ_pvAllocRbrush ([[Magnus Olsen]])
 
* Implement stub for NtGdiBRUSHOBJ_pvGetRbrush ([[Magnus Olsen]])
 
* Implement NtGdiCreatePaletteInternal ([[Magnus Olsen]])
 
* Remove NtGdiCreatePalette it was a ros specfific API in win32k syscall list. It have been replaced with NtGdiCreatePaletteInternal ([[Magnus Olsen]])
 
* Remove NtGdiCreatePolygonRgn it was a ros specfific api in win32k syscall list, it have been redirected to another ros own syscall named NtGdiCreatePolyPolygonRgn ([[Magnus Olsen]])
 
* Added missing info from PrimarySurface.DMW when display driver defaults back to the video drivers standard mode  ([[Gregor Brunmar]])
 
 
* Fixed caching system in IntEnumDisplaySettings when run more than once ([[Gregor Brunmar]])
 
* Fixed caching system in IntEnumDisplaySettings when run more than once ([[Gregor Brunmar]])
 
* Hacked a way around the bug in FindDDIDriver ([[Gregor Brunmar]])
 
* Hacked a way around the bug in FindDDIDriver ([[Gregor Brunmar]])
Line 241: Line 231:
 
* Make registration of system window classes a bit more robust ([[Thomas Bluemel]])
 
* Make registration of system window classes a bit more robust ([[Thomas Bluemel]])
 
* Store the internal window placement directly inside the WINDOW structure ([[Thomas Bluemel]])
 
* Store the internal window placement directly inside the WINDOW structure ([[Thomas Bluemel]])
* fix code which wasnt strict ANSI-C compatible [[Johannes Anderwald]]
+
* fix code which wasn't strict ANSI-C compatible [[Johannes Anderwald]]
 
* Comprehensive changes to bring ReactOS Win32k to a compatible state based on Feng Yuan book "Windows Graphics Programming Win32 GDI and DirectDraw". ([[James Tabor]])
 
* Comprehensive changes to bring ReactOS Win32k to a compatible state based on Feng Yuan book "Windows Graphics Programming Win32 GDI and DirectDraw". ([[James Tabor]])
  
Line 249: Line 239:
 
* Process window messages while the (un)installer is running and disable it ([[Thomas Bluemel]])
 
* Process window messages while the (un)installer is running and disable it ([[Thomas Bluemel]])
 
* Don't call SHBrowseForFolder() with random pointers ([[Thomas Bluemel]])
 
* Don't call SHBrowseForFolder() with random pointers ([[Thomas Bluemel]])
* implement create shortcut wizard [[Johannes Anderwald]]
+
* Implement create shortcut wizard [[Johannes Anderwald]]
  
 
=== MMSYS ===
 
=== MMSYS ===
* enumerate default waveout device [[Johannes Anderwald]]
+
* Enumerate default waveout device [[Johannes Anderwald]]
  
 
=== DESK ===
 
=== DESK ===
Line 280: Line 270:
  
 
=== NCPA ===
 
=== NCPA ===
* Implemented the network status property applet to show the actual info ([[Gregor Brunmar]])
+
* Implemented the network status property applet to show the actual information ([[Gregor Brunmar]])
  
 
=== POWERCFG ===
 
=== POWERCFG ===
Line 309: Line 299:
 
* Fix memory leaks/wrong heap usage by replacing calls to _tcsdup with cmd_dup ([[Thomas Bluemel]])
 
* Fix memory leaks/wrong heap usage by replacing calls to _tcsdup with cmd_dup ([[Thomas Bluemel]])
 
* Display a list of all leaked memory blocks when terminating ([[Thomas Bluemel]])
 
* Display a list of all leaked memory blocks when terminating ([[Thomas Bluemel]])
* When someone tries to copy a file over itself, show an error message. ([[Colin Finck]])
+
* When something tries to copy a file over itself, show an error message. ([[Colin Finck]])
  
 
=== Downloader ===
 
=== Downloader ===
Line 323: Line 313:
  
 
=== Eventvwr ===
 
=== Eventvwr ===
* Added an Event Log Viewer ([[Marc Piulachs]], bug #2602)
+
* Added an Event Log Viewer ([[Marc Piulachs]], Bug #2602)
 
* Hardcoded the Window class string, there is no reason for it to be in localized resource files ([[Colin Finck]])
 
* Hardcoded the Window class string, there is no reason for it to be in localized resource files ([[Colin Finck]])
  
Line 338: Line 328:
  
 
=== Matrix Screensaver ===
 
=== Matrix Screensaver ===
* Set g_nMatrixSpeed to 10 as the default value. This makes it working correctly under Windows XP SP2 and Windows Server 2003 again ([[Colin Finck]])
+
* Set g_nMatrixSpeed to 10 as the default value. This makes it work correctly under Windows XP SP2 and Windows Server 2003 again ([[Colin Finck]])
  
 
=== Solitaire ===
 
=== Solitaire ===
* Compute some metrics based on the card metrics, which were formerly hardcoded.<br>This enables us to use the Bavarian cards.dll and theoretically cards in any size ([[Colin Finck]])
+
* Compute some metrics based on the cards, which were formerly hardcoded.<br>This enables us to use the Bavarian cards.dll and theoretically cards in any size ([[Colin Finck]])
 
* Compute the card offset for the row stack based on the height of the card ([[Colin Finck]])
 
* Compute the card offset for the row stack based on the height of the card ([[Colin Finck]])
 
* Bugfix: When you used the 1-card-mode before, there never was a card behind the one, which you drag from the pile.<br>Now Solitaire collects all the cards from the deck in the 1-card-mode like Windows Solitaire does. ([[Colin Finck]])
 
* Bugfix: When you used the 1-card-mode before, there never was a card behind the one, which you drag from the pile.<br>Now Solitaire collects all the cards from the deck in the 1-card-mode like Windows Solitaire does. ([[Colin Finck]])
Line 369: Line 359:
 
* Added context menu on right click in treeviews ([[Gregor Brunmar]])
 
* Added context menu on right click in treeviews ([[Gregor Brunmar]])
 
* Fixed calendar window not closing automatically ([[Gregor Brunmar]]), bug #2555
 
* Fixed calendar window not closing automatically ([[Gregor Brunmar]]), bug #2555
 +
 
=== CARDS ===
 
=== CARDS ===
 
* Merge the card bitmaps of "cardsbav" to our cards.dll and specify with preprocessor definitions, which cards shall be compiled into the DLL ([[Colin Finck]])
 
* Merge the card bitmaps of "cardsbav" to our cards.dll and specify with preprocessor definitions, which cards shall be compiled into the DLL ([[Colin Finck]])
Line 392: Line 383:
  
 
=== GDI32 ===
 
=== GDI32 ===
* Make opengl initialization thread-safe ([[Thomas Bluemel]])
+
* Make OpenGL initialization thread-safe ([[Thomas Bluemel]])
* fix AddFontResourceExAW parameter check ([[Timo Kreuzer]])
+
* Fix AddFontResourceExAW parameter check ([[Timo Kreuzer]])
* Fix : add PatBlt to usermode do not longer being redirect to win32k ([[Magnus Olsen]])
+
* Fix : add PatBlt and PolyPatBlt to usermode so they no longer redirect to win32k ([[Magnus Olsen]])
* Fix : add PolyPatBlt to usermode do not longer being redirect to win32k ([[Magnus Olsen]])
+
* Fix :  AddFontResourceExW, SetLastError to invaild parameter when the flags are not set. ([[Magnus Olsen]])
* Fix :  AddFontResourceExW, SetLastError to invaild param when the fl are not set. ([[Magnus Olsen]])
 
 
* Redirect PATHOBJ_bEnum to win32k NtGdiPATHOBJ_bEnum ([[Magnus Olsen]])
 
* Redirect PATHOBJ_bEnum to win32k NtGdiPATHOBJ_bEnum ([[Magnus Olsen]])
 
* Redirect PATHOBJ_bEnumClipLines to win32k NtGdiPATHOBJ_bEnumClipLines ([[Magnus Olsen]])
 
* Redirect PATHOBJ_bEnumClipLines to win32k NtGdiPATHOBJ_bEnumClipLines ([[Magnus Olsen]])
Line 404: Line 394:
 
* Redirect AnyLinkedFonts to win32k NtGdiAnyLinkedFonts ([[Magnus Olsen]])
 
* Redirect AnyLinkedFonts to win32k NtGdiAnyLinkedFonts ([[Magnus Olsen]])
 
* Redirect BRUSHOBJ_hGetColorTransform to win32k NtGdiBRUSHOBJ_hGetColorTransform ([[Magnus Olsen]])
 
* Redirect BRUSHOBJ_hGetColorTransform to win32k NtGdiBRUSHOBJ_hGetColorTransform ([[Magnus Olsen]])
* Redirect BRUSHOBJ_pvAllocRbrush to win32k NtGdiBRUSHOBJ_pvAllocRbrush ([[Magnus Olsen]])
+
* Redirect BRUSHOBJ_pvAllocRbrush to win32k NtGdiBRUSHOBJ_pvAllocRbrush ([[Magnus Olsen]])
 
* Redirect BRUSHOBJ_pvGetRbrush to NtGdiBRUSHOBJ_pvGetRbrush ([[Magnus Olsen]])
 
* Redirect BRUSHOBJ_pvGetRbrush to NtGdiBRUSHOBJ_pvGetRbrush ([[Magnus Olsen]])
 
* Redirect BRUSHOBJ_ulGetBrushColor to NtGdiBRUSHOBJ_ulGetBrushColor ([[Magnus Olsen]])
 
* Redirect BRUSHOBJ_ulGetBrushColor to NtGdiBRUSHOBJ_ulGetBrushColor ([[Magnus Olsen]])
Line 410: Line 400:
 
* Redirect CLIPOBJ_cEnumStart to  NtGdiCLIPOBJ_cEnumStart ([[Magnus Olsen]])
 
* Redirect CLIPOBJ_cEnumStart to  NtGdiCLIPOBJ_cEnumStart ([[Magnus Olsen]])
 
* Redirect CLIPOBJ_ppoGetPath to NtGdiCLIPOBJ_ppoGetPath ([[Magnus Olsen]])
 
* Redirect CLIPOBJ_ppoGetPath to NtGdiCLIPOBJ_ppoGetPath ([[Magnus Olsen]])
* remove redirect of CombineRgn and CreateBitmap some part are need be done in user mode. not in win32k, implement it as stub, and doing the syscall until some got time review and rewrite this code right ([[Magnus Olsen]])
+
* Remove redirect of CombineRgn and CreateBitmap. Some parts need be done in user mode, not in win32k. Implement it as a stub with the syscall until there is time to review and rewrite this code correctly ([[Magnus Olsen]])
 
* Fix : Do not Redirect CreateCompatibleDC and CreateCompatibleBitmap, they need share memory, and it need do some stuff in user mode ([[Magnus Olsen]])
 
* Fix : Do not Redirect CreateCompatibleDC and CreateCompatibleBitmap, they need share memory, and it need do some stuff in user mode ([[Magnus Olsen]])
 
* Remove redirect of CreateDIBitmap@24 to NtGdiCreateDIBitmap@24, and create stub for it. we need do some stuff in user mode ([[Magnus Olsen]])
 
* Remove redirect of CreateDIBitmap@24 to NtGdiCreateDIBitmap@24, and create stub for it. we need do some stuff in user mode ([[Magnus Olsen]])
* Fix : CreateDiscardableBitmap shall be call on CreateCompatibleBitmap not the NtGdiCreateCompatibleBitmap, for we need do some thing in user mode ([[Magnus Olsen]])
+
* Fix : CreateDiscardableBitmap shall call on CreateCompatibleBitmap instead of NtGdiCreateCompatibleBitmap to keep it in usermode ([[Magnus Olsen]])
* Fix : CreateEllipticRgnIndirect it crash now, if the param is NULL, that goes same for all windows NT I tested ([[Magnus Olsen]])
+
* Fix : CreateEllipticRgnIndirect now crashes if the parameter is NULL, duplicating behavior in all Windows NT versions tested ([[Magnus Olsen]])
* Fix : CreatePalette calling NtGdiCreatePaletteInternal ([[Magnus Olsen]])
+
* Fix : CreatePalette calls NtGdiCreatePaletteInternal ([[Magnus Olsen]])
* remove redirect of CreatePolyPolygonRgn and implement own code for it, it is hacked, it should doing,return (HRGN) NtGdiPolyPolyDraw(fnPolyFillMode, lppt, lpPolyCounts, nCount, 6 ); ([[Magnus Olsen]])
+
* Remove redirect of CreatePolyPolygonRgn and implement a hack for now ([[Magnus Olsen]])
* remove redirect of CreatePolygonRgn and implement own code for it, it is hacked, it should doing return NtGdiPolyPolyDraw(fnPolyFillMode,lppt,cPoints,1,6); ([[Magnus Olsen]])
+
* Remove redirect of CreatePolygonRgn and implement a hack for now ([[Magnus Olsen]])
* remove redirect of CreateRectRgn and implement own code for it,  some part need be done in user mode ([[Magnus Olsen]])
+
* Remove redirect of CreateRectRgn to keep it in user mode ([[Magnus Olsen]])
* Fix CreateRectRgnIndirect it call now on CreateRectRgn for some part need be done in user mode, and it crash if NULL comes in as param, like windows does. ([[Magnus Olsen]])
+
* Fix CreateRectRgnIndirect to call on CreateRectRgn to keep it in user mode, and have it crash if its parameter is NULL, duplicating behavior in all Windows NT versions tested. ([[Magnus Olsen]])
* Fix CreatePenIndirect ir call now on CreatePen for some stuff need be done in user mode. ([[Magnus Olsen]])
+
* Fix CreatePenIndirect to call on CreatePen to keep it in user mode. ([[Magnus Olsen]])
* implement DeviceCapabilitiesExA and DeviceCapabilitiesExW, both always return -1 ([[Magnus Olsen]])
+
* Implement DeviceCapabilitiesExA and DeviceCapabilitiesExW, both always return -1 ([[Magnus Olsen]])
* redirect DeleteColorSpace to win32k NtGdiDeleteColorSpace ([[Magnus Olsen]])
+
* Redirect DeleteColorSpace to win32k NtGdiDeleteColorSpace ([[Magnus Olsen]])
 
* Comprehensive changes to bring ReactOS Gdi32 to a compatible state based on Feng Yuan book "Windows Graphics Programming Win32 GDI and DirectDraw". ([[James Tabor]])
 
* Comprehensive changes to bring ReactOS Gdi32 to a compatible state based on Feng Yuan book "Windows Graphics Programming Win32 GDI and DirectDraw". ([[James Tabor]])
  
Line 439: Line 429:
 
=== MSGINA ===
 
=== MSGINA ===
 
* Fixed taskmgr launch bug ([[Pierre Schweitzer]], bug #2569)
 
* Fixed taskmgr launch bug ([[Pierre Schweitzer]], bug #2569)
* only register hotkeys when setup is not active(winlogon) [[Johannes Anderwald]]
+
* Only register hotkeys when setup is not active(winlogon) ([[Johannes Anderwald]])
  
 
=== OPENGL32 ===
 
=== OPENGL32 ===
Line 450: Line 440:
 
* Implement a new ShellAbout dialog, which looks more like the Windows one ([[Colin Finck]])
 
* Implement a new ShellAbout dialog, which looks more like the Windows one ([[Colin Finck]])
 
* Fix abusing the heap by using strdupW instead of _wcsdup ([[Thomas Bluemel]])
 
* Fix abusing the heap by using strdupW instead of _wcsdup ([[Thomas Bluemel]])
* implement property dialogs for a few shell objects such as shelllink, common file, drive and invoke the correct property dialog for special shell objects i.e. desktop [[Johannes Anderwald]]
+
* Implement property dialogs for a few shell objects such as shelllink, common file, drive and invoke the correct property dialog for special shell objects i.e. desktop ([[Johannes Anderwald]])
* implement resources for "run as" dialog [[Johannes Anderwald]]
+
* Implement resources for "run as" dialog ([[Johannes Anderwald]])
* sync from wine [[Johannes Anderwald]]
+
* Sync from wine ([[Johannes Anderwald]])
* implement Recycle Bin IShellFolder interface [[Johannes Anderwald]]
+
* Implement Recycle Bin IShellFolder interface ([[Johannes Anderwald]])
* implement additional support functions for Recycle Bin (property dialog, pidl compare functions etc) [[Johannes Anderwald]]
+
* Implement additional support functions for Recycle Bin (property dialog, pidl compare functions etc) ([[Johannes Anderwald]])
* fix PickIconDlg declaration and stub [[Johannes Anderwald]]
+
* Fix PickIconDlg declaration and stub ([[Johannes Anderwald]])
* add prototype for SHCreateDefaultContextMenu and CDefFolderMenu_Create2 [[Johannes Anderwald]]
+
* Add prototype for SHCreateDefaultContextMenu and CDefFolderMenu_Create2 ([[Johannes Anderwald]])
* implement loading of dynamic shell extensions [[Johannes Anderwald]]
+
* Implement loading of dynamic and static shell extensions ([[Johannes Anderwald]])
* implement loading of static shell extensions [[Johannes Anderwald]]
+
* Add a printer folder based on a patch by Huw D M Davies ([[Johannes Anderwald]])
* add a printer folder based on a patch by Huw D M Davies [[Johannes Anderwald]]
+
* Implement creation of new object service (i.e. create new text document) ([[Johannes Anderwald]])
* implement creation of new object service (i.e. create new text document) [[Johannes Anderwald]]
+
* Register default entries for new object service ([[Johannes Anderwald]])
* register default entries for new object service [[Johannes Anderwald]]
+
* Implement "Open With" shell extension ([[Johannes Anderwald]])
* implement "Open With" shell extension [[Johannes Anderwald]]
+
* Implement CWM_GETISHELLBROWSER and fix desktop refreshing ([[Johannes Anderwald]])
* implement CWM_GETISHELLBROWSER and fix desktop refreshing [[Johannes Anderwald]]
+
* Implement refreshing for all folders including desktop ([[Johannes Anderwald]])
* implement refreshing for all folders including desktop [[Johannes Anderwald]]
+
* Implement cleaning of Recycle Bin ([[Johannes Anderwald]])
* implement cleaning of Recycle Bin [[Johannes Anderwald]]
+
* Desktop background menu has no view option, this option is only available when browsing the shell ([[Johannes Anderwald]])
* desktop background menu has no view option, this option is only available when browsing the shell [[Johannes Anderwald]]
+
* Disable insert & insert link option when no file is currently been copied / moved ([[Johannes Anderwald]])
* disable insert & insert link option when no file is currently been copied / moved [[Johannes Anderwald]]
+
* Move Shell_MergeMenus to shlobj.h where it belongs ([[Johannes Anderwald]])
* move Shell_MergeMenus to shlobj.h where it belongs [[Johannes Anderwald]]
+
* Implement MyDocuments shell folder ([[Johannes Anderwald]])
* implement MyDocuments shell folder [[Johannes Anderwald]]
+
* Register control panel shell folder ([[Johannes Anderwald]])
* register control panel shell folder [[Johannes Anderwald]]
+
* Add rtf file association by (Cameron Gutman)
* add rtf file association by Cameron Gutman aicommander
+
* Implement SHCreateDataObject, fix prototype CIDLData_CreateFromIDArray and move it to shlobj.h ([[Johannes Anderwald]])
* implement SHCreateDataObject, fix prototype CIDLData_CreateFromIDArray and move it to shlobj.h [[Johannes Anderwald]]
+
* Take into account NoOpen when opening files without a default handler ([[Johannes Anderwald]])
* take account NoOpen when opening files without a default handler [[Johannes Anderwald]]
+
* Pass in the directory of target application when running an application from run dialog ([[Johannes Anderwald]])
* pass in the directory of target application when running an application from run dialog [[Johannes Anderwald]]
+
* Add registry keys for open with shell extension ([[Johannes Anderwald]])
* add registry keys for open with shell extension [[Johannes Anderwald]]
+
* Implement resources for folder options dialog ([[Johannes Anderwald]])
* implement resources for folder options dialog [[Johannes Anderwald]]
+
* Partially implement Options_RunDLLA/W ([[Johannes Anderwald]])
* partially implement Options_RunDLLA/W [[Johannes Anderwald]]
+
* Register folder options cpl as a namespace extension ([[Johannes Anderwald]])
* register folder options cpl as a namespace extension [[Johannes Anderwald
 
  
 
=== SYSSETUP ===
 
=== SYSSETUP ===
Line 485: Line 474:
  
 
=== USETUP ===
 
=== USETUP ===
* implement multiple language support for text-mode setup [[Johannes Anderwald]]
+
* Implement multiple language support for text-mode setup ([[Johannes Anderwald]])
  
 
=== TAPIUI ===
 
=== TAPIUI ===
* Implement of tapiui.dll ([[Dmitry Chapyshev]])
+
* Implement tapiui.dll ([[Dmitry Chapyshev]])
  
 
=== Wine d3d8 ===
 
=== Wine d3d8 ===
* Add wine d3d8.dll from wine 0.9.49 it uses opengl.
+
* Add wine d3d8.dll from wine 0.9.49 ([[Magnus Olsen]])
  
 
=== Wine d3d9 ===
 
=== Wine d3d9 ===
* Add wine d3d9.dll from wine 0.9.49 it uses opengl.
+
* Add wine d3d9.dll from wine 0.9.49 ([[Magnus Olsen]])
  
 
=== Wine wined3d ===
 
=== Wine wined3d ===
* Add wine wined3d.dll from wine 0.9.49 it uses opengl.
+
* Add wine wined3d.dll from wine 0.9.49 with a few modifications done by ([[Magnus Olsen]] and Kamil Hornicek tykef at atlas dot cz)
* with few own private change done by ([[Magnus Olsen and Kamil Hornicek tykef at atlas dot cz]])
 
  
  

Revision as of 00:34, 13 January 2008

This is a work in progress.

IMPORTANT: When adding a change, write a REAL NAME of the person, not his IRC or whatever nicks. This is an official paper. Also, reference bug numbers at the end of the change, in braces, like (your name, bug #2373).

This is the changelog for ReactOS™ version 0.3.4 (released when *censored* freezes over), 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.3 (released 12 September, 2007).

General

Generic 0.3.4 Changes

  • Added more entries to machine.inf to install ACPI thermal zones and lids (Cameron Gutman)
  • LiveCDs now use the SOS boot screen (Cameron Gutman, bug #2658)
  • XML compliance fixes for the .rbuild files (Marc Piulachs, bug #2649)
  • Define default strings in the general "version.rc" resource file, which shouldn't be overwritten by applications. (Colin Finck)
  • Update icons for Shell32, Setupapi. (Dmitry Chapyshev)
  • Se fixes related to cygwin. (Art Yerkes)
  • Fixed parsing of registry key names with double reverse solidus. (Art Yerkes)
  • Handle recvfrom with a thrown-away address, and properly handle exception locking userland buffers in afd packet path (Art Yerkes)
  • Updated Mingw headers to version 3.13 (Samuel Serapión, bug #2736)

Translations

  • Change the file names of the Catalan translations from "ca-CA" to "ca-ES", thanks to Marc Piulachs for noticing this (Colin Finck, bug #2662)
  • Make the Shell32 translations consistent for all languages (Colin Finck)
  • Fixed typo with ";", ":", "?", "!" in French translations (Pierre Schweitzer)
  • Added/updated French translations for 3dtext, Access, Appwiz, Blankscr, Butterflies, Calc, Cmd, Control, Cylfrac, Desk.cpl, Deskadp, Deskmon, Downloader, Eventvwr, Find, Intl, Input, Joy, Liccpa, Logon, Magnify, Main, Matrix, Mmsys, Mstsc, Ncpa.cpl, Newdev, Powercfg, Regedit, Scrnsave, Servman, Shell32, Solitaire, Starfield, Sysdm, Syssetup, Systeminfo, Taskmgr, Telephon, Winemine, Write (Pierre Schweitzer, bugs #2530, #2531, #2680, #2747, #2766)
  • Catalan translations for Logoff, Mmc, Mstsc, Solitaire (Marc Tormo i Bochaca, bugs #2580, #2831)
  • Added/updated English and German translations for Explorer, More, Shell32, Syssetup (Colin Finck)
  • Added Lithuanian translations for Logoff, Notepad, Shutdown, Sndvol32, Solitaire, WineMine (Vytis Girdžijauskas, bug #2532)
  • Added/updated Slovak translations for 3dtext, Cylfrac, Desk.cpl, Deskadp, Deskmon, Explorer, Logon, Matrix, Scrnsave, Slayer, Solitaire, Starfield, Sysdm.cpl, Timedate.cpl (Mario Kacmar, bug #2551)
  • Added/updated Ukrainian translations for Butterflies, Cylfrac, Downloader, FreeLDR, Input.cpl, Logon, Main.cpl, Mmsys.cpl, Msconfig, Powercfg.cpl, Scrnsave, Starfield, Tapiui, Write (Artem Reznikov, bugs #2661, #2692, #2696, #2731, #2832, #2836)
  • Added/updated Spanish translations for Fontview, Magnify, "reactos" (Setup tool under Windows), Sndvol32 (Javier Remacha, bug #2669)
  • Added Ukrainian translations for Eventvwr, Format, Regsvr32, WinHelp (Rostislav Zabolotny, bugs #2685, #2686, #2764, #2765)
  • Added a Traditional Chinese translation for Cacls (Chaoming Tseng, bug #2687)
  • Updated Italian translations for Access.cpl, Ncpa.cpl (Paolo Devoti, bug #2727)
  • Added/updated Bulgarian translations for 3dtext, Appwiz, Butterflies, Cylfrac, Eventvwr, Explorer, Fdebug, Find, Format, Intl.cpl, Ipconfig, Joy, Liccpa, Logoff, Logon, Main.cpl, Mmsys, More, Msgina, Powercfg.cpl, Regedit, Rundll32, Scrnsave, Shutdown, Solitaire, Starfield, Telephon, Timedate.cpl, Userinit, Winlogon, WordPad (Станев, bugs #2728, #2837, #2838)
  • Added Spanish translation for Eventvwr (Marc Piulachs, bug #2758)
  • Added Brazilian Portuguese translations for Msconfig, Sndvol32 (Mateus de Lima, bugs #2768, #2771)
  • Added Russian translation for More command line utility (Koshpaev Igor and Dmitry Chapyshev)
  • Fixed Russian translations for Taskmgr, Winemine, Shell32, Syssetup (Dmitry Chapyshev)
  • Added Italian translation for Mstsc (Gabriel Ilardi, bug #2794)
  • Added Greek translation for Comctl32 (Apostolos Alexiadis, bug #2464)
  • Added German Translations for input.cpl, cylfrac, logon, scrnsave, starfield, deskadp, deskmon, eventvwr, joy, tapiui, xcopy, 3dtext, mstsc, telephone, ipconfig, clb, rasapi32, appwiz, modemui and rasdlg (Daniel Reimer)
  • Ukrainian translation update (Bugs #2638, #2643, #2534, #2697, #2699, #2708, #2844, #2882) (temarez<AT>yandex<DOT>ru)
  • Catalan Translations (mtbochaca@ya.com) (Bugs #2625, #2626, #2647, #2651, #2652, #2653, #2654, #2655, #2656) (Marc Tormo i Bochaca)
  • Ukrainian translation update (Bugs #2677, #2753, #2754) (rstzab@yandex.ru)
  • Italian translation (Bugs #2713, #2714, #2716) (folleinvasato@yahoo.it)
  • Spanish translations (Bugs #2603, #2612) (marc.piulachs@codexchange.net) (Marc Piulachs)
  • Bulgarian translation of ReactOS (Bugs #2606, #2728, #2881) (sstpr@narod.ru)
  • Lithuanian translation update (Bugs #2712, #2869) (cman<AT>cman<DOT>us)
  • Italian translation (Bugs #2640, #2722) (carlo.bramix@libero.it) (Carlo Bramini)
  • Updates to Italian rc files (Bugs #2528, #2867) (devotip@tiscali.it)
  • Dutch translations for all screensavers (Bugs #2678) (dreamsmsn@gmail.com) (Joost de Meij)
  • New intl.cpl Italian translation (Bug #2628) (gabrielilardi@hotmail.it) (Gabirel Ilardi)
  • Small fixes to eventvwr (Bug #2749) (marc.piulachs@codexchange.net) (Marc Piulachs)
  • New Greek resource files (Bug #2852) (djapalATgmailDTcom)

Build Tools

  • Add an "include/host" directory for Host include files (Colin Finck)
  • Correctly define LONG_PTR, ULONG_PTR and SIZE_T in "host/typedefs.h" (Colin Finck)
  • Define WCHAR to "unsigned short" in "host/typedefs.h", so it's always 2 bytes for host tools (Colin Finck)
  • Add a "nls.h" header file for many NLS definitions needed for WIDL and WRC (Colin Finck)
  • Remove a hack, which always defined __i386__ and lead to problems on other host platforms (Colin Finck)

MKHIVE

RBUILD

  • Add folder support for msvc7+ solutions and mapping of pch .h files (Gregor Brunmar)
  • Fixed a small bug when displaying the version of binutils (newline where there shouldn't be one). (Peter Ward)
  • Do not use module (name + extension) as default target if installname attribute is present , use the value of it inset. (Marc Piulachs)
  • Metadata enhancement for rbuild and version report (Marc Piulachs)
  • Cleanup the LinkerScript class and use it (Marc Piulachs)
  • Rename 'base' to 'installbase' for CdFile, InstallFile and Bootstrap (Marc Piulachs)

UNICODE

  • Use "typedefs/host.h" instead of the Windows headers in "wine/unicode.h" and copy some needed definitions from the "winnls.h" (Colin Finck)

WIDL

WMC

  • Use "typedefs/host.h" instead of the Windows headers in "wmctypes.h" (Colin Finck)

WRC

  • Use "typedefs/host.h" instead of the Windows headers in "wrctypes.h" and add a "wrcrostypes.h" for all needed definitions from the Windows headers (Colin Finck)

Core

Kernel and Executive (NTOSKRNL)

CM

Debugging

  • Improve KDBG symbol loading mechanism, while still maintaining compatibility when compiled with KDBG=0 (Aleksey Bragin)
  • The debug object created by NtCreateDebugObject() is restricted to DEBUG_OBJECT_WAIT_STATE_CHANGE, change to DEBUG_OBJECT_ALL_ACCESS. (Timo Kreuzer, bug #2310)
  • Turn KDBG into KD-wrapper (Aleksey Bragin)

IO

  • NtLoadDriver APIs refactor/improvement (Aleksey Bragin)
  • Almost completely fix the hack in IopParseDevice which was resulting in "FIXME: Broken Parse due to invalid DesiredAccess" messages, by changing some calls to IoGetDeviceObjectPointer to use FILE_READ_ATTRIBUTES instead of FILE_READ_DATA (so that the volume doesn't get mounted) (Aleksey Bragin)
  • Implement IoCheckEaBufferValidity() (Daniel Zimmerman)

KE

  • Implement KiTrap19 handler (XMMI exceptions, mostly copied KiTrap7 handler and used mxcsr status word and exceptions there). (Aleksey Bragin)
  • Dynamically enable it, if CPU supports XMMI (was already done in the kernel, but #if0-ed). (Aleksey Bragin)
  • Fixed a typo in the line which lead to actual zeroing of mxcsr, instead of zeroing only reserved bits (spotted by Kamil Hornicek aka "Pigglesworth")
  • SSE/SSE2/etc is not broken anymore (Aleksey Bragin, bug #2748)
  • Copy kernel's IDT entries to the IDT we've got from the bootloader. Fixes boot-process initiated by ntldr-compatible loaders (Aleksey Bragin)
  • KeRosCaptureUserStackBackTrace is now created, which calls RtlWalkFrameChain with the user-mode flag, meaning that bugchecks finally show the user-mode stack again. (Aleksey Bragin)
  • KeRosDumpStackFrames is fixed so that if the EIP can't be found in a module list, it's still displayed (just without the module name). Previously the EIP would not be shown, resulting in code running on the heap/stack/somewhere else not being shown as part of the trace (Aleksey Bragin)
  • Coalesce all calls to MmUpdatePageDir through a single inlined function - MiSyncProcessThreadViews, and fix callers which assumed that the kernel stack is KERNEL_STACK_SIZE, when in fact, it may be KERNEL_LARGE_STACK_SIZE. We now detect and handle this, fixing a bug in KiAttachProcess. (Aleksey Bragin)
  • Unlock address space before raising to HIGH_LEVEL in KeBugCheck (Aleksey Bragin, bugreports/info by Alex)
  • Fix LoaderPagesSpanned calculation (Aleksey Bragin)
  • Plugged in batching. (James Tabor)

LPC

MM

  • Changed Memory Manager's early initialization to be slightly more ntldr-compatible (Aleksey Bragin)
  • Move Teb's StaticUnicodeString initialisation from ntdll to MmCreateTeb (it's better to initialize it early, and all at once) (Aleksey Bragin)
  • Actually create (in the bootloader) and then respect the memory map (in memory manager) (Aleksey Bragin, thanks to Alex)
  • Fix PSEH return usage Johannes Anderwald

OB

  • ObReferenceObjectByHandle/ObpReferenceProcessByHandle: Properly return STATUS_INVALID_HANDLE if user-mode tries to reference a kernel-mode handle
    Properly validate process/thread access rights before giving a reference to the caller. (Aleksey Bragin, thanks to Alex!)
  • Fix definition of "SizeOfHandle" macro in the handle table implementation. Fixes handle leaks at process rundown, handle allocation, and problems with processes that use more than 512 handles. (Aleksey Bragin, thanks to Alex!)
  • Remove checks for "VALID_INHERIT_FLAGS". These flags have nothing to do with handle table entries and shouldn't appear in them. (Aleksey Bragin, thanks to Alex!)

PNP

  • Fixed a bug in PnP Manager for drivers which failed initialization at boot-time (Aleksey Bragin)
  • Improved compatibility in PnP Manager, driver's load and unload routines are alwyas called in context of the system process (Aleksey Bragin)
  • Correctly set DN_DRIVER_LOADED flag. This fixes multiple installation of i8042prt/kbdclass.sys on every boot. (Aleksey Bragin, bug #2330)

PS

SE

  • Fixed incompatible SeSet/QuerySecurityAccessMask() behaviour (Aleksey Bragin)

Hardware Abstraction Layer (HAL)

Run Time Library (RTL)

  • Fix multiple bugs in RtlWalkFrameChain and secure it against any possibility of a bugcheck while walking the stack. (Aleksey Bragin, bugreports and info by Alex)
  • Fix bugs in RtlUnwind and RtlExceptionDispatch which assumed the DPC stack size was 4KB instead of 12KB. (Aleksey Bragin, bugreports and info by Alex)
  • Fix multiple bugs in RtlpGetStackLimits and secure it against bugchecks. Properly detect DPC or invalid stacks. (Aleksey Bragin, bugreports and info by Alex)

Kernel Mode Drivers

Floppy

  • Fixed the issue with floppy.sys hanging on boot (Cameron Gutman, bug #1508)

NTFS

  • Reorganized NTFS driver header : renamed Magic to jump, and OemName to OEMID, created structures for BPB and EBPB and used them in BOOT_SECTOR one, added a field to BOOY_SECTOR structure. This is based on a Technet document and Alex Ionescu document (Pierre Schweiter)

UNIATA

  • Moved the functions MOV_DD_SWP (the i486 version), MOV_DW2DD_SWP and MOV_DW_SWP to an external assembler file (Colin Finck)
  • Silence many warnings (Colin Finck)
  • Fix a bug, where all ATI chips were treated as Silicon Image chips (Colin Finck)
  • Make building with QUEUE_STATISTICS turned off possible (Samuel Serapión)

NT System Library (NTDLL)

Static Libraries

CMLIB

CRT

  • Fixed exception handling, and C++ specific exception handling in CRT/MSVCRT. Thanks to this most MFC applications are now working. (Aleksey Bragin)
  • _findnext is implemeneted and needs to be exported (not a stub). Fixes a crash in Abiword startup. (Thomas Bluemel)

SCRNSAVE

RTL

Services

Win32™ Personality

User mode subsystem server (CSRSS)

  • Fix updating default character attributes when calling SetConsoleTextAttribute() (Thomas Bluemel)
  • Fix console painting bugs (Thomas Bluemel)

User mode subsystem client (USER32)

  • Translate pointers in ValidateHandle to the user mode mapping (Thomas Bluemel)
  • Dereference callproc handles without a system call (Thomas Bluemel)
  • Begin superseding the WINDOW_OBJECT structure by WINDOW which is located on the desktop heap (Thomas Bluemel)
  • Implement GetClientRect(), GetWindowRect(), GetWindowLong(), GetWindowText(), GetWindowTextLength(), GetClassLong(), ClientToScreen(), ScreenToClient(), MapWindowPoints(), IsWindow(), IsWindowUnicode(), IsChild(), IsWindowVisible(), GetParent(), GetWindow(), GetDesktopWindow() to read the information from the desktop heap (Thomas Bluemel)
  • Optimize SendMessage(), TranslateMessage() and DispatchMessage() to avoid system calls when possible (Thomas Bluemel)
  • Implement WM_QUERYUISTATE, WM_CHANGEUISTATE and WM_UPDATEUISTATE and make dialogs update the UI state (Thomas Bluemel)
  • Support DT_PREFIXONLY and DT_HIDEPREFIX in DrawTextEx and support DSS_PREFIXONLY and DSS_HIDEPREFIX in DrawState (Thomas Bluemel)
  • Support hiding keyboard cues and focus rectangles for the standard controls (Thomas Bluemel)
  • Get rid of string pool helper routines (Thomas Bluemel)

Kernel-mode subsystem server (Win32K)

  • Made EnumDisplaySettings work (Gregor Brunmar, bug #2584)
  • Enable the Windows Server 2003 behaviour for SetTimer (Colin Finck)
  • Extend hack in NtUserEnumDisplayDevices to fail enumerating monitors. Fixes an infinite loop in deskmon.dll (Thomas Bluemel)
  • Tweak the ScrollDC implementation a bit so that it produces a better output (Thomas Bluemel)
  • Optimize FrameRgn for simple rectangular regions (Thomas Bluemel)
  • Keep callproc handles valid as long as a window classes exists (Thomas Bluemel)
  • Dereference callproc handles without a system call (Thomas Bluemel)
  • Expose the pointer to the shared heap and the delta to the user mode mapping (Thomas Bluemel)
  • Rename NtGdiSelectPalette to NtUserSelectPalette (Timo Kreuzer)
  • Implement NtGdiDoPalette (Timo Kreuzer)
  • Remove NtGdiAnimatePalette, NtGdiGe/SetPaletteEntries, NtGdiGetSystemPaletteEntries, NtGdiGet/SetDIBColorTable (Timo Kreuzer)
  • Add pool tags for gdi objects (Timo Kreuzer)
  • Cleanup EXTPENS and PENS in BRUSH_Cleanup, remove EXTPEN_Cleanup (Timo Kreuzer)
  • Use a new ObjectType list with fixed indices (Timo Kreuzer)
  • Allow GDI object allocation without a lookaside list (Timo Kreuzer)
  • Make the GDI object's type field more windows compatible (Timo Kreuzer)
  • Basic implementation of NtGdiSetDIBitsToDeviceInternal() (Timo Kreuzer)
  • Add missing NtUser stubs and fix some parameter counts to make win32k syscalls Windows XP compatible (Timo Kreuzer)
  • Remove ToUnicode() stub (Timo Kreuzer)
  • UserScrollDC: small simplification and fix calculation of invalidated region (Timo Kreuzer)
  • IntGdiPolygon: close the polygon outline (Timo Kreuzer), bug #2782
  • Fix bug in NtUserToUnicodeEx (Timo Kreuzer), bug #2557
  • NtUserScrollwindowEx: fix the default clip region (Timo Kreuzer)
  • NtGdiBitBlt, IntGdiGetClipBox: don't SetLastError() on invalid DC (Timo Kreuzer)
  • Release keyboard modifiers in KeybardThreadMain on KEY_BREAK (Timo Kreuzer), bug #2751
  • Implement stub for NtGdiAnyLinkedFonts, NtGdiBRUSHOBJ_hGetColorTransform, NtGdiBRUSHOBJ_pvAllocRbrush, NtGdiCLIPOBJ_bEnum, NtGdiCLIPOBJ_cEnumStart, NtGdiCLIPOBJ_ppoGetPath, NtGdiBRUSHOBJ_ulGetBrushColor, NtGdiBRUSHOBJ_pvAllocRbrush, NtGdiBRUSHOBJ_pvGetRbrush (Magnus Olsen)
  • Implement NtGdiCreatePaletteInternal (Magnus Olsen)
  • Remove NtGdiCreatePalette. It was a ROS specfific function in the win32k syscall list. It has been replaced with NtGdiCreatePaletteInternal (Magnus Olsen)
  • Remove NtGdiCreatePolygonRgn. It was a ROS specfific function in the win32k syscall list that redirected to another ROS specific syscall named NtGdiCreatePolyPolygonRgn (Magnus Olsen)
  • Added missing information from PrimarySurface.DMW when display driver defaults back to the video driver's standard mode (Gregor Brunmar)
  • Fixed caching system in IntEnumDisplaySettings when run more than once (Gregor Brunmar)
  • Hacked a way around the bug in FindDDIDriver (Gregor Brunmar)
  • Fix desktop heaps handling and various bugs (Thomas Bluemel)
  • Make registration of system window classes a bit more robust (Thomas Bluemel)
  • Store the internal window placement directly inside the WINDOW structure (Thomas Bluemel)
  • fix code which wasn't strict ANSI-C compatible Johannes Anderwald
  • Comprehensive changes to bring ReactOS Win32k to a compatible state based on Feng Yuan book "Windows Graphics Programming Win32 GDI and DirectDraw". (James Tabor)

Control panel applets

APPWIZ

  • Change listbox to listview, draw icons, add a find bar. "Install" button moved to a separate tab, also buttons "Download!" and "Find in the Internet" are added there too. Applet's width increased. Make the "Information" tab work. Other changes (Dmitry Chapyshev)
  • Process window messages while the (un)installer is running and disable it (Thomas Bluemel)
  • Don't call SHBrowseForFolder() with random pointers (Thomas Bluemel)
  • Implement create shortcut wizard Johannes Anderwald

MMSYS

DESK

  • Display advanced display settings and allow shell extensions to extend it. Not yet fully functional/working (Thomas Bluemel)
  • Allow changing the screen resolution in the advanced adapter settings through desk.cpl (Thomas Bluemel)
  • Add a (not yet functional) control to allow the user to arrange the monitors (Thomas Bluemel)
  • Display monitor number and various bug fixes (Thomas Bluemel)
  • Add ability to change/query single monitors and change/query the current selection in the monitor arrangement control (Thomas Bluemel)
  • Allow altering the monitor arrangement control behavior flags (Thomas Bluemel)
  • Fix displaying the window caption height (SM_CYCAPTION includes SM_CYBORDER) (Thomas Bluemel)
  • Send notification if another monitor is selected (Thomas Bluemel)
  • Display a context menu for the selected monitor (Thomas Bluemel)
  • Check if reading theme settings from the registry was successful (Thomas Bluemel)
  • Add very basic dragging support to the monitor selection control (Thomas Bluemel)
  • Allow selecting monitors using the keyboard (Thomas Bluemel)
  • Initialize the COM library (Thomas Bluemel)
  • Destroy created pen after use (fixes a GDI object leak) (Thomas Bluemel)
  • Add spectrum bitmaps for 4bpp, 8bpp and 16-32bpp (Colin Finck)
  • Change the current spectrum bitmap, when the user selects another color depth (Colin Finck)
  • Enable support for 4bpp color depth (Colin Finck)

JOY

MAIN

NCPA

  • Implemented the network status property applet to show the actual information (Gregor Brunmar)

POWERCFG

  • Don't change the current power scheme when displaying the dialog (Thomas Bluemel)
  • Load additional pages provided by shell extensions (Thomas Bluemel)

SYSDM

  • Added the build date and revision number to sysdm.cpl (Samuel Serapión, bug #2683)
  • Display the processor frequency and RAM size with the correct decimal separator based on the current locale (Colin Finck)

TIMEDATE

Win32™ Applications

3D Text OpenGL Screensaver

Butterflies Screensaver

Charmap

  • Scroll 1 position on SB_LINEDOWN and 1 page on SB_PAGEDOWN, update window on SB_THUMPTRACK, use ScrollWindowEx on scrolling (Timo Kreuzer)

Control

Cmd

  • Fix memory leaks/wrong heap usage by replacing calls to _tcsdup with cmd_dup (Thomas Bluemel)
  • Display a list of all leaked memory blocks when terminating (Thomas Bluemel)
  • When something tries to copy a file over itself, show an error message. (Colin Finck)

Downloader

Eventvwr

  • Added an Event Log Viewer (Marc Piulachs, Bug #2602)
  • Hardcoded the Window class string, there is no reason for it to be in localized resource files (Colin Finck)

Explorer

  • Remove checkbox for version display (Timo Kreuzer), bug #2323

LogEvent

  • Added a LogEvent utility for adding an event to the EventLog (Marc Piulachs)
  • Accept the input parameters case-insensitive and replace the "/h" option by a "/?" option (Colin Finck)

Magnify

  • Hardcoded the Window class string, there is no reason for it to be in localized resource files (Colin Finck)
  • Removed duplicate header inclusions (Colin Finck)

Matrix Screensaver

  • Set g_nMatrixSpeed to 10 as the default value. This makes it work correctly under Windows XP SP2 and Windows Server 2003 again (Colin Finck)

Solitaire

  • Compute some metrics based on the cards, which were formerly hardcoded.
    This enables us to use the Bavarian cards.dll and theoretically cards in any size (Colin Finck)
  • Compute the card offset for the row stack based on the height of the card (Colin Finck)
  • Bugfix: When you used the 1-card-mode before, there never was a card behind the one, which you drag from the pile.
    Now Solitaire collects all the cards from the deck in the 1-card-mode like Windows Solitaire does. (Colin Finck)
  • Make it possible to use the "O" and the "X" sign as empty images for a deck.
    Actually make use of the "O" sign for the deck. (Colin Finck)
  • Use StretchBlt with fixed values for drawing the card backs in the Deck Options dialog.
    This way the dialog looks normally, also with bigger cards like the Bavarian ones. (Colin Finck)

Shutdown

Systeminfo

Taskmgr

  • Ensure that the "Name" column will always be shown, so a Registry setting can't influence it. (Carlo Bramini, bug #2217)
  • Taskmgr could already be compiled only when Unicode compilation was enabled.
    Make this obvious now by replacing all TCHAR's and TCHAR functions with WCHAR's and wide-character functions and getting rid of the "tchar.h" inclusion. (Colin Finck)
  • Fixed a handle leak (Pierre Schweitzer, bug #2772)
  • Silence some warnings when compiling Task-Manager with MSVC (Colin Finck)

Win32™ Libraries

ADVAPI32

COMCTL32

  • Fixed Propsheet's apply button enabling at the wrong time (Gregor Brunmar), bug #2456
  • Added context menu on right click in treeviews (Gregor Brunmar)
  • Fixed calendar window not closing automatically (Gregor Brunmar), bug #2555

CARDS

  • Merge the card bitmaps of "cardsbav" to our cards.dll and specify with preprocessor definitions, which cards shall be compiled into the DLL (Colin Finck)

DESKADP

  • Add initial implementation of the display adapter desk.cpl shell extension (Thomas Bluemel)
  • Display the display device adapter name and show device properties (Thomas Bluemel)
  • Display adapter information (Thomas Bluemel)
  • Implement the "List all modes" dialog, read-only for now (Thomas Bluemel)
  • Select currently selected mode by default (Thomas Bluemel)
  • Display the display adapter properties with extended pages (Thomas Bluemel)
  • Set the current device mode selection to the current one if the mode was changed successfully (Thomas Bluemel)

DESKMON

  • Add an initial implementation of the display monitor shell extension for desk.cpl (Thomas Bluemel)
  • Display a list of monitors if there's more than one monitor (Thomas Bluemel)
  • Display a list of available refresh rates for the current mode (Thomas Bluemel)
  • Allow changing the display refresh frequency (Thomas Bluemel)

DEVMGR

  • Implement DevicePropertiesA/W by calling DevicePropertiesExA/W and move function prototypes to a private header (Thomas Bluemel)
  • Fix implementation of DevicePropertiesA/W to show extended pages (Thomas Bluemel)

GDI32

  • Make OpenGL initialization thread-safe (Thomas Bluemel)
  • Fix AddFontResourceExAW parameter check (Timo Kreuzer)
  • Fix : add PatBlt and PolyPatBlt to usermode so they no longer redirect to win32k (Magnus Olsen)
  • Fix : AddFontResourceExW, SetLastError to invaild parameter when the flags are not set. (Magnus Olsen)
  • Redirect PATHOBJ_bEnum to win32k NtGdiPATHOBJ_bEnum (Magnus Olsen)
  • Redirect PATHOBJ_bEnumClipLines to win32k NtGdiPATHOBJ_bEnumClipLines (Magnus Olsen)
  • Redirect PATHOBJ_vEnumStart to win32k NtGdiPATHOBJ_vEnumStart (Magnus Olsen)
  • Redirect PATHOBJ_vEnumStartClipLines to win32k NtGdiPATHOBJ_vEnumStartClipLines (Magnus Olsen)
  • Redirect PATHOBJ_vGetBounds to win32k NtGdiPATHOBJ_vGetBounds (Magnus Olsen)
  • Redirect AnyLinkedFonts to win32k NtGdiAnyLinkedFonts (Magnus Olsen)
  • Redirect BRUSHOBJ_hGetColorTransform to win32k NtGdiBRUSHOBJ_hGetColorTransform (Magnus Olsen)
  • Redirect BRUSHOBJ_pvAllocRbrush to win32k NtGdiBRUSHOBJ_pvAllocRbrush (Magnus Olsen)
  • Redirect BRUSHOBJ_pvGetRbrush to NtGdiBRUSHOBJ_pvGetRbrush (Magnus Olsen)
  • Redirect BRUSHOBJ_ulGetBrushColor to NtGdiBRUSHOBJ_ulGetBrushColor (Magnus Olsen)
  • Redirect CLIPOBJ_bEnum to NtGdiCLIPOBJ_bEnum (Magnus Olsen)
  • Redirect CLIPOBJ_cEnumStart to NtGdiCLIPOBJ_cEnumStart (Magnus Olsen)
  • Redirect CLIPOBJ_ppoGetPath to NtGdiCLIPOBJ_ppoGetPath (Magnus Olsen)
  • Remove redirect of CombineRgn and CreateBitmap. Some parts need be done in user mode, not in win32k. Implement it as a stub with the syscall until there is time to review and rewrite this code correctly (Magnus Olsen)
  • Fix : Do not Redirect CreateCompatibleDC and CreateCompatibleBitmap, they need share memory, and it need do some stuff in user mode (Magnus Olsen)
  • Remove redirect of CreateDIBitmap@24 to NtGdiCreateDIBitmap@24, and create stub for it. we need do some stuff in user mode (Magnus Olsen)
  • Fix : CreateDiscardableBitmap shall call on CreateCompatibleBitmap instead of NtGdiCreateCompatibleBitmap to keep it in usermode (Magnus Olsen)
  • Fix : CreateEllipticRgnIndirect now crashes if the parameter is NULL, duplicating behavior in all Windows NT versions tested (Magnus Olsen)
  • Fix : CreatePalette calls NtGdiCreatePaletteInternal (Magnus Olsen)
  • Remove redirect of CreatePolyPolygonRgn and implement a hack for now (Magnus Olsen)
  • Remove redirect of CreatePolygonRgn and implement a hack for now (Magnus Olsen)
  • Remove redirect of CreateRectRgn to keep it in user mode (Magnus Olsen)
  • Fix CreateRectRgnIndirect to call on CreateRectRgn to keep it in user mode, and have it crash if its parameter is NULL, duplicating behavior in all Windows NT versions tested. (Magnus Olsen)
  • Fix CreatePenIndirect to call on CreatePen to keep it in user mode. (Magnus Olsen)
  • Implement DeviceCapabilitiesExA and DeviceCapabilitiesExW, both always return -1 (Magnus Olsen)
  • Redirect DeleteColorSpace to win32k NtGdiDeleteColorSpace (Magnus Olsen)
  • Comprehensive changes to bring ReactOS Gdi32 to a compatible state based on Feng Yuan book "Windows Graphics Programming Win32 GDI and DirectDraw". (James Tabor)

INPUT

KBDCZ1

KBDFR

MME API (WinMM / MMSystem)

  • Added registry key enumeration for "Drivers" and "Drivers32" in place of the WINE-specific code (and hard-coded MIDI and wave mappers) for determining user-mode drivers that require loading (Andrew Greenwood)

MSGINA

OPENGL32

  • Fix freeing lists on process detach (Thomas Bluemel)
  • Make initializing the ICD in ROSGL_ICDForHDC thread-safe (Thomas Bluemel)
  • Delete all GLDCDATA structures in wglDeleteContext that share the same ICD (Thomas Bluemel)

SHELL32

SYSSETUP

  • Enable the code to determine the time zone from the default system language (Thomas Bluemel)
  • Removed an old hack that's not necessary any longer since r31418 (2nd stage localization) (Pierre Schweitzer)

USETUP

TAPIUI

Wine d3d8

Wine d3d9

Wine wined3d

  • Add wine wined3d.dll from wine 0.9.49 with a few modifications done by (Magnus Olsen and Kamil Hornicek tykef at atlas dot cz)



Template:Changelog