reactos.git
2 years ago[IMM32] Rewrite ImmGetDescriptionA/W (#3780)
Katayama Hirofumi MZ [Sat, 3 Jul 2021 23:18:15 +0000 (08:18 +0900)]
[IMM32] Rewrite ImmGetDescriptionA/W (#3780)

CORE-11700

2 years ago[WORDPAD] Fix icons for toolbar and formatbar (#3792) CORE-5823
Doug Lyons [Sat, 3 Jul 2021 20:55:05 +0000 (15:55 -0500)]
[WORDPAD] Fix icons for toolbar and formatbar (#3792) CORE-5823

* CORE-5823 Fix icons for toolbar and formatbar in Wordpad.
which regressed by SVN r47776 == git 5dbfbb5201a915bc65d88f5818afc81cc6f54231

* Add wordpad_ros.diff noting toolbar.bmp and formatbar.bmp are not wine-synced

2 years ago[SERVMAN] Add Portuguese (pt-PT) Translation
Jose Carlos Jesus [Thu, 24 Jun 2021 15:44:45 +0000 (16:44 +0100)]
[SERVMAN] Add Portuguese (pt-PT) Translation

2 years ago[BOOTDATA] Add Portuguese translation to shortcuts.inf
Jose Carlos Jesus [Mon, 21 Jun 2021 16:02:44 +0000 (17:02 +0100)]
[BOOTDATA] Add Portuguese translation to shortcuts.inf

2 years ago[MSCUTILS][EVENTVWR] Add Portuguese PT translation
Jose Carlos Jesus [Mon, 21 Jun 2021 13:30:10 +0000 (14:30 +0100)]
[MSCUTILS][EVENTVWR] Add Portuguese PT translation

2 years ago[USETUP] Update Portuguese PT translation
Jose Carlos Jesus [Mon, 21 Jun 2021 10:46:28 +0000 (11:46 +0100)]
[USETUP] Update Portuguese PT translation

2 years ago[NTOS:IO] OpenRegistryHandlesFromSymbolicLink: Use REG_OPTION_NON_VOLATILE
Oleg Dubinskiy [Sun, 4 Apr 2021 17:57:23 +0000 (20:57 +0300)]
[NTOS:IO] OpenRegistryHandlesFromSymbolicLink: Use REG_OPTION_NON_VOLATILE
Use REG_OPTION_NON_VOLATILE instead of REG_OPTION_VOLATILE in all ZwCreateKey calls of OpenRegistryHandlesFromSymbolicLink, since the keys created/opened by this function, should be non-volatile (in other words, be saved after reboot).
Also Device Parameters subkey that is created in IoOpenDeviceInterfaceRegistryKey (which uses that routine as well), is non-volatile too, so the parent keys whose contain it, cannot be volatile.
It will fix an error with status 0xc0000181 (STATUS_CHILD_MUST_BE_VOLATILE) occuring during loading kernel mode audio drivers from Windows XP/2003, especially checked (debug) versions, with my IoGetDeviceInterfaceAlias implementation. Also it may fix other error cases.
CORE-17361

2 years ago[NTOS:SE] Assign the control flag bits to the newly created security descriptor
George Bișoc [Sat, 3 Jul 2021 15:20:48 +0000 (17:20 +0200)]
[NTOS:SE] Assign the control flag bits to the newly created security descriptor

We allocate memory pool for a new security descriptor with specific info filled by the caller but we don't set the control flag bits for the newly allocated descriptor, which is wrong. Originally spotted by Vadim Galyant.
CORE-17650

2 years ago[SAMSRV] Older functions should call newer functions
Eric Kohl [Sat, 3 Jul 2021 12:46:32 +0000 (14:46 +0200)]
[SAMSRV] Older functions should call newer functions

2 years ago[RAPPS] Kill 2x EOL white-space in loaddlg.cpp
Joachim Henze [Sat, 3 Jul 2021 11:49:48 +0000 (13:49 +0200)]
[RAPPS] Kill 2x EOL white-space in loaddlg.cpp

Both were introduced during 0.4.15-dev'ing
and were not in any earlier rls branches.
They were the only 2 in here btw.

2 years ago[NETAPI32] Zero out lpNameBuffer in NetGetJoinInformation
Timo Kreuzer [Tue, 15 Jun 2021 09:32:29 +0000 (11:32 +0200)]
[NETAPI32] Zero out lpNameBuffer in NetGetJoinInformation

This is needed, because for some reason, otherwise RPCRT4 will assume that whatever value is in there is already the buffer and copy the string there.
Fixes exception in Chrome 48.

2 years ago[RTL/x64] Properly handle UNW_FLAG_CHAININFO
Timo Kreuzer [Tue, 15 Jun 2021 09:28:02 +0000 (11:28 +0200)]
[RTL/x64] Properly handle UNW_FLAG_CHAININFO

2 years ago[ROSAUTOTEST] Run tests with current dir set to the test dir
Timo Kreuzer [Tue, 29 Jun 2021 07:36:46 +0000 (09:36 +0200)]
[ROSAUTOTEST] Run tests with current dir set to the test dir

2 years ago[WIN32K] Revert NtGdiStretchDIBitsInternal to Previous Logic (#3774)
Doug Lyons [Fri, 2 Jul 2021 22:34:43 +0000 (17:34 -0500)]
[WIN32K] Revert NtGdiStretchDIBitsInternal to Previous Logic (#3774)

Fixes gdi32:dib / gdi32:bitmap tests and SIMS graphics.
JIRA issue: CORE-16236

2 years ago[IMM32] ImmDisableIME calls NtUserDisableThreadIme (#3776)
Katayama Hirofumi MZ [Thu, 1 Jul 2021 09:03:42 +0000 (18:03 +0900)]
[IMM32] ImmDisableIME calls NtUserDisableThreadIme (#3776)

- Just call NtUserDisableThreadIme in ImmDisableIME directly. CORE-11700

2 years ago[SHELL32] Implement PathResolveA function (#3771)
Katayama Hirofumi MZ [Wed, 30 Jun 2021 23:42:29 +0000 (08:42 +0900)]
[SHELL32] Implement PathResolveA function (#3771)

- Follow-up of #3762.
- Add PathResolveA implementation by ANSI/Unicode string conversion.
CORE-12665

2 years ago[CRT] Revert unwanted part of f30136bc79109af5df33526974e24b39353773c7
Jérôme Gardou [Tue, 29 Jun 2021 10:48:25 +0000 (12:48 +0200)]
[CRT] Revert unwanted part of f30136bc79109af5df33526974e24b39353773c7

2 years ago[NTOS:KE] Unconditionally check IRQL when acquiring & releasing spinlock at DISPATCH_...
Jérôme Gardou [Fri, 21 May 2021 07:44:32 +0000 (09:44 +0200)]
[NTOS:KE] Unconditionally check IRQL when acquiring & releasing spinlock at DISPATCH_LEVEL

2 years ago[NTOS:KE] Test spinlock ownership on both UP & MP build
Jérôme Gardou [Thu, 20 May 2021 08:13:40 +0000 (10:13 +0200)]
[NTOS:KE] Test spinlock ownership on both UP & MP build

There is no reason not to, and this avoids introducing bugs stupidly.

2 years ago[NTOS:KD][NTOS:KD64][NTOS:KDBG] Fix IRQL & spinlock use
Jérôme Gardou [Tue, 22 Jun 2021 17:46:27 +0000 (19:46 +0200)]
[NTOS:KD][NTOS:KD64][NTOS:KDBG] Fix IRQL & spinlock use

KD64: Raise to HIGH_LEVEL when entering trap
KDBG: lower to DISPATCH_LEVEL when applying IRQL hack & use a worker thread to load symbols
KD&KDBG: Actually unload symbols when required

2 years ago[CMAKE:GCC] Produce RosSym data even when building with separate debug symbols
Jérôme Gardou [Tue, 22 Jun 2021 13:31:18 +0000 (15:31 +0200)]
[CMAKE:GCC] Produce RosSym data even when building with separate debug symbols

2 years ago[NTOS:KD] Release lock before calling KdpPrint
Jérôme Gardou [Tue, 22 Jun 2021 10:00:46 +0000 (12:00 +0200)]
[NTOS:KD] Release lock before calling KdpPrint

Avoiding resursive spinlock acquisition

2 years ago[NTOS:KD64][NTOS:KDBG] Fix spinlocks use
Jérôme Gardou [Tue, 22 Jun 2021 09:41:25 +0000 (11:41 +0200)]
[NTOS:KD64][NTOS:KDBG] Fix spinlocks use

Raise IRQL before entering debugger, so that KeAcquireSpinLockAtDpcLevel works as expected.
 - HIGH_LEVEL since we don't know where we are coming from.

Do not try to read debug symbol from files in KDBG.
 - There is no reason that this works if Mm didn't map it in the first place.

2 years ago[CMAKE] Get rid of freeldr_pe_dbg target
Jérôme Gardou [Mon, 21 Jun 2021 12:57:45 +0000 (14:57 +0200)]
[CMAKE] Get rid of freeldr_pe_dbg target

objcopy bug is now solved and I can't remember how this used to work anyway.
Use strip instead.
If you need to debug freeldr
 - set SEPARATE_DBG cmake var to TRUE
 - use qemu GDB stub
 - In GDB : add-symbol-file <build_dir>/symbols/freeldr_pe.exe

2 years ago[NTOS:KDBG] Use internal KdpDPrintf instead of DbgPrint
Jérôme Gardou [Fri, 18 Jun 2021 16:14:51 +0000 (18:14 +0200)]
[NTOS:KDBG] Use internal KdpDPrintf instead of DbgPrint

DbgPrint is implemented through a breakpoint, and then KD tries to recursively
lock its own spinlock. Call a lower level routine instead.

2 years ago[WIN32K:NTUSER] Do not pass NULL keyboard layout to IntToUnicodeEx
Jérôme Gardou [Fri, 18 Jun 2021 10:43:53 +0000 (12:43 +0200)]
[WIN32K:NTUSER] Do not pass NULL keyboard layout to IntToUnicodeEx

There's an ASSERT on that

2 years ago[KMTESTS] Fix tests for uniprocessor checked build
Jérôme Gardou [Wed, 26 May 2021 15:06:11 +0000 (17:06 +0200)]
[KMTESTS] Fix tests for uniprocessor checked build

2 years ago[NTOS:KE] Implement KeAcquireInStackQueuedSpinLockForDpc & KeReleaseInStackQueuedSpin...
Jérôme Gardou [Wed, 26 May 2021 15:05:15 +0000 (17:05 +0200)]
[NTOS:KE] Implement KeAcquireInStackQueuedSpinLockForDpc & KeReleaseInStackQueuedSpinLockForDpc

2 years ago[HAL] Hack KeTryToAcquireQueuedSpinlock & KeTryToAcquireQueuedSpinLockRaiseToSynch...
Jérôme Gardou [Wed, 26 May 2021 15:03:55 +0000 (17:03 +0200)]
[HAL] Hack KeTryToAcquireQueuedSpinlock & KeTryToAcquireQueuedSpinLockRaiseToSynch into a somewhat working implementation

2 years ago[NTOS:MM] Fix another instance of reentrant spinlock acquisition
Jérôme Gardou [Thu, 20 May 2021 09:48:02 +0000 (11:48 +0200)]
[NTOS:MM] Fix another instance of reentrant spinlock acquisition

2 years ago[CONUTILS:PAGER][MORE] Implement text line caching + fix some bugs.
Hermès Bélusca-Maïto [Mon, 28 Jun 2021 18:08:38 +0000 (20:08 +0200)]
[CONUTILS:PAGER][MORE] Implement text line caching + fix some bugs.

- Implement caching of individual (newline-separated) text lines; this
  behaviour can be enabled with a flag (enabled by MORE):
  CON_PAGER_CACHE_INCOMPLETE_LINE.
  This feature is necessary when reading a text file, whose text lines
  may span across two or more successive temporary read buffers, and is
  required for correctly determining whether the lines being read are
  blank and may be squeezed.

- When squeezing blank lines, the blank-line check must be done for each
  line segment corresponding to the screen line (and following) that
  need to be displayed. This matches the behaviour of MS MORE.COM.

- Fix the IsBlankLine() check to not consider FORM-FEEDs as being blank
  characters: This is necessary for correctly handling FORM-FEED
  expansion. Also note that MS MORE.COM only checks for spaces and TABs,
  so we are slightly overdoing these checks (considering other types of
  whitespace).

- Get rid of ConCallPagerLine() and the intermediate CON_PAGER_DONT_OUTPUT
  state flag that were used repeatedly for each and every small line
  chunks. Instead, call directly the user-specified 'PagerLine' callback
  when we are about to start treating the next line segment to be
  displayed (see comment above).

- Fix the exit return condition of ConPagerWorker(): it should return
  TRUE whenever we displayed all the required lines, and FALSE otherwise.
  Otherwise, the previous (buggy) condition on the data being read from
  the text file, may lead to the prompt not showing when a screenful of
  text has been displayed, if it happened that the current text buffer
  becomes empty at the same time (even if, overall, the text file hasn't
  been fully displayed).

- In MorePagerLine(), when we encounter for the first time a blank line
  that will be squeezed with other successive ones, display a single
  blank line. But for that, just display one space and a newline: this
  single space is especially needed in order to force line wrapping when
  the ENABLE_VIRTUAL_TERMINAL_PROCESSING or DISABLE_NEWLINE_AUTO_RETURN
  console modes are enabled. Otherwise the cursor remains at the
  previous line (without wrapping), and just outputting one newline will
  not make it move past 2 lines as one would naively expect.

2 years ago[CONUTILS:PAGER] Extract the character-specific handling out of the character-loop.
Hermès Bélusca-Maïto [Sun, 27 Jun 2021 22:49:48 +0000 (00:49 +0200)]
[CONUTILS:PAGER] Extract the character-specific handling out of the character-loop.

This also allows to factor out the ConCallPagerLine() call for outputting the pending text.

2 years ago[CONUTILS:PAGER][MORE] Fix the default paging region.
Hermès Bélusca-Maïto [Sun, 27 Jun 2021 13:58:25 +0000 (15:58 +0200)]
[CONUTILS:PAGER][MORE] Fix the default paging region.

- The column extent should cover the whole width of the console screenbuffer.
  On the contrary, the line extent covers only the number of lines that
  cover the current displayed console window.

- Since the console can be resized while the pager is prompting, we need
  to actually recalculate in the prompt routine the default number of
  lines for a screen.

- Reset s_nNextLineNo when paging a new file.

2 years ago[CONUTILS:PAGER][MORE] Code style/formatting.
Hermès Bélusca-Maïto [Sun, 27 Jun 2021 00:23:12 +0000 (02:23 +0200)]
[CONUTILS:PAGER][MORE] Code style/formatting.

- Shorten the names of the flags: CON_PAGER_FLAG_*** --> CON_PAGER_***.
- Reorder few members in the CON_PAGER pager structure where they make sense.
- ScreenColumns, ScreenRows --> PageColumns, PageRows: keeping the open
  possibility for having a pager controlling a region of different size
  than the screen.
- Add doxygen documentation for ConWritePaging().

2 years ago[CMAKE] Use BUILD_MP CMake option correctly
Victor Perevertkin [Mon, 28 Jun 2021 14:54:09 +0000 (17:54 +0300)]
[CMAKE] Use BUILD_MP CMake option correctly

2 years ago[PSDK] Alias _Check_return_ annotation to warn_unused_result attribute
Jérôme Gardou [Tue, 22 Jun 2021 08:57:06 +0000 (10:57 +0200)]
[PSDK] Alias _Check_return_ annotation to warn_unused_result attribute

2 years ago[CRT] Put __MINGW_EXTENSION (whatever that means) in front of function declarations
Jérôme Gardou [Tue, 22 Jun 2021 09:09:12 +0000 (11:09 +0200)]
[CRT] Put __MINGW_EXTENSION (whatever that means) in front of function declarations

Needed for next commit

2 years ago[SDK] Add GCC overrides for SAL annotations
Jérôme Gardou [Thu, 17 Jun 2021 12:48:52 +0000 (14:48 +0200)]
[SDK] Add GCC overrides for SAL annotations

GCC has some functions, variables & type attributes which can be used as aliases
for some of the SAL annotations. Although it's not as rich & precise, it's still useful
since we actually enable -Werror on GCC builds whereas we don't use such an option
on MSVC builds.

For now, _Must_inspect_result_ is aliased to warn_result_unused attribute.

2 years ago[NDK][XDK] Remove _Must_inspect_result_ from RtlTimeFieldsToTime & RtlTimeToSecondsSi...
Jérôme Gardou [Tue, 22 Jun 2021 08:28:47 +0000 (10:28 +0200)]
[NDK][XDK] Remove _Must_inspect_result_ from RtlTimeFieldsToTime & RtlTimeToSecondsSince1970

WDK doesn't have it and it causes more mess than anything.
CORE-17637

2 years ago[DDK] Do not put _Must_inspect_result_ on function returning void & without _Out_...
Jérôme Gardou [Fri, 18 Jun 2021 08:02:50 +0000 (10:02 +0200)]
[DDK] Do not put _Must_inspect_result_ on function returning void & without _Out_ parameters

2 years ago[NTOS:FSRTL] Check return status of FsRtl locking functions
Jérôme Gardou [Fri, 18 Jun 2021 08:01:59 +0000 (10:01 +0200)]
[NTOS:FSRTL] Check return status of FsRtl locking functions

CORE-17637

2 years ago[WDF] Synchronize function attributes between declaration & definition
Jérôme Gardou [Fri, 18 Jun 2021 07:58:04 +0000 (09:58 +0200)]
[WDF] Synchronize function attributes between declaration & definition

Addendum to 1f377076d783

2 years ago[NTOS:CONFIG] Do not ignore Rtl*String functions return value
Jérôme Gardou [Thu, 17 Jun 2021 16:19:04 +0000 (18:19 +0200)]
[NTOS:CONFIG] Do not ignore Rtl*String functions return value

CORE-17637

2 years ago[NTOS:OB] Use RtlInitUnicodeString for constant string
Jérôme Gardou [Thu, 17 Jun 2021 15:59:32 +0000 (17:59 +0200)]
[NTOS:OB] Use RtlInitUnicodeString for constant string

CORE-17637

2 years ago[NTOS:SE] Do not ignore SepAccessCheckAndAuditAlarmWorker return value
Jérôme Gardou [Thu, 17 Jun 2021 15:55:14 +0000 (17:55 +0200)]
[NTOS:SE] Do not ignore SepAccessCheckAndAuditAlarmWorker return value

CORE-17637

2 years ago[NTOS:PO] Do not ignore IoRegisterPlugPlayNotification return value
Jérôme Gardou [Thu, 17 Jun 2021 15:52:12 +0000 (17:52 +0200)]
[NTOS:PO] Do not ignore IoRegisterPlugPlayNotification return value

CORE-17637

2 years ago[NTOS:INBV] Do not ignore RtlUnicodeStringToOemString return value
Jérôme Gardou [Thu, 17 Jun 2021 15:49:40 +0000 (17:49 +0200)]
[NTOS:INBV] Do not ignore RtlUnicodeStringToOemString return value

CORE-17637

2 years ago[NTOS:IO] Do not ignore RtlDuplicateUnicodeString return value
Jérôme Gardou [Thu, 17 Jun 2021 15:47:01 +0000 (17:47 +0200)]
[NTOS:IO] Do not ignore RtlDuplicateUnicodeString return value

CORE-17637

2 years ago[NTOS:EX] Do not ignore PsCreateSystemThread return value
Jérôme Gardou [Thu, 17 Jun 2021 15:41:37 +0000 (17:41 +0200)]
[NTOS:EX] Do not ignore PsCreateSystemThread return value

CORE-17637

2 years ago[NTOS:EX] Do not ignore RtlAnsiStringToUnicodeString return value
Jérôme Gardou [Thu, 17 Jun 2021 15:24:34 +0000 (17:24 +0200)]
[NTOS:EX] Do not ignore RtlAnsiStringToUnicodeString return value

CORE-17637

2 years ago[NTOS:MM] Check result of RtlCreateUnicodeString in MmGetFileNameForAddress
Jérôme Gardou [Thu, 17 Jun 2021 14:45:28 +0000 (16:45 +0200)]
[NTOS:MM] Check result of RtlCreateUnicodeString in MmGetFileNameForAddress

CORE-17637

2 years ago[NTOS:IO] Check RtlCreateUnicodeString return value when initializing PnP services
Jérôme Gardou [Thu, 17 Jun 2021 14:38:32 +0000 (16:38 +0200)]
[NTOS:IO] Check RtlCreateUnicodeString return value when initializing PnP services

CORE-17637

2 years ago[NTOS:IO] Check RtlAnsiStringToUnicodeString return value when initializing Arc names
Jérôme Gardou [Thu, 17 Jun 2021 14:36:32 +0000 (16:36 +0200)]
[NTOS:IO] Check RtlAnsiStringToUnicodeString return value when initializing Arc names

CORE-17637

2 years ago[NTOS:IO] Check RtlAnsiStringToUnicodeString return value when initializing ramdisk
Jérôme Gardou [Thu, 17 Jun 2021 14:33:33 +0000 (16:33 +0200)]
[NTOS:IO] Check RtlAnsiStringToUnicodeString return value when initializing ramdisk

CORE-17637

2 years ago[NSLOOKUP] Check WSAStartup return value
Jérôme Gardou [Thu, 17 Jun 2021 14:17:44 +0000 (16:17 +0200)]
[NSLOOKUP] Check WSAStartup return value

CORE-17637

2 years ago[NET] Properly check return value of EnumServicesStatusW on first call
Jérôme Gardou [Thu, 17 Jun 2021 13:59:48 +0000 (15:59 +0200)]
[NET] Properly check return value of EnumServicesStatusW on first call

2 years ago[FLTMC] Do not ignore failures of some functions
Jérôme Gardou [Thu, 17 Jun 2021 13:50:54 +0000 (15:50 +0200)]
[FLTMC] Do not ignore failures of some functions

Also reduce use of magic values.

CORE-17637

2 years ago[RTL] In RtlReleasePrivilege, raise exception if restoring old privileges fails
Jérôme Gardou [Thu, 17 Jun 2021 13:42:07 +0000 (15:42 +0200)]
[RTL] In RtlReleasePrivilege, raise exception if restoring old privileges fails

CORE-17637

2 years ago[RTL] When taking system volume ownership, assert that we succeeded to restore privileges
Jérôme Gardou [Thu, 17 Jun 2021 13:39:40 +0000 (15:39 +0200)]
[RTL] When taking system volume ownership, assert that we succeeded to restore privileges

CORE-17637

2 years ago[RTL] Check and cascade down RtlGUIDFromString value
Jérôme Gardou [Thu, 17 Jun 2021 13:31:11 +0000 (15:31 +0200)]
[RTL] Check and cascade down RtlGUIDFromString value

CORE-17637

2 years ago[FREELDR] Check HwInterrupt return value
Jérôme Gardou [Thu, 17 Jun 2021 13:07:39 +0000 (15:07 +0200)]
[FREELDR] Check HwInterrupt return value

_Must_inspect_result_ is there for a reason
CORE-17637

2 years ago[SDK] Add missing sal annotations in driverspecs.h and kernelspec.h
Timo Kreuzer [Sun, 27 Jun 2021 09:18:49 +0000 (11:18 +0200)]
[SDK] Add missing sal annotations in driverspecs.h and kernelspec.h

CORE-6706

2 years agoRevert "[SHELL32] Don't check for link files being targets for other link files....
Hermès Bélusca-Maïto [Mon, 28 Jun 2021 02:11:00 +0000 (04:11 +0200)]
Revert "[SHELL32] Don't check for link files being targets for other link files. Addendum to 3a822e4f."

This reverts commit 3249a003648aff04bbef46a0ff74a76fe0c6614b.

2 years ago[SHLWAPI] Fix a trivial bug in PathFileExistsDefExtW() that seems to exist since...
Hermès Bélusca-Maïto [Mon, 28 Jun 2021 00:06:15 +0000 (02:06 +0200)]
[SHLWAPI] Fix a trivial bug in PathFileExistsDefExtW() that seems to exist since 16+ years in Wine.

Suppose dwFlags == 1 | 4 (i.e. skipping the flag 2).
Then the while-loop would only run once, because at the second iteration
(after dwWhich >>= 1; has been executed once), dwWhich value == 2, but
dwWhich & 0x1 == 0, which makes the while-loop condition false.
Instead the loop should run, but the handling of the extension should be
skipped.

2 years ago[SHELL32] Add the handy WHICH_DEFAULT value to the list of flags in shlwapi_undoc.h.
Hermès Bélusca-Maïto [Mon, 28 Jun 2021 00:02:17 +0000 (02:02 +0200)]
[SHELL32] Add the handy WHICH_DEFAULT value to the list of flags in shlwapi_undoc.h.

- Add as well the undocumented 0x40 dwFlags value from shlwapi!PathFileExistsDefExtW()
  to the list.

- Fix a bug (also present in Win2k3) in PathResolveW() where, specifying
  the PRF_DONTFINDLNK flag, would also erroneously exclude checking for
  the .cmd extension as well (which was obviously NOT the original
  intention, from the name of the flag and the documentation as well:
  https://docs.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-pathresolve
  ).

Addendum to 3a822e4f.

2 years ago[SHELL32] Don't check for link files being targets for other link files. Addendum...
Hermès Bélusca-Maïto [Sun, 27 Jun 2021 23:59:31 +0000 (01:59 +0200)]
[SHELL32] Don't check for link files being targets for other link files. Addendum to 3a822e4f.

2 years ago[COMCTL32] Addendum to last commit (#3674) CORE-17199
Joachim Henze [Mon, 28 Jun 2021 00:05:56 +0000 (02:05 +0200)]
[COMCTL32] Addendum to last commit (#3674) CORE-17199

Keep that section like we had it to
support compilation on VS2010.
It does still work like that.

Addendum to commit 0.4.15-dev-2796-g e382b7bc3561a895d0a196a724865880b9a735f5

2 years ago[COMCTL32] Sync datetime.c to Wine-6.0 (#3674) CORE-17199
Doug Lyons [Sun, 27 Jun 2021 23:18:10 +0000 (18:18 -0500)]
[COMCTL32] Sync datetime.c to Wine-6.0 (#3674) CORE-17199

Fix automatic toggling of date display on second stage setup
Update comctrl from Wine with fix.

Sync datetime.c to Wine-6.0

2 years ago[SHELL32] Implement PathResolveW function (#3762)
Katayama Hirofumi MZ [Sun, 27 Jun 2021 22:53:26 +0000 (07:53 +0900)]
[SHELL32] Implement PathResolveW function (#3762)

- Implement PathResolveW function.
- Implement PathQualifyA/W functions using newly-defined PathQualifyExW function.
CORE-12665

2 years ago[DSOUND][WAVE] Workaround crash when recording sound in Scratch 1.4 CORE-13202
Joachim Henze [Sun, 27 Jun 2021 21:04:36 +0000 (23:04 +0200)]
[DSOUND][WAVE] Workaround crash when recording sound in Scratch 1.4 CORE-13202

It regressed by SVN r44721 == git 356d4bab16092de335705e02b0e87698ec35c393
when #define USE_MMIXER_LIB was removed.

Thanks to the patches author Doug Lyons.

VBox https://reactos.org/testman/compare.php?ids=77914,77919 LGTM
 KVM https://reactos.org/testman/compare.php?ids=77913,77918 LGTM

2 years ago[TCPIP] Fix bugcheck when using fragmented datagrams
Hervé Poussineau [Sun, 27 Jun 2021 12:44:54 +0000 (14:44 +0200)]
[TCPIP] Fix bugcheck when using fragmented datagrams

Memory was allocated from paged pool, and freed at DISPATCH_LEVEL,
leading to the following bugcheck:

*** Fatal System Error: 0x000000c2
                       (0x00000009,0x00000002,0x00000001,0xB7C8A268)

Entered debugger on embedded INT3 at 0x0008:0x8058324B.
kdb:> bt
Eip:
<ntoskrnl.exe:18324c (sdk/lib/rtl/i386/debug_asm.S:56 (RtlpBreakWithStatusInstruction))>
<ntoskrnl.exe:89b21 (ntoskrnl/ke/bug.c:1066 (KeBugCheckWithTf))>
<ntoskrnl.exe:8a08b (ntoskrnl/ke/bug.c:1413 (KeBugCheckEx))>
<ntoskrnl.exe:abb1d (ntoskrnl/mm/ARM3/expool.c:431 (ExFreePoolWithTag))>
<tcpip.sys:13e42 (sdk/lib/drivers/ip/network/receive.c:114 (FreeIPDR))>
<tcpip.sys:14e09 (sdk/include/ddk/wdm.h:11462 (IPDatagramReassemblyTimeout))>
<tcpip.sys:11604 (sdk/lib/drivers/ip/network/ip.c:135 (IPTimeoutDpcFn))>
<ntoskrnl.exe:8b7d0 (ntoskrnl/ke/dpc.c:282 (KiTimerExpiration))>
<ntoskrnl.exe:8c2c8 (ntoskrnl/ke/dpc.c:592 (KiRetireDpcList))>
<ntoskrnl.exe:1420b2 (ntoskrnl/ke/i386/thrdini.c:294 (KiIdleLoop))>
<ntoskrnl.exe:23a54a (ntoskrnl/ke/i386/kiinit.c:687 (KiSystemStartupBootStack))>

2 years ago[EXT2] Fix filesystem corruption regressions CORE-17572 CORE-17195
Joachim Henze [Sun, 27 Jun 2021 14:21:32 +0000 (16:21 +0200)]
[EXT2] Fix filesystem corruption regressions CORE-17572 CORE-17195

It regressed when we upgraded Ext2Fsd to version 0.69 from version 0.68
via CORE-13980 in 0.4.8-dev-117-g a1d7e9936d8e58bc07ff2cc73a937ce845c7d542

The fix is a partial revert of that.
Thanks to the patches author Doug Lyons.

VBox https://reactos.org/testman/compare.php?ids=77904,77908 LGTM
KVM https://reactos.org/testman/compare.php?ids=77903,77907 LGTM

2 years ago[HAL:APIC] Improve code
Timo Kreuzer [Tue, 22 Jun 2021 10:53:23 +0000 (12:53 +0200)]
[HAL:APIC] Improve code

- Use an enum for the APIC registers
- Add support routine for SMP.

2 years ago[CSRSS] Fix MSVC AMD64 build
George Bișoc [Fri, 25 Jun 2021 10:42:02 +0000 (12:42 +0200)]
[CSRSS] Fix MSVC AMD64 build

2 years ago[CSRSS] Enable compilation of raise hard error function call code
George Bișoc [Fri, 25 Jun 2021 09:55:35 +0000 (11:55 +0200)]
[CSRSS] Enable compilation of raise hard error function call code

With introduction of 74e527ba330b56 and subsequently 2791ecd ReactOS can now properly set IOPL (I/O privilege level) for user mode trusted processes. With that said, enable the compilation of raise hard error function call code back.

2 years ago[CSRSS] Do not give IOPL to the Client/Server native process if ran on a AMD64 system 3756/head
George Bișoc [Sun, 20 Jun 2021 13:49:55 +0000 (15:49 +0200)]
[CSRSS] Do not give IOPL to the Client/Server native process if ran on a AMD64 system

ProcessUserModeIOPL is strictly implemented for 32-bit architecture so it doesn't make any sense for CSRSS to gather user mode I/O privilege when that won't work anyway.

2 years ago[NTOS:PS] Fix several issues within info classes in AMD64 build
George Bișoc [Sun, 20 Jun 2021 13:46:58 +0000 (15:46 +0200)]
[NTOS:PS] Fix several issues within info classes in AMD64 build

ProcessUserModeIOPL, ProcessWow64Information and ThreadZeroTlsCell classes fail on AMD64 build because of wrong IQS values assigned to them. Also explicitly tell the compiler that ProcessUserModeIOPL is strictly for x86 as user mode I/O privilege level is 32-bit stuff.
In addition to that, implement IQS_NO_TYPE_LENGTH macro which it'll be used for classes such as ProcessUserModeIOPL where type length is not required and that it should be 0. With that said, we indirectly fix a size length mismatch issue with ProcessUserModeIOPL on 32-bit of ReactOS as well.

2 years ago[NTOS:MM] Implement MmFlushImageSection(MmFlushForDelete)
Jérôme Gardou [Mon, 7 Jun 2021 17:31:24 +0000 (19:31 +0200)]
[NTOS:MM] Implement MmFlushImageSection(MmFlushForDelete)

CORE-17544

2 years ago[NTOS:MM] Simplify refcounting when adding/deleting a page in a shared segment
Jérôme Gardou [Mon, 7 Jun 2021 17:28:51 +0000 (19:28 +0200)]
[NTOS:MM] Simplify refcounting when adding/deleting a page in a shared segment

CORE-17544

2 years ago[NTOS:MM] Do not call ExAllocatePool* with PFN lock acquired
Jérôme Gardou [Fri, 21 May 2021 13:11:50 +0000 (15:11 +0200)]
[NTOS:MM] Do not call ExAllocatePool* with PFN lock acquired

Unsurprisingly, it actually might acquire it

2 years ago[ATL] Close m_hKey in CRegKey destructor and when attaching to a new key (#3764)
He Yang [Thu, 24 Jun 2021 21:50:01 +0000 (03:20 +0530)]
[ATL] Close m_hKey in CRegKey destructor and when attaching to a new key (#3764)

2 years ago[NTOSKRNL] Enforce -fno-common on GCC & CLang builds
Jérôme Gardou [Thu, 24 Jun 2021 15:07:26 +0000 (17:07 +0200)]
[NTOSKRNL] Enforce -fno-common on GCC & CLang builds

2 years ago[NTOSKRNL] Deduplicate some symbols
Jérôme Gardou [Thu, 24 Jun 2021 15:06:57 +0000 (17:06 +0200)]
[NTOSKRNL] Deduplicate some symbols

2 years ago[NTOS:MM] Fix-up call site of traced PFNs when serving a page fault
Jérôme Gardou [Thu, 24 Jun 2021 15:01:38 +0000 (17:01 +0200)]
[NTOS:MM] Fix-up call site of traced PFNs when serving a page fault

2 years ago[NTOS:MM] Save caller address when tracing PFNs
Jérôme Gardou [Thu, 24 Jun 2021 14:35:00 +0000 (16:35 +0200)]
[NTOS:MM] Save caller address when tracing PFNs

2 years ago[CMD] Do not use an intermediate buffer when reading lines from batch files
Jérôme Gardou [Wed, 23 Jun 2021 14:26:50 +0000 (16:26 +0200)]
[CMD] Do not use an intermediate buffer when reading lines from batch files

This is easier on the heap and improves cmd:batch winetest nicely

2 years ago[CMD] Improve performance a bit
Jérôme Gardou [Tue, 22 Jun 2021 10:44:56 +0000 (12:44 +0200)]
[CMD] Improve performance a bit

Do not use custom alloc/free functions by default.
Do not free resources at process exit.
 - You're doing it brick by brick while the OS  & CRT do that with a bulldozer better than you do.

2 years ago[WIN32K] CreateDIBPalette addendum to #3758 CORE-17626
Joachim Henze [Wed, 23 Jun 2021 19:37:53 +0000 (21:37 +0200)]
[WIN32K] CreateDIBPalette addendum to #3758 CORE-17626

Fix compilation on older GCC4.7.2 toolchain
to not warn about universal zero initializer.
See
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53119
https://stackoverflow.com/questions/13746033/how-to-repair-warning-missing-braces-around-initializer

2 years ago[WIN32K] CreateDIBPalette SEH Simplification #3758 CORE-17626
Joachim Henze [Wed, 23 Jun 2021 17:59:42 +0000 (19:59 +0200)]
[WIN32K] CreateDIBPalette SEH Simplification #3758 CORE-17626

Enter an SEH2_TRY one time and do all testing within it instead of entering the SEH_TRY multiple times.

The commit is an addendum to 0.4.15-dev-2734-g 514147776a7e70636911033ab6c89779b2c8ee1e

Thanks to patches author Doug-Lyons

This is 1:1 the final approved content of #3758, but I committed
by hand and closed the PR to avoid squash+rebase.

2 years ago[NTOS:MM] Fix one occurrence of MiDeletePte instead of MiDeletePde
Jérôme Gardou [Tue, 22 Jun 2021 10:04:25 +0000 (12:04 +0200)]
[NTOS:MM] Fix one occurrence of MiDeletePte instead of MiDeletePde

2 years ago[NTOS:CC] CcRosFlushVacb(): Fix Iosb annotation
Serge Gautherie [Mon, 24 May 2021 06:56:17 +0000 (08:56 +0200)]
[NTOS:CC] CcRosFlushVacb(): Fix Iosb annotation

Addendum to 2ba1926.

2 years ago[NTOS:MM] MmFlushSegment(): Fix Iosb annotation
Serge Gautherie [Mon, 24 May 2021 06:56:17 +0000 (08:56 +0200)]
[NTOS:MM] MmFlushSegment(): Fix Iosb annotation

Addendum to 90c6a65.

2 years ago[XBOX][FREELDR] Initialize PCI-AGP bridge BAR values
Stanislav Motylkov [Tue, 25 May 2021 17:32:42 +0000 (20:32 +0300)]
[XBOX][FREELDR] Initialize PCI-AGP bridge BAR values

This fixes problem with Xbox GPU not being detected as a children device.

CORE-17600 CORE-16216

2 years ago[UMPNPMGR] PNP_GetDeviceStatus: Add status checks as documented in MS-PNPR
Eric Kohl [Mon, 21 Jun 2021 22:02:56 +0000 (00:02 +0200)]
[UMPNPMGR] PNP_GetDeviceStatus: Add status checks as documented in MS-PNPR

CORE-17527

2 years ago[SAMSRV] Fix call to SamrCloseHandle in SamrGetDomainPasswordInformation
Eric Kohl [Mon, 21 Jun 2021 19:38:42 +0000 (21:38 +0200)]
[SAMSRV] Fix call to SamrCloseHandle in SamrGetDomainPasswordInformation

2 years ago[UMPNPMGR] Add missing parameter checks to PNP_GetDeviceStatus
Eric Kohl [Mon, 21 Jun 2021 19:33:24 +0000 (21:33 +0200)]
[UMPNPMGR] Add missing parameter checks to PNP_GetDeviceStatus

2 years ago[NTOS:KE] Do not allow waiting at IRQL >= DISPATCH_LEVEL when providing a timeout...
Jérôme Gardou [Fri, 21 May 2021 07:41:27 +0000 (09:41 +0200)]
[NTOS:KE] Do not allow waiting at IRQL >= DISPATCH_LEVEL when providing a timeout in KeWaitForMultipleObjects

CORE-6473

2 years ago[TCPIP][IP] Use an ERESOURCE as mutex for address files & connection end points
Jérôme Gardou [Fri, 21 May 2021 07:36:27 +0000 (09:36 +0200)]
[TCPIP][IP] Use an ERESOURCE as mutex for address files & connection end points

Spinlocks are not reentrant (and this is done a lot), using them forces us to have
an horrible hack in the kernel, which unschedules threads which are at DISPATCH_LEVEL
thus allowing another thread to take ownership of the spinlock while the unscheduled
thread should already hold it.

CORE-6473

2 years ago[USETUP] Update de-DE
Joachim Henze [Mon, 21 Jun 2021 05:37:58 +0000 (07:37 +0200)]
[USETUP] Update de-DE

Translate the Copying-bootloader status bar text
that was added during 0.4.15-dev'ing

2 years ago[NE2000] Add description for Realtek RTL8019AS (emulated by 86Box)
Stanislav Motylkov [Sun, 20 Jun 2021 17:20:16 +0000 (20:20 +0300)]
[NE2000] Add description for Realtek RTL8019AS (emulated by 86Box)