* Recreated the start menu banner as a SVG file in Inkscape.
* Deleted old PSD (Photoshop) files.
* Replaced the explorer banner BMP with one exported by Inkscape from the SVG file.
The end result is slightly sharper text, but otherwise identical.
svn path=/trunk/; revision=73612
- Add missing checks for allocation failure in DetectSerialPointerPeripheral and DetectPS2Mouse. Patch by Serge Gautherie.
CORE-12623
svn path=/trunk/; revision=73608
- Use 'DiskReadBufferSize' instead of hardcoded values in hwdisk.c
- Transform reactos_arc_disk_info into a ARC_DISK_SIGNATURE_EX structure, so that its conversion into a ARC list in winldr.c becomes a bit simpler.
- In winldr.c:
* In case we fail to either open the SYSTEM hive or scan it, bail out with an error message, instead of trying to continue loading ROS.
* Fix an old comment related to ACPI;
- In memory.c/h: Do some cleanup (in particular, just use the MachXXX macros instead of also defining functions with the same names as the macros, and which just redirect into the virtual table).
svn path=/trunk/; revision=73606
Import the isohybrid tool from http://repo.or.cz/syslinux.git/tree/138e850fab106b5235178848b3e0d33e25f4d3a2:/utils
I had to add a lot of glue code (getopt, err/errx/warn/warnx) to get it to compile under all our build platforms Windows, Linux and macOS.
GPT/Mac partition support is disabled at the moment (look for REACTOS_ISOHYBRID_EFI_MAC_SUPPORT), that would need a portable libuuid.
A fix for correctly opening ISOs as binary and not text-mode has been implemented and already sent upstream.
ISOs are not being patched automatically yet due to CORE-12692
CORE-12648
svn path=/trunk/; revision=73595
Overhaul our ISO boot sector:
- Add another entry point for hybrid booting (called by isombr) and the hybrid signature needed for isohybrid.
- Import latest isolinux.asm "API" from http://repo.or.cz/syslinux.git/blob/8bbb10b70905339b7ca6b58d6833b6a95ab03dae:/core/isolinux.asm (latest version to date) and http://repo.or.cz/syslinux.git/blob/9141c603930ef23da1e08e487a0c26750fbb4fbe:/core/isolinux.asm (latest version that came with all functions in ASM).
Among other things, this brings us getlinsec_ebios (for reading setupldr.sys in hybrid/MBR mode) and BrokenAwardHack (for working around broken Award BIOSes)
- Fix upstream getlinsec_ebios to load files >64K.
- Load the HDD boot sector directly to 0x7C00 instead of trackbuf. This way, we don't have to load it again when the user decides to boot from HDD.
- Check for the 0xAA55 signature to decide if the HDD contains a valid MBR. This was done differently and inconsistently for isoboot and isobtrt.
- Adapt the file and comment style to ReactOS guidelines. Add meaningful comments to our main code. Remove stuff that was just taken from isolinux.asm, but makes no sense for our version.
- Remove DEBUG_MESSAGES ifdef. There is no chance they can ever fit into the 2K sector with all the added features. Debugging can still happen using Bochs or adding specific messages.
Tested with Bochs, QEMU, VMware, VirtualBox and four real computers.
Many thanks to Hermès for all the helpful suggestions and additional investigations! :)
CORE-12648
svn path=/trunk/; revision=73594
- CDefaultContextMenu: Fix the implementation of the QueryContextMenu to respect how IContextMenu should function. Don't ignore idCmdFirst and idCmdLast parameters. Return a correct HRESULT. For now I'm not sure how 0 cmd ids should be handled and if the standard menu items should also be affected by these parameters.
svn path=/trunk/; revision=73591
- Start implementing the possibility of customizing the Welcome.exe utility using configuration INI files (e.g. what we would do for FOSDEM, CLT, etc...)
- Resources cleanup.
svn path=/trunk/; revision=73590
- Reduce stack usage by manipulating UNICODE_STRINGS we are given instead of copying it a gazillion times
- Do not assume said strings are null-terminated
svn path=/trunk/; revision=73586
- 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
svn path=/trunk/; revision=73578
- 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.
svn path=/trunk/; revision=73577
- 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
svn path=/trunk/; revision=73576
- 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
svn path=/trunk/; revision=73573
- 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.
svn path=/trunk/; revision=73570
- Fix and enable tests for redirection support in LoadLibraryExW.
- Add tests for the default activation context that is active for every process.
svn path=/trunk/; revision=73568
- 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.
svn path=/trunk/; revision=73567
- 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.
svn path=/trunk/; revision=73565
- 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.
svn path=/trunk/; revision=73559