Commit graph

86439 commits

Author SHA1 Message Date
Hermès Bélusca-Maïto
64264ec30f
** WIP ** [SYSSETUP] revamp the finish page 2024-12-31 12:42:40 +01:00
Hermès Bélusca-Maïto
3969cc1fa9
more code changes 2024-12-31 12:42:36 +01:00
Hermès Bélusca-Maïto
fa69fac9ed
More resource changes 2024-12-31 12:41:47 +01:00
Hermès Bélusca-Maïto
c2a5d1fa32
GUI setup: Reenable autoreboot for live-testing
** WIP ** Revamp Welcome and Finish pages
2024-12-31 12:41:46 +01:00
Hermès Bélusca-Maïto
c3ace365b6
[SYSSETUP] Fix some wizard pages
- Remove hardcoded FONT resource attributes (fallback to defaults).
- Unify per-language CAPTIONs of wizard pages.
- Unify the Welcome page title control sizes with those of the
  Finish page and what's used in the 1st-stage GUI setup.
  Unify these also across translations.
2024-12-31 12:41:45 +01:00
Hermès Bélusca-Maïto
699e76fd0b
** TEMP DON'T COMMIT ** Disable 'setup' and manifest to be able to debug easily on Windows 2024-12-31 12:41:44 +01:00
Hermès Bélusca-Maïto
7607718847
**** DO NOT COMMIT!! -- Temp VBoxDbg bootcd ****
** WIP ** Make it start again
[REACTOS] Introduce the experimental all-in-one ReactOS BootCD
*** [REACTOS] Re-enable reboot at the end of setup
2024-12-31 12:41:42 +01:00
Hermès Bélusca-Maïto
4920e639f9
[SETUP:REACTOS] Revamp the Install-type page layout (#7581)
- Update the page title and subtitle.
- Embolden the types of installation.
- Introduce title and subtitle for the upgrade/repair page
  (not translated yet).
2024-12-31 12:33:27 +01:00
Hermès Bélusca-Maïto
8d00977681
[SETUP:REACTOS] Refactor the Welcome page (#7579)
- Rewrite the introductory text.
- Add a temporary (ReactOS-Alpha) informational message.
- Hide the "Back" button when the Welcome page is active, and
  show it back again when switching to the following ones.
2024-12-31 12:09:45 +01:00
Denis Robert
894e5cddd6
[SHELL32] Fix BrowseForFolder expanding a folder containing a zip (#7585)
Commit 325d74c30f (PR #7437) introduced a side effect that made impossible
to expand a folder when it contained both a ZIP file and subfolders.

Fix this by ignoring the return value of BrFolder_InsertItem and free the
pidlTemp pointer explicitly in all cases.

CORE-19955 CORE-19751
2024-12-30 16:14:44 +03:00
Eric Kohl
26f8fa7ade [WKSSVC] NetrWkstaGetInfo Level 102: Return the number of currently logged-on users 2024-12-29 21:14:40 +01:00
Oleg Dubinskiy
42d5dfd3de
[SHELL32] SHELL_FindExecutable: import new path handling code from Wine 10.0-rc3 (#7588)
https://gitlab.winehq.org/wine/wine/-/blob/wine-10.0-rc3/dlls/shell32/shlexec.c?ref_type=tags#L631
0bad544aab
Import new path handling code from Wine 10.0-rc3. It uses PathResolveW(), which was hacked in ReactOS for a long time but has been implemented properly starting from 0.4.15-dev. So now it should work correctly, and we don't need to use SearchPathW() anymore.
This fixes a heap corruption from shell32.dll when launching SpotifyXP 2.0.3 Beta and trying to login with Spotify credentials via OAuth login method. Also it fixes the same heap corruption when pressing Update button in CCleaner 5.39.6399.
CORE-14670, CORE-19953
2024-12-29 17:25:43 +01:00
Whindmar Saksit
fd41270d6d
[SHELL32] ShellExecuteW must call ShellExecuteExW (#7587)
Adds the DDEWAIT/NOASYNC flag unless compatibility info says otherwise.

CORE-19952
2024-12-29 15:22:30 +01:00
Eric Kohl
a9e7d67427 [MSV1_0] LsaApLogonTerminated: Delete the logged-on user from the logon list 2024-12-29 12:17:55 +01:00
Eric Kohl
45b008dd23 [WKSSVC][NETAPI32][IDL] Implement NetWkstaUserGetInfo using the workstation service 2024-12-28 21:14:38 +01:00
Eric Kohl
0bb830022c [MSV1_0] Implement LsaApCallPackage.MsV1_0GetUserInfo 2024-12-28 16:04:50 +01:00
Whindmar Saksit
1faa571f3f
[SHELL32] CM::InvokeCommand case-insensitive compare verb string (#7582)
CORE-18733
2024-12-27 14:47:11 +01:00
Whindmar Saksit
1fec01561d
[SHDOCVW][BROWSEUI][SHELL32] Correctly refcount CNSCBand and Explorer File menu (#7569)
CORE-19879 CORE-19780
2024-12-27 14:46:30 +01:00
Timo Kreuzer
e7354f244c [NTOS:KE] Fix freeze in KeBugCheckWithTf 2024-12-26 11:27:39 +02:00
Timo Kreuzer
aee59404ce [NDK] Remove amd64/asm.h
Most definitions were either duplicated or unused. Move the remaining ones to amd64/ketypes.h. Actual asm definitions are autogenerated.
2024-12-26 11:08:15 +02:00
Whindmar Saksit
7d75bfb449
[SHELL32] ILLoadFromStream must allow loading unknown pidl formats (#7570) 2024-12-25 20:32:08 +01:00
Eric Kohl
3dd6e3103f [INCLUDE][WKSSVC][MSV1_0] Rename msv1_0p.h to ntmsv1_0.h and move it to the ddk directory 2024-12-25 12:52:55 +01:00
Doug Lyons
1c55924045
[USER32_APTEST][USER32] CopyImage improve regression test and function. (#7524)
CORE-19806 and CORE-17902.

* Follow-up of PR #6886 and commit d3ec7cd to remove hack.
2024-12-24 17:51:31 -06:00
Timo Kreuzer
1ea3af8959 [SDK] Fix naming of a CPUID structure 2024-12-24 17:27:32 +02:00
Hermès Bélusca-Maïto
3b800165b0
[SETUP:REACTOS][SYSSETUP] Fix Shift-F10 cmd.exe invocation.
Pressing Shift-F10 to open cmd.exe when the setup program runs from
a different current directory than System32, now works correctly.

Use the 2nd CreateProcessW() `lpCommandLine` parameter, instead of the
1st parameter `lpApplicationName`, so as to use default path search.
The command-line buffer given to the 2nd-parameter can be temporarily
modified by CreateProcessW(), thus use an on-stack buffer.

https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-createprocessw#parameters
2024-12-24 12:22:42 +01:00
Hermès Bélusca-Maïto
d7f1a784a8
[SHLWAPI] Use an explicit "int*" type for the 3rd parameter of StrToIntExA/W
As this is already present in our PSDK shlwapi.h header, MS PSDK one, and MSDN.
2024-12-23 22:44:54 +01:00
Hermès Bélusca-Maïto
c19ebd0b0a
[SHLWAPI] Explicitly cast to "int*" the 3rd parameter of StrToIntExW calls (fix build)
Fixes build error:

../src/dll/win32/shlwapi/ordinal.c:5417:63: error: passing argument 3 of 'StrToIntExW' from incompatible pointer type [-Werror=incompatible-pointer-types]
         if (!StrToIntExW(V_BSTR(&vargTemp), STIF_SUPPORT_HEX, &V_I4(&variTemp)))
In file included from ../src/dll/win32/shlwapi/ordinal.c:45:
../src/sdk/include/psdk/shlwapi.h:1682:52: note: expected 'int *' but argument is of type 'LONG *' {aka 'long int *'}
 BOOL WINAPI StrToIntExW(_In_ LPCWSTR, DWORD, _Out_ int*);
                                                    ^~~~
2024-12-23 22:44:23 +01:00
Denis Robert
6f60301d25
[NEWDEV] Fix bad use of PropSheet_SetCurSelByID (#7574)
PropSheet_SetCurSelByID() was badly called in response of PSN_WIZBACK or
PSN_WIZNEXT notifications. See the reference on these notification codes:

https://learn.microsoft.com/en-us/windows/win32/controls/psn-wizback

> Returns 0 to allow the wizard to go to the previous page. Returns -1 to
> prevent the wizard from changing pages. To display a particular page,
> return its dialog resource identifier.
> (...)
> To set the return value, the dialog box procedure for the page must call
> the SetWindowLong function with the DWL_MSGRESULT value and return TRUE.

This bug sometimes causes the wrong page to appear (e.g. "Previous" in
IDD_NODRIVER should come back in IDD_CHSOURCE, but goes to IDD_WELCOME).
2024-12-23 16:24:21 +03:00
Whindmar Saksit
0743faf2e3
[NETSHELL] Handle DefView accelerators (#7572)
CORE-18750
2024-12-22 21:27:20 +01:00
Hermès Bélusca-Maïto
cc3672cb73
[RESOURCES] Remove redundant #pragma code_page(), includes, etc.
They are redundant when these are already present in the given module's
root resource file, from which the language-specific resource files are
being included.
2024-12-22 18:39:26 +01:00
Hermès Bélusca-Maïto
40f360445b
Merry Christmas time! 2024-12-22 18:38:34 +01:00
Hermès Bélusca-Maïto
9c544a5552
[BASE][DLL][ROSAPPS][SCREENSAVERS] Remove deprecated legacy Win16 resource attributes (#7567)
- Remove DISCARDABLE attribute.
- Remove MOVEABLE attribute.

See: https://learn.microsoft.com/en-us/windows/win32/menurc/common-resource-attributes

3rd-party module rosapps/lib/vfdlib is left unchanged.
2024-12-22 16:50:14 +01:00
Eric Kohl
ae7e375a4d [LSALIB][SECURE32][LSASRV] Improve the check for trusted/untrusted callers
- A caller of LsaRegisterLogonProcess is a trusted caller if the calling process has got the Tcb privilege, otherwise it is an untrusted caller.
- A caller of LsaConnectUntrusted is always an untrusted caller.
- A caller of LsapOpenLsaPort is always a trusted caller.
2024-12-22 11:15:37 +01:00
Timo Kreuzer
2d4c0b87b1 [WIN32K:NTUSER] Check for NULL desktop window in co_IntProcessMouseMessage 2024-12-22 10:19:01 +02:00
Eric Kohl
216196a10d [WKSSVC] Simplify NetrWkstaSetInfo 2024-12-21 16:19:14 +01:00
Eric Kohl
f06c4dcc6b [WKSSVC] InitWorkstationInfo: Set data size before retrieving registry values 2024-12-21 15:28:43 +01:00
Eric Kohl
85e90601e0 [SETUPAPI] Implement SetupDiGetCustomDevicePropertyA 2024-12-21 10:35:53 +01:00
Stanislav Motylkov
392473c7b5 [GITHUB] Stick to ubuntu-22.04 for build-linux
Fixes clang build, since ubuntu-latest (24.04.1 LTS / Noble Numbat) has no
LLVM 13 package available:

```
Ign:6 https://apt.llvm.org/noble llvm-toolchain-noble-13 InRelease
Err:9 https://apt.llvm.org/noble llvm-toolchain-noble-13 Release
  404  Not Found [IP: 151.101.46.49 443]
Reading package lists...
E: The repository 'http://apt.llvm.org/noble llvm-toolchain-noble-13 Release' does not have a Release file.
Error: Process completed with exit code 100.
```
2024-12-20 19:48:55 +03:00
Whindmar Saksit
28399a216b
[SHELL32] Use FS compatible PIDL format for Recycle Bin items (#7532)
* [SHELL32] Use FS compatible PIDL format for Recycle Bin items

This allows SHChangeNotify to handle these items and DefView will correctly update the recycle folder.

CORE-18005 CORE-19239 CORE-13950 CORE-18435 CORE-18436 CORE-18437
2024-12-19 14:38:27 +01:00
Hermès Bélusca-Maïto
a18424267b
[NTOS:CM] Add some more configuration options.
Add support for configuring the CM lazy-flush and delay-close variables:

  `CmpLazyFlushIntervalInSeconds`, `CmpLazyFlushHiveCount`,
  and `CmpDelayedCloseSize`,

using REG_DWORD values named respectively:

  `RegistryLazyFlushInterval`, `RegistryLazyFlushHiveCount`,
  and `DelayCloseSize`,

in the registry key
`HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Configuration Manager` .

Extra observations:
- While delay-close support exists in Windows 2003, configuring
  the delay-close size is possible only in Windows Vista and later.
- The possibility of configuring the lazy-flush hive count has been
  removed in Windows 8+.

See the comparison tables at:
https://redplait.blogspot.com/2011/07/cmcontrolvector.html
https://redplait.blogspot.com/2012/06/cmcontrolvector-for-w8.html
https://redplait.blogspot.com/2016/03/cmcontrolvector-from-windows-10-build.html

In addition:
Remove `CmpDelayedCloseIndex` from cm.h as it is not used anymore in our code.
2024-12-19 11:52:13 +01:00
Eric Kohl
d44ed03b6c [SETUPAPI][PSDK] Implement SetupDiGetCustomDevicePropertyW 2024-12-18 23:18:36 +01:00
Thamatip Chitpong
1e06829961 [NTOS:PS] Add query support for QUOTA_LIMITS_EX 2024-12-18 09:53:21 +07:00
Thamatip Chitpong
bf0dbdbd19 [NTOS:PS] NtQueryInformationProcess: Move process information-specific variables to their own scope 2024-12-18 09:53:21 +07:00
Thamatip Chitpong
b1f27287ae [NTDLL_APITEST] NtQueryInformationProcess: Add tests for ProcessQuotaLimits/Ex 2024-12-18 09:53:21 +07:00
Thamatip Chitpong
dabe14ae67 [NTDLL_APITEST] NtQueryInformationProcess: Add tests for ProcessBasicInformation 2024-12-18 09:53:21 +07:00
Václav Zouzalík
e18763e13f
[USERINIT] Update German (de-DE) translation (#7541)
* [USERINIT] Update German (de-DE) translation

* [USERINIT] Update German (de-DE) translation

* [USERINIT] Fix copyright header
2024-12-17 20:28:14 +01:00
George Bișoc
28b277aa42
[STOBJECT] Display the estimated battery time when hovering the battery icon
We do have IDS_PWR_HOURS_REMAINING and IDS_PWR_MINUTES_REMAINING string resources but they're never used programmatically.
Display the estimated battery time ONLY if the returned time is not unknown.

CORE-18969
CORE-19452
2024-12-17 14:34:30 +01:00
George Bișoc
b0680d65fe
[BATTC] Signal the wait battery tag event when notifying Battery Class
BatteryClassStatusNotify is used by battery miniport drivers to notify the Battery Class of a status change. This can either be a battery status change or battery tag assignation, depending on what the device extension (namely the composite battery) waits for.

We do have implementation for EVENT_BATTERY_STATUS but not for EVENT_BATTERY_TAG. What happens is when BatteryClassIoctl fails to query the battery tag because it has not yet been assigned, the thread is stuck on waiting for the event object to be signaled, forever.
This tipically happens when a timeout of -1 (meaning the calling thread must wait indefinitely) is supplied. The composite battery driver (COMPBATT) is responsible to signal the Battery Class when a CM (Control Method) ACPI battery receives a tag, which then this function will signal the event.

CORE-18969
CORE-19452
2024-12-17 14:23:33 +01:00
Eric Kohl
c10c5224ff [SETUPAPI] Implement SetupDiGetClassRegistryPropertyA and SetupDiSetClassRegistryPropertyA 2024-12-16 23:19:56 +01:00
George Bișoc
f3dd15ad64
[CMBATT] Grab the design voltage after the BIF data gets copied
There was a risk of accessing invalid data as the design voltage was grabbed before the read BIF data was copied into the device extension.
2024-12-16 22:09:02 +01:00