Commit graph

80446 commits

Author SHA1 Message Date
Timo Kreuzer
950e814377 [CRT] Fix _fmode
Remove mingw-w64 version of _fmode. _fmode should not be linked directly into the executable. Instead, the export from msvcrt should be used. On Windows 10 it's defined to *__p__fmode(), which is exported from ucrtbase.dll
Also _fmode in msvcrt.dll is initialized with 0.
2021-08-04 02:03:07 +02:00
Timo Kreuzer
296e07b94d [CRT] Fix some data exports
* Fix initialization of _commode. In msvcrt it is allocated from .bss, i.e. initialized with 0.
* _fileinfo is initialized with -1
* _aexit_rtn is a pointer, not a function
* Fix _sys_nerr
2021-08-04 02:03:07 +02:00
Timo Kreuzer
5f548654f4 [CRT_APITEST] Add tests for data exports 2021-08-04 02:03:07 +02:00
Timo Kreuzer
379957424c [CRT] Fix some _CRTIMP
Get rid of the ugly __MINGW_IMP_SYMBOL hacks.
2021-08-04 02:03:07 +02:00
Timo Kreuzer
b05cc36208 [CRT] Fix CRT headers a bit
* Remove unused internal version of float.h
* Define _STATIC_ASSERT in crtdefs.h
* Add some missing declarations
2021-08-04 02:03:07 +02:00
Timo Kreuzer
0f3d052af9 [CRT] Remove _fmode and _commode initialization
This "initialization" copies the value of the local variable to the one exported from msvcrt, which is the same. Also there shouldn't be a local version of the variable in the first place.
2021-08-04 02:03:07 +02:00
Katayama Hirofumi MZ
7507a8f192
[IMM32] Rewrite ImmInstallIMEA (#3873)
Implementing Japanese input... CORE-11700
2021-08-04 07:32:13 +09:00
Jérôme Gardou
bd6fb80867 [WIN32K:NTUSER] In debug builds, enable free & tail checking when creating heaps
Actually catches bugs
2021-08-03 23:13:19 +02:00
Jérôme Gardou
b783b16cef [WIN32K:USER] Fix potential use after free when painting child windows 2021-08-03 23:13:19 +02:00
Jérôme Gardou
d958dc9bc2 [WIN32K:NTUSER] Assert global user lock is held exclusively when using global & desktop heaps
They're explicitly not serialized because we count on this.
2021-08-03 23:13:19 +02:00
Jérôme Gardou
8c098ee8d2 [WIN32K:NTUSER] Make sure to hold User Global Lock before unmapping desktop heap 2021-08-03 23:13:19 +02:00
Jérôme Gardou
6ec0420dc6 [WIN32K:NTUSER] Allocate & free timers under global user lock 2021-08-03 23:13:19 +02:00
Jérôme Gardou
515d83a883 [WIN32K] On init, start by initializing NtUser stuff
Allocate gpsi (Global Server Info) after initializing & grabbing Userlock
2021-08-03 23:13:19 +02:00
Jérôme Gardou
be6a6b806a [NTOS:MM] Remove dead code 2021-08-03 10:57:12 +02:00
Jérôme Gardou
c6d08c4828 [CMAKE] Update DLL base addresses 2021-08-03 10:36:32 +02:00
Victor Perevertkin
f777e6bd24
[GITHUB] Build Release configuration for all compilers 2021-08-02 20:23:23 +03:00
Victor Perevertkin
5176f580e5
[CMAKE] Add memcmp to libntoskrnl for both clang and clang-cl 2021-08-02 20:23:22 +03:00
Victor Perevertkin
03506b90e0
[MSVCRTEX] Add some routines required for clang optimizations
- Include exp2* in all clang builds
- Include __aulldiv for i386 ones

Those are required, at least for clang-cl Release configuration
2021-08-02 20:23:18 +03:00
Nexware
14fbe80c4a
[CONFIGURE] Make configure.sh print out an error when CMake fails 2021-08-02 01:40:43 +03:00
Robert Naumann
a0235bf877 [UXTHEME] Fix incorrect part IDs in button class map.
Wine Patch by Zhiyi Zhang. (Commit ec82a0ebe65a0bd9f41c743d301c853e77dd8b8b)
2021-08-01 12:22:58 +02:00
George Bișoc
632fa1cfbe
[NTOS:SE] Handle the reference logon session of the token
When creating or duplicating an access token object, make sure that the logon session is getting referenced by the token must be inserted onto the logon reference member (a.k.a LogonSession) for proper logon session referencing tracking.

Also when a token object is about to be destroyed or that we are taking away a reference session from it, we must ensure that the referenced logon session data gets removed from the token in question.
CORE-17700
2021-07-31 17:23:05 +02:00
George Bișoc
5e51f8dad2
[NTOS:SE] Implement logon reference insertion/removal to tokens 2021-07-31 16:11:03 +02:00
George Bișoc
7692c10527
[NTOS:SE] Unify all the SRM tags in one place
And rename SEP_LOGON_SESSION_TAG and SEP_LOGON_NOTIFICATION_TAG to TAG_LOGON_SESSION and TAG_LOGON_NOTIFICATION respectively.
2021-07-31 16:10:50 +02:00
Roman Masanin
be3c532bf4
[ARM/CRT] Refactor several functions (#3865)
- Make __fto64 function more readable
- Call worker function directly for __rt_sdiv/udiv
- Adapt __rt_sdiv64/udiv64 asm shims accordingly
- Add header files to CMake source list

CORE-17607 CORE-17614 CORE-17703 CORE-17604

Addendum to f2bc1f0e, e448094e and 54406bf4.
2021-07-31 11:24:03 +03:00
Katayama Hirofumi MZ
d7f13aa696
[IMM32] Improve ImmSimulateHotKey (#3858)
- Improve ImmSimulateHotKey function.
- Modify IMEDPI structure.
CORE-11700
2021-07-31 15:56:11 +09:00
Katayama Hirofumi MZ
89cb8a38b3
[IMM32] Rewrite ImmEnumInputContext (#3859)
- Rewrite ImmEnumInputContext function.
- Modify NtUserBuildHimcList.
CORE-11700
2021-07-31 15:45:07 +09:00
Stanislav Motylkov
54406bf4f0
[CRT/ARM] __fto64: Assembly wrappers are actually not needed anymore
Addendum to e448094e. CORE-17703 CORE-17604
2021-07-30 22:48:03 +03:00
Jérôme Gardou
b0dfe20981 [NTOS:MM] Fix MiIsUserPte inline 2021-07-30 18:54:54 +02:00
Victor Perevertkin
49cfac17c5
[FFS] Remove the FFS/UFS driver
The upstream driver is not maintained and the file system itself
is in a semi-abandoned state.
Originally imported at 3a3ef631d1

The driver is written by Lee Jae-Hong, updated by Bo Brantén.
ReactOS porting made by Peter Hater and Pierre Schweitzer.
Follow updates at http://www.acc.umu.se/~bosse/

FS Recognizer code is left to keep the FS support as an
installable driver.

CORE-11040
2021-07-30 17:14:57 +03:00
Victor Perevertkin
2e2190df57
[REISERFS] Remove the ReiserFS driver
The upstream driver is not maintained and the file system itself
is in a semi-abandoned state.
Originally imported at e308102f4a

The driver is written by Mark W Piper, updated by Bo Brantén.
ReactOS porting made by Peter Hater and Pierre Schweitzer.
Follow updates at http://www.acc.umu.se/~bosse/

FS Recognizer code is left to keep the FS support as an
installable driver.

CORE-11005
2021-07-30 17:14:53 +03:00
Roman Masanin
99ba98468f
[CRT_APITEST] Add tests for __dtoi64/dtou64/stoi64/stou64 on ARM (#3848)
CORE-17703 CORE-17604
2021-07-30 14:20:23 +03:00
Roman Masanin
e448094e74
[CRT/ARM] Implement __dtoi64/dtou64/stoi64/stou64 functions (#3848)
CORE-17703 CORE-17604
2021-07-30 14:20:23 +03:00
Roman Masanin
fd8baca9f2
[CRT/ARM] Fix modulus on division (#3856)
This fixes all tests added in 759bdedc. Addendum to f2bc1f0e.

CORE-17607 CORE-17614 CORE-17604
2021-07-29 13:44:16 +03:00
Stanislav Motylkov
759bdedc1e [CRT_APITEST] Add tests for __rt_sdiv/udiv/sdiv64/udiv64 on ARM
Addendum to f2bc1f0e and f1e2c6cb.

CORE-17607 CORE-17614 CORE-17604
2021-07-29 13:37:07 +03:00
Katayama Hirofumi MZ
e996662afb [IMM32] s/idThread/dwThreadId/
- Rename idThread variable as dwThreadId.
- Rename idImeThread variable as dwImeThreadId.
CORE-11700
2021-07-29 08:21:33 +09:00
Katayama Hirofumi MZ
f972a9fbd5
[IMM32] Rewrite ImmSetCompositionWindow (#3855)
Implementing Japanese input... CORE-11700
2021-07-28 23:26:02 +09:00
Katayama Hirofumi MZ
8e1dea0c8c
[IMM32] Implement ImmLoadLayout (#3854)
Implementing Japanese input... CORE-11700
2021-07-28 23:25:10 +09:00
Katayama Hirofumi MZ
fb2aef9e4e
[IMM32] Rewrite ImmNotifyIME (#3853)
Implementing Japanese input... CORE-11700
2021-07-28 23:24:09 +09:00
Katayama Hirofumi MZ
a71de262d3
[IMM32] Rewrite ImmSetStatusWindowPos (#3852)
Implementing Japanese input... CORE-11700
2021-07-28 23:23:09 +09:00
Timo Kreuzer
da2a5673e7 [CRT] Fix _matherror and _setusermatherror
We previously used 2 different versions: one from wine and one from mingw-w64.
The former was used in msvcrt, the latter was statically compiled into the executable. When using MS libs, there is only one _matherr, which is statically linked into the executable and does nothing (it's not really a function for users to be called).
_setusermatherror should only exist in msvcrt and not statically, which wouldn't work at all.
2021-07-27 22:08:58 +02:00
Timo Kreuzer
486a4d93ed [CRT] Define NULL in crtdefs.h 2021-07-27 22:08:58 +02:00
Jérôme Gardou
ce65553eaa [NTOS:MM] Annotate some functions with regards to MmPfnLock
Also fix MI_ASSERT_PFN_LOCK_HELD macro.
Now in debug builds, SpinLocks are always non-zero when held.
2021-07-27 15:36:55 +02:00
Jérôme Gardou
6150dc994a [NTOS:MM] Always release PFN lock in MmDereferenceSegmentWithLock
All callers release it after calling it.
CORE-17698
2021-07-27 15:36:55 +02:00
Timo Kreuzer
ecf3416f49 [VIDEOPRT] Fix updating of new registry path values
CORE-17688
When a new driver is installed for the same device (like VBoxVideo), it uses the same hardware enum registry key and thus reuses the same DisplayId and the same display registry key. Therefore we need to update the setting in that key, even when the key already exists.

This seems to work good and not cause any issues, but testing indicated that on Windows some values are only updated, when the driver has changed. If neccessary, this can be achieved by updating and querying the ActiveService value in the device enum key (e.g. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI\VEN_80EE&DEV_BEEF&SUSYS_00000000&REV_00\3&267a616a&0&10\Control: ActiveService). If that doesn't match the current device name (from DriverExtension->RegistryPath) the values should be copied over.
2021-07-27 14:44:14 +02:00
Timo Kreuzer
204626f793 [WIN32K] Fix uninitialized variable 2021-07-27 14:44:14 +02:00
Timo Kreuzer
f1e2c6cbd0 [CRT/arm] Update file headers to new format and change license to MIT
* Add Raman Masanin to copyrights
* Add some comments
* Return long long from __rt_sdiv (no functional difference, just for clarity)
2021-07-27 14:42:55 +02:00
Serge Gautherie
9a42267b06 [CPPRT] arm: Add 2 'MSVCRTEX_eh_vector_*structor_iterator' aliases
CORE-17606
2021-07-26 09:58:20 +03:00
George Bișoc
e2a8585edc
[NTOS:SE] Remove redundant commented call on token duplication
When duplicating an access token, the authentication ID is already copied from the existing token to the new one anyway so there's no point on having the commented call still left in the code.
2021-07-25 18:02:32 +02:00
Stanislav Motylkov
a1ebce3aac
[DRWTSN32] Fix Clang build. Addendum to bdab437f.
Also use a macro for better code readability.

Co-authored-by: Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
2021-07-25 18:14:23 +03:00
Stanislav Motylkov
bdab437fa4
[DRWTSN32] Recognize STATUS_ASSERTION_FAILURE as exception number 2021-07-25 15:32:08 +03:00