[CDMAKE]
* Introduce a way to create an iso using a file map instead of the current on-disk layout. This allows us to massively reduce the IO and the disk space needed to perform the creation of the 3 ISOs, and at the same time speed up the process. Brought to you by Art Yerkes (arty) with review/bug fix by Thomas Faber.
[CMAKE]
* Leverage the newly introduced cdmake feature.
* Silence cdmake verbosity.
* Write the contents of the file lists at once, instead of appending to it one item by one.
[VGAFONTS]
* Don't include the cab file twice.
svn path=/trunk/; revision=59547
- Add the accelerators table that will be used for the shell view control
- Rewrite CDefView::OpenSelectedItems and CDefView::OnContextMenu.
- Rewrite accelerators handling for the shell view. Instead of handling them manually in CDefView::OnNotify, we now translate it properly in CDefView::TranslateAccelerator and forward the result WM_COMMAND message to the IContextMenu2 using a new method called CDefView::OnExplorerCommand.
- Now we don't do call ShellExecute or use clipboard function right in CDefView and this also is the first step to properly handle opening or exploring a folder (which is needed for explorer_new)
svn path=/trunk/; revision=59541
- Silence warnings. Using (unnecessary) virtual destructors here rather than final because that's what the 99 other classes already do.
svn path=/trunk/; revision=59535
- And here's finally a reason why we shouldn't use g++'s host-headers and libraries
- Switch back to wishy-washy-what's-a-standard mode for C++ globally, and enable C++11 only for netshell
svn path=/trunk/; revision=59534
Fix the creation of empty REG_MULTI_SZ values (they have to contain only one NULL char, since a multi-string has the form:
str1\0str2\0...strN\0\0
where each strI\0 is a null-terminated string, and a multi-string is terminated by a null string.
And therefore an empty multi-string has only one null char, corresponding to the terminating null string.
svn path=/trunk/; revision=59529
- In the token parsing function SmpParseToken, just return success directly if the input string has zero length, instead of running code which does nothing at the end, because the length was zero...
- Give a default value for the "BootExecute" entry in the SMSS registry configuration table (this value is used when there is no BootExecute registry value inside HKLM\System\CurrentControlSet\Control\Session Manager) and precise that it is a multi-string value.
- Remove a redundant "Environment" entry in this table, too.
svn path=/trunk/; revision=59518
- Fix a potential overflow bug.
- Don't hardcode the "/ 2" in indices computation (2 == sizeof(WCHAR))
- Fix a string enumeration bug when enumerating strings inside REG_MULTI_SZ values, in RtlQueryRegistryValues.
svn path=/trunk/; revision=59517
Indeed, it appears after extended testing that, when calling from user-mode, Windows checks the real presence of the SYNCHRONIZE flag when using FILE_SYNCHRONOUS_IO_(NON)ALERT even if we pass any of the GENERIC_xxx access flags...
Otherwise, when using FILE_GENERIC_(READ/WRITE) flags directly, there is no need to add the SYNCHRONIZE flag since it is already incorporated in it.
See CORE-7361 for more details.
svn path=/trunk/; revision=59514
Indeed, it appears after extended testing that, when calling from user-mode, Windows checks the real presence of the SYNCHRONIZE flag when using FILE_SYNCHRONOUS_IO_(NON)ALERT even if we pass any of the GENERIC_xxx access flags...
Part 1/X
svn path=/trunk/; revision=59512
[DBGHELPHOST]
* Introduce a self-contained, static library version of dbghelp, in order to leverage its PE DWARF support. Thanks to Jerome Gardou for his work on the compatibility layer, and to Thomas Faber for helping me with the review/improvements.
* Unify the new host lib with the existing dll codebase using preprocessor conditions. This prevents code duplication.
* Skip as much unneeded functionality as possible when compiling dbghelphost to keep it light and straight to the point.
[RSYM]
* Introduce the required functions that allow parsing DWARF (using dbghelphost) and using it (along with coff symbols) to create the rossym debug info. Brought to you by Awesome Arty with some bugfixes from Jerome Gardou. Many thanks to Thomas Faber for assisting me with the testing/bug hunting.
[CMAKE/GCC]
* Introduce a combination of dwarf and debug emission flags that ensure the smallest debug info size among all the possible options we have.
* Introduce compressed debug sections that I already included the support for in RosBE 2.1. Thanks to the mingw-w64 folks (Kai Tietz) for the patch.
* Don't compress debug sections of C++ modules for now due to a bug in the toolchain that leads to spamming the build at link time with a warning.
* Don't run rsym on the RC shared libraries. Thanks to Thomas Faber for spotting this.
[DBGHELP]
* Update the ros diff to reflect the changes introduced by the dbghelphost unification.
svn path=/trunk/; revision=59505
- Fix CcMdlReadComplete2 prototype.
- Fix a bug in Dominique Cote's code: when performing FsRtlGetFileSize, the length of the buffer should be set accordingly to the information class asked for, that is - FILE_STANDARD_INFORMATION structure. Previous calculation formula makes no sense at all and leads to memory corruption (if filesystem driver is stupid enough) or inability to get file size (if filesystem driver is coded by good developers).
svn path=/trunk/; revision=59495
- Fix ExAllocateFromZone. I understand it's deprecated, but it having a broken implementation which can't work at all because the one who coded this function failed to understand basic algorithms of linked lists is nonsense.
svn path=/trunk/; revision=59494