When the shell is assigned to cmd.exe, open to the logged in user's profile path. This appears to match the behavior of Windows Server 2003 userinit. It is also a prerequisite for ReactOS Server Core.
Preparation for complete
monochrome support.
JIRA issue: CORE-15990
- Add IDM_COLORSGRAYSCALE
and IDM_COLORSMONOCHROME
menu items.
- Add PAL_GRAYSCALE and
PAL_MONOCHROME palette
modes.
- Add PaletteModel::CreateDitherBrush
helper function to create a
dithered brush.
- Use the dithered brush on
PAL_MONOCHROME in drawing
the palette window.
Follow-up of #9036.
ShowUndockMenuItem function
will detect system undocking ability.
JIRA issue: CORE-10675
- Do #include <cfgmgr32.h> in
startmnusite.cpp.
- Implement ShowUndockMenuItem
by using
setupapi!CM_Is_Dock_Station_Present
function.
Make our tray window working as
Windows' one.
JIRA issue: CORE-10675
- Add REST_NOCLOSE restriction
to CTrayWindow::DoExitWindows
method.
- Add TRAYCMD_EJECT constant
to <undocshell.h>.
- Implement TRAYCMD_STARTMENU,
TRAYCMD_EJECT,
TRAYCMD_CONTROL_PANEL, and
TRAYCMD_PRINTERS_AND_FAXES
tray commands.
- Add import to setupapi to use
CM_Request_Eject_PC function.
CORE-20573
Improve chkdsk output when failing to complete successfully by adding the returned error code.
Return status code from fmifs/chkdsk.c in the "modifier" parameter.
If the error returned is STATUS_DISK_CORRUPT_ERROR then display a message that running again may fix it.
Optimize for speed.
JIRA issue: N/A
Do not initialize the STARTUPINFO member, which is already
filled with zeros, with zeros, in StartLsass and
StartServicesManager functions.
Co-authored-by: Hermès BÉLUSCA - MAÏTO <[email protected]>
Due to resource compiler (windres)'s
bug, WS_TABSTOP style wasn't added
to IDC_CONFIRM_INSTALL checkbox
(I've confirmed WS_TABSTOP lackness
on reactos.exe with Resource Hacker
and RisohEditor). This PR will improve
keyboard usability.
JIRA issue: N/A
- Add WS_TABSTOP style to
IDC_CONFIRM_INSTALL checkbox
in IDD_SUMMARYPAGE resource
dialog.
Using `userenv!CreateEnvironmentBlock()` when starting the shell ensures
that, even if it's started as LocalSystem, its environment inherits the
"dynamical" environment variables created by SMSS at runtime (stored in
`HKLM\SYSTEM\CurrentControlSet\Session Manager\Environment`).
In ReactOS/Windows PE "MiniNT" mode, the Winlogon environment doesn't
contain these values, and doesn't start the Setup with this augmented
environment. (This is compatible with what Windows does, on WinPE or
during a clean installation.)
Winlogon creates an augmented environment only when a user logs in and
starts its shell (standard boot), which isn't the case in "MiniNT" mode.
It is thus the responsibility of the module that starts the shell instead
to do it: in ReactOS' case, userinit.exe in LiveCD mode.
As a result, we get access to the `COMPUTERNAME`, `NUMBER_OF_PROCESSORS`,
`OS`, and `PROCESSOR_*` environment variables, amongst others.
This fixes a bug noticed during ARM64 bringup where DHCP never completed. In dhcpoffer, `stop_selecting` is declared int (32-bit) but assigned two time_t operands of 64-bit.
The truncated value breaks the timeout, leaving DHCP stuck in S_SELECTING. This is masked on AMD64 because the RTC is implemented there and `time()` returns values that fit in 32 bits. On ARM64 the RTC isn't implemented yet, exposing the truncation.
CORE-18200
Add also an Abort page that is displayed when the user cancels the
1st-stage setup, or when an error occurs and installation is aborted.
- Rewrite the text, change the layout;
- When the installer is started without any Win32 shell, or the
installation is running in unattended mode, the Finish/Abort
pages only offer to restart the computer with a 15-second timeout
countdown.
If the user has opened programs with interactive windows in the
meantime, the timeout countdown just pauses whenever the installer
window is de-activated/unfocused; it restarts when the window is
re-activated. (This currently doesn't work in ReactOS due to a bug
in the `WM_ACTIVATE` message delivery.)
If, on the contrary, the installer is started by the user when a
Win32 shell is running, the Finish/Abort page offers to either restart
the computer "now", or postpone the restart to later (when the user
manually restarts the computer); no reboot countdown is present there.
- Disable/hide the "Back" button for the Install processing page.
- In `SetWindowResTextW()` and `SetWindowResPrintfVW()`, don't assume a
fixed size of 256 characters max for the retrieved resource strings,
but allocate a suitably-sized buffer IF the resource string is longer
than the fixed buffer. (Use the fixed buffer only if the string is shorter.)
- Introduce two helpers `LoadAllocStringW()` and `FormatAllocStringWV()`,
based on existing code from `DisplayMessageV()`, and use these for
`DisplayMessageV()`, `SetWindowResTextW()`, and `SetWindowResPrintfVW()`.
- Add missing translations in the Hindi file for:
`IDD_UPDATEREPAIRPAGE` and `IDD_SUMMARYPAGE` dialogs,
and `IDS_INSTALLATION_*` and `IDS_PARTITION_*` strings.
Addendum to commit f5960cea70 (PR #951).
- Update some sentences in the `IDD_UPDATEREPAIRPAGE` dialog.
- Harmonize the length of the `IDD_DEVICEPAGE` dialog comboboxes
amongst all the translations.
Performance improvement. This PR
will improve the speed of loading
a large file.
JIRA issue: CORE-19898
- Change 2 passes to 1 pass on
ANSI/UTF-8, omitting precise
buffer size calculation.
- Change LocalReAlloc calls to
LocalAlloc.
- ReadText function now returns
HLOCAL and no longer takes
phLocal.