Avoid regressions CORE-14955 "Ddraw fullscreen crashes" and CORE-15652
This brings us back to before guilty commit 0.4.10-dev-55-g
7af3969e9f
and therefore downgrades
dll/directx/wine/
D3D8,D3D9,DDRAW,D3DCOMPILER_43,WINED3D
to WineStaging 3.3.
Also downgrades related header sdk/include/reactos/wine/wined3d.h
and for the first time also media/doc/README.WINE
Same versions of these dlls we had in every ros rls since 0.4.10rls.
Amine Khaldi agreed to perform this revert also for master now.
Purpose of this revert is to fix crashes when Ddraw apps switch
into fullscreen with VBEMP and inbuilt Mesa.
I tested, before:
DxDiag crashed when switching to fullscreen (CORE-14955),
Diablo II crashed immediately (CORE-15652),
Monster-Truck-Madness 2 demo crashed after main menu
Afterwards all of these apps do run.
DXTN does still work after that, even with VBEMP and inbuilt Mesa.
squashed commit of 0.4.13-RC-2-g
67dd70e5ef
and 0.4.13-RC-3-g
9f1e2cd172
[KMTESTS:RTL] (CORE-14565)
+ Added buffer overrun tests.
+ New style header.
+ ISO C90 compatibility
[DDK] (CORE-9819): RtlUnicodeStringPrintf(Ex) and RtlUnicodeStringValidate(Ex) fixes plus formatting.
[DDK]: Cosmetic changes (NTSTATUS variable naming and tabs)
[DDK] First implementation of Unicode functions for NtStrSafe (CORE-9819)
+ This implementation does not modify the interface of previous functions.
+ Since we need length returned for the destination UNICODE_STRING.Length field:
- an intermediate "Len" postfixed function was added with optional
argument to return the _vsnwprintf character count.
- Wide Printf(Ex) functions already existent work now call new Rtlp
private worker functions.
+ For several UnicodeStringPrintf(Ex) tests, see work going on CORE-14565
NOTES:
+ MSDN says they won't insert NULL characters on formatted strings. But
seems this is incorrect at MSDN (interpret this as DONT ASSUME NULL-termination).
We return zero-terminated strings, and MS functions seems to do the same.
(XP DDK 7.1)
[DDK] First implementation of Unicode functions for NtStrSafe (CORE-9819)
+ This implementation does not modify the interface of previous functions.
+ Since we need length returned for the destination UNICODE_STRING.Length field:
- an intermediate "Len" postfixed function was added with optional
argument to return the _vsnwprintf character count.
- Wide Printf(Ex) functions already existent work now call new Rtlp
private worker functions.
+ For several UnicodeStringPrintf(Ex) tests, see work going on CORE-14565
NOTES:
+ MSDN says they won't insert NULL characters on formatted strings. But
seems this is incorrect at MSDN (interpret this as DONT ASSUME NULL-termination).
We return zero-terminated strings, and MS functions seems to do the same.
(XP DDK 7.1)
[DDK] Fixed bad NtStrSafe.h va_start call (CORE-9819)
Update on RtlUnicodeStringPrintfEx plus cosmetic changes.
[DDK] First implementation of Unicode functions for NtStrSafe (CORE-9819)
+ This implementation does not modify the interface of previous functions.
+ Since we need length returned for the destination UNICODE_STRING.Length field:
- an intermediate "Len" postfixed function was added with optional
argument to return the _vsnwprintf character count.
- Wide Printf(Ex) functions already existent work now call new Rtlp
private worker functions.
+ For several UnicodeStringPrintf(Ex) tests, see work going on CORE-14565
NOTES:
+ MSDN says they won't insert NULL characters on formatted strings. But
seems this is incorrect at MSDN (interpret this as DONT ASSUME NULL-termination).
We return zero-terminated strings, and MS functions seems to do the same.
(XP DDK 7.1)
[KMTESTS:RTL] Tests for new RtlUnicodePrintf(Ex) functions (CORE-14565)
+ 45 Tests working.
+ Lacks remaining non-Unicode functions in NtStrSafe.h for now.
+ Used for first tests on CORE-9819
[KMTESTS/RTL] Fixed test not taking care of null (CORE-14565)
[DDK] Fixed bad NtStrSafe.h va_start call (CORE-9819)
[KMTESTS:RTL] First Test.
Update on RtlUnicodeStringPrintfEx plus cosmetic changes.
[KMTESTS] Added NtStrSafe to test lists (CORE-14565)
First commit: Skeleton for test implementation + Addition to COMMON SOURCES in kmtests Cmake lists.
WIP.
+Implementation of RtlStringVPrintfWorkerLenW, RtlStringVPrintfExWorkerLenW to avoid changing existing public functions. This is required as existent functions did not return vsnprintf result, so we didn't have any return info to update UNICODE_STRING.Length.
+Additional implementation of RtlUnicodeStringValidate for checking purposes.
+Former RtlStringVPrintfWorker(ex) refactored to RtlInternalStringVPrintf(Ex)WorkerW.
+No ANSI functions affected as we didn't need them for Unicode printf's.
WIP: RtlUnicodeStringPrintf
Rename RosAudioSrv to AudioSrv in audio service itself and in all system components which are related to this, same as it done in Win2k3.
It allows MS DxDiag to detect the system audio service correctly, so it becomes possible to run DirectSound test properly with MS dsound.dll, although it works with some minor errors and only in older VirtualBox versions, ~ up to 5.1.38 (and in other emulators as well).
CORE-16307
- This allows to detect and dynamically handle different partitioning schemes.
- Implemented detection of MBR, GPT, Xbox-BRFR, and partitionless disks.
- Currently only MBR and Xbox-BRFR partitions are handled and tested.
CORE-9841 CORE-15768 CORE-16216 CORE-16248
I want to visualize the message stream and verify the states of each message. ROSTESTS-328
- Add a testcase named MessageStateAnalyzer into user32_apitest.
- Also fix type casts in <windowsx.h>.
Fixes GCC 8 warning:
In file included from base/applications/msconfig_new/xmldomparser.hpp:26,
from base/applications/msconfig_new/toolspage.cpp:11:
sdk/include/psdk/msxml2.h:12705:20: error: ISO C++ forbids converting a string constant to 'BSTR' {aka 'wchar_t*'} [-Werror=write-strings]
BSTR uri = L"x") = 0;
^~~~
- Add the following macros into <windowsx.h> header: HANDLE_WM_COPYDATA, HANDLE_WM_DEVICECHANGE, HANDLE_WM_DISPLAYCHANGE, HANDLE_WM_HOTKEY, and HANDLE_WM_MOUSEWHEEL.
- Fix HANDLE_WM_CONTEXTMENU macro.
- Un-hardcode the RPL_MASK value.
- s/KiUnexpectedInterrupt&Number/KiUnexpectedInterrupt&Vector/
- Use C-style comments in traphdlr.c as everywhere else in the file.
- Update the URLs for the MSDN "FPO" macro documentation.
- Windows requires 16 bytes of response data.
- Add the PLUGPLAY_CONTROL_USER_RESPONSE_DATA type.
- Usetup and Umpnpmgr must fail if NtPlugPlayControl(PlugPlayControlUserResponse) does not return STATUS_SUCCESS.
These are required by latest mingw-w64 stl and we are mixing this with our crt headers.
Define _CRT_NO_POSIX_ERROR_CODES in all modules that define their own constants.
It retrieves the handle to the desktop assigned to the specified
thread belonging to a console application, which is going to be
where the input thread of this console is.
There is no need to compile our DLLs as shared libraries since we are
managing symbols exports and imports through spec files.
On my system, this reduces the configure-time by a factor of two.
../sdk/include/reactos/rosctrls.h:283:59: error: no matching function for call to 'CToolbar<TItemData>::SendMessageW(int, HWND__*&, int)'
return SendMessageW(TB_SETTOOLTIPS, hWndTooltip, 0);
../sdk/include/psdk/winuser.h:5543:21: note: candidate: LRESULT ATL::CWindow::SendMessageW(UINT, WPARAM, LPARAM) <near match>
../sdk/include/psdk/winuser.h:5543:21: note: conversion of argument 2 would be ill-formed
- Assume that GetTextExtentExPointWPri() uses the same kind of
arguments as GetTextExtentExPointW().
- Add GetTextExtentExPointWPri() declaration to undocgdi.h.
Since ReactOS doesn't actually support non-local WinSTA/WTS capabilities, this seems to be a good way to reduce spam in the log while providing correct behaviour.
Also call Unicode version from ANSI one to reduce code duplication.
This is done by marking everything that is already loaded but not 'processed'.
After the shim engine is done initializing, the original state is restored,
with the exception of the shim engine itself.
CORE-15846
Modify the .code16 macro so that the 16-bit code segment can get a
chance to be correctly merged with other (possibly 32-bit) code
segments, without keeping generating multiple .text segments with
different attributes and generating the corresponding LNK4078 warning.
This fixes the warning when compiling NTOSKRNL on MSVC:
"v86.S.obj : warning LNK4078: multiple '.text' sections found with different attributes (C0520040)".
* [WIN32K] Fix handle calculation in DbgGdiHTIntegrityCheck
* [NOTEPAD] Fix MSVC warnings
* [PSDK] Simplify *PROC definitions in windef.h
* [VIDEOPRT] Don't try to use NtVdmControl on x64
* [FREELDR] Fix some macros
* [CRT] Make qsort 64 bit compatible
* [NTOS] Use #ifndef _WIN64 instead of #ifdef _M_IX86 around C_ASSERTs
* [FAST486] Fix 64 bit warnings and change DWORD to ULONG, so it can be used in kernel mode
* [APPHELP_APITEST] Fix 64 bit issue
* Add an NDK header to define INIT_FUNCTION/INIT_SECTION globally
* Use _declspec(allocate(x)) and _declspec(code_seg(x)) on MSVC versions that support it
* Use INIT_FUNCTION on functions only and INIT_SECTION on data only (required by MSVC)
* Place INIT_FUNCTION before the return type (required by MSVC)
* Make sure declarations and implementations share the same modifiers (required by MSVC)
* Add a global linker option to suppress warnings about defined but unused INIT section
* Merge INIT section into .text in freeldr
Fixes MSVC warnings:
sdk\include\crt\xmmintrin.h(33): warning C4162: '_mm_getcsr': no function with C linkage found
sdk\include\crt\xmmintrin.h(35): warning C4162: '_mm_setcsr': no function with C linkage found
Some initial work is done, all testcases pass now.
However a lot of the patch format is still unknown / not working,
so do not expect anything other than the apitest to work yet.
The next thing to do now, is to gather input, output and patch files,
and analyze how the compression and patching works on bigger /
more complex files.
CORE-15417
In the struct passed to SHCreateFromDesktop the fourth field is the parameter that later on will be passed to ShowWindow. Initialize it properly so that when we run filrbrowser.exe in win2k3 the main window won't be hidden.
Following r75518, we use the $winnt$.inf file (created in System32
by the 1st-stage installer) as the setup information file for the
2nd-stage setup for:
- retrieving the installation source media path;
- retrieving the unattended information that was copied from the
unattend.inf file from the installation source media.
The installation source media path is converted from NT format to
Win32 format for usage with Win32 functions and storage in the registry:
this is done by GetInstallSourceWin32(), which replaces the hackish
GetRosInstallCD() function.
The $winnt$.inf file is also updated, and the registry values "SourcePath"
and "ServicePackSourcePath" are created / updated in:
HKLM\Software\Microsoft\Windows\CurrentVersion\Setup .
svn path=/branches/setup_improvements/; revision=75524
CORE-12671
- The default format is used when no format name is specified: this is
the one we use so far in ReactOS:
<debug_class>:(<file>:<line>) <message>
with "debug_class" being "trace", "warn", "err".
- The "wine" format is the one used by Wine. It can be used when trying
to diff-compare traces for a module with the corresponding one
obtained from a Wine run. It can also be useful because the logging of
Wine-synced code assumes that the function names are automatically
added by the helper macros "FIXME()", "TRACE()", "WARN()" or "ERR()",
and not manually inside the logging string given to these macros:
for example:
FIXME("(%params) message\n", params);
displays:
fixme:<module>:SomeFunc(params) message
- The "extended" (or "ext") format is very noisy and tries to output a
lot of information; it is a hybrid of the previous two formats:
<debug_class>:(<file>:<line>):<channel>:SomeFunc <message>
Support for displaying the current process ID is added in
addition to the already existing support for thread ID.
These macros should be implemented using the FsRtlTestAnsiCharacter() macro
that performs extended tests, especially for buffer overruns.
This fixes FsRtlIsAnsiCharacterWild(), FsRtlIsAnsiCharacterLegalFat(),
FsRtlIsAnsiCharacterLegalHpfs(), FsRtlIsAnsiCharacterLegalNtfs().
CORE-14067
as documented in "Advanced Windows NT" by Jeffrey M. Richter (Microsoft Press),
and in https://is.muni.cz/el/1433/jaro2010/PB167/um/cv5/undocumented_CreateProcess.pdf .
[INCLUDE][SERVICES][WIN32K:NTUSER] Add an undocumented STARTF_INHERITDESKTOP flag
for the STARTUPINFO::dwFlags structure member, whose purpose is to tell Win32k
that the created handles to the window station and desktop to which the
process is connecting to, can be inherited by its child processes.
It is used when starting interactive services.
Observed via API monitoring on Windows 2003.
- Rename ObDirectoryType to ObpDirectoryObjectType and remove it from NDK (this is not exported!)
- Rename ObSymbolicLinkType to ObpSymbolicLinkObjectType
- Remove duplicated ObpTypeObjectType from ob.h
- Service bits are set by NetrServerSetServiceBits and can be retrieved by NetrServerGetInfo.
- The real name of function 42 is NetrServerSetServiceBitsEx and the real name of function 47 is NetrDfsSetServerInfo.
The "Run" dialog failed when multiple parameters wee specified.
We use instead a newly-created ShellExecCmdLine() helper function to fix the problem (as found via API-tracing on Windows).
Note that ShellExecCmdLine() starts to be exported with Vista+.
- Implement ShellExecCmdLine() function in shell32.
- Add URL support.
- Fix RunDlgProc function in shell32.
- Add a testcase for ShellExecCmdLine() function.
CORE-14790
GAS uses ".double" symbol for declaring floating-point constants and
".quad" symbol for declaring 64-bit numbers.
This is not compatible with our macro for MASM and introduces bugs.
Now 64-bit constants are supposed to be declared using ".quad" macro.
NDK: Define PLUGPLAY_CONTROL_PROPERTY_DATA.Properties and PLUGPLAY_CONTROL_DEVICE_RELATIONS_DATA.Relations values.
NTOSKRNL: Map PLUGPLAY_CONTROL_PROPERTY_DATA.Properties values to IoGetDeviceProperty properties and add (dummy) code for unsupported cases.
UMPNPMGR: Use PLUGPLAY_CONTROL_PROPERTY_DATA.Properties values in PNP_GetDeviceRegProp.
The keyboard shortcuts Win+D and Win+M are also enabled.
- Implement IShellDispatch4::ToggleDesktop().
- Implement some commands in CTrayWindow.
- Add "sdk/include/reactos/traycmd.h" for tray commands.
- Fix task window switching.
- Improve the user32!SwitchToThisWindow() function and use it.
CORE-14318, CORE-13157
See also: CORE-14806 and CORE-8723
- Implement shell32 RegenerateUserEnvironment() function and use it.
- CShellBrowser and CDesktopBrowser implements WM_SETTINGCHANGE actions.
CORE-1459, CORE-14397