Dashboard

[PSDK]: Add the declarations for IsNetDrive, DriveType and RealDriveType functions (from shell32).
    • -0
    • +3
    /trunk/reactos/sdk/include/psdk/shlobj.h
[SHELL32]: Follow-ups to r73579 and r73580: use PathYetAnotherMakeUniqueName.

CORE-12684

    • -20
    • +15
    /trunk/reactos/dll/win32/shell32/CNewMenu.cpp
[SHELL32]: Code formatting only.
    • -5
    • +15
    /trunk/reactos/dll/win32/shell32/CNewMenu.cpp
[SHELL32]: Remove trailing whitespace.
Fix a bug introduced in r73579.

CORE-12684

    • -1
    • +1
    /trunk/reactos/dll/win32/shell32/CNewMenu.cpp
[SHELL32]: Fix the "CNewMenu.cpp:432: Unexpected failure 80070002." debug line that appears when one tries to create a new file using the explorer (note: did not happen for new directories).

CORE-12684 #resolve #comment Fixed in r73579.

    • -1
    • +3
    /trunk/reactos/dll/win32/shell32/CNewMenu.cpp
[SHELL32]

- Now that we correctly handle the shell link data block list with APIs, no need to hack an extra zeroed DWORD at the end of shortcut files!

- Fix the display of the shortcut target location: this typically displays the (last) directory where the target resides. Addendum for r53624, r54957 and CORE-5730 CORE-6104

    • -19
    • +24
    /trunk/reactos/dll/win32/shell32/CShellLink.cpp
[SYSSETUP][SHORTCUTS.INF]: Follow-up of r71049 and CORE-11020 :

- Make more shortcuts start from the user directory;

- The desktop shortcut of the ReadMe file should not use an icon location, so that the shell correctly retrieves the icon to display from the type of the file (in our case, .txt).

- Make the necessary adjustments in syssetup/install.c :

* opt-out setting the icon location;

* in addition, since we now support shell link targets containing environment variables, don't always expand the target path before setting up the shortcut, but do it just in the case we have to compute a suitable working directory.

    • -66
    • +37
    /trunk/reactos/dll/win32/syssetup/install.c
    • -12
    • +12
    /trunk/reactos/media/inf/shortcuts.inf
[SHELL32]: CShellLink fixups Part 2:

- Add COM inheritance for interfaces IExtractIconA/W, and add in comment the missing other ones, the ordering of which is given by the apitests/com/shell32.

- Add proper support for the extra data block list (which is added at the end of the .lnk files), by using the API from shlwapi.dll: SH[Read|Write|Free]DataBlockList, SH[Add|Find|Remove]DataBlock.

- Using this support, getting/setting the MSI data block becomes as simple as child's play, and opens the possibility for implementing support for the other types of blocks.

- This in particular enables support for paths with environment variables for the link's target and icon: CORE-9236 #resolve

- Fix all the "shell32_winetest shelllink" tests: CORE-7158 #resolve

Some of the fixes are inspired from a patch by Katayama Hirofumi MZ.

- Fix all the "shell32_apitest CShellLink" tests *but* those calling IExtractIcon::GetIconLocation().

- Implement a hackish substitute to the shell32!PathResolve API until someone writes a correct one (see the code & the FIXMEs for some ideas), possibly using the SHELL_xxx helpers in Wine's shellpath.c.

- In CFSExtractIcon_CreateInstance: Because IShellLink::GetIconLocation can return no icon location, in case none is specified in the .lnk (proved by apitests), we have to call the shell link's IExtractIcon::GetIconLocation in order to retrieve the icon of its target (yes, some shortcuts are made like that, e.g. Notepad++ 6.9 one...).

- More fixes...

- ... and a lot of documentation added in the code for you!

CORE-12682

    • -0
    • +12
    /trunk/reactos/dll/win32/shell32/folders.cpp
    • -387
    • +1184
    /trunk/reactos/dll/win32/shell32/CShellLink.cpp
    • -17
    • +44
    /trunk/reactos/dll/win32/shell32/CShellLink.h
[KERNEL32_APITEST] -Make FindActCtxSectionStringW test less strict.
[KERNEL32_APITEST] -Try to avoid crashes in DefaultActCtx test.
    • -24
    • +52
    /trunk/rostests/apitests/kernel32/DefaultActCtx.c
[SHELL32]: CShellLink fixups Part 1:

- Use STDMETHODCALLTYPE for the interface methods calling convention;

- Use the naming convention "m_Member" for the class members (note that I haven't applied the convention for some members: because they will go away in the next commits);

- Use _countof() where needed;

- Make the ANSI CShellLink::GetIconLocation call the UNICODE version;

- Move some functions around to put them closer to the functions that call them;

- Very minor code formatting.

CORE-12682

    • -85
    • +94
    /trunk/reactos/dll/win32/shell32/CShellLink.h
    • -484
    • +444
    /trunk/reactos/dll/win32/shell32/CShellLink.cpp
[KERNEL32_APITEST] -Add redir2dep.manifest to the testdata.
[KERNEL32_APITEST] -Fix gcc build
[SHELL32]

- Use explicit unicode SHFILEINFOW structure (where needed);

- In CFSExtractIcon_CreateInstance, use _countof instead of hardcoding the MAX_PATHs; add some FIXMEs about the 'flags' parameter;

- Code formatting in CExtractIcon.cpp.

    • -1
    • +1
    /trunk/reactos/dll/win32/shell32/CNewMenu.cpp
    • -18
    • +17
    /trunk/reactos/dll/win32/shell32/folders.cpp
[regtest.cmd] -RENAME parameter in add_rostests_file doesn't have any effect on the name of the installed file so rename sine files manually before starting tests.
[KERNEL32_APITEST]

- Fix and enable tests for redirection support in LoadLibraryExW.

- Add tests for the default activation context that is active for every process.

    • -0
    • +112
    /trunk/rostests/apitests/kernel32/DefaultActCtx.c
    • -0
    • +13
    /trunk/rostests/apitests/kernel32/redirptest/redir2dep.manifest
[PSDK]: Update shlobj.h:

- Define Logo3-related symbols only when NTDDI_VERSION < NTDDI_LONGHORN (Vista);

- In the SHELL_LINK_DATA_FLAGS enumeration, some symbols are defined for Vista+ only;

- Update the comment for EXP_LOGO3_ID_SIG;

- The PRF_TRYPROGRAMEXTENSIONS define is actually the combination of PRF_EXECUTABLE and PRF_VERIFYEXISTS;

- Add PRF_REQUIREABSOLUTE and fix PRF_DONTFINDLNK typo.

    • -38
    • +49
    /trunk/reactos/sdk/include/psdk/shlobj.h
[INCLUDES]: Add in shlwapi_undoc.h the exported-by-ordinal-only shlwapi functions SH[Add|Remove|Find]DataBlock, SH[Write|Read|Free]DataBlockList, and SHExpandEnvironmentStrings[ForUser]A/W . Will be used later.

CORE-12682

[SHLWAPI]

- Fix SHAddDataBlock function signature & return value.

- Back this up by updating the corresponding wine test.

Send upstream, I will remove the __REACTOS__ markups once this is merged in Wine.

    • -2
    • +25
    /trunk/reactos/dll/win32/shlwapi/clist.c
    • -12
    • +9
    /trunk/rostests/winetests/shlwapi/clist.c
[SHLWAPI]: Follow-up on r73527 and r73529: Use WINVER conditional to separate old-Win2k3 and new-Vista+ behaviours of PathIsUNCA/W.

CORE-12653

    • -2
    • +2
    /trunk/reactos/dll/win32/shlwapi/path.c
[SHELL32_APITEST]

- Use smart COM pointers (thanks Mark ;)

- Add other tests for testing non-existing files in existing directories.

    • -14
    • +12
    /trunk/rostests/apitests/shell32/CShellLink.cpp
[SHELL32_APITEST]: Add more tests to see how IShellLink::Get/SetIconLocation interacts with IExtractIcon::GetIconLocation.
    • -11
    • +74
    /trunk/rostests/apitests/shell32/CShellLink.cpp
Comply to GCCLin rules.
[SHELL32_APITEST]: Add some tests for GetIconLocation. Show also that CShellLink inherits from IExtractIcon(A/W).
    • -0
    • +122
    /trunk/rostests/apitests/shell32/CShellLink.cpp
[SHELL32_APITEST]

- Fix the names of some expected return values get from the APIs;

- Move a bit the TestShellLink() function.

- When displaying hexadecimal, prepend the "0x" string (otherwise, when you see: "hr = 10", is it 10 in decimal or in hex??)

- Call CoUninitialize() at the end of the tests.

    • -49
    • +52
    /trunk/rostests/apitests/shell32/CShellLink.cpp
[SHELL32]

Fix truncated French text in File Properties dialog.

Patch by Katayama Hirofumi MZ.

CORE-12554

    • -2
    • +2
    /trunk/reactos/dll/win32/shell32/lang/fr-FR.rc
[INTL]

Fix truncated French text in Languages dialog.

Patch by Katayama Hirofumi MZ.

CORE-12366

    • -3
    • +3
    /trunk/reactos/dll/cpl/intl/lang/fr-FR.rc
[SHELL32]

Fix truncated French text in Open With dialog.

Patch by Katayama Hirofumi MZ.

CORE-12556

    • -2
    • +2
    /trunk/reactos/dll/win32/shell32/lang/fr-FR.rc
[BOOTSECT]

Add a simple MBR boot sector that chainloads the El Torito BIOS Boot Sector of the ReactOS ISO.

This is our equivalent to syslinux's isohdpfx.S and will be used as input for the soon to be imported "isohybrid" patching tool.

Largely untested Work In Progress towards CORE-12648

    • -0
    • +102
    /trunk/reactos/boot/freeldr/bootsect/isombr.S