Commit graph

83750 commits

Author SHA1 Message Date
Jérôme Gardou
57e018acf6 [NTOS:MM] Use FORCEINLINE instead of simple inline
inline implies an implementation must exist in another compilation unit
2023-07-23 23:58:42 +02:00
Jérôme Gardou
ea331f074c [FRAMEDYN] Do not define GCC <-> MSVC aliases when building the DLL
This fixes some issue when compiling without optimizations on GCC
2023-07-23 23:58:42 +02:00
Jérôme Gardou
5508673dd5 [TXT2NLS] Explicitly include <cstdint> 2023-07-23 23:58:42 +02:00
Joachim Henze
e387e24611
[DMILIB][UDMIHELP] Favor pragma once (#5472) 2023-07-23 22:52:07 +02:00
Katayama Hirofumi MZ
7b52c287d4 [IEFRAME] Improve Japanese (ja-JP) translation
CORE-18706
2023-07-23 08:02:24 +09:00
Stanislav Motylkov
00420aff1f [IEFRAME] Sync translations with IDC_ICONS_INTERNET in shell32.dll
Also update Russian (ru-RU) translation. CORE-18625
2023-07-22 22:30:02 +03:00
Carl J. Bialorucki
0e8cf6ffd5
[EXPLORER] Large taskbar icon support (#5465)
- Use HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\TaskbarSmallIcons
  registry key to store the icon size setting for the taskbar.
- If the registry value is missing, small icons will be used by default.
- If the registry value is set to 1, it will also use small icons.
- Only if the value exists and is set to 0 it will use large icons. This allows us
  to use the same registry value as Windows 7 explorer, while also keeping
  the taskbar icons small in most cases, especially running the shell
  on unmodified Windows Server 2003.

CORE-11698
2023-07-22 18:24:28 +03:00
Carl J. Bialorucki
6d37456542
[BROWSEUI] Add an option to use full folder path in the window title (#5468)
- Set `HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CabinetState\FullPath` to 0 by default.
  Adding this registry value also enables the "Display the full path in the title bar" option in our folder options window.
- Query the same registry key when the file explorer is started to determine whether to use the full path or the display name in the window title.

CORE-19046 CORE-18904
2023-07-22 17:50:39 +03:00
Katayama Hirofumi MZ
f85b8fb564
[APPWIZ] Add locking in access of download_binding (#5463)
The pointer variable download_binding is used in multiple threads.
I thought it needs locking before accessing.
CORE-15786
2023-07-22 22:18:31 +09:00
Katayama Hirofumi MZ
52bc5f7c5d
[IEXPLORE][IEFRAME][SHELL32] Add Internet icon on Desktop (#5451)
- Add Internet icon on Desktop. You can hide/show
  the icon from Desktop's customization.
- Modify "HKCR\CLSID\%CLSID_Internet%" registry key.
- Add IDS_INTERNET and IDS_INTERNET_DESCRITION into ieframe.dll.
- Modify folders/CDesktopFolder.cpp and folders/CRegFolder.cpp to add the icon.
CORE-18625

Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
Co-authored-by: Joachim Henze <joachim.henze@reactos.org>
2023-07-22 19:28:37 +09:00
Doug Lyons
d02cb099c8
[SHELL32] Fix condition check for GetDisplayNameOf() return value (#5444)
This fixes 'Attempt to free an invalid HEAP address' error. CORE-18841

Confirmed by running new tests written by Mark Jansen, showing that
previous behavior was wrong. While here, also fix a typographical error.
2023-07-22 13:24:25 +03:00
Katayama Hirofumi MZ
104ef25fcc
[ZIPFLDR][BOOTDATA] Support UTF-8 Zip packing (#5450)
New ReactOS can zip/unzip files and folders in UTF-8 filenames.
You can also choose the codepage of filenames to zip/unzip via
the ZipCodePage / UnZipCodePage registry values on the registry
key HKEY_CURRENT_USER\Software\ReactOS.

Windows 8 or later also support UTF-8 zipped folders.
You can also use 3rd party software to zip/unzip in older Windows.

- Use <atlconv.h> for string conversion.
- Use zipOpenNewFileInZip4_64 instead of zipOpenNewFileInZip3_64,
  and then add MINIZIP_UTF8_FLAG flag.
- Set the filenames in UTF-8 by using CP_UTF8 codepage.
- Codepage is user selectable via registry settings.

CORE-16668
2023-07-22 12:57:32 +09:00
Katayama Hirofumi MZ
059427e31d
[APPWIZ] 'Create Shortcut' wizard: Accept arguments (#5456)
Allow command line as Create Shortcut wizard's target. CORE-5866
2023-07-22 12:39:51 +09:00
Katayama Hirofumi MZ
252026352d [APPWIZ] Update Japanese (ja-JP) translation
CORE-18706
2023-07-21 09:38:01 +09:00
Katayama Hirofumi MZ
1c91b0b61d [URL] Implement OpenURLA function
CORE-18625
2023-07-21 08:24:26 +09:00
Adam Słaboń
ce2d4740a6
[SDK][HAL] Enable x86Bios on x86 (#5454)
This will be needed for compatibility with x86 Windows Vista/7 videoprt.sys builds.
Might be also useful in future for platforms (x86 , ...) where V86 mode is not available or buggy.

CORE-11954, CORE-18185
2023-07-20 21:44:44 +02:00
Stanislav Motylkov
27ebedb367 [APPWIZ] Update Russian (ru-RU) translation 2023-07-20 16:06:54 +03:00
Katayama Hirofumi MZ
08d42a7ec7
[APPWIZ] Add title caption to 'Browse for Folder' #5460
- Add IDS_BROWSE_FOR_TARGET resource string.
- Use it in setting the title caption of "Browse
for Folder" dialog.
CORE-5866
2023-07-20 20:17:22 +09:00
Katayama Hirofumi MZ
62eaad1811
[SHELL32] CD-ROM drive shouldn't be renamed (#5461)
- Add _ILGetDriveType helper function.
- Use _ILGetDrive and GetDriveType functions to determine the drive type.
- If it was a CD-ROM drive, then remove SFGAO_CANRENAME flag.
CORE-18272
2023-07-20 16:53:04 +09:00
Katayama Hirofumi MZ
ca62121b4d
[APPWIZ] "Create Shortcut" wizard: Only filesystem items (#5455)
- Add (BIF_RETURNONLYFSDIRS | BIF_NEWDIALOGSTYLE | BIF_SHAREABLE) flags.
- Consider the failure of SHGetPathFromIDListW.
CORE-5866
2023-07-20 08:46:51 +09:00
Katayama Hirofumi MZ
1191bcaf03
[ATL][ATL_APITEST] Add <atlconv.h> and atlconv testcase (#5449)
- Add <atlconv.h> header file.
- Add atlconv testcase to atl_apitest.exe.
CORE-16668
2023-07-20 07:54:11 +09:00
Katayama Hirofumi MZ
d24c991aa7
[SHELL32] Revert 'Update the status bar asynchronously #5420' (#5458)
CORE-18663
2023-07-20 01:29:24 +09:00
Katayama Hirofumi MZ
bf2cec186c
[ZIPFLDR] Support UTF-8 Zip extraction (#5411)
- Extend some Ansi strings to Wide strings.
- Check the UTF-8 flag (1 << 11). If UTF-8, then use CP_UTF8.
- s/LPCWSTR/PCWSTR/.
- s/LPWSTR/PWSTR/.
CORE-16668
2023-07-17 20:12:45 +09:00
Carl J. Bialorucki
bfadb22da1
[BROWSEUI] Respect status bar display state in Folders/Search panes (#5445)
- Use proper window styles when creating status bar window.
- Specify WS_VISIBLE style only when status bar display is enabled.
- Use ::CreateWindowExW() with a global namespace scope operator.
- Fix some magic constants.

CORE-19027
2023-07-17 01:14:33 +03:00
Katayama Hirofumi MZ
726c46d2da
[CMD][SDK][WINSRV] DIR command: Consider double-width characters (#5442)
The "dir /w" command didn't look good due to unaligned columns.
- Add sdk/include/reactos/cjkcode.h header file.
- Add ConGetTextWidthA/W helper functions.
- Add base/shell/cmd/wcwidth.c to implement ConGetTextWidthW.
- Use ConGetTextWidth in DirPrintWideList function.
- Adjust some STRING_DIR_HELP5, STRING_DIR_HELP6 and STRING_DIR_HELP8 resource strings to make the column aligned.
CORE-17591
2023-07-17 07:03:22 +09:00
Joachim Henze
7b473c1fac
[ADVAPI32] Fix ordinals regression CORE-19039 (#5448)
All ordinals > 128 regressed by
0.4.15-dev-305-g dd7fb63cd1
and were off-by-one compared to 2k3sp2 and the ros-before-state.

Now all 684 ordinals seem to be fine again.
Adding the stub might cost a few bytes unfortunately.
2023-07-16 23:27:22 +02:00
Andrei Miloiu
aff9e90f31
[NETEVENT][MC] Add Romanian (ro-RO) translation to message table (#5431) 2023-07-17 00:16:45 +03:00
Andrei Miloiu
91e1d4dce3
[ARP][MC] Add Romanian (ro-RO) translation to message table (#5440) 2023-07-17 00:12:33 +03:00
Hermès Bélusca-Maïto
18815558d1
[HALX86] Update the PCI hardware IDs database.
Extracted from the pci.ids database at https://pci-ids.ucw.cz/ from 2023-06-19 03:15:02.
Maintained by Albert Pool, Martin Mares, and other volunteers from the PCI ID Project.
2023-07-16 20:52:07 +02:00
Hermès Bélusca-Maïto
eba1244b00
[HALX86] Convert the PCI Ids files to LF ('\n') endlines, and adjust the parsing code. (#4905)
This allows to somewhat reduce their size, and the resulting size
of the generated hal.dll file.

pci_classes.ids
Before: 6,207 bytes
After : 5,968 bytes
Reduction: 239 bytes --> 4%

pci_vendors.ids
Before: 1,370,248 bytes
After : 1,334,622 bytes
Reduction: 35,626 bytes --> 2.6%

Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
2023-07-16 20:51:56 +02:00
Hermès Bélusca-Maïto
97277b4deb
[CONSRV] Work-around buggy WM_MOUSEMOVE events received when VBox Mouse Integration is enabled. (#5441)
CORE-8394

These caused the "Ignore-next-mouse-event" mechanism of the console
(used e.g. in QuickEdit mode for not triggering the appearance of the
context menu, etc.) to not work.

Please note that these buggy events, that arise when testing ReactOS
in VirtualBox with Mouse Integration is enabled, do not show up when
running instead Windows (2003, ...) in the same configured VM.

Addendum to commits ac51557 (r63792) and 33d8a4b (r67218).

Improved fix for the one reported in PR #5406 by contributor 'whindsaks',
as it keeps the separation between the flag that manages the working-around
of the bug, and the other flag that is used for ignoring the genuine next
mouse event that follows mouse-button-down events.
2023-07-16 19:13:14 +02:00
Hermès Bélusca-Maïto
8dd3af6d31
[CONSRV] Mouse 'signal' --> mouse 'event' 2023-07-16 19:12:00 +02:00
Joachim Henze
fa429c8e2f [SHELL32] *.rc: Use 1996 as birth year in IDD_ABOUT for consistency
We do use the birth year 1996 instead of 1998
within our msgina pictures already,
and also within the [SDK] for autogenerated file-info.

Since SHELL32 IDD_ABOUT is used by many applications it makes sense to harmonize with that.
2023-07-16 17:27:57 +02:00
Carl J. Bialorucki
928913ad56
[SHELL32] Fix problems in several dialog windows (#5446)
Fixed typos and added missing full stops. The new line characters
in the middle of string labels were also unnecessary and removed.
2023-07-16 16:50:51 +03:00
Dmitry Borisov
c0c57e2324 [PCIIDEX] Improve and fix the driver
- Fix IRP handling, add missing IRP handlers
- Specify the device name for DO
- The legacy IRQ descriptor is edge-triggered
- Improve pool tagging
- Place the PNP code in a pageable section

CORE-17256
2023-07-16 13:20:30 +03:00
Dmitry Borisov
293fc8dc34 [DDK:IDE] Add SAL2 annotations 2023-07-16 13:20:30 +03:00
Hermès Bélusca-Maïto
d3101db2c7
[ADVAPI32] "Minimally" improve the SaferComputeTokenFromLevel() stub. (#5435)
CORE-14015, CORE-6942

This makes Windows 2003 CMD.EXE to start batch files again.
Addendum to commit 17d42ae2a (r58868).

Replaces PR #3084 by freely importing and adapting Wine patch
17110a0a89
```
advapi32: Improve the SaferComputeTokenFromLevel stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47274
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
```
2023-07-15 20:50:16 +02:00
Stanislav Motylkov
e2a587c2ef [NTOS:KE/x64] Calculate the CPU frequency on AMD64
This should be performed early enough before CM initialization,
but after the TSC has been initialized and calibrated by HAL.

Based on existing i386 kiinit code. CORE-17971 CORE-14922
2023-07-15 20:50:12 +03:00
Stanislav Motylkov
1896383eb0 [SYSDM] Do not leave empty line if no CPU frequency detected
CORE-17971
2023-07-15 20:50:07 +03:00
Carl J. Bialorucki
4f542ebd8d
[BOOTDATA] Show Explorer status bar by default (#5443)
Enable the explorer status bar by default, which
the vast majority of our community voted for.

Set `HKCU\Software\Microsoft\Internet Explorer\Main\StatusBarOther`
to 1 in hivedef.inf. This will show the status bar by default.

CORE-19028 CORE-19010
2023-07-15 20:06:30 +03:00
Doug Lyons
035790dda5
[SHELL32] Fix detail view in My Computer showing Comment in 'Total Size' column (#5438) CORE-19000
Fixes the regression of 0.4.15-dev-5526-g 4c25af5b
2023-07-15 18:14:35 +02:00
Andrei Miloiu
4057264a19
[REGEDIT] Improve Romanian (ro-RO) translation (#5439) 2023-07-15 18:08:26 +03:00
Hermès Bélusca-Maïto
3854a5d8e9
[CODEBASE] Fix "uknown" / "unkown" etc. typos.
Only done in our own code, not in 3rd-party or in PSDK headers
(official ones also have such typos in defines...)

(NOTE: apparent "Uknown" typo in dll/cpl/sysdm/smbios.c is on-purpose:
typo by the manufacturer.)
2023-07-15 14:19:04 +02:00
Stanislav Motylkov
47fecc2952 [NETSH] Update header for English (en-US) translation
Derived from and addendum to d8f9f7f25.
2023-07-15 14:44:07 +03:00
Eric Kohl
95bf5872ee [NETSH] Append missing newline for MSVC 2023-07-15 13:18:38 +02:00
Eric Kohl
0616df11e6 [PSDK] Fix issues with callback function type declarations 2023-07-15 12:59:06 +02:00
Eric Kohl
d8f9f7f256 [NETSH] Replace the wine stub by a slightly more functional version
- Implement a basic command interpreter.
- Add basic support for helper dlls and contexts.
- Add interactive help system with context support.

Everything is still under construction and subject to change.
2023-07-15 12:27:09 +02:00
Justin Miller
dabe7fba46
[NTOS:IO] Implement IoConnectInterruptEx for fully specified interrupt types (#5416)
Implement IoConnectInterruptEx() for CONNECT_FULLY_SPECIFIED.
This gives ability to load various modern drivers that use IoConnectInterruptEx.

Various drivers work after this change, such as serial.sys MS sample driver when compiled with the reactos tree and many more KMDF drivers from later Windows versions.

Co-authored-by: Victor Perevertkin <victor@perevertkin.ru>
2023-07-14 16:17:27 -07:00
Hermès Bélusca-Maïto
8ce4b73920
[CMD] Correctly honour the "short" path flag in %~var enhanced variables expansion. (#5433)
CORE-14096, CORE-8002

Patch based on an earlier fix attempt by Doug Lyons.
It should fix the problem observed by contributor 'whindsaks' in PR #5403.

This bug has always been present since the implementation of this feature
in commit a1eb1f6ba (r40024).

The expansion of %~dpX ennhanced variables used to incorrectly show some
directories in uppercase. For example:

```batch
:: testcmd.cmd
echo '%~dp0'
echo '%~dps0'
echo '%~s0'
```

would show:

```
P:\Documents and Settings\Administrator\Desktop>echo 'P:\Documents and Settings\Administrator\DESKTOP\'
'P:\Documents and Settings\Administrator\DESKTOP\'

P:\Documents and Settings\Administrator\Desktop>echo 'P:\DOCUME~1\ADMINI~1\DESKTOP\'
'P:\DOCUME~1\ADMINI~1\DESKTOP\'

P:\Documents and Settings\Administrator\Desktop>echo 'P:\DOCUME~1\ADMINI~1\DESKTOP\testcmd.cmd'
'P:\DOCUME~1\ADMINI~1\DESKTOP\testcmd.cmd'
```

instead of the correct:

```
P:\Documents and Settings\Administrator\Desktop>echo 'P:\Documents and Settings\Administrator\Desktop\'
'P:\Documents and Settings\Administrator\Desktop\'

P:\Documents and Settings\Administrator\Desktop>echo 'P:\DOCUME~1\ADMINI~1\DESKTOP\'
'P:\DOCUME~1\ADMINI~1\DESKTOP\'

P:\Documents and Settings\Administrator\Desktop>echo 'P:\DOCUME~1\ADMINI~1\DESKTOP\testcmd.cmd'
'P:\DOCUME~1\ADMINI~1\DESKTOP\testcmd.cmd'
```

The reason was a wrong handling of the presence (or absence) of the
"short" path format specifier 's' in those enhanced variables.
In the examples above, the "Desktop" sub-directory has a short-path
name available (because it is in a FAT partition). The short-path name
was used some times also even with the 's' specifier absent.

Co-authored-by: Doug Lyons <douglyons@douglyons.com>
2023-07-14 14:36:55 +02:00
Arnav Bhatt
79e4efe04e
[MSGINA] Convert shutdown/logoff boxes back to modal dialog boxes (#5114)
- Convert all modeless dialog boxes back to modal dialog boxes.
- Use WM_TIMER to detect SHIFT key press instead, as you can't
  directly intercept messages on modal dialog boxes.
- Remove some unused functions.

Fixes explorer crash on shutdown cancel. CORE-17749
2023-07-14 15:02:40 +03:00