Temporarily disable the WS_EX_DLGMODALFRAME test whose presence broke opening the system menu when the user clicks on the window caption icon.
This half-broken DefWndNCHitTest comes from user32; see r70718 for more details.
svn path=/trunk/; revision=70719
- Both functions UserGetInsideRectNC and NC_GetInsideRect are the same: remove the redundant code and keep only NC_GetInsideRect.
- Move default WM_NCHITTEST into kernel side, getting rid of half-broken DefWndNCHitTest in user32. Note that we use a DefWndNCHitTest version almost unmodified in uxtheme.dll.
I did this move also because otherwise, we didn't correctly checked for the presence of the window system menu icon. On the contrary the function GetNCHitEx (obviously taken from Wine's NC_HandleNCHitTest) correctly checks for this.
James, please review!
svn path=/trunk/; revision=70718
- Fix orthograph
- Mention in the code that some stuff are hacks & need to be fixed.
- Add parentheses around bit checks.
svn path=/trunk/; revision=70713
- Hide STATUS_SXS_INVALID_ACTCTXDATA_FORMAT in BasepProbeForDllManifest and fake a manifest not found status instead. Windows's RtlCreateActivationContext will always return this code since we call it with a completely invalid structure. Should fix boot on VMware-Hybrid testbot.
CORE-10843
svn path=/trunk/; revision=70697
- Whitespace fixes only in the disk code.
- Fix the name of the EXT2 FS driver.
- Move I/O initialization after Mm init so that we can properly read disk data into the correct buffers if needed (and I will need that).
svn path=/trunk/; revision=70695
Start splitting FreeLdr in the same spirit as our new UEFI boot manager/loader: split into a boot library, the boot manager code, and the NT loader.
- The boot library provides the basic support (read INI/INF files, memory management, debugging, ARC compatibility/emulation, ...).
- The boot manager code is FreeLdr proper.
- The NT loader is used for loading Windows or ReactOS. Because of that fact I rename its directory "windows" into "NTLDR" to underline the fact it can load NT-type OSes (more exactly version 5.x), to which both Windows 2k/XP/2k3 and ReactOS belong. The APIs will certainly be renamed "NtLdrXXX" instead of "WinLdrXXX".
- The general PE loader is put into the boot library since it is needed also by FreeLdr proper to be able to load SCSI drivers (on x86/64/... architectures; on ARC systems SCSI support is automatically provided).
svn path=/trunk/; revision=70692
- The PE code can be built as an executable, it works as expected and nothing changes (the size of the generated code doesn't change).
- Export the Scsi functions also on x86 MSVC builds. Because of that, increase the number of expected PE sections in the FreeLdr image check function. Note that x64 MSVC build do not have the Scsi code ready yet, hence it doesn't export the corresponding functions.
- The spec2def command should have the name of the generated PE file.
- Remove one hardcoded value.
During my investigations I noticed that using a section alignment of 0x400 for freeldr MSVC builds (instead of the default 0x1000) made the MSVC builds *bigger*. Furthermore, using the default alignment of 0x1000 makes the freeldr MSVC builds unbootable. I don't understand why. Maybe a freeldr guru knows that?
svn path=/trunk/; revision=70687
- Make BmMain stdcall as it's an entry point, the same way as ROSLOAD's OslMain.
[ROSLOAD]
- Fix a comment.
- Fix compilation on x64 and on GCC by specifying the entrypoint stack, exactly as what we do for KiSystemStartup in the kernel.
svn path=/trunk/; revision=70686
- Move the NTOS loader files that were scattered in many places into their own directory (now all that stuff is inside freeldr/windows).
- Split arch/arm/winldr.c into the real winldr code (going into freeldr/windows) and entry point code (going into arch/arm/entry.c).
svn path=/trunk/; revision=70683
Replace old bugzilla report IDs to their JIRA counterparts.
[LIBUSB]
The third parameter of IoRegisterDeviceInterface is a pointer (optional). Use NULL instead of 0.
svn path=/trunk/; revision=70680
- Initialize global variables to known default values.
- When Inbv initializes the display, reset the video mode *ONLY* if we do not have a custom boot logo (because otherwise we want to see our custom boot logo!). This also fixes the video mode used by ReactOS when booting it using Windows ntldr!
svn path=/trunk/; revision=70678
- Use defines instead of hardcoded values for partition type IDs.
- Add some support for installing ReactOS on EXT2 partitions.
- Add few code that will be needed when we support NTFS installation.
- Refactor InstallFatBootcodeToPartition and its auxiliary functions. CORE-4870
svn path=/trunk/; revision=70675