Commit graph

86709 commits

Author SHA1 Message Date
Timo Kreuzer
2d753d95fb [UCRT] Fix multiple missing dereferences
This is a bug in MS UCRT code. MSVC allows to check a pointer to be > 0, GCC emits a warning.
2025-01-16 14:18:53 +02:00
Timo Kreuzer
d622c4a7a0 [UCRT] Fix a typo/bug in __acrt_mbs_to_wcs_cp_array 2025-01-16 14:18:53 +02:00
Timo Kreuzer
48d8d198b2 [UCRT] Add missing line breaks at end of file 2025-01-16 14:18:53 +02:00
Timo Kreuzer
995e16d4d4 [UCRT] Add missing headers
These are minimal definitions, just enough to make things compile.
2025-01-16 14:18:53 +02:00
Timo Kreuzer
04e0dc4a7a [UCRT] Import Microsoft.Windows.SDK.CRTSource version 10.0.22621.3
Imported from https://www.nuget.org/packages/Microsoft.Windows.SDK.CRTSource/10.0.22621.3
License: MIT
2025-01-16 14:18:53 +02:00
Timo Kreuzer
f1b60c66f0 [PSEH] Fix SEH compatibility macros for dummy PSEH
This is used with Clang, which does have native SEH, but it's broken and can cause the compiler to crash. Previously some code was not handling this and instead used native SEH for clang. Fix this by always using _SEH2_* macros instead of relying on __USE_PSEH2__ to be defined.
2025-01-16 14:18:53 +02:00
Timo Kreuzer
ca0fa4af1e [RTL/x64] Improve RtlWalkFrameChain to handle user mode 2025-01-16 13:40:23 +02:00
Katayama Hirofumi MZ
f482244f45
[SHELL32] Move SHOpenPropSheetA to propsheet.cpp (#7624)
Improve consistency of code management.
JIRA issue: CORE-19278
- Move SHOpenPropSheetA from
  utils.cpp into propsheet.cpp that
  contains SHOpenPropSheetW.
2025-01-16 20:09:30 +09:00
Vincent Franchomme
6ada5978d0
[NTOS:MM] Do not use PAGE_ROUND_DOWN for LONGLONG values (#7603)
PAGE_ROUND_DOWN macro seems to not work correctly with LONGLONG values. It creates some random freezes in the 1st-stage setup after commit 69bf140506.
It's fixed by creating PAGE_ROUND_UP_64 and PAGE_ROUND_DOWN_64 macros for 64-bit only data types.

---------

Co-authored-by: Thamatip Chitpong <thamatip.chitpong@reactos.org>
2025-01-16 10:30:38 +07:00
Thamatip Chitpong
190f710942 [NTOS:MM] MiBalancerThread: Formatting fixes 2025-01-15 16:10:55 +07:00
Thamatip Chitpong
c69ad5efa2 [NTOS:MM] MmRequestPageMemoryConsumer: Properly mark CORE-17624 delay hack
Addendum to commit 2b14056600.
2025-01-15 16:10:55 +07:00
Thamatip Chitpong
a8322459ab [NTOS:MM] balance: Fix PageOutThreadActive value check 2025-01-15 16:10:55 +07:00
Timo Kreuzer
bba03c886c [WIDL] Reduce diff to Wine-4.0 2025-01-15 08:29:53 +02:00
Timo Kreuzer
995e4c829a [WIDL] Properly pass architecture flag instead of modifying the code
This reverts commit 73c776c744 "[WIDL] Fix non-x86 builds".
2025-01-15 08:29:53 +02:00
Timo Kreuzer
1b14ce5db3 [WIDL] Turn warnings into errors 2025-01-15 08:29:53 +02:00
Whindmar Saksit
91b8923601
[RAPPS] Allow .zip generated installers to skip writing the DisplayIcon value (#7609)
This is useful for wallpaper and theme packs.
2025-01-14 18:09:48 +01:00
Timo Kreuzer
96676ca251 [PSEH] Use native SEH on clang-cl x64 2025-01-14 13:34:24 +02:00
Timo Kreuzer
478317abcb [PSEH] Fix SEH compatibility macros for dummy PSEH
This is used with Clang, which does have native SEH, but it's broken and can cause the compiler to crash. Previously some code was not handling this and instead used native SEH for clang. Fix this by always using _SEH2_* macros instead of relying on __USE_PSEH2__ to be defined.

Try to improve things
2025-01-14 13:34:24 +02:00
Timo Kreuzer
12139bcde7 [VCRUNTIME] Fix some intrinsics with clang-cl 17
For some unknow reason some intrinsics fail to get inlined. Using extern inline results in a linker error. Change it to static inline, so that there is a static implementation in case it doesn't get inlined
2025-01-14 13:34:24 +02:00
Timo Kreuzer
78417c5532 [CRT] Fix build with clang-cl 17
#pragma function(llabs) causes an error: "error: no_builtin attribute has no effect on defaulted or deleted functions"
This is probably a bug in clang, see https://github.com/llvm/llvm-project/issues/116256
2025-01-14 13:34:24 +02:00
Timo Kreuzer
25723b4239 [VCRUNTIME] Fix a warning with GCC 13 2025-01-14 13:34:24 +02:00
Timo Kreuzer
3523e1a9f3 [ZLIB] Disable a clang warning 2025-01-14 13:34:24 +02:00
Timo Kreuzer
4ceb46a700 [CMIDriver] Disable a clang warning 2025-01-14 13:34:24 +02:00
Timo Kreuzer
e7c6eac607 [NFSD] Disable a clang warning 2025-01-14 13:34:24 +02:00
Timo Kreuzer
4eb7ef494d [MSXML3] Disable a clang warning 2025-01-14 13:34:24 +02:00
Timo Kreuzer
a3019731cc [D3DRM] Disable a clang warning 2025-01-14 13:34:24 +02:00
Timo Kreuzer
45fc95b667 [UDFS] Remove unused file from compilation 2025-01-14 13:34:24 +02:00
Timo Kreuzer
aa7ab16fd0 [CMAKE] Disable a number of warnings for clang
Also remove the totally useless and stupid -Werror=unknown-warning-option
2025-01-14 13:34:24 +02:00
Whindmar Saksit
087979eeb9
[REGEDIT] Block tree label edit if the delete accelerator has been pressed (#7610) 2025-01-13 13:21:12 +01:00
George Bișoc
a97fcf19ec
[CMBATT] Minor improvements to estimated battery time code
- Declare CMBATT_DISCHARGE_TIME and CMBATT_CAPACITY_BOGUS constructs
- Determine if the battery was already discharging and if not, update the time when it's being discharged
- Fix the condition where it checks if the battery has been discharging for quite some time
- Default the time to BATTERY_UNKNOWN_TIME if querying the estimated battery time request fails or if the battery has just started discharging not over 15 seconds

CORE-18969
CORE-19452
2025-01-12 20:00:14 +01:00
Hermès Bélusca-Maïto
37b0646e76
[SDK:WINE] Fix get_temp_buffer() call in wine_dbgstr_wn()
Addendum to commit dbc7eeb47e (PR #4303).

The argument to get_temp_buffer() should specify the length of the
string being buffered + 1 (for the NUL-terminator).
The original code wrongly interverted this with specifying the buffer
shifted by one character.
2025-01-11 21:17:28 +01:00
Whindmar Saksit
3ff8adc553
[RAPPS] Protect database update with a mutex (#7006) 2025-01-11 19:52:07 +01:00
Oleg Dubinskiy
e5a6b0f8e5
[SHELL32] SHELL_ArgifyW(): don't use SearchPathW() for receiving a path to a file (#7605)
Get rid from bogus SearchPathW() call, which is marked as most likely not needed in the comment above (by Wine). Simply get a length of the file name and use the file name directly instead, with checking for its validity too. Similarly as it's done for other cases.
That call seems actually not needed because it is already done using SearchPathW() in another parts of the code in this file, before calling SHELL_ArgifyW().
Fixes another heap corruption when trying to login via OAuth menthod in SpotifyXP 2.0.3 Beta (nightly build). The previous commit did not fix the bug fully, as I discovered it later.
CORE-19953
2025-01-10 20:45:43 +01:00
George Bișoc
02032b7106
[PSDK] Fix BATTERY_UNKNOWN_TIME value constant
Windows SDKs define this constant to 0xFFFFFFFF but we define it to 0x80000000.
As a result, when our COMPBATT driver is being tested on Windows (namely XP, Vista and 7), BATTERY_UNKNOWN_TIME is not interpreted as UNKNOWN TIME but entirely something else.

CORE-18969
CORE-19452
2025-01-08 23:49:15 +01:00
George Bișoc
13b394c1a7
[COMPBATT] Document COMPBATT_BATTERY_DATA and COMPBATT_DEVICE_EXTENSION structures
CORE-18969
CORE-19452
CORE-19888
2025-01-08 23:20:09 +01:00
George Bișoc
f58f37e944
[COMPBATT] Document the newly added code 2025-01-08 23:20:09 +01:00
George Bișoc
65b29fe533
[COMPBATT] Update the top headers and relicense the driver as MIT 2025-01-08 23:20:09 +01:00
George Bișoc
c439c5849b
[COMPBATT] Implement CompBattGetEstimatedTime 2025-01-08 23:20:08 +01:00
George Bișoc
a6d4998c6c
[COMPBATT] Implement CompBattQueryStatus and CompBattSetStatusNotify 2025-01-08 23:20:08 +01:00
George Bișoc
ee9914c712
[COMPBATT] Implement the battery monitor IRP worker 2025-01-08 23:20:08 +01:00
George Bișoc
6a06db09ca
[COMPBATT] Use FALSE for BOOLEANs on BatteryIoctl, not integers 2025-01-08 23:20:08 +01:00
George Bișoc
c944116833
[COMPBATT] Use the allocated battery IRPs as tags when acquiring I/O remove lock 2025-01-08 23:20:07 +01:00
George Bișoc
95f062bf0d
[COMPBATT] Use the documented debug switches
Use the debug switches that are documented and have a name rather than some cryptic values with no meaning or some shit.
2025-01-08 23:20:07 +01:00
George Bișoc
c6bdbefdc4
[COMPBATT] Use the non-constant variant of UNICODE_STRING for the battery name 2025-01-08 23:20:07 +01:00
George Bișoc
28bb8c6ff7
[COMPBATT] Assign a memory allocation tag for the I/O remove lock
IoInitializeRemoveLock expects an allocation tag to be provided when it allocates debug data in the kernel.
Passing 0 leads to a bunch of ASSERTs in the kernel as such data is allocated by ExAllocatePoolWithTag of which a tag has to be supplied, it's not optional.
2025-01-08 23:20:07 +01:00
George Bișoc
3346301777
[COMPBATT] Pass NULL for the work item context, not 0
It expects an arbitrary pointer, do the right thing!
2025-01-08 23:20:06 +01:00
George Bișoc
8b5423aa60
[COMPBATT] Annotate all functions with SAL2 2025-01-08 23:20:06 +01:00
George Bișoc
f9ea9220d8
[COMPBATT] Remove the useless WaitFlag field in the code which is never used 2025-01-08 23:20:06 +01:00
George Bișoc
04cd478035
[COMPBATT] Prepare the base foundation for the header file
- Introduce some new constructs
- Annotate the function prototypes with SAL2
- Re-structure & remove some useless fields in COMPBATT_DEVICE_EXTENSION and COMPBATT_BATTERY_DATA
2025-01-08 23:19:56 +01:00
Vitaly Orekhov
3ff9c476a0
[PSDK] Add structures and enumeration describing radio power state (#7596)
This piece of data is returned by WlanQueryInterface().
Used by `WlanQueryInterface` with the `wlan_intf_opcode_radio_state` opcode.

CORE-6905
2025-01-08 12:28:46 +01:00