Commit graph

86676 commits

Author SHA1 Message Date
Katayama Hirofumi MZ
d4f283b67b
[FREETYPE][NTGDI] Use Face->num_faces instead of ttc_header.count (#7646)
Supporting raster fonts. Using
num_faces is the generic way.
JIRA issue: CORE-16165
- Use FT_FaceRec.num_faces instead
  of TT_Face.ttc_header.count in
  counting the font faces in
  IntGdiLoadFontsFromMemory function.
2025-01-20 22:09:16 +09:00
Daniel Victor
d72864de95 [FREELDR] Fix wrong segment register at lgdt instruction in amd64.S 2025-01-20 08:34:44 +02:00
Katayama Hirofumi MZ
2186ce3d58 [SHELL32][SDK] Follow-up of #7622; LPWSTR to PWSTR etc.
And LPCWSTR to PCWSTR. CORE-19278
2025-01-20 10:12:35 +09:00
Katayama Hirofumi MZ
84607161b4
[SHELL32][SHELL32_APITEST][SDK] Implement SHGetUnreadMailCountW (#7622)
Implementing missing features...
JIRA issue: CORE-19278
- Modify shell32.spec.
- Move function definition from stubs.cpp into utils.cpp.
- Add SHELL_ReadSingleUnreadMailCount helper function.
- Add prototype to <shellapi.h>.
2025-01-20 09:51:27 +09:00
Katayama Hirofumi MZ
157e18b215
[SHELL32][SHELL32_APITEST][SDK] Implement StrRStrA/W (#7621)
Implementing missing features...
JIRA issue: CORE-19278
- Move function definitions from stubs.cpp to utils.cpp.
- Add prototypes to <undocshell.h>.
2025-01-20 08:50:26 +09:00
Katayama Hirofumi MZ
aa52c3f5eb
[SHELL32][SHELL32_APITEST][SDK] Implement SHEnumerateUnreadMailAccountsW (#7619)
Implementing missing features...
JIRA issue: CORE-19278
- Move function definition from stubs.cpp into utils.cpp.
- Add prototype to <shellapi.h>.
2025-01-20 08:32:07 +09:00
Katayama Hirofumi MZ
0bb8b46ba8 [SHELL32] Follow-up of #7620: Simplify string handling
CORE-19278
2025-01-20 08:28:58 +09:00
Whindmar Saksit
b87c6b8799
[SHELL32] Temporarily disable LVS_EX_DOUBLEBUFFER in DefView (#7642)
Hackfix for CORE-19624 and CORE-19818 until ListView is fixed
2025-01-19 23:20:34 +01:00
Whindmar Saksit
aebaa14eba
[SHELL32] Allow DnD to create shortcuts across different drives (#7607)
CORE-17871 CORE-18271
2025-01-19 21:00:55 +01:00
Katayama Hirofumi MZ
17eff53f35
[REGEDIT] Add ES_AUTOHSCROLL to address bar window (#7638)
Enable horizontal scroll on address bar.
JIRA issue: CORE-19743
- Add ES_AUTOHSCROLL style to the
  address bar window on its creation.
2025-01-20 01:01:30 +09:00
Katayama Hirofumi MZ
2da2fba042
[SHELL32][SHELL32_APITEST][SDK] Implement SHSetUnreadMailCountW (#7620)
Implementing missing features...
JIRA issue: CORE-19278
- Move function definition from
  stubs.cpp into utils.cpp.
- Add prototype to <shellapi.h>.
2025-01-19 21:26:19 +09:00
Timo Kreuzer
dc25409cbf [SPEC2DEF] Implement support for debug-only exports 2025-01-19 09:02:58 +02:00
Timo Kreuzer
93ba586ec3 [NTDLL] Make _alloca_probe(_16) private
This avoids a linker error due to a duplicated symbol in ntdll and the statically linked chkstk library. This happens when the linker first resolves _chkstk from the CRT or the chkstk library (which also pulls in _alloca_probe(_16)) and then tries to resolve _alloca_probe(_16) from ntdll.
2025-01-19 09:02:58 +02:00
Timo Kreuzer
c2c4d853c2 [EXPLORER-OLD] Fix build when _DEBUG is defined 2025-01-19 09:02:58 +02:00
Timo Kreuzer
888540c2d3 [BROWSEUI] Check if ATL windows are valid, before destroying them
Prevents ATL assertion failure.
2025-01-19 09:02:58 +02:00
Timo Kreuzer
40b45515a4 [IERNONCE] Check m_RegKey before deleting a value from it
This fixes an assert, when _DEBUG is defined.
2025-01-19 09:02:58 +02:00
Timo Kreuzer
a6a07059c1 [CRT] crtdbg.h: Add missing inttrin.h include for __debugbreak() 2025-01-19 09:02:58 +02:00
Timo Kreuzer
8a63d7e898 [CMAKE] Build host-tools as release by default
This setting can be overwritten by defining the CMake variable HOST_BUILD_TYPE.
The target build type is passed to the host build as TARGET_BUILD_TYPE CMake variable.
This improves time to build cab+iso:
MSVC x86: 37s -> 28s
GCC x86: 32s -> 16s
2025-01-19 09:02:58 +02:00
Timo Kreuzer
7a15da2a8c [CMAKE] Fix definition of NDEBUG on MSVC release builds
Prevents redefinition warnings.
2025-01-19 09:02:58 +02:00
Oleg Dubinskiy
c7d1aa3e92
[SHELL32] SHELL_FindExecutable: improve path handling code (#7633)
Follow-up of 42d5dfd3de.
- Revert "shell32: Fix ShellExecute for non-filespec paths." 0bad544aab.
- Apply "shell32: Look for the file name without extension also for the path search case." 38b6640be9.
- Clear leading/trailing whitespaces (an improvement by Doug Lyons).
- Update the comment for xlpFile buffer definition, to match the current code behaviour.
This fixes some failures for the following tests:
- shell32_apitest:ShellExecCmdLine: 12 failures less,
- shell32_apitest:ShellExecuteEx: 5 failures less,
- shell32_winetest:shlexec: crash fixed, now 13 failures as before,
- wshom_winetest:wshom: crash fixed, now 2 failures less too (0 failures).
I've also tested: the problem which was intended to be fixed by the guilty commit (CORE-19953) still remains fixed after this change.
CORE-19964
2025-01-18 21:51:58 +01:00
Timo Kreuzer
fe7a58d92e [RTL] Update CountOfOwnedCriticalSections in the TEB
Useful for debugging.
Motivation: With SMP on x64 I found a number of instances where critical sections would be left abandoned, causing lockups. From what I can tell it was exceptions inside rpcrt4, which leave the process in a blocked state. Might or might not be related to x64 / SMP.

For real value, you still need to put checks at certain places manually, but this is not super straight forward, because there can be false positives, e.g. when a process is terminated due to an exception, where the abandoned lock is acceptable, and we have this during testing. It's difficult to 100% distinguish this from silent and very bad lock leaks.

Problematic code:

    __try
    {
        SomeFunction(); // throws an exception with a CS held, e.g. heap code
    }
    __except(1)
    {
        DPRINT1("Oops. let's just pretend it's all ok!\n");
    }
2025-01-18 21:15:17 +02:00
Esme Povirk
848ad61bba
[SHLWAPI][WINESYNC] Import PathRemoveBlanks wine fix + adaptation for ReactOS (#7636)
kernelbase: Always remove trailing spaces in PathRemoveBlanks.

Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 404cd8a92bd99332a7ef8ec96edbf5aeea8cab76 by Esme Povirk <esme@codeweavers.com>

Co-authored-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2025-01-18 16:39:37 +01:00
Jacek Caban
f189d8c454
[SHLWAPI][WINESYNC] Import PathUndecorate wine fix + adaptation for ReactOS (#7636)
shlwapi: Fix PathUndecorate[AW] implementation.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f3c1d663a4a4a99b5c07000cb0ad9cc55d1e1c88 by Jacek Caban <jacek@codeweavers.com>

Co-authored-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2025-01-18 16:39:36 +01:00
Katayama Hirofumi MZ
9d1c0efb1f
[BROWSEUI_APITEST] Don't hardcode C:\Windows (#7634)
Avoid hardcoding and fix tests.
JIRA issue: CORE-13235
- Remove hardcoded "C:\\Windows\\system32",
  using GetSystemDirectoryW call in
  SHExplorerParseCmdLine testcase.
2025-01-18 22:58:05 +09:00
Katayama Hirofumi MZ
82b7d4f3da
[FREETYPE][NTGDI] Fix ftGdiGetTextMetricsW return for raster fonts (#7635)
Try to get ready to support raster fonts.
JIRA issue: CORE-17327
- Fix the return value of
  ftGdiGetTextMetricsW function
  for raster fonts.
2025-01-18 22:33:00 +09:00
Katayama Hirofumi MZ
dad3a0938a
[SHELL32][SHELL32_APITEST][SDK] Implement ShellExec_RunDLL (#7615)
Implementing missing features...
JIRA issue: CORE-19278
- Modify shell32.spec.
- Move function definitions
  from stubs.cpp into shlexec.cpp.
- Add prototypes to <undocshell.h>.
2025-01-17 22:51:18 +09:00
Timo Kreuzer
a25e7ee9d7 [WKSSVC] Stubplement support for level 1101 in NetrWkstaUserGetInfo
Fixes crash in netapi32_winetest:wksta introduced in 45b008d
2025-01-17 12:54:29 +02:00
Timo Kreuzer
132d571fe2 [WKSSVC] Plug memory leaks in NetrWkstaUserGetInfo 2025-01-17 12:54:29 +02:00
Timo Kreuzer
1c1c4e5d94 [WKSSVC] Fix returned error value in NetrWkstaUserGetInfo 2025-01-17 12:54:29 +02:00
Timo Kreuzer
2e7f8711e9 [WKSSVC] Improve formatting 2025-01-17 12:54:29 +02:00
Katayama Hirofumi MZ
b68104a8a0
[SHELL32][SHELL32_APITEST][SDK] Implement SHShouldShowWizards (#7614)
Implementing missing features...
JIRA issue: CORE-19278
- Move function definition from
  stubs.cpp into utils.cpp.
- Add prototype to <undocshell.h>.
2025-01-17 13:36:20 +09:00
Doug Lyons
b1257cefe1
[NTGDI] Silence some debug log spam from GreGetObjectOwner when input parameter is NULL. (#7606)
CORE-19962
Co-authored-by: Timo Kreuzer <timo.kreuzer@reactos.org>
2025-01-16 19:11:19 -06:00
Katayama Hirofumi MZ
fcbcaa10a7
[SHELL32][SHELL32_APITEST][SDK] Implement SHGetUserDisplayName (#7612)
Implemementing missing features...
JIRA issue: CORE-19278
- Add netapi32 and secur32 delay importing.
- Move function definition from stubs.cpp into utils.cpp.
- Include some security headers in utils.cpp.
- Adapt <secext.h> to C++.
- Add prototype to <undocshell.h>.
2025-01-17 09:33:52 +09:00
Serge Gautherie
ee5ff8ce0c
[SDK:REACTOS] acpi.h: Update FACS and FADT types to ACPI v6.4 (#6042)
- FACS: Reduce size by 1 char.
- FADT: Add 3 new fields.
- Update reserved fields. Use offsets.
- Improve documentation.

Addendum to 0331781 (r46610).
2025-01-16 10:55:39 -08:00
Vitaly Orekhov
abe20f6120
[PSDK] Add definitions of desired Native Wi-Fi data access permissions (#7626)
The `WLAN_READ_ACCESS`, `WLAN_WRITE_ACCESS` and `WLAN_EXECUTE_ACCESS` flags are for controlling
whether we can (or not) return data via Wlan[Get|Query]* or modify via WlanSet* function families.

https://learn.microsoft.com/en-us/windows/win32/nativewifi/native-wifi-api-permissions
2025-01-16 18:25:57 +01:00
Marcin Jabłoński
e3e520d154
[TELNET] Fix Unicode character printing (#7597)
CORE-18304

The included Telnet client does not support displaying messages with Unicode characters in them.
This is a problem, because even though localisation for the program was made for ReactOS,
it doesn't work properly.

- Make the `printm` function load and format messages using wide character APIs instead of the narrow ones.
- Add format specifiers to the resource files (this is necessary, as there are a lot of places, where narrow strings
  are used in the program, and passed as parameters to `printm`).
2025-01-16 18:24:04 +01:00
Václav Zouzalík
cef5aa294e
[INPUT] Update German (de-DE) translation (#7518) 2025-01-16 18:21:53 +01:00
Andrei Miloiu
fe93a3f9ed
[MAZESCR] Improve Romanian (ro-RO) translation (#7364)
Improvements based on recent Romanian translation document revision 06e89b2.

This file was not translated in Romanian language in any Windows version (neither XP/2k3+, nor in the previous ones).
I tried to translate this file as close as possible in the way I did in the previous PRs.
2025-01-16 18:20:40 +01:00
Hermès Bélusca-Maïto
53d808d2eb
[WINE] Add explicit missing __ROS_LONG64__ for Wine modules (#7576)
i.e. fix build.

When these get synced with more recent Wine version, you can remove
this define once you get past a "Enable compilation with long types"
Wine commit or similar.
2025-01-16 18:13:27 +01:00
Hermès Bélusca-Maïto
381e224f6b
[SDK] Fix the automatic definition of __ROS_LONG64__ (#7576)
It is not wishable anymore to automatically define __ROS_LONG64__
whenever __WINESRC__ is defined. Indeed, Wine now has started to
introduce the possibility to "Enable compilation with long types".

Thus, for these modules we import from them, we want to be able to
define __WINESRC__ without __ROS_LONG64__ automatically defined.

Addendum to commits 89c3520c86 (r73383) and 75eeb2a7e4 (r38872).
2025-01-16 18:13:19 +01:00
Timo Kreuzer
7bb12665d6 [UCRT] Add CMake files 2025-01-16 14:18:53 +02:00
Timo Kreuzer
ef440b9aef [UCRT] Add a hack for a clang bug
See CORE-19902
2025-01-16 14:18:53 +02:00
Timo Kreuzer
42e9c80279 [UCRT] Fix definition of offsetof for clang-cl 2025-01-16 14:18:53 +02:00
Timo Kreuzer
2eb3149565 [UCRT] Make includes unix compatible 2025-01-16 14:18:53 +02:00
Timo Kreuzer
90dad446b7 [UCRT] Fix GCC build of __crt_char_traits
This is a workaround for GCC. It will disable debugging for tdupenv_s_crt.
How it works on MSVC? Magic.
2025-01-16 14:18:53 +02:00
Timo Kreuzer
693f9f51a0 [UCRT] Hack some template code, so that retarded compilers can handle it 2025-01-16 14:18:53 +02:00
Timo Kreuzer
f9dc185ede [UCRT] Use a C cast instead of const_cast for GCC
This is because GCC will generate errors for both const_cast and static_cast depending on the template parameter:
- With const_cast: error: invalid 'const_cast' from type 'std::nullptr_t' to type 'const wchar_t**'
- With static_cast: error: invalid 'static_cast' from type 'wchar_t** const' to type 'const wchar_t**'
2025-01-16 14:18:53 +02:00
Timo Kreuzer
47e3f49e52 [UCRT] No __declspec(spectre(nomitigation)) for GCC/Clang 2025-01-16 14:18:53 +02:00
Timo Kreuzer
97e20ef342 [UCRT] Fix GCC/Clang build of SSE2/AVX code
On GCC the code using extended ISA cannot be inlined and must either be marked with a function attribute or compiled with the proper target options ('-mavx2' on the command line or '#pragma GCC target("avx2")' inside the code)
2025-01-16 14:18:53 +02:00
Timo Kreuzer
51e6ce3aa7 [UCRT] Add GCC compatible __FUNCTIONW__ 2025-01-16 14:18:53 +02:00