6385 Commits
Author SHA1 Message Date
Whindmar Saksit 16bb138e32 [SHELL32][SHELL32_APITEST] Handle named registry verbs in CDefaultContextMenu::InvokeCommand (#9340)
CORE-20690
2026-08-04 18:39:14 +02:00
Timo Kreuzer 652403caf2 [RTL/x64][NTOS:KE/x64] Fix RtlInitializeContext
- In RtlInitializeContext only set the registers required, don't offset RSP
- In KiInitializeContextThread force control segments, which are not set by RtlInitializeContext
- Allocate the stack home space in KiInitializeContextThread
- Fix BaseInitializeContext to work with the changed stack adjustments
2026-08-01 11:05:47 +00:00
Václav Zouzalík 30bdec7004 [ACPPAGE] Update Slovak (sk-SK) translation (#9253)
Update the Slovak translation of language control panel.
2026-07-31 12:58:42 +03:00
Václav Zouzalík 797d10cf82 [INPUT] Update Czech (cs-CZ) translation (#9250) 2026-07-30 21:12:34 +03:00
Ismaeel Shaikh 185e545db6 [DEVMGR] Fix spelling of "occurred" in comments (#9323)
Fixed several instances where "occurred" was misspelled as "occured"
in the API and Properties documentation blocks.

Signed-off-by: Ismaeel Shaikh <[email protected]>
2026-07-30 19:12:45 +03:00
Whindmar Saksit 4fecc908e7 [SHELL32] All SHELLSTATE members must be initialized before writing to the registry (#9293)
A more reliable fix.

CORE-20585
2026-07-28 16:14:13 +02:00
Stanislav Motylkov a05ef98c2a [NETSHELL] Improve usability by keyboard
- Allow exiting from "Network Connection Details" dialog
  with Enter (using DEFPUSHBUTTON), Esc and Alt+F4 (using IDCANCEL)
- Add extended style LVS_EX_FULLROWSELECT to the listview, as in Windows

Misc. changes:
- Minor code rearrange, removing one obvious comment
- Czech (cs-CZ): Fix letter capitalization
- French (fr-FR): Fix accelerator key
- Hebrew (he-IL): Fix accelerator key

CORE-12323
2026-07-28 14:22:43 +03:00
Stanislav Motylkov 56746c29df [DESK] Appearance: Apply the Shell Icon Size properly (#9336)
- Implement 3-state checkbox for the use of large icons
- Add missing registry value write on applying a scheme
- Misc: Update preview on saving "Effects" settings (for flat menus)

CORE-12905
2026-07-28 14:20:23 +03:00
Mohammad Amin Mollazadeh ec4af44cff [RPCRT4] Sync rpcrt4.spec to Wine-10.0 (#9338) 2026-07-27 12:12:15 +02:00
Stanislav Motylkov 8f5475054c [NETSHELL] Fix overlapping text on top of edit in IDD_NETWORKDOMAINPAGE
Reduce "Workgroup or Domain Name:" height to avoid IDC_DOMAIN_NAME overlap,
with a value that is enough to fit the text vertically.

CORE-20694
2026-07-26 01:16:43 +03:00
Jose Carlos Jesus 90f29bc22f [INPUT] Update Portuguese (pt-PT/pt-BR) translation (#9321)
Fix IDS_US_LAYOUT string, which should always be "US".
2026-07-26 00:26:15 +03:00
Amine Khaldi e05d78ede0 [OLEAUT32] Sync with Wine 10.0. CORE-20595 2026-07-25 17:55:19 +01:00
Amine Khaldi 4152023f56 [URLMON] Sync with Wine 10.0. CORE-20596 2026-07-25 17:41:41 +01:00
Hermès Bélusca-Maïto 6cb1394bb1 [COMCTL32][COMCTL32_WINETEST] Import wine implementation for PSN_QUERYINITIALFOCUS (#9272)
Import patch from wine-9.15: wine-mirror/wine@786bb3b
```
comctl32: Add handling for PSN_QUERYINITIALFOCUS in prop.c.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54862

wine commit id 786bb3b993f7fe195adb732271df912286c5bfe7 by Jacob Czekalla <[email protected]>
```
2026-07-24 23:04:41 +02:00
Whindmar Saksit 68a03b2e1a [BROWSEUI][SHELL32] Prevent crash by unsubclassing DefView during teardown (#9305)
CORE-20504
2026-07-24 11:38:06 +02:00
Carl J. Bialorucki 6ccb3488e4 [NTDLL] Export RtlIsNameInExpression from ntdll, ntdll_vista 2026-07-22 19:53:20 -05:00
095860df57 [SDK][SHELL32] A big bundle of NT6+ shell32 implementations and stubs (#8834)
Split off CShellitemArray
stub out CShellLibrary
stub out CUserEventTimer
rewrite some vista shellitem APIs
Misc stubs for vista
AddITaskbarList3/ITaskbarList4

---------

Co-authored-by: Oleb Dubinskiy <[email protected]>
Co-authored-by: Mikhail Tyukin <[email protected]>
2026-07-21 12:11:29 -07:00
Timo Kreuzer 795f69c63f [APPHELP] SdbGetFileAttributes: skip NT prefix for GetFileVersionInfoSizeW
SdbGetFileAttributes supports NT paths (at least on Windows 10), but GetFileVersionInfoSizeW does not.
2026-07-20 19:27:31 +00:00
Eric Kohl 8d70dca549 [FMIFS] Do not keep all file system providers loaded
- Load the required provider only!
- Unload providers on last process detach
2026-07-19 22:42:15 +02:00
Mikhail Tyukin 248aa75023 [WSHTCPIP][TCPIP] Implement SO_KEEPALIVE, SIO_KEEPALIVE_VALS 2026-07-19 15:33:29 +02:00
Timo Kreuzer 379e6bb05f [RTL][NTDLL_VISTA] Implement RtlWow64GetProcessMachines 2026-07-19 10:33:38 +00:00
Whindmar Saksit 30b02d038e [SYSSETUP][BOOTDATA] Unattended execute GuiUnattended:DetachedProgram , SetupParams:UserExecute (#9276)
This PR implements two of the three hooks that allows you to run custom
applications during 2nd-stage setup (the 3rd hook is `...\$OEM$\Cmdlines.txt`,
but that requires file copy operations, etc.)

- `DetachedProgram` is documented[^1] for NT4...2003; it is started before
  installation and `UserExecute` after.
- `UserExecute` is a great place to install VM Guest Additions, one reboot
  less and you have shared folders/clipboard on the first normal boot.

[^1]: https://web.archive.org/web/20090902145959/http://technet.microsoft.com/en-us/library/cc757642(WS.10).aspx
2026-07-16 23:22:27 +02:00
Whindmar Saksit a5f51269c8 [SHELL32] Add FolderItems3 support (move/copy directory tree) (#9235)
- Added copy/move support for FolderItems collections.
- Added support for InvokeVerbEx on FolderItems collections.
- Added filter support for FolderItems collections.
2026-07-16 15:58:14 +02:00
Mikhail Tyukin 07fe476126 [UIAUTOMATIONCORE] Use add_idl_reg_scripts and register in syssetup
Oleacc winetest depends on uiautomation.dll to be registered to use IAccessible interface. The oleacc DLL does not use the wine_dllregister library but instead registers the proxy class which results in the interface not being accessible.
2026-07-14 17:21:17 +02:00
Mikhail Tyukin 1616b215a3 [OLEACC] Sync to Wine-10.0 2026-07-14 17:21:17 +02:00
Oleg Dubinskiy 02d7bbc54d [SETUPAPI] Create device interface related keys in case they don't exist yet (#9283)
In SetupDiCreateDeviceInterfaceRegKeyW(), force creating device and reference subkeys of device interface in Registry if they are not created yet.
- Change RegOpenKeyExW() to RegCreateKeyExW() for device and reference subkeys.
This properly fixes audio device name string improperly set in registry and displaying audio device name system-wide. Now it's properly written not only after re-installing audio driver from Device Manager, but also during 2nd setup stage, so it's correct just right after 1st boot.
Addendum to 1ef584c446 and b205c04173.
CORE-20603
2026-07-13 11:25:15 +02:00
Serge Gautherie f9e3448f16 [BOOT][ROSTESTS][SHELL32][USERENV] Fix 'StartUp' typo (#8304)
CORE-18893
2026-07-11 23:47:53 +02:00
Oleg Dubinskiy 1ef584c446 [SETUPAPI] Fix the creation of symbolic link passed to SetupDiCreateDeviceInterfaceRegKeyW() (#8967)
- Create the actual symbolic link, instead of just instance key name (don't replace all \ by # and don't cut reference string from it) inside CreateSymbolicLink() internal helper of SetupDiInstallDeviceInterfaces(), to pass it in SetupDiCreateDeviceInterfaceRegKeyW() inside InstallOneInterface() internal helper later.
- Fix handling the received symbolic link inside SetupDiCreateDeviceInterfaceRegKeyW() itself. Except it to be the fully unmodified one, instead of transformed to an instance key name.
- Additionally, change the SetupInstallFromInfSection() call to SetupInstallFromInfSectionW(), since it's actually called with Unicode parameters from Unicode version of SetupDiCreateDeviceInterfaceRegKeyW(). Otherwise, if to not precisely specify Unicode version call, it might call ANSI function instead and hence will obviously not work correctly because of that.
This fixes regression with improper writing "CLSID" and "FriendlyName" values in "Device Parameters" subkey of device interfaces in Registry, because of reference key open failure, and therefore it also fixes detection of the audio device name in Sound Proeprties from Control Panel in particular.
Follow-up of b205c04173.
CORE-20603
2026-07-10 19:04:29 +02:00
Whindmar Saksit 2885d40937 [SYSSETUP] Unattended ComputerName=* means random name (#9267)
Windows supports[^1] using * as "automatic" for some entries. Let's support it as well.

[^1]: https://web.archive.org/web/20070506023846/http://www.microsoft.com/technet/prodtechnol/Windows2000Pro/deploy/unattend/sp1ch01.mspx
2026-07-09 23:35:05 +02:00
Hermès Bélusca-Maïto 8b5e6383f2 [COMCTL32] Pass a couple of window messages to the active page of property sheets (#9239)
CORE-20681

Send `WM_ACTIVATE` and `WM_ACTIVATEAPP` to the property sheet active page.
And do the same with `WM_ENABLE`, `WM_QUERYENDSESSION`, `WM_ENDSESSION`,
and `WM_DEVICECHANGE`, after sending them to the tab control first.

Similar in spirit to commit d09c3d0af8.
2026-07-09 20:32:29 +02:00
Hermès Bélusca-Maïto 3b157605bc [COMCTL32] Pass WM_SYSCOLORCHANGE/WM_DISPLAYCHANGE/WM_WININICHANGE also to the property sheet tab control (#9239)
Addendum to commit d09c3d0af8.

CORE-13212, CORE-20681
2026-07-09 20:32:13 +02:00
Ethem Çılgın 7d08042343 [SHELL32] Improve Turkish (tr-TR) translation (#9222)
Translate several missing English strings and fix translation error in the context menu.

- Update `IDS_MOVETOMENU` from `"Di&zini kopyala..."` to `"Di&zine taşı..."`. The previous translation mistakenly used "kopyala" (copy) for a move operation, which caused confusion and duplicated string appearance in the shell context menu.
- Complete translations for various previously untranslated strings (including advanced folder options, visual effects, and shortcut run states).
2026-07-09 15:14:13 +03:00
Timo Kreuzer d7aa4ad3f3 [SYSSETUP] Fix use of uninitialized variable 2026-07-08 11:07:34 +00:00
Eric Kohl 71ee75477e [WKSSVC][NETAPI32] Fix NetGetJoinInformation 2026-07-04 22:41:48 +02:00
Carl J. Bialorucki 6117b1bdef [SYSSETUP][BOOTDATA] Add winevdm as an optional module (#9219)
- Add winevdm_setup as an optional module that can be preloaded on install
- Prompt to install both gecko and winevdm if the installer is not on disk
- Change "DisableGeckoInst" to "DisableAddonsInst" because we are installing more than just Gecko now
- No longer use appwiz,,install_gecko hack from wine appwiz
- Delete installer after successfully installing winevdm and gecko locally
2026-07-04 12:03:47 -05:00
Mohammad Amin Mollazadeh 3d86d5eed9 [SHCORE] IsOS(OS_XPORGREATER) should return TRUE on NT 6.0+ (#9196)
CORE-20577

Even though the official documentation[^1] says `IsOS(OS_XPORGREATER)` always
returns FALSE, the tests show otherwise and there are application compatibility
issues otherwise.

[^1]: https://learn.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-isos
2026-07-03 19:09:49 +02:00
Katayama Hirofumi MZ 79761d88fd [SHELL32][SHLWAPI][SHELL32_APITEST][SDK] Support AssocCreateElement (#9215)
Prepare for CLSID_QueryAssociations.
JIRA issue: CORE-20467
- Add dll/win32/shell32/evalcmd/
  elements.cpp.
- Implement AssocCreateElement
  function in elements.cpp.
- Modify shell32.spec.
- Fix shlwapi!AssocCreate by using
  AssocCreateElement.
- Add SKGetValueW and
  SKSetValueW prototypes into
  <shlwapi_undoc.h>.
- Add AssocCreateElement
  prototype into <shlwapi_undoc.h>.
- Add some CLSIDs into
  <shlguid_undoc.h>.
- Add some resource strings into
  shlwapi.
- Add AssocGetPerceivedType
  prototype into <shlwapi.h>.
- Add AssocCreateElement
  testcase into shell32_apitest.
2026-07-04 01:10:31 +09:00
Mohammad Amin Mollazadeh f66f40ec43 [RICHED20] Fix crash on copy (#9224)
CORE-20482

The reason for the crash was a wrong sign extension being done when right-shifting an integer.
Casting to an unsigned integer allows the correct zero-extension instead.

Import patch from Wine 11.3: wine-mirror/wine@bb4ef1f (https://gitlab.winehq.org/wine/wine/-/merge_requests/9776)
```
riched20: Fix crash when copying text.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=59005
wine commit id bb4ef1fbf7d8dae627025ea698c740cca8d15a06 by Piotr Caban <[email protected]>
```
2026-07-03 14:30:52 +02:00
Timo Kreuzer ed51a5d1e2 [RTL][NTDLL] Implement processor related NT6+ functions
Implements RtlGetCurrentProcessorNumberEx, RtlIsProcessorFeaturePresent
2026-07-01 21:45:34 +00:00
Timo Kreuzer dbb4d36927 [NTOS:KE][NTDLL][NTDLL_VISTA] Implement NtGetCurrentProcessorNumberEx 2026-07-01 21:45:34 +00:00
Whindmar Saksit ff2ad34155 [CABVIEW][ZIPFLDR] Implement ParseDisplayName and GetDetailsEx (#9197) 2026-07-01 12:29:53 +02:00
Whindmar Saksit c891aefdcf [SHELL32] Implement CFolder[Item] getters/setters (#9173) 2026-07-01 11:41:17 +02:00
Timo Kreuzer 6679825f21 [WS2_32] Import inet_addr from wine
The old implementation was buggy and caused stack corruption (triggered by ws2_32_winetest:sock test_inet_pton)
2026-07-01 06:52:45 +00:00
Serge Gautherie cd609f468a [DBGHELP] Fix a warning (#9214)
Fix the warning:
```
dll/win32/dbghelp/type.c:25: warning: "NONAMELESSUNION" redefined
```

CORE-18933
Addendum to commit 212a1a5c74 (PR #7031).
2026-06-29 21:32:20 +02:00
Katayama Hirofumi MZ 0572d36024 [CRT][UCRT][MSVCRT] intrinsic functions: Follow-up of #9157 (#9226)
JIRA issue: CORE-20617
@learn-more found #9157 breaks the build as follows:
> error C2220: the following warning is treated as an error
> warning C4163: 'strncmp': not available as an intrinsic function
> warning C4163: 'strncpy': not available as an intrinsic function
_MSC_VER=1932 was not the version that the intrinsic functions
(strncmp, strncpy, wcsncmp, wcsncpy) added.
Using Compiler Explorer could detect the correct version:
_MSC_VER=1950.
2026-06-29 13:48:51 +09:00
Whindmar Saksit 3dfa23f661 [KEYBOARD] Fix AltGr for VkKeyScan on some keyboards (#9176) 2026-06-29 00:04:38 +02:00
Karol Gocłowski ff7ed205fb [SHLWAPI] Add Polish translation for SHRestrictedMessageBox (#9192) 2026-06-28 20:33:48 +02:00
Alex Mendoza 02f2314139 [SHELL32] Implement LockServer (#9055) 2026-06-27 16:36:29 +02:00
Justin Miller 5cef1f68e3 [SDK] kernelbase SDK changes 2026-06-24 15:27:43 -07:00
Timo Kreuzer a723ff5600 [WIN32_REGISTRY] Add win32_registry static library
To be used by NT6 apis in kernel32

This is not great. It works, but it puts stuff into the lib that shouldn't be in there. We need it, because the includes need the generated files.
Maybe a dependency could solve that.
2026-06-24 15:27:43 -07:00