Commit graph

87184 commits

Author SHA1 Message Date
Whindmar Saksit
ba6760683b
[SHELL32] Handle sort order in RegItems (#7906)
* [SHELL32] Handle sort order in RegItems

This makes the TweakUI "First icon on desktop" setting work correctly.
2025-04-30 13:31:58 +02:00
Hermès Bélusca-Maïto
b1cf981c52
[PSDK] Add missing hMonitor member in union with hIcon in SHELLEXECUTEINFOA/W
As documented in the official MS PSDK and MSDN.
2025-04-29 16:25:23 +02:00
Whindmar Saksit
37e2c59096
[RAPPS] Add ExeInZip installer type to support running installers in zip files (#7866) 2025-04-29 15:39:22 +02:00
Leon Frommholz
eb91f91569
[REGEDIT] Add missing status text for "New" elements (#7927)
Add missing status text for the "Multi-String Value" and
"Expandable String Value" in the "New" menu of the registry editor
for the English and German languages.

CORE-19886
2025-04-29 13:10:26 +03:00
Mohammad Amin Mollazadeh
be87e0099f
[SHELL32] Return correct CSIDL for "Network Connections" menu item (#7938)
Fixes erroneous addition of "Properties" item into its context menu.

- Addendum to 0241b5c4e9 and 5aaead3fdb. CORE-20152
- Also remove FIXME for CORE-19477 which is fixed now. CORE-20151
2025-04-28 22:44:58 +03:00
Eric Kohl
dbc0c37750 [UMPNPMGR] Typo: Handle device interface removal events properly 2025-04-28 21:16:05 +02:00
Eric Kohl
bfa63932ce [MOUCLASS] Activate and deactivate the device interface for mouse devices 2025-04-28 21:14:20 +02:00
Hermès Bélusca-Maïto
5456e195db
[EVENTVWR] Improve _some_ translations
- Add accelerators to the IDD_EVENTDETAILS_CTRL controls, in _some_
  translations but NOT all. Anyone is welcome to add the missing ones
  in the translations to their own language!

- Fix "Data" static text tab-ordering. It should be just before the
  IDC_EVENTDATAEDIT control, so that when pressing its accelerator,
  focus is given to the edit control and NOT on the Bytes/Words buttons.

- Change IDC_WORDRADIO -> IDC_WORDSRADIO
2025-04-28 18:02:45 +02:00
Hermès Bélusca-Maïto
87eac43fb9
[EVENTVWR] Improve details controls transition when updating events list
CORE-20021, CORE-20023, CORE-20037

Complements commits 1786a68256 (#7757) and d1aa59982d (#7921)

- When starting eventvwr, the details buttons are disabled and the fields
  are empty.

- During events enumeration, i.e. when refreshing the events list, the
  Previous/Next navigation arrow buttons are disabled. They get re-enabled
  once enumeration is done. No default event item is auto-selected at first.

- When the user selects an item, the details fields are filled (and the
  Copy button is enabled; the Byte/Word mode buttons are enabled only if
  the selected event has associated data).

- When changing the current filter via the TreeView, the events list is
  refreshed, but also the event details fields are emptied and buttons
  are disabled. The navigation arrows are re-enabled once enumeration is
  finished, but the details fields remain empty until an event is selected.

- Pressing the Previous/Next buttons just after the events list refresh
  (when no item is selected), automatically selects respectively the
  last/the first event in the list.
  The rationale for this behaviour is the following: in this situation,
  no item is selected, so it is as if the "current" item is at the same
  time, at the top and at the end (i.e. at the borders) of the list.

- Temporary HACK: When disabling the navigation arrows, this is usually
  because the events list is being refreshed, so we loose access to the
  event's data and we cannot use the bytes/words mode buttons anymore.
2025-04-28 17:53:16 +02:00
Hermès Bélusca-Maïto
fe6de816d6
[EVENTVWR] Update French (fr-FR) translation 2025-04-28 13:19:16 +02:00
Katayama Hirofumi MZ
f19c62c80e
[EXPLORER][SHELL32][SHELL32_APITEST][SDK] AppBar: Initial support (#7778)
Supporting AppBars.
JIRA issue: CORE-7237
- Rewrite shell32!SHAppBarMessage
  function.
- Introduce CAppBarManager class in
  base/shell/explorer/appbar.cpp.
- Add support of ABM_NEW,
  ABM_REMOVE, ABM_QUERYPOS,
  and ABM_SETPOS messages for
  AppBar in Tray Window.
2025-04-28 19:08:13 +09:00
Whindmar Saksit
378a335468
[SHELL32] Don't pass menu band hwnd to InvokeCommand (#7945)
The menu band window is about to go away, don't pass it to InvokeCommand because it's invalid as an owner window for any dialogs the callee might display.
2025-04-28 00:24:15 +02:00
Hervé Poussineau
9b70d4380c [FREELDR] Allow empty RDPATH parameter
In that case, read the whole partition/disk, instead of the selected file.

CORE-14603
2025-04-27 23:49:21 +02:00
Dmitry Borisov
c27a2fc7cb
[XDK] Add missing PCI subclass type definition for AHCI controllers (#7931)
Split out of #6577. CORE-17256
2025-04-27 23:04:41 +03:00
Eric Kohl
f8efb5d474 [UMPNPMGR] Report device interface arrivals and removals to registered windows
- Other event types are not supported yet.
- Services notification is not supported yet.
2025-04-27 17:09:50 +02:00
Petru Răzvan
d1aa59982d
[EVENTVWR] Fix "Bytes" and "Word" buttons enabled with empty entry (#7921)
CORE-20037
2025-04-27 16:31:25 +02:00
Whindmar Saksit
a6558c0562
[EXPLORER] Implement ClearRecentDocsOnExit setting (#7935) 2025-04-27 01:28:37 +02:00
Whindmar Saksit
bd2d3b8603
[SHELL32] Don't set a desktop.ini folder icon on WinDir and System32 (#7933)
wine 332b90c0064563a9e4f67fb2d9b26a940e5e745c removed the whole icon member on their side.

CORE-19037
2025-04-27 01:06:32 +02:00
Petru Răzvan
0a6bcfc9ff
[CHARMAP] Fix status bar not being refreshed (#7924)
Ensure SetCaretXY() is called when the charset is changed,
or a new font is being set.

CORE-19838
2025-04-26 22:42:46 +03:00
Whindmar Saksit
8b6907f2a6
[EXPLORER] Implement NoWinKeys and HideClock restrictions (#7926) 2025-04-25 13:51:26 +02:00
Doug Lyons
85afe48c3e
[GDI32] Fix MSVC warning in SetDIBitsToDevice and simplify code. (#7919)
This is a very small revert of PR #5227 to simplify the code and eliminate an MSVC warning.
It was pointed out by Timo Kreuzer as probably not doing what I intended and he was correct.
I added this code in PR #5227 to try and correct some return values from SetDIBitsToDevice.
After testing with this new PR, there was no difference in the regression tests for either
1) gdi32:bitmap or 2) gdi32:SetDIBitsToDevice after deleting the code here and the MSVC warning was fixed.
2025-04-24 21:04:36 -05:00
Whindmar Saksit
efbdd483b3
[SHELL32] Allow .Lnk properties dialog to change icon for non-FS targets (#7911)
CORE-19971
2025-04-24 21:30:27 +02:00
Whindmar Saksit
7eb8535edf
[STOBJECT][NTUSER][ACCESS] Don't use a systray timer when not needed (#7917) 2025-04-24 21:27:36 +02:00
Whindmar Saksit
78e04c07b8
[USER32] Read the CoolSwitch settings from the registry (#7920) 2025-04-24 15:22:43 +02:00
Timo Kreuzer
e452980e0e [HALX86/APIC] Change IRQL for x86 profile interrupt to HIGH_LEVEL
While PROFILE_LEVEL is defined as 27 on x86, this does not match the vector for the profiling interrupt, which is 0xFD (see https://community.osr.com/t/odd-ioapic-output/45216), implying IRQL 31.
Fixes boot with x86 APIC hal (CORE-20093)
2025-04-24 11:36:12 +00:00
Timo Kreuzer
35fd771c84 [HALX86/APIC] Read APIC Id from APIC instead of using initial Id
This is needed on some hardware systems, where the BIOS has modified the actual APIC IDs.
The timer interrupt already did this, but in a broken way.
2025-04-24 11:36:12 +00:00
Timo Kreuzer
faaac75546 [HALX86/APIC] Use physical addressing in HalEnableSystemInterrupt 2025-04-24 11:36:12 +00:00
Timo Kreuzer
f1f01771b6 [HALX86/APIC] Set timer interrupt to level triggered 2025-04-24 11:36:12 +00:00
Timo Kreuzer
884f73fb04 [HALX86/APIC] Fix interrupt delivery on bare metal
Write both high and low 32 bits of ICR in ApicRequestSelfInterrupt. In VMs we get away with only writing the low 32 bits, but actual hardware doesn't always accept that.
2025-04-24 11:36:12 +00:00
Timo Kreuzer
0f6e982ad7 [HALX86/APIC] Mask profiling interrupt on init 2025-04-24 11:36:12 +00:00
Timo Kreuzer
2c057d9bc1 [HALX86] Set the NMI disable flag when accessing CMOS registers
An NMI while accessing the CMOS can leave it in an undefined state. NMIs are used on x64 SMP for CPU freeze in the debugger.
2025-04-24 11:36:12 +00:00
Katayama Hirofumi MZ
94fc56c038
[COMCTL32][USER32] Edit: Don't unlock if unlocked on EM_SETHANDLE (#7886)
JIRA issue: CORE-18944
EDIT_EM_GetHandle unlocks the handle,
so the next EM_SETHANDLE handler
shouldn't unlock the unlocked text.
Don't unlock the handle when es->text
was NULL on EM_SETHANDLE
message handling.
2025-04-24 19:21:22 +09:00
Mohammad Amin Mollazadeh
860262952d
[SHELL32] Fix Deselect highlighted item in shell menus on close (#7904)
CORE-18855

Add a call to _ChangeHotItem(NULL, -1, 0) in CMenuBand::OnSelect(MPOS_CANCELLEVEL) which causes to deselect currently selected item the moment the menu bands (including start menu) are closing.
Start Menu is not destroyed when it's closed so its allocated resources can be re-used next time user wants to open it, so to keep this behavior and still not having an item selected every time you open the start menu, you have to deselect the currently selected item.
2025-04-23 23:10:08 +02:00
Whindmar Saksit
fcc2247774
[BROWSEUI] Use the last id for custom find files menu item (#7918) 2025-04-23 18:57:24 +02:00
Whindmar Saksit
6faee56f86
[DESK] Preview the color on the background color button (#7916)
Note: A bug in the classic button prevents it from sending CDDS_POSTPAINT if the button has no text, the button resource has a space in its text as a workaround.
2025-04-23 18:32:45 +02:00
Whindmar Saksit
d3456f5060
[SHELL32] Implement IShellFolder2::GetDetailsEx (#7880) 2025-04-21 23:21:44 +02:00
Marcin Jabłoński
4cbd5d1b44
[TASKMGR] Distinguish WOW64 processes with a " *32" in the image name (#7915) 2025-04-21 23:17:19 +02:00
Whindmar Saksit
73b019a390
[SHELL32] Respect the REST_NODRIVES restriction (#7907)
This is the "My Computer => Drives" setting in TweakUI.
2025-04-21 23:16:59 +02:00
Whindmar Saksit
fb6191b71a
[SHELL32] Respect StrCmpLogicalW policy in shell folders (#7900) 2025-04-21 23:06:47 +02:00
Eric Kohl
4514e748f0 [DHCPCSVC] Implement DhcpAcquireParameters and DhcpReleaseParameters
TODO: The AdapterName parameter should be a unicode string. Fix this later.
2025-04-21 14:45:51 +02:00
Hermès Bélusca-Maïto
f135cab83e
[SETUPLIB] Add a setuplib_static library, used for the dll and the unit-tests.
Since the setuplib.dll isn't available after installing ReactOS, build
instead a static library that is then used for the dll, and linked into
the setuplib_unittest, so that it can be run in our test-suite.

Addendum to commit d7c1d220.
2025-04-20 19:18:28 +02:00
Eric Kohl
2c2cdfddd3 [DHCPCSVC] Move the public header rosdhcp_public.h
This header is not to be used outside of dhcpcsvc because it contains the data structures for the communication between the client and the server part within dhcpcsvc. That is why it is moved inside of dhcpcsvc and renamed to rosdhcp_pipe.h.
2025-04-19 22:55:52 +02:00
Hermès Bélusca-Maïto
d489f1a170
[NTOS:KD] Supplement minimal handling in KdSend/ReceivePacket when no kernel debugger is present.
CORE-20107

Improve the minimal handling done in the fall-back KdSend/ReceivePacket()
routines when they are invoked by KD64 (in Release build).

Part of my `kdbg_tests_kdio_split` branch for splitting kd/kdio.c
into a separate KD dll.

KdSendPacket:
- Silently ignore PACKET_TYPE_KD_STATE_CHANGE32/64 DbgKdLoadSymbolsStateChange notification.
- Partially manage and log the unhandled PACKET_TYPE_KD_STATE_CHANGE DbgKdExceptionStateChange notification.
- Log other unhandled PACKET_TYPE_KD_STATE_CHANGE32/64 and PACKET_TYPE_KD_STATE_MANIPULATE notifications.

When KdSendPacket receives the DbgKdExceptionStateChange notification,
it cannot handle it (no debugger is there!). However, we need to claim
the debugger to be present, so that its KD64 caller: KdpSendWaitContinue(),
can call back KdReceivePacket(PACKET_TYPE_KD_STATE_MANIPULATE), which,
in turn, informs KD that the exception cannot be handled, by returning
a failure code in the ManipulateState's ContinueStatus.

During bugchecks, this allows KiBugCheckDebugBreak() to not loop infinitely,
but instead fall back into calling HalHaltSystem() to halt the computer.
2025-04-19 20:01:10 +02:00
Serge Gautherie
0e21c6f3fd
[NTOS:KD] Accept some packet types without KDBG (#7892)
When KDBG isn't included in the kernel (Release build), the fall-back
KdSend/ReceivePacket() routines are invoked by KD64. A minimal handling
of the basic packets needs to be done:
PACKET_TYPE_KD_STATE_CHANGE32/64 for KdSendPacket(),
and PACKET_TYPE_KD_POLL_BREAKIN, PACKET_TYPE_KD_STATE_MANIPULATE
for KdReceivePacket().

Addendum to commit 2046a17ef4
CORE-20107
2025-04-19 20:01:09 +02:00
Hermès Bélusca-Maïto
005f75bd61
[RTL] x64/ARM: Alias RtlpBreakWithStatusInstruction to DbgBreakPointWithStatus; x64: fix a bug.
RtlpBreakWithStatusInstruction is just a label for KD.

On machines that have register calling conventions (basically all except
x86), the `Status` parameter for `DbgBreakPointWithStatus` is stored in
the first argument register.

https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/nf-wdm-dbgbreakpointwithstatus

On the x64 platform, `DbgBreakPointWithStatus` only uses the ECX register
and leaves EAX untouched. Verified on Windows.
2025-04-19 20:01:08 +02:00
Hermès Bélusca-Maïto
a7d86fe3a7
[NTOS][RTL] Remove unused deprecated ReactOS-only DbgBreakPointNoBugCheck()
This helper was introduced in commit b041530f2d (r8551), and its
last remaining usage removed in commit f038f4a895 (r23636).
2025-04-19 20:01:06 +02:00
Whindmar Saksit
b42b015cc6
[SHELL32] Enable OK Run dialog button on combo change (#7909)
CORE-20125
2025-04-19 14:18:08 +02:00
Eric Kohl
2fe3073697 [DHCPCSVC] Remove the now obsolete function DhcpRosGetAdapterInfo 2025-04-19 11:42:09 +02:00
Eric Kohl
3fe4b41f20 [IPHLPAPI] Retrieve DHCP information from the registry 2025-04-18 19:52:23 +02:00
Doug Lyons
fa7890f39d
[SERVMAN] Services Properties 'Dependencies' tab missing text above lower listbox (#7899)
- Add some missing 'colons' to descriptive text above upper listbox.
CORE-20115
2025-04-18 12:45:48 -05:00