[ros-kernel] Re: 0.2 RC1 Changelog

Martin Fuchs martin-fuchs at gmx.net
Sat Jan 17 10:42:39 CET 2004


Hello,

> ReactOS 0.2 RC1 will be made available on reactos.com today. Below is
> 
> the long version of the changelog I've compiled. Please let me know
> if anything is missing/incorrect. But if I've already release 0.2 RC1,
> still email me, because the changelog for RC2(?) and the final
> release can still be updated after that.

> Explorer.exe
> ------------
> 
> Basic support to display NTFS streams (Martin Fuchs)
> Context menu implementation for desktop window (Martin Fuchs)
> Beginning of drag'n'drop support on the desktop (Martin Fuchs)
> Implementation of control panel folder (Martin Fuchs)
> Cool icons (Everaldo)

You could include the optimizations for the start menu in the Changelog.
- It's now using a light weight approach without button controls.
- There is also now a icon cache for start menu and quick launch bar.
- Direct file system gains a huge speedup for the start menu.
- Start menu now can be used by keyboard navigation.
- The size of notification area and quicklaunch bar in the desktop bar are now automatically adjusted.


> Shell32.dll
> -----------
> 
> Fix shell image loading (icon index 0 is invalid) (Martin Fuchs)
> Tranparent icon labels on the desktop (Martin Fuchs)
> Implemented IShellExecuteHook for control panel (Martin Fuchs)
> MessageBox-implementation of RestartDialog and RestartDialogEx
> (MartinFuchs)

Seems you only looked at the reactos/lib/shell32 Changelogs.
Most of the changes have been made in wine/dlls/shell32.

Perhaps you want to include this more complete change list:


Ge van Geldorp <ge at gse.nl>
- Return absolute path from SHGetPathFromIDListA
- Allow SHGetPathFromIDListA to resolve items in special folders.
- shlview.c: Execute items by default using new function ShellView_OpenSelectedItems()
- Don't return executable name in double quotation marks from FindExecutable
- Since IExtractIcon::GetIconLocation returns the icon *index* (not
the resource id) and some of these indexes are hardcoded in
folders.c IExtractIconW_fnGetIconLocation() add some dummy icons
to force correct index.


Filip Navara xnavara at volny.cz
- shell32_Cs.rc: Czech translation

Preparation before moving SHGetFolderPath[AW]() into shfolder.dll:
- Moved actual code from SHGetSpecialFolderPathA to SHGetFolderPathW, adjusted and unicodified it.
- Rewrote SHGetFolderPathA to call SHGetFolderPathA.
- Rewrote SHGetSpecialFolderPath[AW] to call SHGetFolderPath[AW].


Everaldo Coelho everaldo at everaldo.com
- better locking shell icons with 4, 8 and 32 bit colors


Martin Fuchs <martin-fuchs at gmx.net>
- correct path parsing in ISF_Desktop_fnParseDisplayName()
- handle CLSID paths in ISF_MyComputer_fnParseDisplayName()
- return CLSID path in ISF_MyComputer_fnGetDisplayNameOf()
- implemented flag SEE_MASK_IDLIST for ShellExecuteEx()
- removed warning message for previously unimplemented flag SEE_MASK_INVOKEIDLIST in ShellExecuteEx()
- add a few TRACE messages to ShellExecuteXYZ()
- SIC_IconAppend(), SIC_GetIconIndex(): use GetFullPathName() instead of PathFindFileNameA() to make icon paths unique
- fixed HCR_GetExecuteCommandExA/W() to correct ShellExecuteEx() behaviour with flag SEE_MASK_CLASSNAME set
- RenderFILENAMEA/W(): only return valid file system names
- extended CSIDL_Data for missing CSIDL_... definitions
- introduced IDL type PT_RAS_FOLDER for "Connections" shell folder 
- implementation of shell link resolving for ShellExecuteXYZ() and IExtractIcon:
  _ResolveShortCut(), IShellLink_ConstructFromFile(), I...XYZ...fnGetUIObjectOf(),
  _PidlGeticonLocationA/W(), IShellLinkA/W_fn...(), IExtractIconW_fnGetIconLocation()
- CreateStreamOnFile(): use flag FILE_SHARE_READ for opening OLE stream files
- introduced optimized internal functions SHELL_GetPathFromIDListA/W() with HRESULT return value
- SHGetPathFromIDListA/W() return now like on real Windows only real file system paths, no virtual CLSID paths.
- shres.rc, SIC_Initialize(): moved ID for document icon from invalid index 0 to 1
- SIC_Initialize(): use full path to shell32.dll for icon cache
- adjusted ExtractIconExW() to be usable with MinGW and MSVC
- ISvItemCm_fnQueryContextMenu(): corrected default menu item in shell context menus
- ISvItemCm_fnQueryContextMenu(): distinguish between Open and Explore commands
- ShellView_DoContextMenu(): activate Explore-Context menu on the desktop
- ShellView_CreateList(), SIC_Initialize(), PidlToSicIndex(): enabled transparent icons on the desktop
- SHGetDataFromIDListA/W(): corrected error handling
- I...XYZ...fnGetUIObjectOf(): better error handling
- ISF_MyComputer_fnGetDisplayNameOf(): better error handling
- AboutDlgProc(): don't link to undocumented string functions in NTDLL to be compatible with MSVC and MinGW
- SHSimpleIDListFromPathA(): don't link to undocumented string functions in NTDLL to be compatible with MSVC and MinGW
- SHGetDataFromIDListA/W(): handle drives when retrieving file attributes
- _ILCreateFolder, _ILCreateValue(): added missing type casts from DWORD to WORD
- shell32_XY.rc: corrected menu item ids FCIDM_SHVIEW_OPEN and FCIDM_SHVIEW_EXPLORE
- DllMain(): get full path and name to shell32.dll for IExtractIconW_fnGetIconLocation(); directly call InitCommonControlsEx()
- pseudo-implementation for IPersistFile_fnIsDirty()
- IShellLinkA/W_fnGetPath(): added FIXME
- shellink.c: corrected SCF_UNICODE constant
- _FS_ProcessDisplayFilename(): hide configured file extensions in file system shell folders and on the desktop
- ISF_Desktop_fnParseDisplayName(): correct file path parsing on the desktop
- SHELL_FindExecutable(); use PathFindExtensionA() instead if strrchr()
- SHELL32_CoCreateInitSFEx(): improved error handling
- SHMapPIDLToSystemImageListIndex(): improved error handling
- SHELL_FindExecutable(): use PathFindExtension() instead of strrchr()
- folders.c: include header files "config.h" and "port.h" for strcasecmp()
- shellink.c: corrected shell link saving
- IShellLink: implemented IPersistFile::IsDirty()
- ShellExecuteExA(), ISF_MyComputer_fnGetDisplayNameOf(): handle shell links to virtual folders
- read in shell links to control panel applets and enable ShellEcecute() to launch them
- Implementation of control panel folder
- partial implementation of file system folder execution in ShellExecute()
- ExitWindowsDialog(): implemented shutdown request for OS versions NT and better
- implementation of RestartDialog() and RestartDialogEx()
- SHELL32_GetItemAttributes(): implemented SFGAO_LINK
- corrected definition of PathYetAnotherMakeUniqueName()
- implemented SHGetRealIDL()
- fixed allocation length in RenderFILENAMEW()
- SHBindToParent(): call QueryInterface for Desktop
- ShellExecuteExA32(): expand environment strings


Maybe you don't want to include this lists that detailed.
Important points are:
- many fixes for icon extraction to display correct icons in explorer.
- fixes for ShellExecute() and similar functions to enable program launching
  including reading of shell links.
- implementation of control panel in shell namespace
- call shut down function in the "shutdown" dialog
- a lot of other bug fixes.


Regards,

   Martin



More information about the Ros-kernel mailing list