5948 Commits

Author SHA1 Message Date
Hermès Bélusca-Maïto
61623ab497 [MSGINA] Use IDOK/IDCANCEL for the "Log Off ReactOS" Yes/No buttons (#8334)
This allows pressing ENTER or ESC on the keyboard and have the correct
action done. The equivalent dialog in shell32.dll was already using that.
Simplify the associated code as well.

Also: remove the unused `", 400, 0, 1"` `FONT` resource specification info.
2025-08-14 17:56:42 +02:00
Hermès Bélusca-Maïto
10b0101cc5 [MSGINA] *.rc: Default to "Lock Computer" in the "Security" dialog (#8334)
And add missing keyboard accelerators to the dialog buttons
(except for Hebrew where it's not clear what the preferred way
of specifying accelerators is).
2025-08-14 17:56:42 +02:00
Hermès Bélusca-Maïto
dc43104a70 [MSGINA] *.rc: Simplify BS_DEFPUSHBUTTON style (#8334)
Indeed, `DEFPUSHBUTTON` == `PUSHBUTTON ..., BS_DEFPUSHBUTTON` with
also the `WS_TABSTOP` style that is needed for keyboard navigation.
2025-08-14 17:56:22 +02:00
Mohammed al-Ramadany
4f61d2ea04 [KERNEL32] Fix use-after-free in GetStartupInfoA (#8282)
- Set StartupInfo to point to the global BaseAnsiStartupInfo only after the local data has been freed.
2025-08-11 17:17:29 -06:00
Hermès Bélusca-Maïto
b1322d43b2 [USERENV] LoadUserProfileW(): Improve handling of lpProfileInfo->lpProfilePath (#8321)
- As mentioned in the previous MSGINA commit aa67222595,
  `lpProfilePath` specifies the path to a *roaming* user profile,
  for example on a domain server, if any. It is then used to create
  a local image (copy) of the profile on the local computer.

  HOWEVER (ReactOS HACK):
  We currently don't implement this in ReactOS; instead, we use it
  directly as *the* user's profile path, without doing any copy...

- Yes, MS Windows allows `lpProfileInfo->lpProfilePath` to be NULL :)
2025-08-11 21:57:58 +02:00
Hermès Bélusca-Maïto
aa67222595 [MSGINA] CreateProfile(): Fix initialization of some WLX_PROFILE_V2_0 members (#8321)
The following members of the returned `WLX_PROFILE_V2_0` structure:
`pszProfile`, `pszPolicy`, `pszNetworkDefaultUserProfile`, and
`pszServerName`, have a specific meaning and are used when logging
to (NT4, Active Directory...) domains.
See the added code comments for details.

In particular, `pszProfile` specifies the path to a *roaming* user
profile[^1] on a domain server, if any. It **DOES NOT** specify the local
`"C:\Documents and Settings"` path (got via `GetProfilesDirectoryW()`).

Since we don't really support user login on domains, set these pointers to NULL.

----

Enabling UserEnv debug logging[^2] on Windows 2003, one can observe such
following traces, for a `TestUser` roaming user profile:
```
USERENV(148.14c) 20:24:59:821 LoadUserProfile: Entering, hToken = <0x8bc>, lpProfileInfo = 0x6e5d8
USERENV(148.14c) 20:24:59:875 LoadUserProfile: lpProfileInfo->dwFlags = <0x0>
USERENV(148.14c) 20:24:59:912 LoadUserProfile: lpProfileInfo->lpUserName = <TestUser>
USERENV(148.14c) 20:24:59:966 LoadUserProfile: lpProfileInfo->lpProfilePath = <C:\Documents and Settings\TestUser_Roaming>
USERENV(148.14c) 20:25:00:021 LoadUserProfile: lpProfileInfo->lpDefaultPath = <\\PC-H\netlogon\Default User>
USERENV(148.14c) 20:25:00:075 LoadUserProfile: NULL server name
...
USERENV(148.14c) 20:25:06:177 CopyProfileDirectoryEx: Found hive file NTUSER.DAT
USERENV(148.14c) 20:25:06:395 ReconcileFile: C:\Documents and Settings\TestUser_Roaming\NTUSER.DAT ==> C:\Documents and Settings\TestUser\NTUSER.DAT  [OK]
...
```
The `lpProfilePath` specifies a roaming profile directory (`"TestUser_Roaming"`)
for a user named named `TestUser`, and UserEnv proceeds to image the roaming
profile into the directory (`"TestUser"`) in the local computer.

However, when the user has a local profile, the `lpProfilePath` is set to
NULL in this case, and one observes instead:
```
USERENV(148.14c) 20:21:22:644 LoadUserProfile: NULL central profile path
```

----

[^1]: The following links explain this, also demonstrating UserEnv debug logging:
    - https://web.archive.org/web/20130319204738/http://blogs.technet.com/b/askds/archive/2008/11/11/understanding-how-to-read-a-userenv-log-part-2.aspx
    - https://web.archive.org/web/20150405040409/http://blogs.technet.com/b/ad/archive/2007/08/20/tracking-user-environment-creation.aspx

[^2]: For more details, see:
  https://www.betaarchive.com/wiki/index.php?title=Microsoft_KB_Archive/221833
  (archived from: http://support.microsoft.com/kb/221833)
  UserEnv debug logging is achieved by adding a `REG_DWORD` value named
  `UserEnvDebugLevel` in the following registry sub-key:
  `HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon`
  with a non-zero value.
  To view the output in a debugger (e.g. WinDbg when kernel-debugging
  Windows), set the value to `0x00020002`.
2025-08-11 21:55:43 +02:00
Hermès Bélusca-Maïto
4d85dd4f97 [MSGINA] gui.c: Simplify 'wcslen(string) != 0' tests 2025-08-10 20:56:41 +02:00
Serge Gautherie
d4d52e1529 [KERNEL32][KERNEL32_VISTA] .spec: Fix QueryFullProcessImageName*() param type (#8294)
"Out"-only parameters are only annotated as ptr.
2025-08-08 23:37:35 +02:00
Pierce Andjelkovic
b4731b7f8f [NEWDEV] Correct typo in en-us locale (#8270)
Change "removeable" (uncommon British English spelling) to "removable" (standard US spelling) in the en-US locale.
2025-08-04 21:00:53 -06:00
Whindmar Saksit
58276e81ee [COMCTL32] ListView must update header font if it deletes the old font (#8287)
A bug fix for PR #7783
2025-08-03 23:33:00 +02:00
Eric Kohl
33696393e7 [IPHLPAPI] Update IpRenewAddress and IpReleaseAddress
IpReleaseAddress: Use DhcpReleaseParameters instead of DhcpReleaseIpAddressLease.
IpRenewAddress: Use DhcpAcquireParameters instead of DhcpRenewIpAddressLease.
2025-08-03 13:01:04 +02:00
Mark Jansen
dfc05a68a5 [APPHELP] Make some more tests pass 2025-08-01 21:53:38 +02:00
Timo Kreuzer
f5612437ee [PSDK] Update ntstatus.h 2025-07-31 16:00:13 +03:00
Timo Kreuzer
05dc65bd17 [PSDK] Add ioapiset.h 2025-07-31 16:00:13 +03:00
Timo Kreuzer
76ef3c45a5 [PSDK] Add minwinbase.h 2025-07-31 16:00:13 +03:00
Hermès Bélusca-Maïto
b74e243579 [WINLOGON][WLNTFYTESTS] The "Enabled" registry value doesn't exist for notifications (#8276)
Analysis of strings in Win2000 and WinXP/2003 winlogon.exe, show that
the "Enabled" registry value doesn't exist for notifications.

This value is actually only used by the ScCertProp (Smart Card Certificate
Propagation) notifications, in wlnotify.dll, to enable or disable certificate
progagation.[^1]

Note that whatever the "Enabled" registry value is, the notification DLL
is still loaded within winlogon.exe.

We however keep the `bEnabled` internal flag, so as to be able to disable
at runtime notifications that could not be delay-loaded, or that behave
erratically, etc.

[WLNOTIFY] Add a comment about the "Enabled" value in scard.c!SCardStartCertProp()

[^1]: For more information, see:
https://www.microfocus.com/documentation/securelogin/9.0/administration_guide/blm54qb.html?view=print
https://www.betaarchive.com/wiki/index.php?title=Microsoft_KB_Archive/925884
2025-07-30 12:37:23 +02:00
Carl J. Bialorucki
c9842e5aad Move /sdk/include/reactos/wine to /sdk/include/wine, reorder global includes, remove unneeded includes (#8258)
- Move sdk\include\reactos\wine to sdk\include\wine
- Reorder the directories in include_directories() to be closer to alphabetical. This should make it easier to determine what global include directories can be removed in the future.
2025-07-29 13:57:12 -06:00
Eric Kohl
f02ac8bc1e [BOOTDATA][KEYBOARDS] Add the German (IBM) keyboard layout 2025-07-29 21:52:20 +02:00
Eric Kohl
0e6c0af354 [KBDGRIST] Commit the proper files 2025-07-28 21:35:34 +02:00
Eric Kohl
c62ef77697 [KEYBOARD] Rename kbdgr1.dll to kbdgrist.dll
kbdgr1.dll is reserved for the German (IBM) keyboard layout but it is currently used by the German (RISTOME) keyboard layout.
2025-07-28 21:20:40 +02:00
Whindmar Saksit
c40624ae2a [SHELL32] Only set state flag if state is set on items in DefView list (#8259)
CORE-20273
2025-07-16 13:36:02 +02:00
Piotr Hetnarowicz
5bd84f6f71 [NETSHELL] Update Polish (pl-PL) translation (#8208) 2025-07-13 19:35:07 +02:00
Piotr Hetnarowicz
2d886daabd [POWERCFG] Update Polish (pl-PL) translation (#8206) 2025-07-13 19:34:51 +02:00
Matisse Rüdiger
853b446e38 [ACPPAGE] Update French (fr-FR) translation (#8248)
The word "colours" was left untranslated.
2025-07-12 22:06:15 +02:00
Piotr Hetnarowicz
92c399e0d8 [DEVMGR] Update Polish (pl-PL) translation (#8207) 2025-07-12 20:34:31 +02:00
Piotr Hetnarowicz
0459e0daff [STOBJECT] Update Polish (pl-PL) translation (#8198) 2025-07-12 20:33:36 +02:00
Piotr Hetnarowicz
be032857f7 [HOTPLUG] Update Polish (pl-PL) translation (#8197) 2025-07-12 20:32:59 +02:00
Whindmar Saksit
8edf4f0926 [SHELL32][NTOBJSHEX] CDefaultContextMenu cannot close keys it does not own (#8233) 2025-07-12 15:18:39 +02:00
Whindmar Saksit
3fb2905c37 [SHELL32] Don't get icon and label from AutoRun.inf on floppy drives (#7953)
CORE-9881 (partial)
2025-07-12 15:16:38 +02:00
Carl J. Bialorucki
117cd33b49 [PSDK] Sync winerror.h with wine-10.0 (#8244)
- Sync winerror.h to wine-10.0
- Fix a couple hacks that existed because we didn't do this sooner
- Fix an instance where Wine compares a pointer to S_OK to see if it's null
2025-07-11 14:12:09 -06:00
Whindmar Saksit
212a1a5c74 [SDK][SHELL32_APITEST] Fix some warnings (#7031) 2025-07-06 21:12:37 +02:00
Carl J. Bialorucki
a753f34e30 [PSDK][XDK][NDK][INCLUDE/WINE] Make header changes to sync crypt32, kernel32, and user32 winetests (#8114)
- [PSDK] Sync wincrypt.h to Wine 10.0, keeping our SAL annotated function definitions behind an #ifdef guard
- [XDK] Add definitions to our winnt header that Wine 10.0's winternl.h depends on.
- [INCLUDE/WINE] Sync winternl.h to Wine 10.0
- [OTHER] Fix breaking changes with the synced winternl.h.
2025-07-05 15:14:31 -06:00
Whindmar Saksit
375fca5058 [SHELL32] Implement SHSimulateDropOnClsid (#8223) 2025-07-05 18:18:51 +02:00
Piotr Hetnarowicz
fbd70c81c3 [SHIMGVW] Update Polish (pl-PL) translation (#8201)
Addendum to 084fae1eb4.
2025-07-04 08:48:50 +03:00
Piotr Hetnarowicz
41e7aa19d5 [CABVIEW] Update Polish (pl-PL) translation (#8196)
Addendum to 63bb46a2fd.
2025-07-03 15:36:22 +03:00
Piotr Hetnarowicz
283e351724 [INPUT] Update Polish (pl-PL) translation (#8202)
Addendum to 0eadf4a00c + 17e1cf3127 and 80c4856bba.
2025-07-03 15:10:33 +03:00
Piotr Hetnarowicz
273642a8b3 [SHDOCVW] Update Polish (pl-PL) translation (#8200)
Addendum to 960a305e5c.
2025-07-03 14:54:41 +03:00
Serge Gautherie
671935f24b [KERNEL32] _dump_context(): Fix ARM case (#8185)
Match DbgPrint() parameters.
Addendum to commit 369786f126 (r67736).
2025-06-30 14:05:12 +02:00
Timo Kreuzer
a9ee20cb9a [CRT:MATH] Import nextafter, nextafterf and nexttowardf from musl
Note: On Windows, where a long double is the same as a double, nextafterl is the same as nextafter, nexttowardl is the same as nexttoward.
Also nexttoward is the same as nextafter.
2025-06-30 09:19:47 +00:00
Timo Kreuzer
5c26ccdb29 [CRT:MATH] Import scalbn/scalbnf from musl 2025-06-30 09:19:47 +00:00
Timo Kreuzer
3f71ab80ad [CRT:MATH] Implement _isnan and _isnanf 2025-06-30 09:19:47 +00:00
Timo Kreuzer
e01231bd49 [CRT:MATH] Implement _finite, _finitef 2025-06-30 09:19:47 +00:00
Timo Kreuzer
50028685dc [CRT:MATH] Implement _dsign and _dsignf 2025-06-30 09:19:47 +00:00
Timo Kreuzer
0e5d6af68e [CRT:MATH] Implement x86 sse2 math functions
These are just wrappers around the normal functions and lack any optimization.
2025-06-30 09:19:47 +00:00
Timo Kreuzer
5c6912f561 [CRT][UCRTBASE] Add round/roundf 2025-06-30 09:19:47 +00:00
Timo Kreuzer
35bc1e1d9e [CRT] Add crtmath library 2025-06-30 09:19:47 +00:00
Hermès Bélusca-Maïto
92fd611209 [SYSSETUP] Improve French (fr-FR) translation (#8167) 2025-06-29 16:48:44 +02:00
Hermès Bélusca-Maïto
9cb76114c6 [NETSHELL][SAMSRV] Fix "reqired" -> "required" typo
3rd-party code (drivers/filesystems/fastfat/dirsup.c) left untouched.

Caught by Serge Gautherie.
2025-06-29 16:42:35 +02:00
Hermès Bélusca-Maïto
2a91e496ee [NETSHELL] Improve French (fr-FR) translation (#8166) 2025-06-29 16:36:53 +02:00
Hermès Bélusca-Maïto
af96e9f353 [TRANSLATIONS] Fix some typos in French translations (#8164) 2025-06-29 16:31:39 +02:00