2 days ago[WINESYNC] msvcrt: Don't fail when _aligned_offset_malloc is used with size=0. master
Timo Kreuzer [Tue, 10 Jan 2023 09:50:18 +0000 (11:50 +0200)]
[WINESYNC] msvcrt: Don't fail when _aligned_offset_malloc is used with size=0.

wine commit id 7771552f247660acc472b4862f32c4f8426be180 by Piotr Caban <>

2 days ago[WINESYNC] msvcrt: Fixed strncpy_s behavior when count equals 0.
Timo Kreuzer [Tue, 10 Jan 2023 09:36:51 +0000 (11:36 +0200)]
[WINESYNC] msvcrt: Fixed strncpy_s behavior when count equals 0.

wine commit id bdf9a9f9bd56354f70a7431a9682183b84353211 by Piotr Caban <>

2 days ago[CRT] Add a number of functions from wine
Timo Kreuzer [Tue, 10 Jan 2023 09:21:03 +0000 (11:21 +0200)]
[CRT] Add a number of functions from wine

This adds _aligned_msize, _recalloc, wmemmove_s, memcpy_s, wmemcpy_s

2 days ago[CRT] Reduce diff
Timo Kreuzer [Tue, 10 Jan 2023 09:20:11 +0000 (11:20 +0200)]
[CRT] Reduce diff

- use msvcrt_set_errno
- MSVCRT_CHECK_PMT already sets the error.
- NULL check is already in HeapFree

2 days ago[CRT] Use the original wine heap functions
Timo Kreuzer [Tue, 10 Jan 2023 08:30:51 +0000 (10:30 +0200)]
[CRT] Use the original wine heap functions

2 days ago[CRT] reduce diff to wine of heap code
Timo Kreuzer [Tue, 10 Jan 2023 08:33:07 +0000 (10:33 +0200)]
[CRT] reduce diff to wine of heap code

No functional changes intended.

2 days ago[CRT] Get back MSVCRT prefix in wine heap code
Timo Kreuzer [Tue, 10 Jan 2023 08:09:15 +0000 (10:09 +0200)]
[CRT] Get back MSVCRT prefix in wine heap code

3 days ago[NTUSER] Check IME-like after WNDS_DESTROYED check (#5005)
Katayama Hirofumi MZ [Mon, 23 Jan 2023 03:22:54 +0000 (12:22 +0900)]
[NTUSER] Check IME-like after WNDS_DESTROYED check (#5005)

The guilty commit a2c6af0 enabled the IMM mode. So we have to take care of the default IME windows.
Using IS_WND_IMELIKE against WNDS_DESTROYED window was the cause of BSoD. CORE-18777

4 days ago[USER32_WINETEST] Add test for WM_CONTEXTMENU from grandchild window
Roy Tam [Sat, 21 Jan 2023 13:05:28 +0000 (21:05 +0800)]
[USER32_WINETEST] Add test for WM_CONTEXTMENU from grandchild window

Cherry-picked from

4 days ago[NTUSER][USER32] Set WM_CONTEXTMENU's wParam to the child window's handle
Roy Tam [Sat, 21 Jan 2023 03:42:48 +0000 (11:42 +0800)]
[NTUSER][USER32] Set WM_CONTEXTMENU's wParam to the child window's handle

Cherry-picked from


4 days ago[OLEAUT32] OaBuildVersion: Add Windows Server 2003 case (#5004)
Ratin Gao [Sun, 22 Jan 2023 18:34:54 +0000 (02:34 +0800)]
[OLEAUT32] OaBuildVersion: Add Windows Server 2003 case (#5004)

Fixes debug print in Visual Studio 6 PRO installation. CORE-18419

4 days ago[ATL] CImage::Load(): Return E_FAIL without ATLASSERT on failure (#4993)
Ratin Gao [Sun, 22 Jan 2023 17:38:16 +0000 (01:38 +0800)]
[ATL] CImage::Load(): Return E_FAIL without ATLASSERT on failure (#4993)

Application won't be interrupted by ATLASSERT when image load failure happens,
just like it was done in MS ATL.


4 days ago[WIN32K:NTUSER] ValidateHwndNoErr: Fix window handle validation (#4981)
Thamatip Chitpong [Sun, 22 Jan 2023 14:44:52 +0000 (21:44 +0700)]
[WIN32K:NTUSER] ValidateHwndNoErr: Fix window handle validation (#4981)

Also check window state. Addendum to 4d48b88b.

4 days ago[NTOS:PNP] Avoid recursion when walking the device tree. 4994/head
Thomas Faber [Sat, 14 Jan 2023 22:40:14 +0000 (17:40 -0500)]
[NTOS:PNP] Avoid recursion when walking the device tree.

5 days ago[PCI] Fix I/O range size of the resource descriptors
Dmitry Borisov [Wed, 4 Jan 2023 16:58:39 +0000 (22:58 +0600)]
[PCI] Fix I/O range size of the resource descriptors

Fixes incorrect PCI IDE resources in VPC 2007

5 days ago[COMPBATT] Add inf entry. CORE-18167
Thomas Faber [Sat, 21 Jan 2023 04:58:18 +0000 (23:58 -0500)]
[COMPBATT] Add inf entry. CORE-18167

6 days ago[NTDLL_APITEST] Add test for a section where PointerToRawData = 0 while SizeOfRawData... 5002/head
Roy Tam [Fri, 20 Jan 2023 09:02:37 +0000 (17:02 +0800)]
[NTDLL_APITEST] Add test for a section where PointerToRawData = 0 while SizeOfRawData != 0. CORE-18797

6 days ago[NTOS:MM] Ignore sections either PointerToRawData or SizeOfRawData is zero
Roy Tam [Fri, 20 Jan 2023 09:02:12 +0000 (17:02 +0800)]
[NTOS:MM] Ignore sections either PointerToRawData or SizeOfRawData is zero

VC1 Linker fills BSS.SizeOfRawData with data in IMAGE_OPTIONAL_HEADER.SizeOfUninitializedData but keeps PointerToRawData to zero.


8 days ago[SHELL32] Add 3 accelerators for IDM_DRAGFILE MENU de-DE.rc (#5001)
Joachim Henze [Wed, 18 Jan 2023 21:40:05 +0000 (22:40 +0100)]
[SHELL32] Add 3 accelerators for IDM_DRAGFILE MENU de-DE.rc (#5001)

They got lost when the menu was translated to german during 0.4.9-dev'ing.

8 days ago[NTGDI] Check if face->charmap is not zero before accessing its encoding (#4390)
Julio Carchi [Wed, 18 Jan 2023 18:24:40 +0000 (13:24 -0500)]
[NTGDI] Check if face->charmap is not zero before accessing its encoding (#4390)

This allows DevExpress Ribbon Notepad sample to start.

Also add a fat DPRINT1 suggested by Timo Kreuzer,
because there is a lot wrong in the code.

CORE-18091 CORE-18558

9 days ago[NTOS:MM] Use image prefix in MmLoadSystemImage
Wu Haotian [Mon, 9 Jan 2023 14:55:29 +0000 (22:55 +0800)]
[NTOS:MM] Use image prefix in MmLoadSystemImage

MmLoadSystemImage has a PUNICODE_STRING NamePrefix parameter which is
currently unused in ReactOS. When the kernel loads the crash dump
storage stack drivers, the drivers will be loaded with MmLoadSystemImage
with a "dump_" or "hiber_" (for hibernation, which uses crash dump
stack too) prefix. This change adds in the prefix support, and is
supposed to push crash dump support forward.


12 days ago[NTOS:IO] Handle missing device instance in IopInitializeBuiltinDriver. CORE-18793
Thomas Faber [Sat, 14 Jan 2023 21:36:57 +0000 (16:36 -0500)]
[NTOS:IO] Handle missing device instance in IopInitializeBuiltinDriver. CORE-18793

12 days ago[HIVESYS] Move ndis to the "NDIS Wrapper" group. CORE-18790
Thomas Faber [Sat, 14 Jan 2023 20:24:51 +0000 (15:24 -0500)]
[HIVESYS] Move ndis to the "NDIS Wrapper" group. CORE-18790

Miniport drivers import from NDIS, but NDIS does not support being
loaded as a dependent driver (it does not have DllInitialize).
Instead, NDIS needs to load before all possible miniport drivers,
even boot-start ones. We achieve this by placing it in its own service
order group, which loads before the NDIS group.

All our miniport drivers are demand-start, so would automatically start
later. The ndisprot driver from the ticket is likely the first boot-start
miniport we've encountered. Since DriverEntry did not run,
AdapterListHead was NULL, resulting in the crash.

2 weeks ago[WIN32SS:NTUSER] restore snapped window to normal size by dragging window caption
Denis Malikov [Sat, 20 Nov 2021 09:58:24 +0000 (16:58 +0700)]
[WIN32SS:NTUSER] restore snapped window to normal size by dragging window caption


2 weeks ago[THEMES][DOC] "Open Sans" -> "Trebuchet MS" (#4983)
Joachim Henze [Sun, 8 Jan 2023 15:07:30 +0000 (16:07 +0100)]
[THEMES][DOC] "Open Sans" -> "Trebuchet MS" (#4983)

[THEMES] Eliminates the last references to "Open Sans" font.

This is an addendum to 0.4.13-dev-765-g 04a361d091095a96bb3af376e46daf4c5fe81c63
"Open Sans" has been replaced by "Trebuchet MS" back then.

[DOC] Mention trebuc*.ttf as being based on 'Open Sans Fonts'

2 weeks ago[NTOS:KD] Revisit KdSendPacket() and KdReceivePacket() for DBGKD_DEBUG_IO. (#4914) 4914/head
Hermès Bélusca-Maïto [Sun, 27 Nov 2022 18:58:56 +0000 (19:58 +0100)]
[NTOS:KD] Revisit KdSendPacket() and KdReceivePacket() for DBGKD_DEBUG_IO. (#4914)

- Use SAL2 annotations.
- KdSendPacket(): Validate DEBUG_IO API call.
- KdReceivePacket(): Take the LengthOfStringRead into account; use
  KdbpReadCommand() to read the input, so that correct line edition
  is available (backspace, etc.)

2 weeks ago[NTOS:KDBG] Fix and improve KdbpReadCommand(). (#4914)
Hermès Bélusca-Maïto [Sun, 27 Nov 2022 18:45:42 +0000 (19:45 +0100)]
[NTOS:KDBG] Fix and improve KdbpReadCommand(). (#4914)

- Don't read anything and return immediately if the buffer size is zero.

- Allow the controlling keys (up/down arrows, backspace) even if the
  buffer is full! (especially backspace if too much has been written).

- Return the number of characters stored, not counting the NULL terminator.

2 weeks ago[KERNEL32][NTOS:PS][RTL] Cleanup some DbgPrompt() calls.
Hermès Bélusca-Maïto [Sun, 27 Nov 2022 18:11:29 +0000 (19:11 +0100)]
[KERNEL32][NTOS:PS][RTL] Cleanup some DbgPrompt() calls.

2 weeks ago[BOOTDATA] Use the standard "Helv" -> "MS Sans Serif" (#4982)
Joachim Henze [Fri, 6 Jan 2023 12:31:03 +0000 (13:31 +0100)]
[BOOTDATA] Use the standard "Helv" -> "MS Sans Serif" (#4982)

This is what Windows does. And we forgot this location here.
This is an addendum to
0.4.15-dev-5365-g 9bb5627df60392b90039266f277ff668b574b4cd [SETUP][INF] Use the standard "Helv" -> "MS Sans Serif" substitution... (#4864)

2 weeks ago[RAPPS] Add tooltip for "Refresh" and "Update Database" (#4975)
Thamatip Chitpong [Fri, 6 Jan 2023 12:23:25 +0000 (19:23 +0700)]
[RAPPS] Add tooltip for "Refresh" and "Update Database" (#4975)

2 weeks ago[LIBWINE] Fix GCC build warning. (#4938) 4938/head
Hermès Bélusca-Maïto [Sat, 10 Dec 2022 17:47:34 +0000 (18:47 +0100)]
[LIBWINE] Fix GCC build warning. (#4938)

In file included from ../sdk/lib/3rdparty/libwine/debug_ros.c:9:
../sdk/lib/3rdparty/libwine/debug.c: In function 'get_temp_buffer':
../sdk/lib/3rdparty/libwine/debug.c:343:33: warning: passing argument 1 of '_InterlockedExchangeAdd' from incompatible pointer type [-Wincompatible-pointer-types]
     idx = interlocked_xchg_add( &pos, 1 ) % (sizeof(list)/sizeof(list[0]));
In file included from ../sdk/include/crt/mingw32/intrin.h:98,
                 from ../sdk/include/crt/intrin.h:1017,
                 from sdk/include/psdk/winnt.h:48,
                 from ../sdk/include/psdk/windef.h:202,
                 from ../sdk/include/reactos/wine/debug.h:26,
                 from ../sdk/lib/3rdparty/libwine/debug.c:32,
                 from ../sdk/lib/3rdparty/libwine/debug_ros.c:9:
../sdk/include/crt/mingw32/intrin_x86.h:215:70: note: expected 'volatile long int *' but argument is of type 'int *'
 __INTRIN_INLINE long __cdecl _InterlockedExchangeAdd(volatile long * Addend, long Value)

3 weeks ago[WIN32K] Add some NULL checks for THREADINFO::rpdesk
Timo Kreuzer [Mon, 26 Dec 2022 15:11:14 +0000 (16:11 +0100)]
[WIN32K] Add some NULL checks for THREADINFO::rpdesk

rpdesk should probably never be NULL, but it happens in rare circumstances, like csrss being terminated.

3 weeks ago[WIN32K] Properly reference owner window
Timo Kreuzer [Tue, 6 Dec 2022 06:02:12 +0000 (07:02 +0100)]
[WIN32K] Properly reference owner window

3 weeks ago[NTOS] Fix interrupt flag handling in KiPageFault
Timo Kreuzer [Thu, 15 Dec 2022 19:44:43 +0000 (21:44 +0200)]
[NTOS] Fix interrupt flag handling in KiPageFault

This fixes a crash in kmtest:ZwAllocateVirtualMemory

3 weeks ago[NTOS] Fix KiGeneralProtectionFault
Timo Kreuzer [Fri, 9 Dec 2022 18:19:29 +0000 (20:19 +0200)]
[NTOS] Fix KiGeneralProtectionFault

3 weeks ago[BEEPMIDI] Make DeviceInfo structure 64 bit compatible
Timo Kreuzer [Sat, 24 Dec 2022 10:58:59 +0000 (12:58 +0200)]
[BEEPMIDI] Make DeviceInfo structure 64 bit compatible

Fixes winmm_winetest midi on x64

3 weeks ago[WINMM] Sync mci.c with wine
Timo Kreuzer [Sat, 24 Dec 2022 08:05:08 +0000 (10:05 +0200)]
[WINMM] Sync mci.c with wine

Date: 2022-02-22
Author: Eric Pouech
Commit: "winmm: Enable compilation with long types."
Hash 71189f62604c2cb8208c85372a0e027dd2b79055

3 weeks ago[SHELL32] Check for valid listview in CDefView::_PidlByItem and CDefView::RemoveObject
Timo Kreuzer [Wed, 14 Dec 2022 07:27:53 +0000 (09:27 +0200)]
[SHELL32] Check for valid listview in CDefView::_PidlByItem and CDefView::RemoveObject

This fixes failing ATLASSERTs in shell32_winetest:shlview

3 weeks ago[ATL] Remove an assert that doesn't exist in the native ATL
Timo Kreuzer [Tue, 13 Dec 2022 08:36:02 +0000 (10:36 +0200)]
[ATL] Remove an assert that doesn't exist in the native ATL

This fixes an ATL assert in shell32_winetest:assoc and shell32_winetest:shfldr_special

3 weeks ago[SHELL32] Add check to CMenuToolbarBase::ShowDW
Timo Kreuzer [Tue, 13 Dec 2022 08:30:48 +0000 (10:30 +0200)]
[SHELL32] Add check to CMenuToolbarBase::ShowDW

This fixes an ATL assert in shell32_apitest:menu

3 weeks ago[ADVAPI32] Fix a buffer overflow in RegQueryValueExA
Timo Kreuzer [Sat, 10 Dec 2022 12:07:16 +0000 (14:07 +0200)]
[ADVAPI32] Fix a buffer overflow in RegQueryValueExA

The code was trying to check whether the output string was already NULL terminated by RtlUnicodeToMultiByteN before NULL terminating it by checking DataStr[*count - 1] for a NULL terminator. But since RtlUnicodeToMultiByteSize always returns the size without the NULL terminator, DataStr[*count - 1] would always be the last actual character, never an optional NULL terminator.
For 0 sized strings this would actually lead to accessing the output buffer at position -1 (on 32 bit)  or 0xFFFFFFFF (on 64 bit).
Fix this by removing the check. This fixes a crash in advapi32_winetest:registry on x64.

3 weeks ago[PSDK] Fix definition of DRVCALLBACK for 64 bit
Timo Kreuzer [Fri, 9 Dec 2022 16:50:21 +0000 (18:50 +0200)]
[PSDK] Fix definition of DRVCALLBACK for 64 bit

3 weeks ago[KERNEL32] Silence 2 annoying DPRINTs
Timo Kreuzer [Fri, 16 Dec 2022 08:22:49 +0000 (10:22 +0200)]
[KERNEL32] Silence 2 annoying DPRINTs

3 weeks ago[TRANSLATIONS] Email update (#4974)
Cătălin Gabriel Drăghiță [Tue, 3 Jan 2023 18:47:55 +0000 (19:47 +0100)]
[TRANSLATIONS] Email update (#4974)

3 weeks ago[NTOS:CM] Cleanup the hive in case linking it to master fails (#4969) 4969/head
George Bișoc [Sat, 31 Dec 2022 16:50:25 +0000 (17:50 +0100)]
[NTOS:CM] Cleanup the hive in case linking it to master fails (#4969)

Currently the failure code path doesn't do any kind of cleanup against
the hive that was being linked to master. The cleanup is pretty
straightforward as you just simply close the hive file handles and free
the registry kernel structures.


3 weeks ago🎊 🍾 🥳 Happy New Year 2023 to the ReactOS Community! 🎆 ⚛️ ☢️
Hermès Bélusca-Maïto [Sat, 31 Dec 2022 21:00:00 +0000 (00:00 +0300)]
🎊 🍾 🥳 Happy New Year 2023 to the ReactOS Community! 🎆 ⚛️ ☢️

 __,  ,__)            __,  ,__)       __, ,__)        ░▄████▄░▄███▄░▄████▄░▄█▀▀█▄░
(--|__| _ ,_ ,_      (--|\ | _       (--\ | _  _ ,_   ░▀▀░▄██░██░██░▀▀░▄██░░░░▄█▀░
  _|  |(_||_)|_)(_|    _| \|(/_(_|_)     \|(/_(_||    ░░▄██▀░░██░██░░▄██▀░░▄░▀▀█▄░
 (        |  |  ,_|   (                (__|           ░██████░▀███▀░██████░▀█▄▄█▀░

3 weeks ago[NTOBJSHEX] Return early from GetInfoFromPidl when pcidl is null in LPCITEMIDLIST...
Muthu R Kumar [Sat, 31 Dec 2022 15:53:02 +0000 (07:53 -0800)]
[NTOBJSHEX] Return early from GetInfoFromPidl when pcidl is null in LPCITEMIDLIST (#4946)

This fixes a crash when attempting to drag-n-drop items from NTObject Namespace and System Registry.
CORE-18480, CORE-18481

3 weeks ago[MSPAINT] Don't allow to set image as wallpaper if it has the wrong format (#4924)
Egor Ananyin [Sat, 31 Dec 2022 15:08:14 +0000 (18:08 +0300)]
[MSPAINT] Don't allow to set image as wallpaper if it has the wrong format (#4924)


Our Paint allows user to try to set a .ico file as a wallpaper, which isn't possible. Different Windows versions have different behaviour, so it was decided that the simplest fix would be to just grey out "Set as wallpaper" buttons as in 2K3 (See the Jira ticket).

3 weeks ago[SDK][CMLIB] Properly check for failure if hive free list creation fails
George Bișoc [Fri, 30 Dec 2022 18:47:21 +0000 (19:47 +0100)]
[SDK][CMLIB] Properly check for failure if hive free list creation fails

HvpCreateHiveFreeCellList returns a NTSTATUS code yet the way the code path checks
checks for failure is just wrong. This was spotted whilst working on #4571 PR.

3 weeks ago[WIN32NT_APITEST] Fix entirely broken win32knt_apitest NtGdiDdQueryDirectDrawObject
Timo Kreuzer [Sun, 25 Dec 2022 08:15:46 +0000 (09:15 +0100)]
[WIN32NT_APITEST] Fix entirely broken win32knt_apitest NtGdiDdQueryDirectDrawObject

3 weeks ago[DBGHELP_APITEST] Comment out rsym test for anything other than x86 for now
Timo Kreuzer [Fri, 9 Dec 2022 20:54:35 +0000 (22:54 +0200)]
[DBGHELP_APITEST] Comment out rsym test for anything other than x86 for now

3 weeks ago[GDI32_APITEST] Fix test results for SetWorldTransform on Windows 2003 x64
Timo Kreuzer [Fri, 16 Dec 2022 10:48:20 +0000 (12:48 +0200)]
[GDI32_APITEST] Fix test results for SetWorldTransform on Windows 2003 x64

3 weeks ago[GDI32_APITEST] Fix test results for CombineTransform on Windows 2003 x64
Timo Kreuzer [Fri, 16 Dec 2022 10:19:51 +0000 (12:19 +0200)]
[GDI32_APITEST] Fix test results for CombineTransform on Windows 2003 x64

3 weeks ago[XMLLITE_WINETEST] Fix stack corruption on 64 bit
Timo Kreuzer [Sun, 28 Aug 2022 15:40:54 +0000 (17:40 +0200)]
[XMLLITE_WINETEST] Fix stack corruption on 64 bit

3 weeks ago[WS2_32_WINETEST] Fix use of uninitialized variable
Timo Kreuzer [Wed, 31 Aug 2022 16:07:00 +0000 (18:07 +0200)]
[WS2_32_WINETEST] Fix use of uninitialized variable

3 weeks ago[NTDLL_APITEST] Fix LdrEnumResources test for x64
Timo Kreuzer [Fri, 9 Dec 2022 20:56:02 +0000 (22:56 +0200)]
[NTDLL_APITEST] Fix LdrEnumResources test for x64

3 weeks ago[NDK] Fix definition of RTL_DEBUG_INFORMATION
Timo Kreuzer [Tue, 27 Dec 2022 10:06:45 +0000 (11:06 +0100)]

Fixes ntdll_aiptest RtlDebugInformation on x64

3 weeks ago[NDK] Fix definition of LDR_ENUM_RESOURCE_INFO
Timo Kreuzer [Sun, 25 Dec 2022 13:02:11 +0000 (15:02 +0200)]
[NDK] Fix definition of LDR_ENUM_RESOURCE_INFO

This fixes ntdll_apitest LdrEnumResources on x64 Windows

4 weeks ago[LOG2LINES] Compile the tool for MSVC builds 4809/head
Mark Jansen [Mon, 24 Oct 2022 19:56:54 +0000 (21:56 +0200)]
[LOG2LINES] Compile the tool for MSVC builds

4 weeks ago[NTOS] Set SwapBusy properly for i386
Justin Miller [Sun, 27 Mar 2022 05:22:45 +0000 (22:22 -0700)]
[NTOS] Set SwapBusy properly for i386

Co-authored-by: Hermès BÉLUSCA - MAÏTO <>
4 weeks ago[NTOS] Increment ActiveProcessors accurately
Justin Miller [Sun, 27 Mar 2022 05:18:31 +0000 (22:18 -0700)]
[NTOS] Increment ActiveProcessors accurately

4 weeks ago[NTOS] fix timer lock data and hardcod
Justin Miller [Sun, 27 Mar 2022 05:16:25 +0000 (22:16 -0700)]
[NTOS] fix timer lock data and hardcod

Justin Miller [Sun, 27 Mar 2022 05:11:02 +0000 (05:11 +0000)]

4 weeks ago[INF] More deduplication and style harmonization (#4952)
Joachim Henze [Wed, 28 Dec 2022 01:26:17 +0000 (02:26 +0100)]
[INF] More deduplication and style harmonization (#4952)

- deduplication of manufacturer strings
- at some places harmonizes the different length of separator lines within the same file, centers the words (as requested by hbelusca during review), harmonizes those lines to 74characters length each
- moving some strings that are not to be localized into the non-localization string section
- other minor formatting preferences coauthored by StasM

4 weeks ago[SYSSETUP] Fix *.rc combobox for the timezone is too small CORE-18587
Joachim Henze [Mon, 26 Dec 2022 18:58:31 +0000 (19:58 +0100)]
[SYSSETUP] Fix *.rc combobox for the timezone is too small CORE-18587

Use the same width for COMBOBOX IDC_TIMEZONELIST that we use in timedate.cpl to
prevent strings from getting cut off for some timezones with long names.
To still make it look appealing afterwards, enlarge and move a bit to the right also IDC_TIMEPICKER.

IDC_AUTODAYLIGHT used different widths in several translations, we can harmonize
for all languages to the biggest one that was used: 230 (taken from eu-ES.rc).

And also fix a few additional whitespace-glitches in zh-CN, zh-HK, zh-TW and en-GB.

After this commit the whole dialog IDD_DATETIMEPAGE uses the exact same dimension for
all of its controls for all languages.

4 weeks ago[TIMEDATE] Limit the expanded combobox height by using CBS_NOINTEGRALHEIGHT CORE...
Joachim Henze [Mon, 26 Dec 2022 15:26:51 +0000 (16:26 +0100)]
[TIMEDATE] Limit the expanded combobox height by using CBS_NOINTEGRALHEIGHT CORE-18665

It is good practice to not make the expanded combobox larger than the dialog itself.
CBS_NOINTEGRALHEIGHT will allow to set a fixed amount of pixels for the v6 combobox,
and therefore allows us to hide the problem for this specific dialog.

The problem was unhidden by 0.4.12-dev-882-g e3e173ffaafbccb0e9b52926d41626d5a4dc38cd

Even after this patch I think Wines comctl32 can be improved for comboboxes with very
many elements that do not use this small trick yet. I will create a follow-up-ticket.

4 weeks ago[REG] Fix mis-converted Yes-No-All keypress shortcuts strings.
Hermès Bélusca-Maïto [Mon, 26 Dec 2022 12:16:17 +0000 (13:16 +0100)]
[REG] Fix mis-converted Yes-No-All keypress shortcuts strings.

The PO \"#msgctx\" control strings were not stripped out.

4 weeks ago[NTOS:CM] Enable verbose debug output of registry lazy flushing component 4955/head
George Bișoc [Thu, 22 Dec 2022 21:14:36 +0000 (22:14 +0100)]
[NTOS:CM] Enable verbose debug output of registry lazy flushing component

Log debug output of the lazy flusher as much information as possible so that we can examine how does the lazy flusher behave, since it didn't work for almost a decade. Verbose debugging will be disabled once we're confident enough the registry implementation in ReactOS is rock solid.

4 weeks ago[NTOS:CM] Don't lazy flush the registry during unlocking operation
George Bișoc [Thu, 22 Dec 2022 21:12:55 +0000 (22:12 +0100)]
[NTOS:CM] Don't lazy flush the registry during unlocking operation

Whenever ReactOS finishes its operations onto the registry and unlocks it, a lazy flush is invoked to do an eventual flushing of the registry to the backing storage of the system. Except that... lazy flushing never comes into place.

This is because whenever CmpLazyFlush is called that sets up a timer which needs to expire in order to trigger the lazy flusher engine worker. However, registry locking/unlocking is a frequent occurrence, mainly when on desktop. Therefore as a matter of fact, CmpLazyFlush keeps removing and inserting the timer and the lazy flusher will never kick in that way.

Ironically the lazy flusher actually does the flushing when on USETUP installation phase because during text-mode setup installation in ReactOS the frequency of registry operations is actually less so the timer has the opportunity to expire and fire up the flusher.

In addition to that, we must queue a lazy flush when marking cells as dirty because such dirty data has to be flushed down to the media storage of the system. Of course, the real place where lazy flushing operation is done should be in a subset helper like HvMarkDirty that marks parts of a hive as dirty but since we do not have that, we'll be lazy flushing the registry during cells dirty marking instead for now.


5 weeks agoTranslate favorites menu
Fernando Isnaldo Silva de Faria [Thu, 22 Dec 2022 22:05:15 +0000 (19:05 -0300)]
Translate favorites menu

Improve translation for Favorites menu

5 weeks ago[TRANSLATION] Don't translate Documents and Settings folder
Jose Carlos Jesus [Tue, 6 Dec 2022 00:42:19 +0000 (00:42 +0000)]
[TRANSLATION] Don't translate Documents and Settings folder

5 weeks ago[SHELL32][USER32] Improve pt-PT translation
Jose Carlos Jesus [Sat, 26 Nov 2022 14:35:41 +0000 (14:35 +0000)]
[SHELL32][USER32] Improve pt-PT translation

5 weeks ago[TRANSLATION] Hungarian translation update for sysdm
Tibor Lajos Füzi [Tue, 6 Dec 2022 21:31:15 +0000 (22:31 +0100)]
[TRANSLATION] Hungarian translation update for sysdm

5 weeks ago[DXDIAG] Fix Portuguese (pt-BR) translation (#4953)
Fernando Isnaldo Silva de Faria [Thu, 22 Dec 2022 12:30:51 +0000 (09:30 -0300)]
[DXDIAG] Fix Portuguese (pt-BR) translation (#4953)

Fix minor translation error.

5 weeks ago[NTUSER] Fix zombie window created by CTRL+ALT+DEL (#4935)
Thamatip Chitpong [Thu, 22 Dec 2022 00:38:53 +0000 (07:38 +0700)]
[NTUSER] Fix zombie window created by CTRL+ALT+DEL (#4935)

Based on patch by I_Kill_Bugs. CORE-18258
See also commit 58b0558f9.

5 weeks ago[WIN32K:NTGDI] PATH_PathToRegion(): Update documentation (#4941)
Serge Gautherie [Thu, 22 Dec 2022 00:27:51 +0000 (01:27 +0100)]
[WIN32K:NTGDI] PATH_PathToRegion(): Update documentation (#4941)

Addendum to 215e0d9 (r64177).

5 weeks ago[NTOBJSHEX] Fix displayed registry value type and icon (#4949)
Serge Gautherie [Wed, 21 Dec 2022 12:42:36 +0000 (13:42 +0100)]
[NTOBJSHEX] Fix displayed registry value type and icon (#4949)

- RegistryTypeNames[]: Remove an unwanted space

- CRegistryFolderExtractIcon::GetIconLocation():

- CRegistryFolder::GetDetailsOf(): Fix copypasta

- CRegistryFolder::FormatValueData(): Fix magic constant


5 weeks ago[NTOBJSHEX] Fix sorting elements by different columns (#4947)
Egor Ananyin [Tue, 20 Dec 2022 20:58:30 +0000 (23:58 +0300)]
[NTOBJSHEX] Fix sorting elements by different columns (#4947)

- Add ability to sort NT objects by symlinks
- Add ability to sort registry entries by type/value

CORE-18761 CORE-18762

5 weeks ago[SHELL32] Read the label for a CD from autorun.inf (#4945)
Egor Ananyin [Tue, 20 Dec 2022 19:30:09 +0000 (22:30 +0300)]
[SHELL32] Read the label for a CD from autorun.inf (#4945)

Some CDs may set a custom label using autorun.inf.
Read the label from the file, and if it succeeds, show it to the user.


5 weeks ago[NTOBJSHEX] Formatting only
Stanislav Motylkov [Tue, 20 Dec 2022 17:08:08 +0000 (20:08 +0300)]
[NTOBJSHEX] Formatting only

5 weeks ago[SHELL32] Fix detailed list views in Control Panel and Registry Folder
Muthu R Kumar [Tue, 20 Dec 2022 15:42:07 +0000 (07:42 -0800)]
[SHELL32] Fix detailed list views in Control Panel and Registry Folder

- Add enums for Control Panel and Registry Folder columns
- Fix iColumn values in GetDetailsOf() and fix checks in

Current CControlPanelFolder::CompareIDs was using wrong lparam column
index. Actual column index should be 1 instead of 4. Because of this
the comment column next to name in details view was not being displayed
correctly. The same fixes for CRegFolder class functions.

PR #4944. CORE-18743 CORE-18501

5 weeks ago[RPCRT4_WINETEST] Remove obsolete todo_wine
Eric Kohl [Mon, 19 Dec 2022 16:58:02 +0000 (17:58 +0100)]
[RPCRT4_WINETEST] Remove obsolete todo_wine

Addendum to 00ccbd2f

5 weeks ago[RPCRT4] RpcStringBindingParseA/W must fail, if a colon is missing in the string...
Eric Kohl [Mon, 19 Dec 2022 15:13:58 +0000 (16:13 +0100)]
[RPCRT4] RpcStringBindingParseA/W must fail, if a colon is missing in the string binding

This fixes a bug in the rpc winetest.
This patch will be sent upstream.

5 weeks ago[RPCRT4] Call WSAStartup in rpcrt4_ip_tcp_get_top_of_tower
Eric Kohl [Mon, 19 Dec 2022 12:39:52 +0000 (13:39 +0100)]
[RPCRT4] Call WSAStartup in rpcrt4_ip_tcp_get_top_of_tower

This fixes the crash in the rpc winetest.

5 weeks ago[RPCRT4] RpcStringFreeA/W must set the pointer to NULL
Eric Kohl [Mon, 19 Dec 2022 08:18:22 +0000 (09:18 +0100)]
[RPCRT4] RpcStringFreeA/W must set the pointer to NULL

Add a matching wine test.

This change will be sent upstream.

5 weeks ago[DESK] Update german translation de-DE.rc (#4943)
Joachim Henze [Fri, 16 Dec 2022 15:29:17 +0000 (16:29 +0100)]
[DESK] Update german translation de-DE.rc (#4943)

5 weeks ago[NTOS:IO] Replace an outdated E-Mail Address
Eric Kohl [Fri, 16 Dec 2022 09:34:51 +0000 (10:34 +0100)]
[NTOS:IO] Replace an outdated E-Mail Address

The old Address will be gone soon.

6 weeks ago[SYSSETUP] Fix missing comma in german translation de-DE.rc
Joachim Henze [Wed, 14 Dec 2022 23:14:57 +0000 (00:14 +0100)]
[SYSSETUP] Fix missing comma in german translation de-DE.rc

The old string lacked a *mandatory* comma before the word "übereinstimmen"
as the part "die Sie nutzen wollen" is a relative clause,
relative to the noun "Anwendungen".
But we can fix it without having to add the comma by some shuffling.
That also improves the reading flow.

6 weeks ago[WINLOGON] Update german translation de-DE.rc
Joachim Henze [Wed, 14 Dec 2022 22:27:37 +0000 (23:27 +0100)]
[WINLOGON] Update german translation de-DE.rc

Addendum to 0.4.15-dev-2358-g 5f033392397a101b6a9113b2d0de5c09e0a71737
to avoid regressing the german translation compared to releases/0.4.14

6 weeks ago[WIN32K] Workaround for broken/retarded (on non-x86) FLOATOBJ_GetFloat
Timo Kreuzer [Sat, 3 Dec 2022 13:00:28 +0000 (15:00 +0200)]
[WIN32K] Workaround for broken/retarded (on non-x86) FLOATOBJ_GetFloat

The official definition in winddi.h always returns the result in an ULONG. This works to assign to a FLOATL on x86, which is also an ULONG, but it doesn't work on any other architecture, where FLOATL is actually a FLOAT, so the assignment would convert the ULONG encoding of the FLOAT to an actual float, which gives broken results. Work around this by simply replacing the definition with a sane one in win32k.

6 weeks ago[WIN32K] Fix memory leak on failure in REGION_SetPolyPolygonRgn
Timo Kreuzer [Sat, 3 Dec 2022 10:44:38 +0000 (12:44 +0200)]
[WIN32K] Fix memory leak on failure in REGION_SetPolyPolygonRgn

6 weeks ago[WIN32K] Fix a bug in PATH_PathToRegion
Timo Kreuzer [Sat, 3 Dec 2022 10:42:04 +0000 (12:42 +0200)]
[WIN32K] Fix a bug in PATH_PathToRegion

6 weeks ago[WIN32K] Fix missing NULL check in NtGdiPathToRegion
Timo Kreuzer [Sat, 3 Dec 2022 08:27:33 +0000 (10:27 +0200)]
[WIN32K] Fix missing NULL check in NtGdiPathToRegion

6 weeks ago[WIN32K] Fix uninitialized variable in IntExtTextOutW
Timo Kreuzer [Sun, 27 Nov 2022 13:22:36 +0000 (15:22 +0200)]
[WIN32K] Fix uninitialized variable in IntExtTextOutW

6 weeks ago[NTOS] Fix saving of XMM registers on some trap handlers
Timo Kreuzer [Sat, 3 Dec 2022 12:59:14 +0000 (14:59 +0200)]
[NTOS] Fix saving of XMM registers on some trap handlers

6 weeks ago[KMTEST] Add a NULL check
Timo Kreuzer [Mon, 28 Nov 2022 07:56:03 +0000 (09:56 +0200)]
[KMTEST] Add a NULL check

6 weeks ago[KMTEST] Handle failure in KmtLoadDriver and KmtOpenDriver
Timo Kreuzer [Mon, 8 Aug 2022 07:50:28 +0000 (10:50 +0300)]
[KMTEST] Handle failure in KmtLoadDriver and KmtOpenDriver

6 weeks ago[NTOS:IO] Bring back the NDEBUG definition
Victor Perevertkin [Mon, 12 Dec 2022 22:49:32 +0000 (01:49 +0300)]
[NTOS:IO] Bring back the NDEBUG definition

Addendum to 947f60b20716e1581b0785360d2d71363eff3657

6 weeks ago[NTOS:IO] Allow REG_SZ type for ImagePath of a driver
Victor Perevertkin [Mon, 12 Dec 2022 22:46:20 +0000 (01:46 +0300)]
[NTOS:IO] Allow REG_SZ type for ImagePath of a driver

Fixes the load of the Sysinternals FileMon driver.


6 weeks ago[BTRFS] btrfs.inf: Comment out mkbtrfs.exe (#4937)
Serge Gautherie [Sun, 11 Dec 2022 22:10:02 +0000 (23:10 +0100)]
[BTRFS] btrfs.inf: Comment out mkbtrfs.exe (#4937)

It is not imported into ReactOS.

Addendum to 0.4.13-dev-788-g c8875c182ac638a9aed627ecaf39e30ab22daf40 and 0.4.14-dev-1535-g 194ea909fdff60294ce2d5434cbded63f5377754