Commit graph

306 commits

Author SHA1 Message Date
Jérôme Gardou
7e116f0ef3 [CMAKE] Get rid of replace_compile_flags
Introduce a finer-grained remove_target_compile_option instead
2020-10-20 21:44:54 +02:00
Jérôme Gardou
907025a018 [CMAKE] Introduce the atl_classes interface library
This takes care of adding the relvant include directory and the _ATL_NO_EXCEPTIONS define, if needed
2020-10-20 21:44:54 +02:00
Jérôme Gardou
d6ea8659c8 [CMAKE] Get rid of the set_cpp macro
Instead of messing with global variables and the like, we introduce two target properties:
 - WITH_CXX_EXCEPTIONS: if you want to use C++ exceptions
 - WITH_CXX_RTTI: if you need RTTI in your module
You can use the newly introduced set_target_cpp_properties function, with WITH_EXCEPTIONS and WITH_RTTI arguments
We also introduce two libraries :
 - cpprt: for C++ runtime routines
 - cppstl: for the C++ standard template library

NB: On GCC, this requires to create imported libraries with the related built-in libraries:libsupc++, limingwex, libstdc++

Finally, we manage the relevant flags with the ad-hoc generator expressions

So, if you don't need exceptions, nor RTTI, nor use any runtime at all: you simply have nothing else to do than add your C++ file to your module
2020-10-20 21:44:54 +02:00
Victor Perevertkin
bb94e711ef
[NTOSKRNL_VISTA] Add stubs for functions needed in KMDF 2020-09-25 01:28:55 +03:00
Victor Perevertkin
be276dde28
[XDK][NTOSKRNL_VISTA] Put NTKRNLVISTAAPI to XDK headers
for vista+ APIs implemented in ntoskrnl_vista.
Now if you statically link ntoskrnl_vista into a driver,
NTKERNELAPI will automatically be removed from an API definition
2020-09-24 21:51:57 +03:00
Timo Kreuzer
cb22d5f697 [NTOS:PS] On x64 don't fail in NtSetInformationProcess with ProcessUserModeIOPL information class, instead just don't do anything.
For NT6+ appcompat setting return STATUS_NOT_IMPLEMENTED
2020-09-20 23:08:17 +02:00
Timo Kreuzer
64d7db506c [CRT] Return from fpreset() 2020-09-20 23:08:17 +02:00
Timo Kreuzer
aff33c855d [CRT] Use chkstk_ms.s on x64 builds 2020-09-20 23:08:17 +02:00
William Kent
427ea67b9c
[RTL] Add code to SxS manifest parser to parse XML namespaces (#2512)
* [XDK] Typo fix
* [XDK] Add missing ACTIVATION_CONTEXT_SECTION values
* [RTL] Merge changes from Wine
* [ROSTESTS] Fix typo
* [NTDLL] Typo fix
* Add test for new functionality
* [ROSTESTS] Fix path
* [ROSTESTS] Add test to testlist.c
2020-09-20 22:56:42 +02:00
Serge Gautherie
889b077b23
[REACTOS] *.spec: Fix some function/parameter types (#3154) 2020-09-20 19:21:11 +02:00
Jérôme Gardou
a84b0dbe6b [LIBWINE] make wine_get_dos_file_name available
And complain loudly when we get a *real* unix file name
2020-09-16 10:35:30 +02:00
Joachim Henze
a27f0debca [MMIXER] Fix NULL dereference CORE-17276
This lead to a crash of winmm:mixer
during "GCCLin_x86 on Test VBox".

The crash was exposed when new code paths
were activated by 0.4.15-dev-791-g
6d7ebc2048

I do intend to port this commit back into 0.4.14RC.
2020-09-15 20:54:50 +02:00
Serge Gautherie
a04831677e
[PROGMAN][CRT][USER32] Do not use LoadLibraryEx() NT6+ flags (#3152)
CORE-12004
2020-09-13 23:42:09 +02:00
Timo Kreuzer
3c1f6631e6 [MSVCRT] Add vista exports 2020-09-13 15:37:29 +02:00
Timo Kreuzer
dfaba507dc [MSVCRT] Fix some architecture specific exports 2020-09-13 15:37:29 +02:00
Timo Kreuzer
61192390cf
[KERNEL32_VISTA][NTDLL_VISTA][RTL_VISTA] Move Vista Rtl functions from kernel32_vista and ntdll_vista to rtl_vista (#3149)
* Move RtlRunOnce functions from kernel32_vista to rtl_vista and export them from ntdll_vista
* Move condvar.c and srw.c from ntdll_vista to rtl_vista
* Move ntdll_vista build script to a subfolder of ntdll

The RtlRunOnce functions are taken from wine, completely unmodified.
The code that was in kernel32_vista had change that used a global keyed_event handle, but was never initialized, so we were still passing NULL thus using the global ExpCritSecOutOfMemoryEvent.
2020-09-12 15:04:02 +02:00
Timo Kreuzer
2aca4b2795 [ASM] Fix boot with VS 16.7.3 / MSVC 19.27
See https://developercommunity.visualstudio.com/content/problem/1180800/ml-x86-assume-directive-causes-invalid-code-genera.html
2020-09-12 15:01:04 +02:00
Mark Jansen
58092fb4da [ATL][ATL_APITEST] Add CString::Tokenize + testcase 2020-09-07 22:13:43 +02:00
He Yang
e44c9b6630
[RAPPS] application-view refactor (#3003)
* [RAPPS] separate application-view from gui.cpp
* [RAPPS] make the code looks more clear
* [RAPPS] fix &  improve tab-order handle
* [RAPPS] now double-click / right-click & install an item will install exactly this app
* [RAPPS] add handling for DWORD timestamp for InstallDate
* [RAPPS] make the code setting column style more clear
* [RAPPS] change the owner of popup-menu
* [RAPPS] now the popup menu (the one when right-click listview) now belongs to application-view
2020-09-06 17:09:21 +02:00
Victor Perevertkin
d9864ca6c5
[NTOSKRNL_VISTA][XDK] Implement IoSetMasterIrpStatus 2020-08-29 05:44:34 +03:00
Victor Perevertkin
5e242c5566
[NTOSKRNL_VISTA] Implement/stubplement more Etw, Io, Ke, Po functions
CORE-17129
2020-08-28 15:28:45 +03:00
Hermès Bélusca-Maïto
4aaf54e0a4
[CONUTILS] Use const string pointers for strings that are not modified by the functions. 2020-08-23 19:11:40 +02:00
Thomas Faber
2fb2f1e4c5
[RTL] Allow RtlGetNextRange to be called on a finished iterator. CORE-6372
Fixes crash in kmtest:RtlRangeList.
2020-08-16 16:18:29 +02:00
Hervé Poussineau
c4055c455f [HIDPARSER] Remove HIDPARSER specific error codes, and remplace them by HIDP_* NTSTATUS codes
Remove now useless TranslateHidParserStatus() function.
2020-07-31 14:32:08 +02:00
Hervé Poussineau
c151f8a1c7 [HIDPARSER] Remove HID_PARSER class, and directly use functions 2020-07-31 14:31:27 +02:00
Serge Gautherie
0b9cbc5179
[CRT] _onexit(): Fix 'memcpy()' size
Cherry-pick
70bff7377d
2020-06-27 14:38:21 +02:00
Serge Gautherie
4213c70e2e
[CRTDLL][CRT] Remove remnant declaration, silence cppcheck false positive.
* _atexit_cleanup is no longer used
* Fix cppcheck 'pointerSize' warning
2020-06-27 14:35:32 +02:00
Thomas Faber
aa811c00e3
[MPG123] Update to version 1.26.1. CORE-17098 2020-06-14 09:19:05 +02:00
Thomas Faber
52f103c85b
[RTL] Use LastEntryInSegment to speed up RtlpFindAndCommitPages. CORE-14588 2020-06-14 09:10:31 +02:00
Thomas Faber
c4f736e8f4
[RTL] Add and populate LastEntryInSegment. CORE-14588 2020-06-14 09:10:31 +02:00
Thomas Faber
dd83bcd6ad
[RTL] Create a define for the common members of HEAP and HEAP_SEGMENT. CORE-14588
The code relies on these members matching up, so it's confusing for them
to be duplicated.
2020-06-14 09:10:27 +02:00
Amine Khaldi
139a3d6661
[CMAKE] Implement PCH builds with target_precompile_headers. CORE-16905 2020-06-06 21:58:41 +03:00
Serge Gautherie
3051eb0e48
[NTOSKRNL] Add 'DECLSPEC_NORETURN' to a few 'KeBugCheck*()' (#2896) 2020-06-06 17:50:14 +02:00
Thomas Faber
4dedc8ff52
[RTL] Add FPO information to RtlpExecuteHandler. CORE-15723 2020-06-06 08:40:20 +02:00
Serge Gautherie
6808e40b3b
[SDK:RTL] RtlValidAcl(): Improve ACL error messages (#2833)
CORE-11506
2020-06-05 00:20:20 +03:00
Thomas Faber
e4066536c2
[CPPRT][CRT] Avoid extern assembly declarations with no type. CORE-17088
Fixes build with ML 14.26.
2020-05-28 14:26:48 +02:00
Victor Perevertkin
5349f49cfe
[SDK][FREETYPE] Fix GCC8.4 -O2 build 2020-05-21 01:07:26 +03:00
Dmitry Borisov
3fd6dbd943 [CPORTLIB] Fix MSVC build for PC-98 target 2020-05-16 15:23:00 +03:00
Thomas Faber
8523913a58
[RTLVER] Add missing bugcodes dependency. 2020-05-09 11:22:07 +02:00
Bișoc George
d8eeb31b8a [SDK][STDLIB][STRING] Wine-sync wcsrtombs_l and _mbstowcs_l
This is a partial sync of the CRT library with wcsrtombs_l and _mbstowcs_l functions from WINE. The _wctomb_s_l implementation of WINE which is used by _wctomb_s, _wctomb_l and wctomb brings failed results of the wctomb unit testcase and at the same time it crashes the whole testcase after.

Therefore I will not address the wctomb function for the moment being.
2020-05-03 15:35:11 +02:00
Mark Jansen
6c37a7255e
[ATL] Add CAtlArray::GetData 2020-04-30 20:38:43 +02:00
Bișoc George
8266f62ff6
[CRT][STDLIB] Wine-sync _mbtowc_l function code
The current _mbtowc_l code directly passes the string count size argument to cbMultiByte argument parameter to MultiByteToWideChar(). As the size of lpMultiByteStr expressed in bytes by cbMultiByte is dependent of the actual given string, the size of lpWideCharStr expressed in characters by cchWideChar is always 1.

The resulting parameters to MultiByteToWideChar() will lead to a failure as lpWideCharStr cannot accommodate the converted string if the size pointed by lpMultiByteStr is larger than the buffer wide string to receive the converted output, a Win32 error code of ERROR_INSUFFICIENT_BUFFER in other words. The fact that _mbtowc_l never fails without WINE Gecko package installed is because the codepage pointed by lc_codepage is CP_ACP and the converted output is directly given to the destination wide string parameter thus never calling MultiByteToWideChar(). Installing WINE Gecko merely unhides this problem.

As _mbtowc_l is imported from WINE and that they have updated their code (which at the same time this fixes the aforementioned problem), the following commit syncs the updated code from WINE.

CORE-16885
2020-04-28 22:41:57 +02:00
Mohamed Mediouni
fec11747bb [CRT] Implement __chkstk function for ARM (#1595)
Incoming r4 contains the number of dwords to allocate, converting to bytes then return.
This makes ReactOS applications compiled for ARM running on true ARM Windows.

Reference: 2b095beace
2020-04-26 19:58:53 +03:00
Mohamed Mediouni
f2f97f9f4c [CRT] ARM & ARM64 Windows do not have initenv in their CRTs (#1597)
Native CRT on ARM & ARM64 Windows doesn't have these functions.
For compatibility, it's mandatory to not have it at all. Otherwise,
ARM executables built for ReactOS do not run on true ARM Windows.

Consider doing full sync with mingw-w64 CRT in future.
2020-04-26 19:56:34 +03:00
Sylvain Deverre
666bac44c0
[LWIP] Use tcp_close when both shut_rx and shut_tx are set. Fixes CORE-16868 (#2582) 2020-04-26 18:40:47 +02:00
Mark Jansen
d5f0b2b160
[RTL] Implement LdrpRecordUnloadEvent 2020-04-26 14:35:51 +02:00
Mark Jansen
f26b670b38
[RTL] Partially implement RtlCreateQueryDebugBuffer and RtlDestroyQueryDebugBuffer 2020-04-26 13:44:02 +02:00
Thomas Faber
f22fa382fe
[LIBXML2] Update to version 2.9.10. CORE-16952 2020-04-24 14:44:52 +02:00
Katayama Hirofumi MZ
774ef4e80e
[SDK][RTL][NTDLL_APITEST] Add RtlMultipleAllocateHeap and RtlMultipleFreeHeap (#2641)
- Add RtlMultipleAllocateHeap and RtlMultipleFreeHeap functions (2k3+).
- Add a testcase for two functions.
CORE-12026
2020-04-24 17:45:43 +09:00
Victor Perevertkin
194ea909fd
[BTRFS][UBTRFS][SHELLBTRFS] Upgrade to 1.7.2
CORE-16679
2020-04-23 07:07:36 +03:00