Difference between revisions of "ChangeLog-0.3.4"

From ReactOS Wiki
Jump to: navigation, search
(Generic 0.3.4 Changes)
Line 13: Line 13:
* 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]])
* Update icons for Shell32, Setupapi. ([[Dmitry Chapyshev]])
== Translations ==
== Translations ==

Revision as of 08:14, 14 November 2007

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).


Generic 0.3.4 Changes

  • Added more entries to machine.inf to install ACPI thermal zone and ACPI lid (Cameron Gutman)
  • LiveCD's now use 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)


  • 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, Cmd, Desk.cpl, Deskadp, Deskmon, Find, Joy, Liccpa, Magnify, Main, Mstsc, Ncpa.cpl, Powercfg, Regedit, Servman, Shell32, Solitaire, Syssetup, Systeminfo (Pierre Schweitzer, bugs #2530, #2531, #2766)
  • Catalan translation for Solitaire (Marc Tormo i Bochaca, bug #2580)
  • Added/updated English and German translations for Explorer, More, Shell32, Syssetup (Colin Finck)
  • Added Lithuanian translations for Logoff, Notepad, Shutdown, Sndvol32, Solitaire, WineMine (Vytis Girdzijauskas, bug #2532)
  • Added/updated Slovak translations for 3dtext, Cylfrac, Desk.cpl, Deskadp, Deskmon, Logon, Matrix, Scrnsave, Slayer, Solitaire, Starfield, Sysdm.cpl, Timedate.cpl (Mario Kacmar)
  • Added/updated Ukrainian translations for Cylfrac, FreeLDR, Input.cpl, Logon, Msconfig, Scrnsave, Starfield (Artem Reznikov, bugs #2661, #2692, #2731)
  • Added/updated Spanish translations for Fontview, Magnify, "reactos" (Setup tool under Windows), Sndvol32 (Javier Remacha, bug #2669)
  • Added Ukrainian translations for Eventvwr, Format, Regsvr32 (Rostislav Zabolotny, bugs #2685, #2686, #2764)
  • 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 Explorer, Find, Format, Intl.cpl, Ipconfig, Logoff, Main.cpl, More, Powercfg.cpl, Regedit, Rundll32, Shutdown, Solitaire, Timedate.cpl, Userinit, Winlogon, WordPad (Станев, bug #2728)
  • Added Spanish translation for Eventvwr (Marc Piulachs, bug #2758)
  • Added Brazilian Portuguese translation for Sndvol32 (Mateus de Lima, #2768)
  • Added Russian translation for More cmd util (Koshpaev Igor and Dmitry Chapyshev)
  • Fixed Russian translations for Taskmgr, Winemine, Shell32, Syssetup (Dmitry Chapyshev)

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 folder support for msvc7+ solutions and mapping of pch .h files (Gregor Brunmar)


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


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


  • 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)


Kernel and Executive(NTOSKRNL)

Hardware Abstraction Layer (HAL)

Run Time Library (RTL)

Kernel Mode Drivers


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


  • 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



  • Fixed exception handling, and C++ specific exception handling in CRT/MSVCRT. Thanks to this most of MFC apps are now working. (Aleksey Bragin)


Win32™ Personality

User mode subsystem server (CSRSS)

  • Fixes updating default character attributes when calling SetConsoleTextAttribute() (Thomas Bluemel)
  • Fix console painting bugs (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)

Control panel applets


  • 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)



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


  • 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)


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




  • 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)

Win32™ Applications

3D Text OpenGL Screensaver


  • Changed and updated the links to Firefox and Thunderbird (Colin Finck)
  • Оptions added: save or delete files after download, and choose download directory (Dmitry Chapyshev)
  • Display basic download status (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)


  • 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)


  • 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)


  • 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 working correctly under Windows XP SP2 and Windows Server 2003 again (Colin Finck)


  • Compute some metrics based on the card metrics, 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)



  • 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)

Win32™ Libraries


  • 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)




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)



  • Call ShellExecute with NULL instead of "open", so the default action will always be used (Colin Finck, bug #1461)
  • Implement a new ShellAbout dialog, which looks more like the Windows one (Colin Finck)
  • Fix abusing the heap by using strdupW instead of _wcsdup (Colin Finck)


  • Port RegLoadMUIStringA/W from WINE HEAD and adjust parameter names (Thomas Bluemel)
  • Load libraries as data files in RegLoadMUIString (Thomas Bluemel)


  • Enable the code to determine the time zone from the default system language (Thomas Bluemel)


  • 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)


  • 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)


  • 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)