The behavior of Color Picker (dropper) tool
was incompatible with Windows.
JIRA issue: CORE-19466
- On TOOL_COLOR, when mouse was pressed
or moved, send WM_TOOLSMODELCOLORPICKED
message with color value to the tools settings
window.
- In the tools settings window, display the picked
color.
- Don't apply to the current color until mouse up.
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
These are used by wine for exports that re-export the import stub function from an import library.
We don't need to do anything here, so simply ignore it.
CORE-20657, CORE-13525
Fix an issue in `SetupGetBinaryField()` that made the GUI installer unable to read INF files properly.
For this reason, all the binary values in the registry on a fresh ReactOS installation were all set to `0x00`.
The reason was that the custom HEX parser in Wine's `SetupGetBinaryField()` is broken.
As a solution, we can replace it with a call to C's standard `wcstoul()` function.
(Note that Wine fixed this problem in wine-11, still with a hand-made hex-value parser...)
This replaces implementations that no longer exist in Wine-10.0's shlwapi
Also forward some exports to kernelbase_ros. This is to prevent them from being reimported from shell32, which forwards them here.
It is not exactly what Windows does (which exports the import stubs), but it should be good enough for now.
Check the OS version in the PEB to decide how to handle certain nthings.
This allows to keep NT5 backwards compatibility, even if the the code is compiled for Vista, which is needed for Wine code.
This is needed for PCI debugging devices whose KD modules depend
on the functions registered in HalpRegisterKdSupportFunctions().
Also it's consistent with what x86 does, and also what Win7 x64 does
(the KdInitSystem is invoked after the HalInitializeProcessor call).
Necessary for PR #9156 on AMD64. CORE-20385
CORE-20661, CORE-13525
The GUI-mode setup was asking the user for device configuration and installation
destination partition, even when upgrading or repairing an existing installation.
It doesn't make sense to ask: e.g. you shouldn't be able to upgrade an installation
in C: to D: partition; and the setup ignores what the user chooses: e.g. if your
installation is using a 1024x768 resolution, choosing another resolution during
the SETUP won't change the resolution.
Thus, the setup should skip these pages without asking anything from user.
This is also consistent with USETUP's behavior.
- Set `InstallPartition` and `InstallationDirectory` to selected repair/upgrade
target volume and directory.
- Jump to the Summary page from the Install type/upgrade pages.
- Return to the Install type/upgrade page when navigating backward from the Summary page.
- Return to the Installation type page when navigating backward from the Device page.
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
#8974 implemented custom mouse
cursor shapes. However, the custom
cursor shape didn't consider zooming.
This PR applies zooming to the
custom cursor shapes.
JIRA issue: CORE-20520
- Enhance CStyledCursor for
zooming.
- Enhance CopyMonoImage and
CopyDIBImage for stretch mode.
- Add DEFAULT_ZOOM constant
(1000).
- Send WM_SETCURSOR message
on ToolsModel::SetZoom.
- Improve accuracy of Zoomed
and UnZoomed functions by
using MulDiv function.
Import fix from Wine-11.6, commit 46e5cabca7
msi: Add ComboBox items, using value if text does not exist.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56296
PR #8971 will upgrade module to Wine-10.0,
so guard the change with `#ifdef __REACTOS__`. Fixes CORE-15709.
Co-authored-by: Maotong Zhang <zmtong1988@gmail.com>
The function didn't check if `COPY_FILE_FAIL_IF_EXISTS` bit flag is set
or not, always failing if _any_ flags were set and the destination file
already existed.
This behavior was probably implemented under assumption that
`COPY_FILE_FAIL_IF_EXISTS` is the only valid flag, but it's not the case.
There are other flags, so this was breaking applications when they intend
to overwrite a file with e.g. `COPY_FILE_ALLOW_DECRYPTED_DESTINATION`.
These functions were affected by the problem:
- CopyFileEx - exposed by Total Commander not being able to overwrite file
- PrivCopyFileEx
- MoveFileWithProgress
Also cover `ERROR_ALREADY_EXISTS` returned by CreateFileW to match Windows
behavior, making the API tests pass.
CORE-10271
Avoid hitting ReactOS interprocess file sharing bugs that are not fixed
yet and use a pair of fresh temporary files for testing the function.
Addendum to 4e3729f06f (#9145). CORE-10271
Use preferred memory handling on memory
shortage.
JIRA issue: N/A
- Link cppstl instead of cpprt.
- Use <new> new(std::throw) for memory
allocation.
- Return E_OUTOFMEMORY on allocation
failure.
- Don't use <stdlib.h> min macro but use
<cstdlib> __min.