Commit graph

87522 commits

Author SHA1 Message Date
Timo Kreuzer
d23ee5f365 [PSEH] Make structures more SEH3 compatible 2025-07-10 11:15:23 +03:00
Timo Kreuzer
6d2eb03402 [COMPILER_APITEST] More SEH tests 2025-07-10 11:15:23 +03:00
Timo Kreuzer
cfb579dd67 [PSEH3] Fix unlinking of EH frames during unwind.
On Windows the function that calls the language specific exception handler function registers it's own exception handler, so the top of the exception chain does not point to our own handler. We need to take that into account when unwinding the stack and removing each handler as we go.
2025-07-10 11:15:23 +03:00
Timo Kreuzer
ff8d24cabb [PSEH3] Fix _SEH3_LEAVE
Previously, when leave was used in the except or finally block of a nested try block, it would jump back to the start of the except/finally block, resulting in an endless loop. This is fixed by jumping back to a label at the beginning of the try block, which is only visible from within the try block itself and from there to the end of the SEH block.
Fixes seh0055 testcase of MS SEH tests.
2025-07-10 11:15:23 +03:00
Justin Miller
d054f63e68 [HALACPI] Initialize HalpPicVectorRedirect with the full 0-15 array
This probably seems a little silly that I'm making a change to an array
we don't really use but because of this little bug ACPI was getting
reported as 0xA which is incorrect! As we call IoConnectInterrupt with
0x9 later. This makes sure that the IRQ from FADT is correct.
2025-07-09 20:39:48 -07:00
Katayama Hirofumi MZ
e7358c5930
[NTUSER][USER32] Fix IME UI exception (#8227)
Fix BSoD when toggling visibility of the IME status
window (IME Toolbar).
JIRA issue: CORE-20261
- Add IntGetImeUIFromWnd helper function.
- Fix exception in IntNotifyImeShowStatus function.
- Fix initialization of IME UI in ImeWndProc_common
  function.
- Delete RegisterIMEClass function.
2025-07-09 08:16:26 +09:00
Hermès Bélusca-Maïto
38d07d3a24
[WINLOGON/WLNTFYTESTS] Add semi-"interactive" tests for Winlogon notifications (#8234)
Add a `wlntfytests.dll` in `ReactOS\bin\suppl`, containing tests for Winlogon notifications.

To use it:
- Register the dll with `regsvr32 <path_to>\wlntfytests.dll` and reboot
  the machine.
- With a debugger, observe the traces emitted by the dll, whenever any
  Winlogon notification is emitted. If Winlogon debugging is enabled,
  a debug-break is made everytime a notification is invoked.
- Once testing is done, unregister the dll with `regsvr32 /u <path_to>\wlntfytests.dll`
  and reboot the machine.

For each received notification, the handlers dump the contents of the
`WLX_NOTIFICATION_INFO` structure, and verify that the notifications
are received in the correct expected order. This is done by keeping
what the previous received notification was, before comparing it with
the expected one(s) that must precede the new notification being received.

References:
- https://learn.microsoft.com/en-us/windows/win32/secauthn/creating-a-winlogon-notification-package
- https://learn.microsoft.com/en-us/windows/win32/secauthn/winlogon-notification-events
- https://rsdn.org/article/baseserv/winlogon.xml
2025-07-08 21:21:11 +02:00
Justin Miller
02343c22f6
[RTL] Partial revert of Wine timer code in thread pooling (#8229)
* [SDK] Partial Revert of 0bf42067d2

It was found that the timer code from WINE doesn't work as well as ours,
This is a revert from that part of the PR as it doesn't change any of the real threadpool code in all reality. Thanks to the investigation of Julenuri and Simone
JIRA issue: CORE-20245
2025-07-08 12:05:53 -07:00
Katayama Hirofumi MZ
3917c60749
[MSCTF] Make input processor profiles C++ (#8232)
Implementing missing features...
JIRA issue: CORE-19361
- Delete inputprocessor.c and add
  inputprocessor.cpp.
- Make ITfInputProcessorProfiles
  implementation C++.
2025-07-08 21:20:57 +09:00
Eric Kohl
8fbbb41a19 [UMPNPMGR] Fix a typo in a DPRINT line 2025-07-07 20:07:28 +02:00
Eric Kohl
9d21d48cda [UMPNPMGR] PNP_FreeLogConf: Delete a resource configuration 2025-07-07 20:05:29 +02:00
Hermès Bélusca-Maïto
9c053ec989
[ROSTESTS] Add the interactive buttonvistest to the build 2025-07-07 19:28:14 +02:00
Vitaly Orekhov
5ffc6ceb55
[PSEH] Guard SEH2 macros for Clang on Linux x64 builders (#8194)
Hackfixing a corner case detected via broken entities of wlanwiz
due to its usage of STLport. This was already done to PSEH3 prior to me.

Corner case examples:
- broken: 1591123914
- "fixed": 1594570563

Guard SEH2 family macros behind #ifndef. CORE-6622 CORE-6905
2025-07-07 15:24:27 +03:00
Katayama Hirofumi MZ
3e427ad17e
[KBSWITCH] Fix System Pen icon visibility (#8230)
Management of System Pen icon was
inconsistent.
JIRA issue: CORE-10667
- Add g_bSysPenNotifyAdded global
  variable.
- Add checking the result of
  Shell_NotifyIcon.
- Fix UpdateLanguageDisplayCurrent
  function.
- Add WM_INPUTLANGCHANGEREQUEST
  message handling.
Testbot runs (
2025-07-07 21:04:05 +09:00
Whindmar Saksit
212a1a5c74
[SDK][SHELL32_APITEST] Fix some warnings (#7031) 2025-07-06 21:12:37 +02:00
Whindmar Saksit
c0ea1c0e9f
[USER32][APITESTS] Use the correct user32 icon resource ids (#7807) 2025-07-06 15:24:25 +02:00
Whindmar Saksit
2a901a72f3
[SHELL32_APITEST] Try to close windows opened by each test (#7861) 2025-07-06 13:47:12 +02:00
Carl J. Bialorucki
a753f34e30
[PSDK][XDK][NDK][INCLUDE/WINE] Make header changes to sync crypt32, kernel32, and user32 winetests (#8114)
- [PSDK] Sync wincrypt.h to Wine 10.0, keeping our SAL annotated function definitions behind an #ifdef guard
- [XDK] Add definitions to our winnt header that Wine 10.0's winternl.h depends on.
- [INCLUDE/WINE] Sync winternl.h to Wine 10.0
- [OTHER] Fix breaking changes with the synced winternl.h.
2025-07-05 15:14:31 -06:00
Carl J. Bialorucki
a993c589ae
[SHLWAPI_APITEST] Fix heap assertion and test failures (#8217)
- Properly initialize a string in SHPropertyBag test. This prevents a heap assertion failure on Vista+ when freed and connected to a debugger.
- Adjust a value against Windows 8+ instead of Vista as originally assumed in the IsQSForward test.
- Use GetVersion() to check if we are running on NT6+ and test appropriately in the PathIsUNC and PathIsUNCServer tests.
2025-07-05 15:09:23 -06:00
Whindmar Saksit
375fca5058
[SHELL32] Implement SHSimulateDropOnClsid (#8223) 2025-07-05 18:18:51 +02:00
Serge Gautherie
2c0782d1e0
[SCSIPORT] Add explicit IOCTL_ATA_PASS_THROUGH* cases (#1969)
ATA passthrough IOCTLs not supported by MS scsiport.
The implementation is optional, especially in SCSI.

IOCTL_SCSI_PASS_THROUGH will be implemented in SPTI library.

CORE-16422
2025-07-05 18:20:42 +03:00
Katayama Hirofumi MZ
6ba2363bdb
[CICERO][MSCTF] ITfContext: Follow-up of #8224 (#8231)
Follow-up of #8224.
JIRA issue: CORE-19361
- Add cicIsNullPtr function in Cicero <cicbase.h>.
- Reordering of CMakeLists.txt items.
- Minor refactoring.
2025-07-05 21:05:15 +09:00
Katayama Hirofumi MZ
93181db68b
[MSCTF] Make ITfContext C++ (#8224)
Implementing missing features...
JIRA issue: CORE-19361
- Delete context.c and add context.cpp.
- Make ITfContext implementation C++.
2025-07-05 20:09:00 +09:00
Carl J. Bialorucki
410db43f20
[IPHLPAPI_APITEST] Test failure fixes (#8214)
- liCreateTimestamp isn't set in TCP tables on several Windows versions. If it isn't, then we can't compare it to the current system time; so don't.
- GetInterfaceName had some test failures unique to Vista, guard them.
- icmp: Accept either ERROR_INVALID_HANDLE  or ERROR_INVALID_PARAMETER as a last error in a couple tests.
2025-07-04 19:14:24 -06:00
Serge Gautherie
ea9e2812c6
[GITHUB] build.yml: Build some more ARM/ARM64 modules (#8215)
Another extension of ARM* builds.
I "randomly" tried some directories, these succeed.

Build 4+1 more directories.
2025-07-05 01:52:46 +03:00
Serge Gautherie
b0420ca511
[HALX86] HalpSetupAcpiPhase0(): Fix ACPI version reporting (#8211)
Use the correct structure and fields.
Based on ACPI v1.0-v6.6 documentation at https://uefi.org/acpi/specs

Addendum to c21792df52 (r53831).
2025-07-05 01:48:36 +03:00
Dmitry Borisov
0462ebf0d6
[COMCTL32_APITEST] Add a testcase for product version string (#8216)
Addendum to commit b5f763447c.

- KVM x86: https://reactos.org/testman/compare.php?ids=102897,102903
- KVM x64: https://reactos.org/testman/compare.php?ids=102898,102905

comctl32:tooltipv6: 1 tests executed (0 marked as todo, 0 failures), 0 skipped.
2025-07-04 21:26:37 +03:00
Hermès Bélusca-Maïto
bb881021ce
[WINLOGON] Move logoff/shutdown thread handling code into a helper function (#8222)
This code was in common between HandleLogoff() and HandleShutdown().
2025-07-04 17:07:03 +02:00
Piotr Hetnarowicz
fbd70c81c3
[SHIMGVW] Update Polish (pl-PL) translation (#8201)
Addendum to 084fae1eb4.
2025-07-04 08:48:50 +03:00
Piotr Hetnarowicz
5cbfa17321
[TASKKILL] Update Polish (pl-PL) translation (#8189)
Addendum to 97e7efc020 and 1519a676bd.
2025-07-04 08:44:40 +03:00
Carl J. Bialorucki
33336d0369
[APITESTS] Add GetNTVersion() macro for version detection on Windows 8.x+ (#8225)
Grab the NT version from KUSER_SHARED_DATA and expose it in GetNTVersion().
2025-07-03 14:51:10 -06:00
Carl J. Bialorucki
19e8fbb20e
[KMTESTS] Fixes for 2003, Vista, 7, 8, 10 x86 and x64 (#8175)
Fix several kmtests in preparation for testbots with newer versions of Windows. There's still more kmtests to fix, but this fixes all the kmtests that bugchecked during my testing.
2025-07-03 14:33:59 -06:00
Justin Miller
83faff8706
[FREELDR] Hack AMD64 so it can boot in high mem (#8226)
Hack ReactOS AMD64 so we can boot on systems with higher ram amounts tested up to 128gb

JIRA report: CORE-20265
2025-07-03 12:47:34 -07:00
Timo Kreuzer
24b0857a72 [NTOS:MM] Handle failure of MmSetPageEntrySectionSegment
This prevents a crash when paged pool is low.

No, I will not fix all other instances!
2025-07-03 22:38:50 +03:00
Timo Kreuzer
2cd05a3756 [NDK] Update SYSTEM_INFORMATION_CLASS
See https://www.geoffchappell.com/studies/windows/km/ntoskrnl/inc/api/ntexapi/system_information_class.htm and Windows 10/11 pdb files
2025-07-03 22:21:05 +03:00
Piotr Hetnarowicz
41e7aa19d5
[CABVIEW] Update Polish (pl-PL) translation (#8196)
Addendum to 63bb46a2fd.
2025-07-03 15:36:22 +03:00
Piotr Hetnarowicz
283e351724
[INPUT] Update Polish (pl-PL) translation (#8202)
Addendum to 0eadf4a00c + 17e1cf3127 and 80c4856bba.
2025-07-03 15:10:33 +03:00
Piotr Hetnarowicz
273642a8b3
[SHDOCVW] Update Polish (pl-PL) translation (#8200)
Addendum to 960a305e5c.
2025-07-03 14:54:41 +03:00
Piotr Hetnarowicz
ba326df6d9
[W32TIME] Update Polish (pl-PL) translation (#8199)
Addendum to e4898e6e0b and 2a616b0a14.
2025-07-03 14:36:22 +03:00
Piotr Hetnarowicz
eb0e645def
[CMD] Update Polish (pl-PL) translation (#8193)
Addendum to 736d81938a and 18acf79551.
2025-07-03 14:26:23 +03:00
Piotr Hetnarowicz
8eb8919ce0
[TRACERT] Update Polish (pl-PL) translation (#8187)
Addendum to be56c5c328.
2025-07-03 14:19:04 +03:00
Katayama Hirofumi MZ
02ea0aaa93
[MSCTF] Make compartment manager C++ (#8218)
Implementing missing features...
JIRA issue: CORE-19361
- Delete compartmentmgr.c and
  add compartmentmgr.cpp.
- Make ITfCompartmentMgr
  implementation C++.
2025-07-03 06:48:16 +09:00
Hermès Bélusca-Maïto
2e4cdd4c23
[WINLOGON] Improve EWX_* flags to WLX_* actions mapping in WM_LOGONNOTIFY:LN_LOGOFF
CORE-8322 CORE-11550
2025-07-02 22:44:28 +02:00
Stanislav Motylkov
52e02af86b [BOOTVID] Fix build for ARM port
- Move functions from header to main source, keeping their definitions
- Fix typo DefaultPalette -> VidpDefaultPalette
- Add missing PrepareForSetPixel() function

Addendum to 5f2ca473dc and cd91271796. CORE-17617 CORE-17604
2025-07-02 22:24:46 +02:00
Katayama Hirofumi MZ
0db7879a66
[CMAKE] msvc.cmake: Add /wd4819 for Far East Asian (#8219)
"Far East Asian" Visual Studio had
generated a lot of "warning C4819:
File contains characters that
cannot be displayed in the current
code page...".

JIRA issue: N/A
2025-07-02 22:10:54 +09:00
Katayama Hirofumi MZ
06343fa9a5
[MSCTF] Make category manager C++ (#8210)
Implementing missing features...
JIRA issue: CORE-19361
- Delete categorymgr.c and add
  categorymgr.cpp.
- Make category manager
  implementation C++.
2025-07-01 21:39:26 +09:00
Timo Kreuzer
00f45a4a73 [KMTEST] Remove totally broken PoolsCorruption test
It was already disabled.
2025-07-01 10:50:48 +00:00
Serge Gautherie
671935f24b
[KERNEL32] _dump_context(): Fix ARM case (#8185)
Match DbgPrint() parameters.
Addendum to commit 369786f126 (r67736).
2025-06-30 14:05:12 +02:00
Hermès Bélusca-Maïto
3f73319068
[WINLOGON] Cleanup user login information when logon fails and at logoff (#8182) 2025-06-30 14:02:34 +02:00
Timo Kreuzer
c507b701ab [CRT:MATH] Import frexp from musl 2025-06-30 09:19:47 +00:00