From ReactOS Wiki
Revision as of 15:36, 15 February 2005 by (talk)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


  • Print userland addresses where possible in bugchecks (Art Yerkes)
  • InsertAscendingList adaption (Gunnar Dalsnes)
  • KiAcquire/ReleaseSpinLock adaption (Gunnar Dalsnes)
  • Added KiAcquire/ReleaseSpinLock (Gunnar Dalsnes)
  • KiAcquire/ReleaseSpinLock adaption (Gunnar Dalsnes)
  • Attempt to fix the display corruption problems when using bootvid.sys on certain hardware (Filip Navara)
  • Do not make NtSecureConnectPort fail: for now direct the call to NtConnectPort (Emanuele Aliberti)
  • NtOpenKey() should return a better status value if the desired key does not exist (Eric Kohl)
  • Implementation of RtlStringFromGUID, IoOpenDeviceInterfaceRegistryKey and IoGetDeviceInterfaceAlias (Matthew Brace)
  • Fixed some problems which occurs if a read only segment is changed to write and back to read only and if such a segment (or a page from such a segment) is paged out and reloaded again (Hartmut Birr)
  • Check for a privat page and change only the page protection for such a page in MmAccessFaultSectionView (Hartmut Birr)
  • Only lock a new page on exit from AccessFaultSectionView (Hartmut Birr)
  • Fixed querying and enumerating the subkeys of HKEY_LOCAL_MACHINE; this fixes bug #78 (Eric Kohl)
  • Start parsing at the root object when an object path needs to be reparsed (Art Yerkes)
  • Use macros for LPC message limits in current LPC implementation (Emanuele Aliberti)
  • Implement RtlFindLeastSignificantBit(), RtlFindMostSignificantBit() and _itow() (Eric Kohl)
  • LPC: initial work on NT/ROS compatibility (Emanuele Aliberti)
  • Add byte swap functions (Eric Kohl)
  • Set the previous pointer from the next block, if some blocks was merged (in add_to_free_list) (Hartmut Birr)
  • Free or recycle the remaining path string after a call to ObFindObject (Hartmut Birr)
  • Work on thread-awareness in gdbstub (Gé van Geldorp)
  • Always lock the pages in MmProbeAndLockPages (Hartmut Birr)
  • Locked the pages in MmCommitPagedPoolAddress, if it is necessary (Hartmut Birr)
  • Try to avoid crashing when dumping out a corrupted stack (David Welch)


  • Rewrote command line parsing (ShadowFlare)


  • Draw window icons into the title bar (Thomas Weidenmueller)
  • Don't mix device and logical coordinates in NtUserBeginPaint (Filip Navara)
  • Use BF_FLAT style for DrawEdge when drawing WS_EX_STATICEDGE border (Filip Navara)
  • Fixed close button (Thomas Weidenmueller)
  • Determine number of accelerator table entries in resource from size of the resource (Gé van Geldorp)
  • Fix wrong GetBitmapDimensionEx() usage in static control (Gé van Geldorp)
  • Added support for right-aligned menus (Gé van Geldorp)
  • Correct bufsize calculation in MessageBoxTimeoutIndirectW. Fixes bug #35 (Gé van Geldorp)
  • Fixed behaviour of sizing grip (Thomas Weidenmueller)
  • Implement system menus (Gé van Geldorp)
  • Fixed icon lookup so that in high color video modes colorful icons are used (Filip Navara)
  • As CURSORICON_FindBestIcon now takes color bits count and not color count, fixed the color calculation in LookupIconIdFromDirectoryEx (Filip Navara)


  • Merged in WineHQ's shell32 commit about "Get rid of W->A calls for shlexec" and FindExecutableW() (Martin Fuchs)
  • Fixed some errors with wrong buffer lengths for wide character strings when calling RegQueryValueW() (Martin Fuchs)
  • Allow only shell links to single objects (Martin Fuchs)
  • Fixed called to Unicode SHELL_FindExecutable() (Martin Fuchs)
  • Added missing PIDL parameter for SHELL_FindExecutable() (Martin Fuchs)
  • Fix bug #166 ('FileDialog returns empty string or error in run from the start menu') (Filip Navara)
  • Return 'My Compuer' PIDL for Desktop->ParseDisplayName() (Martin Fuchs)
  • Resolve some FIXMEs by translating new text strings (Paulo Correasilva)


  • Use return value of GetLocaleInfoW() in GetTimeFormatW() (Martin Fuchs)
  • Added language resources for english, german and french (Martin Fuchs)
  • Don't clear GetTimeFormat() flags when calling RosGetTimeFormat() (Martin Fuchs)
  • Corrected TIME_NOSECONDS handling (Martin Fuchs)
  • Minor fix in GlobalMemoryStatus to get some applications happy (Filip Navara)
  • Implemented GetUserDefaultLangID and GetUserDefaultLCID; fixes bug #108 (Filip Navara)
  • Don't wait for GUI processes to finish (Gé van Geldorp)
  • GetLocaleInfoA implemented (copied from wine) (Gunnar Dalsnes)
  • Implementation of InitializeCriticalSectionAndSpinCount and RtlInitializeCriticalSectionAndSpinCount (Filip Navara)
  • Fixed relocation problem to re-activate new error messages (Martin Fuchs)
  • Implement some profile (.ini file) functions (Gé van Geldorp)
  • Implemented Write(Private)ProfileStringA/W (Gé van Geldorp)
  • CreateFileMappingA/CreateFileMappingW: a NULL size argument for this function should result in the filesize being used (Gero Kuehn)
  • GetComputerName(Ex)?[AW] implemented (Art Yerkes)
  • Check RtlAllocateHeap() return value for 8-byte alignment (Gé van Geldorp and Mark Tempel)


  • Implemented most of the user profile creation (Eric Kohl)
  • Create user profile directory by copying the default user directory (Eric Kohl)
  • Prepare to copy the default user hive (Eric Kohl)
  • Create the user-specific registry hive (Eric Kohl)


  • Add creation of administrator profile (Eric Kohl)



  • Workaround for bug in Nullsoft installer. This closes ReactOS bug #194 (Gé van Geldorp)


  • Implement basic administrator account creation and logon (Eric Kohl)


  • ReactOS implementation of cancel-safe queue library (Vizzini)


  • Fixed binary search algroithm in LdrGetExportByOrdinal - numbers can reach negative values (Filip Navara)
  • Testing shows that Microsoft Windows does allow a thread to leave a critical section entered by another thread (Gé van Geldorp)
  • Implement _bsearch(), _lfind(), _ui64toa() and _ui64tow() (Eric Kohl)
  • Implement RtlFindLeastSignificantBit() and RtlFindMostSignificantBit() (Gé van Geldorp)
  • Implement RtlAccessAllowedAceEx() and RtlAccessDeniedAceEx() (Eric Kohl)
  • Use ACL constants and fix ACL-revision checks (Eric Kohl)
  • Fixed a bug in AppendUnicodeStringToString which could cause a null to be placed one position after the end of a completely full string (Art Yerkes)
  • Always return 8-byte aligned blocks (Gé van Geldorp)


  • Beginnings of ReactOS's OpenGL32 (Blight and Royce Mitchell III)
  • More groundwork for ICD support (Blight)
  • Initial implementation of OPENGL32_LoadDrivers(), call it on PROCESS_ATTACH (Royce Mitchell III)
  • Changed GLFUNCS_MACRO to support C implementation of functions, added MSVC asm version of gl functions, links now, driver and GLRC lists protected by mutexes, added some breakpoints, and fixed 1 or 2 Drv prototypes (Blight and Royce Mitchell III)
  • More WGL functions implemented, bugfixes and found out how to get the driver name from/for a HDC (Blight)
  • Fast proxy functions now exported by nasm code. opengl32 builds and links with both mingw and VC6 (Royce Mitchell III)
  • rosglChoosePixelFormat implementation and small bugfixes to rosglCreateLayerContext (Blight)
  • Fast proxy functions fixed, loads in win2k and succeeds creating the context but then crashes (Blight)
  • ExtEscape call fixed and simple version of wglGetPixelFormat implemented (Blight)
  • Work so that simple GL programs should work if you have hardware-accelerated video drivers installed (Blight)


  • KiAcquire/ReleaseSpinLock adaption (Gunnar Dalsnes)
  • Spinlock can also be acquired using KeAcquireSpinLockRaiseToSynch(), take this into account when checking the IRQL on release (Gé van Geldorp)




  • Also zero out first sector of root dir when formatting FAT12 and FAT16 volumes (Gé van Geldorp)


  • Working interface list; getting route table (Art Yerkes)


  • Fix environment variable handling (Mike Nordell)


  • Fixed window activation bug (GA_ROOTOWNER -> GA_ROOT) (Filip Navara)
  • Preparing for the win32k emulated mouse cursor support (Filip Navara)
  • Implemented MenuItemFromPoint() (Thomas Weidenmueller)
  • Fixed hittest-code so it returns HTMENU properly (Thomas Weidenmueller)
  • Implemented multiline menu bars (Thomas Weidenmueller)
  • Release mutex on error exit (Gé van Geldorp)
  • GetAncestor() doesn't set a last-error if the handle passed is the desktop window, it just returns NULL (Thomas Weidenmueller)
  • Don't activate disabled windows (Thomas Weidenmueller)
  • Release window object when destroying window children and skip only children that have a different parent window (Thomas Weidenmueller)
  • Activate modal dialog when clicking on a disabled window (Thomas Weidenmueller)
  • Fix cross-thread WM_SETTEXT messages (Gé van Geldorp)
  • Dynamically load fonts on startup
  • Seperated the Caption font and the icon title font (Richard Campbell)
  • Fixed missing release of window objects (Thomas Weidenmueller)
  • Resolve two GDI handle leaks (Filip Navara)
  • Faster GDI handle allocation strategy (Filip Navara)
  • Update DC when moving a window. Fixes bug #5 (Gé van Geldorp, Filip Navara)
  • Handle NULL window as special case when computing visible region for GetDC. Fixes bug #59 (Gé van Geldorp)
  • Fix NtUserScroll[WindowEx/DC] (Filip Navara)
  • Implemented ChildWindowFromPoint(Ex) (Richard Campbell)
  • Rewritten NtGdiEllipse with improved and optimized algorithm (Filip Navara)
  • Use window thread instead of current thread to obtain desktop (Gé van Geldorp)
  • Fix race condition when one thread changes the update region of a window and another thread retrieves a paint message for that window (Gé van Geldorp)
  • Don't callback from kernel to usermode if the thread is exiting; fixes bug #83 (Gé van Geldorp)
  • Clip region to be bitblt'ed against the valid source region. Fixes bug #152 (Gé van Geldorp)
  • Fixed software mouse pointer handling to work correctly with MouseSafety* routines (Filip Navara)
  • Fixed algorithm for 4BPP bitblts with ROP != SRCCOPY (Filip Navara)
  • Reclaculate window client size in NtUserSetMenu even if the window isn't visible (Filip Navara)
  • Properly move child windows in NtUserSetWindowPos (Filip Navara)
  • Very basic implementation of ExtEscape (Filip Navara)
  • Fix race condition resulting in WM_xBUTTONUP sometimes being delivered before WM_xBUTTONDOWN (Gé van Geldorp)
  • Fix double click (Gé van Geldorp)
  • Implemented horizontal and vertical gradients in GradientFill() (Thomas Weidenmueller)
  • Use GradientFill() for gradient captions (Thomas Weidenmueller)
  • Don't copy from/to outside the visible screen region (Gé van Geldorp)
  • Return more correct error codes from NtUserRegisterClassExWOW (Filip Navara)
  • Delete atom in NtUserUnregisterClass (Filip Navara)
  • Corrected DC locking in NtGdiSetDIBColorTable (Filip Navara)
  • Check region handles in NtGdiPaintRgn (Filip Navara)
  • Added EngGetCurrentProcessId() and EngGetCurrentThreadId() (Thomas Weidenmueller)
  • Fixed clipping code in NtGdiGetPixel (James Pritchard)
  • Fix distortion by StretchBlt (Filip Navara, Waldo Alvarez Cañizares)
  • Implement menu handling (Gé van Geldorp)
  • Top level windows have menus, child windows have IDs (Gé van Geldorp)
  • SPI_GETNONCLIENTMETRICS and SPI_GETICONTITLELOGFONT now load their settings from the registry (Richard Campbell)
  • Fixed WindowFromPoint() to search backwards (Thomas Weidenmueller)
  • Fixed 8 8 bpp, 1616 bpp and 32 32 bpp stretchblitting (Waldo Alvarez Cañizares)
  • Added pool tags for better debugging (Thomas Weidenmueller)
  • Fixed a few race conditions in painting code (Filip Navara)
  • Fix double release of fast mutex (Gé van Geldorp)
  • Fixed releasing of window object in IntValidateParent and NtUserRedrawWindow (Thomas Weidenmueller)
  • Fixed potencial deadlock in IntPaintWindows (Thomas Weidenmueller)
  • Modifed DceUpdateVisRgn to correctly handle situations when DceGetVisRgn returns NULL (Filip Navara)
  • Fixed the alternative version of VIS_ComputeVisibleRegion and made it the one and only, because it's smaller and faster than the original one (Filip Navara)
  • Prevent double unlinking of window (Filip Navara)
  • Implement keyboard navigation for menus (Gé van Geldorp)
  • Fix mono -> color bitblts (Gé van Geldorp)
  • Fixed WindowFromPoint() to send WM_NCHITTEST messages to windows that belong to the current process (Thomas Weidenmueller)
  • Fix bug #129 (Filip Navara)
  • Fixed bug 167 (Art Yerkes)


  • Use ScrollWindowEx for scrolling text in console (Filip Navara)
  • Move call to PrivateCsrssManualGuiCheck to before the creation of window classes (Gé van Geldorp)
  • Fixed shift handling code that caused bug 193 (Art Yerkes)
  • Initialize/delete the lock of a screen buffer (Hartmut Birr)


  • Moved videoprt driver to a new location and implemented few functions (Filip Navara)
  • Started implementation of VideoPortGetVgaStatus (Jim Tabor)


  • Don't set 'Output Line 2' bit while power-uping the mouse during initalization (Logan_V8_TT)
  • Restore 'Line Control' register at the end of mouse detection (Logan_V8_TT)
  • Wait only 150000 millisecons (instead of 500000) for mouse power down (Logan_V8_TT)
  • Enable detection of mouse on COM2 by default (Logan_V8_TT)
  • Work on serial mouse detection to fix bug #198 (Filip Navara)


  • Corrected timeouts to really wait one millisecond (Filip Navara)



  • Fixed acquiring a spin lock in FileCloseConnection (Filip Navara)
  • Fixed some address calculations (Filip Navara)
  • If there is an out-of-resources situation, don't transmit the datagram out of order (Casper Hornstrup)


  • Initial work on Sound Blaster driver (Andrew Greenwood)


  • Initial work on MPU401 driver (Andrew Greenwood)


  • Fixed a wrong index, which resulted in writing over the end of an allocated buffer (Hartmut Birr)

ROS Explorer

  • Icon alignment algorithms (Martin Fuchs)
  • Fixed RecursiveCreateDirectory() (Martin Fuchs)
  • Context menu for desktop bar (Martin Fuchs)
  • Property sheet dialogs (Martin Fuchs)
  • Desktop settings dialog sheet (Martin Fuchs)
  • Draw button control with original border; focus handling in property sheet (Martin Fuchs)
  • Fix to correctly display notification icons of some applications (Martin Fuchs)
  • Use PostMessage(WM_SYSCOMMAND) instead of ShowWindowAsync(SW_MINIMIZE) to minimize application windows when clicking on the taskbar (Martin Fuchs)
  • Fix determination of the last foreground window (Martin Fuchs)
  • Included NT Object namespace as virtual file system (Martin Fuchs)
  • Re-activate already open shell/ntobj child windows instead of opening new windows (Martin Fuchs)
  • Included Registry as virtual file system (Martin Fuchs)
  • Display types of files, NT objects and registry key/entries (Martin Fuchs)
  • New 'content' column to display symbolic link targets (Martin Fuchs)
  • Display pseudo-file attributes "link" and "executable" (Martin Fuchs)
  • Implemented context menu for file child windows (Martin Fuchs)
  • Integrated new startmenu side bar logo (Paulo Correasilva)
  • Minimize all button (Martin Fuchs)
  • Portugese translation (Paulo Silva)
  • First version of web control embedding (Martin Fuchs)
  • Desktop switching (Martin Fuchs)
  • Japanese resource (Masahiro Taguchi)
  • Better foreground window handling (Martin Fuchs)
  • Display status texts (Martin Fuchs)
  • First draft of a lean explorer version (Martin Fuchs)
  • Display a "not yet implemented" error message for the following start menu entries: printers, network, RAS (Martin Fuchs)
  • Fixed more GDI handle leaks (Martin Fuchs)
  • Set background brush for the short moment of displaying the background color while moving foreground windows (Martin Fuchs)
  • Fix taksbar icons after closing previous applications (Martin Fuchs)
  • Fixed bug #224 (Martin Fuchs)

Command Interpreter

  • Show "type" in dir listing (Thomas Weidenmueller)
  • Fix /p when screen buffer is larger than output window (Michael Fritscher)
  • Implement /W, /P and /Y options (Michael Fritscher)
  • Check color passed on command line, make sure foreground and background are not the same (Hüseyin Uslu)