Timo Kreuzer [Mon, 25 Mar 2024 20:23:19 +0000 (22:23 +0200)]
[NTOS:KE/x64] Loop in KiInitiateUserApc
This is required since while interrupts are enabled, another user APC could get queued and we want to guarantee that those are all delivered before returning to user mode.
Joachim Henze [Wed, 27 Mar 2024 20:08:17 +0000 (21:08 +0100)]
[SHELL32] pl-PL.rc: Fix IDD_FILE_PROPERTIES & IDD_FOLDER_PROPERTIES (#6678)
- This removes an ancient polish-only workaround/extrawurst of 0.4.13-dev-1171-g
c81af08 which made the dialog bigger than allowed in y, and which reduced its usability on small monitor resolution.
- Sync the dialogs dimensions back to en-US and all other localizations. Notice also that both dialogs have the same height again afterwards.
- Maximizes the available space for the dynamic parts of the dialog on the right side. Historically even 160 turned out to be too short for that, e.g. EDITTEXT 14009, the dynamic part of "Lokalizacja:". and also EDITTEXT 14007, the dynamic part of "Program:". Therefore we used 170 everywhere for those widths in all other languages. But due to the polish workaround it was crippled to 155 here. Not good!
- Notice also how now the leftmost checkboxes position of the Attributes is perfectly aligned with the other dynamic content of that column above after the fix. This will be important in the future when we will restore the vertical layout of Attribute-checkboxes in both dlgs (Plik vs. checkbox, and Katalog vs. checkbox) to match 2k3sp2
---------
Co-authored-by: Adam Słaboń <asaillen@protonmail.com>
Gleb Surikov [Wed, 27 Mar 2024 18:04:18 +0000 (20:04 +0200)]
[CONFIGURE] Add support for MSVC Toolset 19.4x (#6677)
The MSVC toolset will increment its minor version number from 19.39 (VS 2022 v17.9) to 19.40 (VS 2022 v17.10). The MSVC toolset will be version 19.40.33521.0 in the preview 1 release. For more details, see the MSVC Toolset Minor Version Number 14.40 in VS 2022 v17.10 blog post: https://aka.ms/msvc-ver14.40
Katayama Hirofumi MZ [Wed, 27 Mar 2024 08:36:48 +0000 (17:36 +0900)]
[SHELL32] CQueryAssociation: Add slash check (#6676)
Follow-up to #6656. I had forgotten to check the slash.
JIRA issue: CORE-19493
Add StrChrW(pszAssoc, L'\\') check before PathFindExtensionW call.
Katayama Hirofumi MZ [Wed, 27 Mar 2024 08:04:49 +0000 (17:04 +0900)]
[SHELL32] Improve FindExecutableW (#6635)
Follow-up to #6656. An approach to
implement ShellExecuteEx correctly.
JIRA issue: CORE-19493
- Rewrite code by using AssocQueryStringW
and PathResolveW functions.
Joachim Henze [Tue, 26 Mar 2024 22:39:46 +0000 (23:39 +0100)]
[SHELL32] *.rc: Anonymize the "LIST2" control in IDD_AUTOPLAY1 (#6672)
same as it is already the case in IDD_MIXED_CONTENT1, just 10 lines below it.
The controls name is not referenced from code. Will save a few bytes in the binary and shortens the rc-line.
Joachim Henze [Tue, 26 Mar 2024 16:07:33 +0000 (17:07 +0100)]
[SHELL32] *.rc: accelerator fixes, FIXMEs, drive-properties bg-BG and fr-FR (#6591)
* en-US.rc: create the TODO-list for the required menu-accel-changes
* some accelerator fixes, and add many FIXMEs for stuff that still needs to be improved
* beg the translators to shorten the "On Disk:" string in IDD_FILE_PROPERTIES and IDD_FOLDER_PROPERTIES
* strip superfluous spaces at some strings end and ':' within groupboxes, MS never does that
* bg-BG.rc & fr-FR.rc: Fix text-truncation, It got worse by 0.4.15-dev-5993-g
a5bff2457a1014c266ce9c808d22a9967a4baca2 (#5239) A suggestion of Stasm, personally I dislike moving/resizing controls to dimenstions != en-US
* zh-CN.rc: China is the new land of capitalism, so CAPITALIZE the S. Grab another &W used in en-US/zh-TW
* he-IL.rc: strip a useless comment which just does repeat the string 1:1
* zh-TW: This taiwanese question-mark here is wrong, because the question spans over multiple controls, and the last one already ends with such a question mark.
* pt-PT.rc: Name the attributes-column 'Atributos', as that is the same name that is used in the file-properties-dlg
* sk-SK.rc: strip a comment that does not exist in any other lang
* Fix some lines which had 2 accelerators each, e.g. de-DE.
IDD_FOLDER_OPTIONS_GENERAL has 100% correct german accelerators now (checked against german XPSP3).
* es-ES.rc: remove a stone-age-workaround, and use the height from en-US again here. The text fits the single line fine now.
* no-NO.rc: Fix a regression of 0.4.9-dev-794-g
bf88116252071487289235ca803540e61d685d84 which added the 70 to the 3 PUSHBUTTONS for all languages, but for no-NO.rc the third button was forgotten
* pt-PT.rc: Fix 2 wrong accelerators. They have been added by a pt-PT.rc translator, but Windows doesn't have them. Windows uses ENTER and ESCAPE just here. And other translators are aware of that. The thing that actually SHOULD have an accelerator in that dialog is the LTEXT "Abrir", but ironically that one was forgotten / intentionally removed by the pt-PT.rc translator upon translation. A pity!
* pt-PT.rc: pt-PT.rc was crippled regarding accelerators, mostly during 0.4.14-dev'ing. Wisdom of the elders was trampled down here.
* pt-PT.rc: fix unintended "::"
* tr-TR.rc: During 0.4.15-dev'ing a lot of accelerators and capitalization were changed in this file, and during that the IDS_* accelerators at the bottom in that file in the
/* context menus */
section were changed, but the reminder-menu-layouts IDM_* and FCIDM_SHVIEW_* were forgotten to be kept in sync.
That is such a common pitfall. Happened to all of us more than one time already.
Sync the capitalization for that file at least. While knowing that there is still a lot of async left for other files.
* tr-TR.rc: Point with 2 FIXMEs to some accelerator-issues that only somebody with a real turkish Windows will be able to fix properly. Actually most likely at least 6 lines in this file are involved into that collision. Try to mention them within the comment at least.
IDM_COPY
IDM_CREATELINK
IDM_DELETE
and
IDS_COPY
IDS_CREATELINK
IDS_DELETE
This bug does only affect master, and no older releases in this form.
* en-US.rc: And finally add a big fat TODO comment for my future self, regarding dlg redesign where attrubutes will need to be laid out vertically in IDD_FILE_PROPERTIES and IDD_FOLDER_PROPERTIES
Maj Soklič [Mon, 25 Mar 2024 17:02:15 +0000 (18:02 +0100)]
[NOTEPAD] Update Slovenian (sl-SI) translation (#6599)
Reviewed-by: Rok Mandeljc <rok.mandeljc@gmail.com>
Reviewed-by: Jaka Kranjc <smgl@lynxlynx.info>
Katayama Hirofumi MZ [Sun, 24 Mar 2024 22:35:15 +0000 (07:35 +0900)]
[SHELL32] IQueryAssociations: Fix path and length (#6656)
Implementing correct FindExecutable...
JIRA issue: CORE-19493
- If there were filename extension, then skip to the extension
by using PathFindExtensionW.
- Use "open" verb if there is no default action if possible.
- Set outlen at CQueryAssociations::ReturnString.
Whindmar Saksit [Sun, 24 Mar 2024 20:37:59 +0000 (21:37 +0100)]
[SHELL32] Fix FS folder assoc array class order (#6047)
Fixes the reg class key order for FS items. The existing code was close,
but for some reason used `//` as the path separator for SystemFileAssociations!
- Fixed SystemFileAssociations.
- Swapped the order of `*` and `AllFilesystemObjects`. This is the documented
order and can also be observed in Process Monitor.
https://learn.microsoft.com/en-us/windows/win32/shell/fa-associationarray#about-association-arrays
- Removed `(..., L"%s//%s", extension, wszClass)`, this does not seem to be
a valid thing (`.TestAAExtWeird` in my tests).
- Adds the `Unknown` class when appropriate. Not adding the `openas` verb
to `Unknown` rgs registration now to mimic Windows, because ROS
`CDefaultContextMenu` lacks verb de-duplication and the menu would end up
with two "Open With" entries. This just uses `(cidl == 1)` to simulate
Windows, while Windows on NT6 uses `MultiSelectModel=Single`, a NT6 feature
not implemented in ROS.
- The class order for folders was wrong and is still "wrong" in this PR,
but I chose to use the Windows menu display order until the exact mechanics
required in `CDefaultContextMenu` can be understood.
- Extracts the extension from ANSI PIDLs.
Whindmar Saksit [Sun, 24 Mar 2024 20:27:04 +0000 (21:27 +0100)]
[SHLEXTDBG] Added IQueryAssociations, SHGetFileInfo and ShellExecute actions (#6030)
Added multiple new actions, most of them will use the system default implementation but can be forced to use a specific CLSID or IShellFolder implementation.
- /shgfi (SHGetFileInfo)
- /assocq (IQueryAssociations)
- /shellexec (ShellExecuteEx on pidl)
- /dumpmenu (Dumps the HMENU of a IContextMenu with its menu ids and verbs)
Added /explorerinstance as a new wait mode and made it the default. All the other wait modes are hacks that just works around bugs in ROS.
George Bișoc [Sat, 23 Mar 2024 19:40:56 +0000 (20:40 +0100)]
[NTOS:CM] Remove orphaned KCBs of keys during normal hive unload
A hive whose KCBs have a reference count of 0, meaning nobody is using these keys anymore, will not get removed from the cache table.
As a result during a normal hive unloading operation you will get orphaned KCBs which results in an unload failure.
This is wrong, because this is what a normal hive unloading is supposed to do. What it cannot do of course is that it cannot
scramble the references of opened keys by the users who use the Registry, as it is the job of force unloading mechanism to do that.
Also remove a misleading debug print. Force unloading works as intended by scrambling the references of keys and marking the KCB for deletion,
which is what how a force unload works. Namely Windows does exactly that.
CORE-10705
George Bișoc [Sat, 23 Mar 2024 19:28:01 +0000 (20:28 +0100)]
[NTOS:CM] Lock the cached KCB before removing it from cache entries
- Annotate the CmpEnumerateOpenSubKeys function with SAL2
- When removing an orphaned cached KCB, ensure that it is locked before clearing it from cache table entries
Whindmar Saksit [Sun, 24 Mar 2024 17:28:26 +0000 (18:28 +0100)]
[ADVAPI32] Handle HKCR in RegDeleteValueA+W and RegDeleteKeyValueW (#6033)
- HKCR delete handling; delete the value in HKCU if it exists there, otherwise delete it in HKLM.
- Changed RegDeleteKeyValueW to just use the regular Reg functions to get HKCR handling for free.
Whindmar Saksit [Sun, 24 Mar 2024 17:23:07 +0000 (18:23 +0100)]
[SHELL32] Support IDropTarget handler in IContextMenu static verbs (#5860)
This adds support for the `DropHandler` subkey in static verbs. `IDropTarget` is called when the verb is invoked. The advantage of this is that no library needs to be loaded until the verb is actually invoked unlike `IContextMenu` shell extensions that have to be loaded during menu creation.
This method is preferred for verb implementations that must work on Windows XP, see
https://learn.microsoft.com/en-us/previous-versions/windows/desktop/legacy/
dd940354%28v%3Dvs.85%29?redirectedfrom=MSDN#description
Julen Urizar Compains [Sun, 24 Mar 2024 09:30:56 +0000 (10:30 +0100)]
[TRANSLATION] Update Spanish (es-ES) translation (#6449)
- [REACTOS] es-ES: Fixes and typos
- [USETUP] es-ES: Fixes and typos
- [HOTPLUG] es-ES: Fixes and typos
- [OPENGLCFG] Add Spanish (es-ES) translation
- [NETSHELL] es-ES: Fixes and typos
- [SHELL32] es-ES: Fixes and typos
- [SYSSETUP] es-ES: Fixes and typos
Reviewed-by: Ismael Ferreras Morezuelas <swyterzone@gmail.com>
Timo Kreuzer [Tue, 12 Mar 2024 17:06:25 +0000 (19:06 +0200)]
[USBOHCI] Fix broken indentation
Timo Kreuzer [Tue, 12 Mar 2024 17:03:55 +0000 (19:03 +0200)]
[USBUHCI] Fix broken indentation
Whindmar Saksit [Sat, 23 Mar 2024 21:24:04 +0000 (22:24 +0100)]
[SHELL32] SHOpenFolderAndSelectItems should handle children correctly (#6151)
- Free pidl from ILCombine.
- ILGetNext will never return NULL on valid input, it is not the correct way to check.
Andrei Miloiu [Sat, 23 Mar 2024 21:22:50 +0000 (23:22 +0200)]
[CALC] Update Romanian (ro-RO) translation (#6601)
Andrei Miloiu [Sat, 23 Mar 2024 21:21:32 +0000 (23:21 +0200)]
[SOLITAIRE] Update Romanian (ro-RO) translation (#6600)
Andrei Miloiu [Sat, 23 Mar 2024 21:20:24 +0000 (23:20 +0200)]
[TIMEDATE] Update Romanian (ro-RO) translation (#6613)
Andrei Miloiu [Sat, 23 Mar 2024 21:18:51 +0000 (23:18 +0200)]
[SNDVOL32] Update Romanian (ro-RO) translation (#6612)
Andrei Miloiu [Sat, 23 Mar 2024 21:17:20 +0000 (23:17 +0200)]
[HOTPLUG] Add Romanian (ro-RO) translation (#6644)
Andrei Miloiu [Sat, 23 Mar 2024 21:16:14 +0000 (23:16 +0200)]
[MSCONFIG] Update Romanian (ro-RO) translation (#6533)
Andrei Miloiu [Sat, 23 Mar 2024 21:12:30 +0000 (23:12 +0200)]
[APPWIZ] Improve Romanian (ro-RO) translation (#6532)
Andrei Miloiu [Sat, 23 Mar 2024 20:18:20 +0000 (22:18 +0200)]
[CLIPBRD] Update Romanian (ro-RO) translation (#6535)
Andrei Miloiu [Sat, 23 Mar 2024 20:17:24 +0000 (22:17 +0200)]
[DEVMGR] Update Romanian (ro-RO) translation (#6529)
Andrei Miloiu [Sat, 23 Mar 2024 20:16:07 +0000 (22:16 +0200)]
[NOTEPAD] Update Romanian (ro-RO) translation (#6528)
Andrei Miloiu [Sat, 23 Mar 2024 20:14:12 +0000 (22:14 +0200)]
[WININET] Update Romanian (ro-RO) translation (#6527)
Andrei Miloiu [Sat, 23 Mar 2024 20:12:52 +0000 (22:12 +0200)]
[EVENTVWR] Update Romanian (ro-RO) translation (#6518)
Andrei Miloiu [Sat, 23 Mar 2024 20:12:23 +0000 (22:12 +0200)]
[MSPAINT] Update Romanian (ro-RO) translation (#6511)
Andrei Miloiu [Sat, 23 Mar 2024 20:09:42 +0000 (22:09 +0200)]
[DISKPART][MC] Update Romanian (ro-RO) translation for message table (#6509)
Andrei Miloiu [Sat, 23 Mar 2024 20:07:32 +0000 (22:07 +0200)]
[OPENGLCFG] Update Romanian (ro-RO) translation (#6507)
Andrei Miloiu [Sat, 23 Mar 2024 20:07:05 +0000 (22:07 +0200)]
[NET][MC] Update Romanian (ro-RO) translation for message table (#6506)
Hermès Bélusca-Maïto [Tue, 19 Mar 2024 20:29:05 +0000 (21:29 +0100)]
[BOOTVID] Don't NTAPI non-exported functions; remove useless `@implemented` (#6650)
Hermès Bélusca-Maïto [Wed, 12 Jul 2023 15:12:55 +0000 (17:12 +0200)]
[BOOTVID] Add file copyright information headers (#6650)
Serge Gautherie [Sat, 23 Mar 2024 14:13:23 +0000 (15:13 +0100)]
[RSYM/x64] Sync UNW_FLAG_* values (#6653)
Follow-up to PR #6641 and commit
d45876b81
Katayama Hirofumi MZ [Fri, 22 Mar 2024 12:15:22 +0000 (21:15 +0900)]
[EXPLORER] Start menu: Fix Small Icons flag (#6651)
Follow-up to #6646.
Fix wrong flag use: #6646 (comment)
JIRA issue: CORE-19494
- Delete SmallStartMenu flag (wrong) from
_TW_STUCKRECTS2.
- Rename _TW_STUCKRECTS2.SmallIcons as
SmSmallIcons.
- Use SmSmallIcons flag.
Stanislav Motylkov [Wed, 20 Mar 2024 09:26:58 +0000 (12:26 +0300)]
[SHELL32] Update Russian (ru-RU) translation
Addendum to
ad748b0b3b6. CORE-19494
Katayama Hirofumi MZ [Wed, 20 Mar 2024 00:45:04 +0000 (09:45 +0900)]
[WIN32SS][USER32] Refactor USER32 callbacks (#6619)
Refactoring kernel-to-USER32 callback code.
Localize USER32 callback entry definitions.
JIRA issue: N/A
- Add header file win32ss/include/u32cb.h and use it to define the
USER32 callback entries.
Katayama Hirofumi MZ [Tue, 19 Mar 2024 22:37:37 +0000 (07:37 +0900)]
[SHLWAPI_APITEST] Add AssocQueryString testcase (#6648)
JIRA issue: CORE-19493
- Add AssocQueryString testcase.
- Test AssocQueryStringA and AssocQueryStringW
functions.
Katayama Hirofumi MZ [Tue, 19 Mar 2024 22:36:14 +0000 (07:36 +0900)]
[SHELL32_APITEST] Add RealShellExecuteEx testcase (#6647)
Follow-up to #5849.
JIRA issue: CORE-19278
- Add closewnd.cpp, closewnd.h, and
RealShellExecuteEx.cpp files.
- In closewnd.cpp, close newly-opened windows.
- Add RealShellExecuteEx testcase.
Katayama Hirofumi MZ [Tue, 19 Mar 2024 22:32:52 +0000 (07:32 +0900)]
[EXPLORER][SHELL32] Smaller Start Menu (#6646)
Improve customization of Start Menu.
JIRA issue: CORE-19494
- Add SmallStartMenu flag to TW_STRUCKRECTS2
structure.
- Add IDS_ADVANCED_SMALL_START_MENU
resource string.
- Update g_TaskbarSettings.sr.SmallStartMenu via
a callback function.
- Check g_TaskbarSettings.sr.SmallStartMenu
when Start Menu is updated.
Timo Kreuzer [Tue, 12 Mar 2024 17:06:33 +0000 (19:06 +0200)]
[CRT] intrin_x86.h: Use movsl instead of movsd to fix a GCC 13 warning
Timo Kreuzer [Fri, 15 Mar 2024 18:46:45 +0000 (20:46 +0200)]
[DBGHELP] Remove useless broken CMake defines
Timo Kreuzer [Mon, 27 Nov 2023 20:19:55 +0000 (22:19 +0200)]
[HDAUDBUS] Silence debug spam
- Demote a DPRINT1 to a DPRINT
- Define NDEBUG
Timo Kreuzer [Fri, 8 Mar 2024 18:53:12 +0000 (20:53 +0200)]
[NTOS:EX] Fix a loop bug
Timo Kreuzer [Fri, 8 Mar 2024 17:35:03 +0000 (19:35 +0200)]
[RTL/x64] Fix a GCC compiler warning
Katayama Hirofumi MZ [Tue, 19 Mar 2024 00:44:10 +0000 (09:44 +0900)]
[SHLWAPI] SHLWAPI_DEF_ASSOCF: Add ASSOCF_INIT_NOREMAPCLSID (#6636)
Step up to correct shell32!FindExecutable.
JIRA issue: CORE-19493
Katayama Hirofumi MZ [Mon, 18 Mar 2024 23:58:07 +0000 (08:58 +0900)]
[SHELL32][SDK] Implement RealShellExecute(,Ex)(A,W) (#5849)
Implementing missing features...
JIRA issue: CORE-19278
- Modify shell32.spec.
- Implement RealShellExecuteA, RealShellExecuteW, RealShellExecuteExA,
and RealShellExecuteExW functions.
- Add the prototypes to <undocshell.h>.
- Modify SEE_MASK_... constants.
Katayama Hirofumi MZ [Sun, 17 Mar 2024 22:36:17 +0000 (07:36 +0900)]
[SHELL32_APITEST] Enhance FindExecutable testcase (#6634)
I want to know the details of FindExecutable
behavior.
JIRA issue: CORE-19493
Enhance the tests of return values.
Katayama Hirofumi MZ [Sun, 17 Mar 2024 22:32:47 +0000 (07:32 +0900)]
[MSPAINT] Support JPEG/PNG/GIF/TIFF wallpapers (#6632)
Improve usability.
JIRA issue: CORE-19485
- Enable the menu items to set the wallpapars.
- Save the current bitmap as file Wallpaper1.bmp
in CSIDL_LOCAL_APPDATA folder.
- Support JPEG/PNG/GIF/TIFF files in
RegistrySettings::SetWallpaper.
Katayama Hirofumi MZ [Sun, 17 Mar 2024 03:44:03 +0000 (12:44 +0900)]
[MSCTFIME] Use QISearch for QueryInterface (#6630)
Simplify code and reduce binary size.
JIRA issue: CORE-19360
- Use shlwapi!QISearch for QueryInterface
implementation.
- Add delay link to shlwapi.
Katayama Hirofumi MZ [Sun, 17 Mar 2024 02:55:19 +0000 (11:55 +0900)]
[MSUTB][SDK] Use QISearch for QueryInterface (#6631)
Simplify code and reduce binary size.
JIRA issue: CORE-19363
- Use shlwapi!QISearch for QueryInterface
implementation.
- Add delay link to shlwapi.
- Define QITABENT macro in <shlwapi.h>.
Katayama Hirofumi MZ [Sat, 16 Mar 2024 23:15:08 +0000 (08:15 +0900)]
[RAPPS][SHLWAPI][SDK] Un-escape URL filename (#6626)
Choosing the better filename.
JIRA issue: CORE-19490
- Add UrlUnescapeAndMakeFileNameValid helper function.
- Use UrlUnescapeW and PathIsValidCharW.
- Add PATH_CHAR_CLASS_... flags for PathIsValidCharA/W.
Katayama Hirofumi MZ [Sat, 16 Mar 2024 10:37:26 +0000 (19:37 +0900)]
[TOOLS] gen_baseaddress.py: Add '.ime' to ALL_EXTENSIONS (#6628)
We have dll/ime/msctfime for the DLL
file msctfime.ime.
JIRA issue: N/A
Add '.ime' to ALL_EXTENSIONS.
Katayama Hirofumi MZ [Sat, 16 Mar 2024 04:46:10 +0000 (13:46 +0900)]
[CMAKE] Update sdk/cmake/baseaddress(,_msvc).cmake (#6627)
Follow-up to #6624 (
fd96666). ReactOS got rekt in that PR
because kernel32.dll got so larger.
Fix base addresses of DLLs to boot successfully. Sorry.
(dll/ntdll/ldr/ldrutils.c:1423) Illegal DLL relocation!
C:\ReactOS\System32\ntdll.dll overlaps kernel32.dll
*** Fatal System Error: 0xc0000269
Proposed changes
After latest build:
python gen_baseaddress.py C:\Users\katahiromz\reactos-1\output-VS-i386
python gen_baseaddress.py C:\Users\katahiromz\reactos-1\output-MinGW-i386
Katayama Hirofumi MZ [Fri, 15 Mar 2024 15:11:53 +0000 (00:11 +0900)]
[SDK][MC] errcodes.mc: Add Japanese (ja-JP) translation (#6624)
Localize the error messages.
JIRA issue: CORE-18706
Modify errcodes.mc for Japanese localization.
Katayama Hirofumi MZ [Fri, 15 Mar 2024 14:46:14 +0000 (23:46 +0900)]
[SHELL32_APITEST] ShellExecuteEx: Fix command line checker (#6618)
Follow-up to #6617.
JIRA issue: CORE-19482
Add traces for error checking.
Katayama Hirofumi MZ [Fri, 15 Mar 2024 12:25:53 +0000 (21:25 +0900)]
[SHLWAPI] Implement SHSetDefaultDialogFont (#6620)
Implementing missing features...
JIRA issue: CORE-19278
- Implement SHSetDefaultDialogFont function.
- Add SHSetDefaultDialogFont prototype to
<shlwapi_undoc.h>.
Oleg Dubinskiy [Thu, 14 Mar 2024 19:58:12 +0000 (20:58 +0100)]
[SHELL32] Add transparent icon resource (#6621) CORE-19471
Add transparent 16x16 icon (just small picec of transparent background) as resource and use it for 50, 51, 52, 53 resource IDs.
Define it as IDI_SHELL_NONE_XX for all four IDs appropriately (since the icon displays nothing).
These resources are not used by anything yet, but they are confirmed to exist as resources with 50, 51, 52, 53 IDs in shell32.dll from Windows XP/Server 2003.
This allows to correct the ordering of all other resources those come starting from index 54, and hence it fixes the following icons displayed incorrectly after restoring to default system icon set via Stardock IconPackager 5.1:
- Control Panel folder icon;
- Folder Options item icon in Control Panel;
- My Music special folder in My Documents;
- several File extensions icons (.ini, .txt etc).
The icons are fixed as in the preview of IconPackager app, same in ReactOS itself.
Now only Web Browser item icon on the Desktop remains invalid. All other icons are restored correctly.
CORE-19471
Katayama Hirofumi MZ [Wed, 13 Mar 2024 11:04:39 +0000 (20:04 +0900)]
[BROWSEUI] Delete WS_BORDER and owner-drawing from IDC_SEARCH_COMBOBOX (#6610)
Related to #6609.
Delete WM_BORDER and CBS_OWNERDRAWFIXED
styles from IDC_SEARCH_COMBOBOX.
JIRA issue: N/A
Katayama Hirofumi MZ [Wed, 13 Mar 2024 08:09:20 +0000 (17:09 +0900)]
[SHELL32_APITEST] Make ShellExecuteEx testcase stable (#6617)
Making the tests trustworthy.
JIRA issue: ROSTESTS-389
- Enable command line checking.
- Rewrite the tests for better tests.
- Remove dependency with shell32_apitest_sub.
- Close the newly opened windows by Alt+F4 at ending.
Doug Lyons [Wed, 13 Mar 2024 06:16:02 +0000 (01:16 -0500)]
[NTUSER] Fix sticky mouse buttons (#6426)
Fix Mouse Buttons Sticking Down causing unexpected window dragging.
This is a patch supplied by @I_Kill_Bugs and seems to work well as tested by @julenuri.
JIRA issue: CORE-11775 'GIMP 2.6.12: Sticky issue when dragging with the mouse'
JIRA issue: CORE-14998 'Google Chrome 40.0.2214.115, when moving window position by dragging at the titlebar, the drag-end is not detected, the window may stick with the mouse pointer'
Improves JIRA issue: CORE-18511
Proposed changes
Add extra code into nonclient.c procedure DefWndDoSizeMove to drop tracking.
If we get a mouse move with the mouse left button down, then break out of testing.
Hermès Bélusca-Maïto [Mon, 18 Apr 2022 22:09:49 +0000 (00:09 +0200)]
[FREELDR] Factor duplicated code into a GetOSLoadingMethod() helper
This removes duplicated code present in both LoadOperatingSystem()
and EditOperatingSystemEntry().
+ Add SAL annotations to the related functions.
Katayama Hirofumi MZ [Tue, 12 Mar 2024 12:12:43 +0000 (21:12 +0900)]
[COMDLG32] Improve Japanese (ja-JP) translation, Part 2
Follow-up to
78f6179. CORE-18706
Piotr Hetnarowicz [Tue, 12 Mar 2024 12:02:29 +0000 (13:02 +0100)]
[SHELL32] Update Polish (pl-PL) translation (#6597)
Addendum to
71285dff489 and
0241b5c4e93. CORE-16956
Stanislav Motylkov [Tue, 12 Mar 2024 11:54:24 +0000 (14:54 +0300)]
[SHELL32] Update Russian (ru-RU) translation
Addendum to
71285dff489 and
0241b5c4e93. CORE-16956
Katayama Hirofumi MZ [Tue, 12 Mar 2024 11:55:47 +0000 (20:55 +0900)]
[COMDLG32] Improve Japanese (ja-JP) translation
CORE-18706
Katayama Hirofumi MZ [Tue, 12 Mar 2024 11:06:24 +0000 (20:06 +0900)]
[BROWSEUI] Search: Add WS_BORDER to IDC_SEARCH_COMBOBOX (#6609)
Fix a minor UI problem. IDC_SEARCH_COMBOBOX was border-less.
It was wrong.
JIRA issue: N/A
- Add WS_BORDER window style to IDC_SEARCH_COMBOBOX
combo box in IDD_SEARCH_DLG dialog resource.
Katayama Hirofumi MZ [Tue, 12 Mar 2024 09:49:52 +0000 (18:49 +0900)]
[COMCTL32] TreeView: Fix selection display on checking checkbox (#6608)
Fix checkboxed treeview selection display.
JIRA issue: CORE-19480
- Make the first argument of TREEVIEW_ToggleItemState non-const.
- Select the item by calling TREEVIEW_SelectItem in TREEVIEW_ToggleItemState.
Doug Lyons [Tue, 12 Mar 2024 07:45:22 +0000 (02:45 -0500)]
[USER32] Show Debug Log Message when unhandled PNG found in ICO file. (#5566)
Detect the PNG data in ICO files and print an appropriate message to the debug log.
JIRA issue: CORE-19107
Katayama Hirofumi MZ [Tue, 12 Mar 2024 07:10:59 +0000 (16:10 +0900)]
[SHELL32] CGuidItemContextMenu: Fix pwszCLSID leak (#6607)
Fix memory leak.
JIRA issue: CORE-19478
- Use CoTaskMemFree for pwszCLSID to avoid memory leak
in CGuidItemContextMenu_CreateInstance function.
Katayama Hirofumi MZ [Tue, 12 Mar 2024 06:58:22 +0000 (15:58 +0900)]
[SHELL32] Start Menu: Enhance context menu (#6606)
Improve Start Menu usability.
JIRA issue: CORE-19477
- Add CSIDLFromID helper function.
- Return a context menu interface at CShellMenuCallback::OnGetContextMenu.
FIXME: CSIDL_CONTROLS, CSIDL_NETWORK, and CSIDL_PRINTERS context menu
wrongly open My Computer.
Katayama Hirofumi MZ [Tue, 12 Mar 2024 02:40:02 +0000 (11:40 +0900)]
[MSUTB] Implement CLangBarItemList (#6605)
Supporting the Language bar...
JIRA issue: CORE-19363
- Define LANGBARITEMSTATE structure.
- Implement CLangBarItemList class.
Katayama Hirofumi MZ [Mon, 11 Mar 2024 23:26:07 +0000 (08:26 +0900)]
[SHELL32] Start Menu Customize: Fix bMustHideAdminTools (#6604)
Follow-up to #6603. Fix a bug in Admin Tools display.
JIRA issue: CORE-16956
Fix the value of bMustHideAdminTools in CMenuSFToolbar::FillToolbar.
Katayama Hirofumi MZ [Mon, 11 Mar 2024 23:17:05 +0000 (08:17 +0900)]
[EXPLORER] Start Menu Customize: Use TreeView_GetRoot (#6603)
Follow-up to #6596. Enable the Favorite menu setting.
JIRA issue: CORE-16956
- Use TreeView_GetRoot instead of TreeView_GetFirstVisible in
CustomizeClassic_OnOK function.
Hermès Bélusca-Maïto [Mon, 11 Mar 2024 20:44:45 +0000 (21:44 +0100)]
[FREELDR] Deduplicate common message-box creation code.
Also, make the (T)uiSave/RestoreScreen() helpers manage themselves the
temporary memory buffer used to store the temporary screen snapshot.
Hermès Bélusca-Maïto [Mon, 11 Mar 2024 16:22:37 +0000 (17:22 +0100)]
[FREELDR] Minor formatting for MsgBox functions + add SAL annotations
Hermès Bélusca-Maïto [Sun, 10 Mar 2024 15:39:40 +0000 (16:39 +0100)]
[FREELDR] Move the arch-specific intrin_i.h inclusions to where they are actually needed (NTLDR)
Hermès Bélusca-Maïto [Sun, 10 Mar 2024 15:35:25 +0000 (16:35 +0100)]
[FREELDR] FrLdrHeapCreate: Show the memory type in the ERR().
Hermès Bélusca-Maïto [Sun, 10 Mar 2024 15:20:16 +0000 (16:20 +0100)]
[FREELDR] Initialize CandidatePageCount to zero, needed if the while-loop is not run.
Granted, if the while-loop is not run, this means there is no memory
available at all on the computer where FreeLdr is running, which is
quite unexpected. But do the initialization anyways, in order to avoid
more obscure bugs down the line.
On the other hand, PageLookupTableMemAddress doesn't need to be
pre-initialized, since it gets initialized unconditionally afterwards.
Hermès Bélusca-Maïto [Sat, 9 Mar 2024 10:52:33 +0000 (11:52 +0100)]
[FREELDR] pcat.cmake: minor cleanup
Hermès Bélusca-Maïto [Sat, 9 Mar 2024 10:45:27 +0000 (11:45 +0100)]
[FREELDR] Pre-initialize the INI section list, improve loops over sections and items.
Avoids dereferencing list entries to sections/items when these lists are empty.
IniParseFile(): Emit an error to the debug log when a candidate setting
is outside a section and skip it, instead of popping up an error on the UI.
Hermès Bélusca-Maïto [Sat, 9 Mar 2024 10:27:37 +0000 (11:27 +0100)]
[FREELDR] ueficon.c: Add missing support for HOME and END keys.
And reserve INSERT, PAGE_UP and PAGE_DOWN for future handling.
Hermès Bélusca-Maïto [Sat, 9 Mar 2024 10:27:00 +0000 (11:27 +0100)]
[FREELDR] Minor code cleanup in arch/uefi files
Hermès Bélusca-Maïto [Sat, 9 Mar 2024 10:25:10 +0000 (11:25 +0100)]
[FREELDR] i386/hwdisk.c: Use FIRST_BIOS_DISK and FIRST_PARTITION macros like what's done in UEFI code.
Serge Gautherie [Mon, 11 Mar 2024 14:35:34 +0000 (15:35 +0100)]
[DESK] SetScreenSaver(): Remove remnant 'DeleteMode' variable (#6593)
Addendum to commit
d21e3a1d2 (r58360).
Doug Lyons [Mon, 11 Mar 2024 13:34:34 +0000 (08:34 -0500)]
[NTUSER] Fix PeekMessageA for MsgFilterLow/High mouse clicks (#6427)
Fix MSO and Word Viewer not closing when "X" on title bar is clicked.
This is another @I_Kill_Bugs patch.
CORE-14436 , CORE-16985
Katayama Hirofumi MZ [Mon, 11 Mar 2024 12:58:30 +0000 (21:58 +0900)]
[EXPLORER][SHELL32] Show/hide 'Admin tools' menu (#6598)
Improve Start Menu customization.
JIRA issue: CORE-16956
- Add IsPidlPrograms helper function.
- Specify a PIDL for Programs menu.
- Check the "StartMenuAdminTools" registry value.
- Don't add "Admin Tools" menu item into
CMenuSFToolbar::FillToolbar if necessary.
Katayama Hirofumi MZ [Mon, 11 Mar 2024 11:18:07 +0000 (20:18 +0900)]
[EXPLORER][SHELL32] Fix and improve Start Menu customization (#6596)
Correct the details of Start Menu customization.
JIRA issue: CORE-16956
- Hide the setting item if the item is restricted.
- Don't change restriction in Explorer.
- Fix Start Menu settings for restriction and registry.
- Fix and simplify code.
Katayama Hirofumi MZ [Mon, 11 Mar 2024 07:19:46 +0000 (16:19 +0900)]
[EXPLORER][SHELL32] Expand/unexpand Control Panel menu (#6595)
Follow-up to #6594. Improve Start Menu customization.
JIRA issue: CORE-16956
- Add IDS_ADVANCED_EXPAND_CONTROL_PANEL, IDS_ADVANCED_EXPAND_PRINTERS,
and IDS_ADVANCED_EXPAND_NET_CONNECTIONS resource strings.
- Check the "CascadeControlPanel", "CascadeNetworkConnections", and "CascadePrinters"
registry values.
- Modify Start Menu by using AddOrSetMenuItem and AddStartMenuItems helper
functions in CShellMenuCallback::OnGetSubMenu.
Katayama Hirofumi MZ [Mon, 11 Mar 2024 04:18:58 +0000 (13:18 +0900)]
[EXPLORER][SHELL32] Expand/unexpand My Documents menu (#6594)
Follow-up to #6592. Improve Start Menu
customization.
JIRA issue: CORE-16956
- Add IDS_ADVANCED_EXPAND_MY_DOCUMENTS
and IDS_ADVANCED_EXPAND_MY_PICTURES
resource strings.
- Check L"CascadeMyDocuments" and
L"CascadeMyPictures" registry values.
- Add GetAdvancedValue helper function.
- Implement CreateRecentMenu function.
Katayama Hirofumi MZ [Mon, 11 Mar 2024 02:24:26 +0000 (11:24 +0900)]
[BOOT] Don't create CSIDL_ADMINTOOLS folder in initial (#6551)
We shouldn't create an empty CSIDL_ADMINTOOLS folder at initial status.
JIRA issue: CORE-12328
- Modify boot/boot_images.cmake.
Katayama Hirofumi MZ [Mon, 11 Mar 2024 01:54:12 +0000 (10:54 +0900)]
[EXPLORER][SHELL32][SDK] Show/hide 'Run' menu item (#6592)
Improve Start Menu customization.
JIRA issue: CORE-16956
- Add SHSettingsChanged prototype to
<undocshell.h>.
- Add SetRestriction helper function.
- Implement showing/hiding Run menu
item of Start Menu.
Katayama Hirofumi MZ [Sun, 10 Mar 2024 23:29:04 +0000 (08:29 +0900)]
[SHELL32][SHLWAPI][SDK] Implement SHRestricted etc. (#6560)
shell32!SHRestricted is necessary to make shell working well.
JIRA issue: CORE-11515
- Add dll/win32/shell32/wine/PolicyData.h to define the shell policy data.
- Define POLICYDATA structure and SHELL_NO_POLICY constant
in <shlwapi_undoc.h>.
- Fix shell32!SHRestricted, shell32!SHSettingsChanged,
shlwapi!SHGetRestriction, and shlwapi!SHRestrictionLookup functions.
Serge Gautherie [Tue, 27 Feb 2024 21:42:54 +0000 (22:42 +0100)]
[KILL] ExecuteKill(): Return '1' on failures
and add a related 'CloseHandle()' call.
Also, enforce PID 'unsigned' type.
Serge Gautherie [Tue, 27 Feb 2024 21:42:54 +0000 (22:42 +0100)]
[KILL] main(): Return actual return value
and get rid of 'tail' variable, which had wrong type anyway.
Also, be strict about parameter number: only 1 PID is supported.
Serge Gautherie [Tue, 27 Feb 2024 21:42:54 +0000 (22:42 +0100)]
[FORMATTING][KILL] kill.c: reformat it