Commit Graph

88868 Commits

Author SHA1 Message Date
Hasan Eliküçük
81e6f50848 [TRANSLATION] Update and improve Turkish (tr-TR) translation (#9018)
- [REGEDIT] Update and improve Turkish (tr-TR) translation
- [TASKMGR] Update Turkish (tr-TR) translation
- [CMD] Update Turkish (tr-TR) translation
- [CABVIEW] Update Turkish (tr-TR) translation
- [BROWSEUI] Update Turkish (tr-TR) translation
2026-05-19 18:50:18 +03:00
Timo Kreuzer
865ed62ef1 [KERNEL32_APITEST] Update tests to reflect ReactOS behavior 2026-05-19 14:40:49 +00:00
Timo Kreuzer
e1e3b8aa3d [KERNEL32] Check for NULL lpBytesReturned
Add NULL check for lpBytesReturned to match Windows 8+ behavior, which Wine code relies on.
2026-05-19 14:40:49 +00:00
Timo Kreuzer
6ef4ddb83d [KERNEL32_APITEST] Add a test for NULL lpBytesReturned 2026-05-19 14:40:49 +00:00
Timo Kreuzer
72bfa0c88b [KERNEL32] Improve/fix ReadFile/WriteFile
- Add SAL2 annotations
- Initialize Iosb, otherwise the function will return uninitialized data on failure
- Add NULL check for lpNumberOfBytesWritten/lpNumberOfBytesRead to match Windows 8+ behavior, which Wine code relies on.

See CORE-20559 and CORE-17376
2026-05-19 14:40:49 +00:00
Timo Kreuzer
b8bf0089de [KERNEL32_APITEST] Add tests for ReadFile and WriteFIle 2026-05-19 14:40:49 +00:00
Timo Kreuzer
15fa25299f [RTL][NTDLL][KERNEL32] Implement (Rtl)GetProductInfo 2026-05-19 14:40:01 +00:00
Timo Kreuzer
50985d9702 [NTDLL_APITEST] Add a test for RtlGetProductInfo 2026-05-19 14:40:01 +00:00
Timo Kreuzer
11ab9c2717 [XDK] Add missing PRODUCT_* definitions 2026-05-19 14:40:01 +00:00
Hasan Eliküçük
743dab2fbc [FONTVIEW] Update Turkish (tr-TR) translation (#9011) 2026-05-19 16:22:31 +03:00
Anupam Mediratta
85a3149472 [HALARM] Bound early debug print formatting (#9017)
Replace unbounded vsprintf() call in DbgPrintEarly() with vsnprintf()
when formatting into a fixed-size 1024-byte stack buffer in ARM HAL.

Automated security fix generated by Orbis Security AI.

CORE-17604

Co-authored-by: OrbisAI Security <mediratta01.pally@gmail.com>
2026-05-16 17:45:10 +05:30
Katayama Hirofumi MZ
146e1415d0 [MSPAINT] Update cursor shape for brush and rubber (#8974)
Improve UI/UX by updating mouse
cursor shape.
JIRA issue: CORE-20520
- Add CStyledCursor class.
- Enhance CCanvasWindow::OnSetCursor
  for TOOL_BRUSH and TOOL_RUBBER.
- Add CCanvasWindow::m_hBrushCursor
  CCanvasWindow::m_hRubberCursor to
  keep cursor shapes.
- Send WM_SETCURSOR from ToolsModel
  to update the cursor shape.
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2026-05-19 10:23:58 +09:00
Ahmed Arif
0e64048812 [NDK][RTL] Fix packing leak and ARM64 heap layouts (#9020)
Stop `PS_JOB_TOKEN_FILTER`'s pack(1) scope from leaking into `EJOB`, which misaligns kernel fields on ARM64.

Use the Win64 heap entry layout on ARM64 and assert the heap metadata offsets verified against NT ARM64 symbols.

Keep heap alignment masks pointer-sized and size `STACK_TRACE_DATABASE` `ERESOURCE` padding for all Win64 targets.

CORE-18200
2026-05-18 23:48:41 +02:00
Ahmed Arif
4da86123f4 [MEDIA][CMAKE] Stop .msstyles and .tlb modules from rebuilding on every ninja invocation (#9003)
Move 'xdk' from `OBJECT_DEPENDS` (which forces RC recompilation when xdk changes) to `add_dependencies()` at the target level (which only ensures build order without cascading into recompilation).

This applies to all 5 theme msstyles (Lautus, Lunar, Mizu, Modern, Blackshade) and 3 TLB modules (stdole2, stdole32, mshtml).

Addendum to commit 1628f5e682 (PR #8576).
2026-05-18 23:31:48 +02:00
Whindmar Saksit
879e1cff63 [INCLUDE/WINE] Don't use DECLSPEC_IMPORT in shlwapi.h (#9034)
This fixes wscript.exe crashing on .wsf files because of delay-loaded shlwapi, the bug was introduced in  6762703 (PR #8419)
2026-05-18 23:30:31 +02:00
Eric Kohl
bd363a821e [NETCFGX] Improve INetCfgComponentControl::ApplyPnpChanges
Pass a pointer to the INetCfgPnpReconfigCallback interface in the ApplyPnpChanges method.
2026-05-18 22:23:29 +02:00
Katayama Hirofumi MZ
e148366e9a [SHLWAPI][SDK] Support FixSlashesAndColonA (#9040)
Implementing missing features...
JIRA issue: CORE-19278
- Implement FixSlashesAndColonA function.
- Modify shlwapi.spec.
- Add prototype into <shlwapi_undoc.h>.
2026-05-18 21:19:01 +09:00
Eric Kohl
fb47d37a49 [DHCPCSVC][PSDK][IDL] Improve DhcpRequestParams and add DhcpUndoRequestParams stub
Add a call into the server side for DhcpRequestParams.
2026-05-17 13:16:30 +02:00
Katayama Hirofumi MZ
df7c1fbc6b [NTGDI][FREETYPE] Remove dead parameters (#9022)
Improve simplicity for future.
JIRA issue: CORE-8466
- Remove the 1st parameter (PDC) of
  TextIntUpdateSize function.
- Remove the 1st parameter (PDC) of
  IntRequestFontSize function.
2026-05-17 09:58:56 +09:00
Katayama Hirofumi MZ
4e2cca167d [WINLOGON] Optimize StartLsass and StartServicesManager (#9016)
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 <hermes.belusca-maito@reactos.org>
2026-05-17 08:42:32 +09:00
Katayama Hirofumi MZ
99252d7f94 [REACTOS] Add WS_TABSTOP to IDD_SUMMARYPAGE IDC_CONFIRM_INSTALL (#9014)
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.
2026-05-17 06:36:00 +09:00
Timo Kreuzer
a7f658e322 [NTOS:IO] Fix IopGetBusTypeGuidIndex
- Use a global structure instead of pointer
- Allocate only the GUID buffer
- Keep track of allocated size and number of GUIDs
- Grow in steps of 8 GUIDs
- Use ExAllocatePoolWithTag instead of ExAllocatePool
- Use IsEqualGUID

See CORE-12791
2026-05-16 21:07:55 +00:00
Ahmed Arif
1ed6179ea8 [ASMPP] Improve MASM translation for Clang IAS (#8981)
* [ASMPP] Translate MASM NOT as bitwise complement

MASM NOT is a bitwise operator. Emitting C/GAS logical negation changes numeric constant values, for example X87XAM_BAD becomes 0 instead of 0xf800.

* [ASMPP] Support additional MASM expression operators

Map MASM expression operators through a single helper and add support for shr, eq, ne, lt, le, gt, and ge. This keeps existing and/or/shl/not handling while allowing expressions outside the instruction-token set.

* [ASMPP] Translate MASM if expressions

Handle plain MASM if through the expression translator so operators like ne are emitted as Clang/GAS syntax. Keep ifdef, ifndef, else, and endif on the existing directive path.

* [ASMPP] Handle RIP-relative numeric offsets

Keep constant +/- offsets before the emitted [rip] suffix so Clang IAS sees forms like symbol+4[rip] instead of the invalid symbol[rip]+4.

* [ASMPP] Balance FRAME procedure unwind directives

Clang IAS rejects .func/.endfunc and requires .seh_endproc or .cfi_endproc to match an active frame. Track whether each PROC line contains FRAME, including forms such as PROC PRIVATE FRAME, and emit the closing unwind directive only for framed procedures.

* [ASMPP] Simplify whitespace skipping for RIP offsets
2026-05-16 21:06:52 +00:00
Timo Kreuzer
ae71db5608 [GDIPLUS] Sync to Wine-10.0 2026-05-16 10:43:08 +00:00
Timo Kreuzer
6cabd9530a [KERNEL32_VISTA] Add TryAcquireSRWLockExclusive 2026-05-16 10:43:08 +00:00
Timo Kreuzer
44e322b4f2 [NTDLL_VISTA] Add RtlTryAcquireSRWLockExclusive 2026-05-16 10:43:08 +00:00
Timo Kreuzer
e62eea07f8 [GDIPLUS_WINETEST] Skip failing tests on Vista 2026-05-16 10:43:08 +00:00
Timo Kreuzer
04c7639769 [GDIPLUS_WINETEST] Fix crash on Vista
GdipDrawImageFX isn't available pn Vista
2026-05-16 10:43:08 +00:00
Timo Kreuzer
e6a61fb3c7 [GDIPLUS_WINETEST] Sync to Wine-10.0 2026-05-16 10:43:08 +00:00
Timo Kreuzer
632b09f55e [SDK] include/wine/test.h: add __wine_dbg_strdup
Taken from wine-10.0
2026-05-16 10:43:08 +00:00
Timo Kreuzer
da6892ede5 [PSDK] Update gdiplus headers to Wine-10.0
This reverts most of the useless reformatting. Don't reformat wine headers. It only makes syncing harder.
2026-05-16 10:43:08 +00:00
Timo Kreuzer
07c413637e [KERNEL32_VISTA] Don't delay-import from ntdll_vista
kernel32 functions can be called during process-attach. The same must be true for kernel32_vista. Wine's msvcrt calls GetUserDefaultLocaleName in kernel32_vista during process attach, which calls RtlLcidToLocaleName in ntdll_vista. If that function is delay-loaded (which is probably not allowed anyway during process-attach), the dll will not be initialized, the default user locale is 0 and RtlLcidToLocaleName fails.
Wine code doesn't check for failure and instead continues copying an uninitialized string buffer into the heap, causing heap corruption.

After removing the (redundant) add_delay_importlibs entry, this doesn't happen any longer.

This reverts commit 4f5478d. There is no effect on memory usage, because we load ntdll_vista anyway. See CORE-13361.
2026-05-16 06:59:24 +00:00
Hermès Bélusca-Maïto
85f2a67a9e [BOOTDATA] Add an "Install ReactOS" shortcut to the Live environment desktop
The shortcut spawns CMD.EXE in the background and runs a specific
command-line that determines where the reactos.exe installer is:

  cmd.exe /D /E:ON /C "start %SystemDrive%\%PROCESSOR_ARCHITECTURE:x86=I386%\reactos.exe"

An alternative could be:

  cmd.exe /D /C "for /F %f in ('"if %PROCESSOR_ARCHITECTURE%==x86 (echo I386) else (echo %PROCESSOR_ARCHITECTURE%)"') do start %SystemDrive%\%f\reactos.exe"

(In this second case an exact value comparison is made, contrary
to the first case where all instances of "x86" would be replaced.)

The reason for using CMD.EXE, is that the `PROCESSOR_ARCHITECTURE`
environment variable contains the "almost" correct value for the
architecture directory name where reactos.exe can be found, except
for the x86 case where `PROCESSOR_ARCHITECTURE` is set to "x86"
(as on Windows) but the directory is named "I386" (as on Windows again).
2026-05-15 19:17:02 +02:00
Hermès Bélusca-Maïto
8eea7255fd [BOOTDATA] Improve the environment-variables hack to keep them unexpanded when building on Windows
The environment variables used by some shell links for the Live-environment,
are passed as data by CMake on the MKSHELLLINK build tool command-line.
When building on Windows, they are transmitted to the tool via CMD.EXE,
and we have somehow to force CMD.EXE to keep these variables unexpanded.

Depending on the precise context where these variables are being used,
either use an "escaped" format with `^%`, as in: `^%SystemRoot^%` ,
or, surround the variable name with `^` instead: `%^SystemRoot^%` .
This second form appears to work when the variable is specified within
a quoted sub-string given to the CMD.EXE command-line.

Addendum to commit a46e1e96ec.
2026-05-15 19:17:01 +02:00
Hermès Bélusca-Maïto
f9effd17bc [BOOTDATA] Simplify add_livecd_shortcut() parameters handling
Only handle `DESTINATION`, and transfer all the other parameters verbatim to `add_link()`.
Addendum to commits 3a3b16af0d, 8cb3980766, and a46e1e96ec (PR #8936).
2026-05-15 19:17:00 +02:00
Hermès Bélusca-Maïto
eec8c97708 [USERINIT] In LiveCD/"MiniNT" mode, start the shell with a suitable environment block
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.
2026-05-15 19:16:59 +02:00
Hermès Bélusca-Maïto
9f5b0f1761 [USERINIT] Minor nits for StartShell() and friends; remove shell32 dependency 2026-05-15 19:16:58 +02:00
Timo Kreuzer
f530cf99a0 [ROSTESTS] Get rid of some test lists 2026-05-15 16:50:48 +00:00
Timo Kreuzer
151c67ebfc [ROSTESTS] Implement automatic test discovery
This uses the START_TEST macro to create test entries in a ".test" section in the binary.
2026-05-15 16:50:48 +00:00
Timo Kreuzer
104d889c7a [ROSTESTS] Do not compile tests that should not run
With automatic test list creation, whatever is built will also run.
2026-05-15 16:50:48 +00:00
Timo Kreuzer
dd27d0e194 [APITESTS] Make sure test functions are name correctly
With automatic test list creation, the function name (from START_TEST(name)) will also be the test name and some of those conflict with wine tests.
2026-05-15 16:50:48 +00:00
Timo Kreuzer
5f51f24697 [CRT_APITEST] Improve some tests
This is needed to automatically derive the test name from START_TEST.
2026-05-15 16:50:48 +00:00
Timo Kreuzer
86ced29104 [DELAYIMP_APITEST] Fix crash on Vista x64
For some reason on Vista x64 0xdeadbeef isn't detected as an invalid handle and the whole thing crashes. INVALID_HANDLE_VALUE on the other hand is detected as an invalid handle, so use that.
2026-05-15 13:31:25 +00:00
Hasan Eliküçük
8180cd20e6 [DESK] Improve Turkish (tr-TR) translation (#9005)
Both Efektler and Etkiler are correct Turkish words for "effects",
but they are used in different contexts.

- Efektler: Refers to special effects in media, movies, or sound
  (visual effects, sound effects).
- Etkiler: Refers to consequences, results, impacts, or influences
  (side effects, positive/negative impacts).

The former is more correct here, as desk.cpl changes visual effects.

Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2026-05-15 16:08:19 +03:00
Stanislav Motylkov
0e94ca28c6 [DESK] Fix positioning of "Less"/"More" labels across translations
- Harmonize, fix cut off text, make more space for it
- Shrink trackbar width where it's necessary (et-EE, hu-HU, tr-TR)
- Align "Less" to the right using RTEXT
- Align current resolution using CTEXT - same as SS_CENTER, but shorter
- Fix broken Y-position in Portuguese (pt-PT) translation
- Shorten words in Greek (el-GR) translation
2026-05-15 15:34:20 +03:00
Eric Kohl
4bb73fe3c9 [NETSH][REACTOS] Improve MatchTagsInCmdLine and add NsGetIfNameFromFriendlyName stubs.c
These functions are used by the WinXP ifmon.dll when the 'interface ip set address' command is used.
2026-05-14 15:19:50 +02:00
Katayama Hirofumi MZ
713888355b [NTGDI][FREETYPE] 2-line fix: Changing DPRINT1 to DPRINT
to avoid unnecessary log spam. @KRosUser suggests.
JIRA issue: N/A
2026-05-14 21:31:44 +09:00
Whindmar Saksit
6644a55343 [RAPPS] Automatically install package dependencies (#8963) 2026-05-14 13:23:40 +02:00
Hasan Eliküçük
c6411ffa05 [CPL] Update Turkish (tr-TR) translation (#8982)
- [APPWIZ] Update Turkish (tr-TR) translation
- [DESK] Update Turkish (tr-TR) translation
- [HOTPLUG] Update Turkish (tr-TR) translation
- [INPUT] Update Turkish (tr-TR) translation
- [POWERCFG] Update Turkish (tr-TR) translation
- [SYSDM] Update Turkish (tr-TR) translation

Reviewed-by: Mahir Gül <mahirgul@gmail.com>
Reviewed-by: Vakkas Emre Yıldız <vakkasemreyildiz@gmail.com>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2026-05-14 14:06:37 +03:00
Thomas Anderson
b2b166c565 [USERSRV] Fix cut off text in all dialog translations (#8945)
CORE-19470
2026-05-14 13:36:25 +03:00