Commit Graph
89028 Commits
Author SHA1 Message Date
Katayama Hirofumi MZ 0533a67b18 [SHLWAPI][SHELL32][SDK] Support SHRestrictedMessageBox (#9160)
Implementing missing features...
JIRA issue: CORE-19278
- Add IDS_RESTRICTED and IDS_RESTRICTIONS
  resource strings.
- Implement SHRestrictedMessageBox function.
- Modify shlwapi.spec.
- Add prototype into <shlwapi_undoc.h>.
- Restrict Folder Options on
  REST_NOFOLDEROPTIONS by using
  SHRestrictedMessageBox.
2026-06-20 09:25:47 +09:00
Timo Kreuzer 269b585eed [SPEC2DEF] Fix a memory leak. 2026-06-19 19:27:29 +00:00
Timo Kreuzer dea50f4746 [SPEC2DEF] Ignore -import flag in spec files
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.
2026-06-19 19:27:29 +00:00
Timo Kreuzer 7fa69c0f8a [SPEC2DEF] Fix version handling for ordinals
Prevents an error about duplicate ordinals, if 2 entries for different OS versions have the same ordinal.
2026-06-19 19:27:29 +00:00
Amine Khaldi ad78f8e869 [OLEAUT32_WINETEST] Sync with Wine 10.0. CORE-20595 2026-06-19 19:34:21 +01:00
Amine Khaldi 0d7090f5e9 [VBSCRIPT_WINETEST] Sync with Wine 10.0. CORE-20606 2026-06-19 19:33:57 +01:00
Amine Khaldi c51c284474 [VBSCRIPT] Sync with Wine 10.0. CORE-20606 2026-06-19 19:33:57 +01:00
Eric Kohl d087f8d58b [IFMON] Rename some resource IDs 2026-06-19 19:24:56 +02:00
Eric Kohl a3d4ae2794 [IFMON] Implement the 'delete arpcache' command in the 'interface ip' context 2026-06-19 18:45:22 +02:00
Mohammad Amin Mollazadeh b4b8774bee [SETUPAPI] Fix SetupGetBinaryField not reading HEX values properly from INF files (#9182)
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...)
2026-06-19 17:16:19 +02:00
Eric Kohl ab2393c0de [IFMON] Implement the 'add dns' command in the 'interface ip' context
The index argument is not supported yet.
2026-06-19 10:37:50 +02:00
Timo Kreuzer aaf231f00f [SHELL32] Forward SHGetInstanceExplorer to shcore.GetProcessReference
Fixes 3 shcore wine tests.
2026-06-18 23:27:41 +00:00
Timo Kreuzer 5a4ed508fd [SHLWAPI] Move all remaining kernelbase functions to kernelbase.c
This way the other files are almost completely identical to Wine-10 and once we export those functions from kernelbase, we can delete them from there.
2026-06-18 23:27:41 +00:00
Timo Kreuzer 6adc874cbb [SHLWAPI] Use kernelbase
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.
2026-06-18 23:27:41 +00:00
Timo Kreuzer 6a8c5c999c [KERNELBASE] Fix some string functions to pass tests 2026-06-18 23:27:41 +00:00
Timo Kreuzer 325b7adcd9 [SHLWAPI] Move some functions to shlwapi_main.c
This moves WhichPlatform, SHIsLowMemoryMachine and SHGetViewStatePropertyBag to shlwapi_main.c, where they are in Wine-10.0
2026-06-18 23:27:41 +00:00
Timo Kreuzer 8bd4911054 [SHLWAPI] Update WhichPlatform from Wine-10.0 2026-06-18 23:27:41 +00:00
Timo Kreuzer 88337f5e7a [SHLWAPI] Reformat WhichPlatform (no code changes) 2026-06-18 23:27:41 +00:00
Timo Kreuzer afcac332cf [SHLWAPI] Remove unneeded changes
This reverts part of d663eb4466
2026-06-18 23:27:41 +00:00
Timo Kreuzer 0f9e90134d [SHLWAPI] Adjust spec file to use auto-ordinals
All fixed ordinals are at the top, automatic ones below.
This matches what Wine does.
Add missing NT6+ PathCreateFromUrlAlloc
2026-06-18 23:27:41 +00:00
Timo Kreuzer 2dd8a784c7 [SHLWAPI] Forward some functions to shcore.dll
Some have a forwarder in the spec file, some will export the import-stub. This is how Wine has it.
2026-06-18 23:27:41 +00:00
Timo Kreuzer d829baa006 [SHLWAPI] Use malloc/free instead of HeapAlloc/HeapFree
This is what wine does. To avoid a dependency on msvcrt, link crtheap library, that provides simple wrappers around HeapAlloc, etc.
2026-06-18 23:27:41 +00:00
Timo Kreuzer 4d8ce043c4 [SHLWAPI] Add StrFormatByteSizeEx from Wine-10.0 2026-06-18 23:27:41 +00:00
Timo Kreuzer aac9cd589d [SHLWAPI] Reduce diff to wine-10.0 2026-06-18 23:27:41 +00:00
Timo Kreuzer 0c2acefd64 [SHLWAPI] Switch Vista checks from preprocessor to dynamic
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.
2026-06-18 23:27:41 +00:00
Timo Kreuzer 403da61347 [SHCORE] Apply some fixes that we have in shlwapi 2026-06-18 23:27:41 +00:00
Timo Kreuzer 628ce75acd [SHCORE] Import from Wine-10.0 2026-06-18 23:27:41 +00:00
Timo Kreuzer 2013ec6ede [SHCORE_WINETEST] Import from WIne-10.0 2026-06-18 23:27:41 +00:00
Timo Kreuzer 991830a0e8 [CRTHEAP] Add static library for crt heap functions
The purpose is to link to this library for wine modules that use only malloc/free/calloc/_recalloc, so they don't require to be linked to msvcrt.
2026-06-18 23:27:41 +00:00
Adam Słaboń 8aac5c4c87 [NTOS:KE][AMD64] Move KD initialization after HalInitializeProcessor call (#9177)
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
2026-06-19 00:44:48 +03:00
Mohammad Amin MollazadehandHermès BÉLUSCA - MAÏTO 2351d0ea8c [SETUP:REACTOS] Fix page transition in setup wizard (#9172)
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 <[email protected]>
2026-06-18 23:16:31 +02:00
Eric Kohl c1670e1614 [IFMON] Remove an unused variable. 2026-06-18 18:22:11 +02:00
Eric Kohl 59adcd8a8a [IFMON] Add the 'add address' command to the 'interface ip' context
And fix the output of the dump command.
2026-06-18 17:57:20 +02:00
Katayama Hirofumi MZ ee60345493 [MSPAINT] Zooming and cursor shape (#9125)
#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.
2026-06-17 23:39:56 +09:00
Katayama Hirofumi MZ b7932431e7 [SDK][SHELL32_APITEST][USER32_APITEST] Update <msgdump.h> to version 21 (#9171)
Modernize development tools.
JIRA issue: N/A
- Update <msgdump.h> to
  version 21.
- Adapt shell32_apitest and
  user32_apitest.
2026-06-17 23:37:30 +09:00
Eric Kohl ace5f8bde9 [NETSH][IFMON] PrintMessageFromModule must use ConResMsgPrintfExV to print messages
- Update the format strings in ifmon.dll.
2026-06-17 16:15:14 +02:00
Eric Kohl 40a1951b65 [NETSH] Fix the command order in the help texts 2026-06-17 15:21:12 +02:00
Eric Kohl 07ce53e846 [IFMON] Implement the 'set dns' command
- Replace some magic values.
- Improve some parameter checks in the 'set address' command.
2026-06-17 11:29:08 +02:00
Ahmed Arif 69474b3190 [NTOS:OB] Replace the joke debug print in NtWaitForMultipleObjects with a proper diagnostic (#9163)
Addendum to commit f543c860f7 (r69399).
2026-06-16 18:06:18 +03:00
Mohammad Amin MollazadehandMaotong Zhang ea313e6129 [MSI] Fix not showing combobox items (#9165)
Import fix from Wine-11.6, commit https://github.com/wine-mirror/wine/commit/46e5cabca7be1d09d561f6203f073a7bff385d5d

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 <[email protected]>
2026-06-16 17:52:31 +03:00
Mohammad Amin Mollazadeh 91146de1cd [KERNEL32] BasepCopyFileExW: Check dwCopyFlags properly (#9133)
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
2026-06-16 16:10:23 +03:00
Stanislav Motylkov 9127a5319b [KERNEL32_WINETEST] Move ReactOS-specific tests down a bit
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
2026-06-15 21:32:32 +03:00
Justin Miller 77d883a64d [SDK] Improve KDNET type headers
Split shared data types into kdnetshareddata.h

CORE-20385
2026-06-15 08:42:50 -07:00
Hervé Poussineau 9e09b5c5b9 [KDSTUB] Implement driver for KDNET extension stubs
CORE-20385
2026-06-15 08:42:50 -07:00
Hervé Poussineau 8bef246a10 [SDK] Implement type header for KDNET and its extensions
CORE-20385
2026-06-15 08:42:50 -07:00
Katayama Hirofumi MZ 9e3a4d5be5 [SHLWAPI][SDK] Support IUnknown_ShowBrowserBar (#9161)
Implementing missing features...
JIRA issue: CORE-19278
- Implement
  IUnknown_ShowBrowserBar
  function.
- Modify shlwapi.spec.
- Add prototype into
  <shlwapi_undoc.h>.
2026-06-15 22:44:46 +09:00
Serge Gautherie 5df7d05049 [NTOS:MM] MiMapViewOfDataSection(): ASSERT InheritDisposition value 2026-06-15 12:34:56 +00:00
Katayama Hirofumi MZ 29ca914bd4 [SHLWAPI] Use <new> std::nothrow (#9150)
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.
2026-06-15 08:50:15 +09:00
Timo Kreuzer 974ae07398 [CMAKE] Change \ to / in paths for cmake
Newer CMake versions treat "\" as an escape character.
2026-06-14 11:08:02 +00:00
Katayama Hirofumi MZ 1d5d93f05f [SHLWAPI][SHLWAPI_APITEST][SDK] Support MapWin32ErrorToSTG (#9147)
Implementing missing features...
JIRA issue: CORE-19278
- Implement MapWin32ErrorToSTG function.
- Modify shlwapi.spec.
- Add prototype to <shlwapi_undoc.h>.
- Add MapWin32ErrorToSTG testcase.
2026-06-14 11:12:21 +09:00