Commit graph

85628 commits

Author SHA1 Message Date
Hermès Bélusca-Maïto
2cdd5eca7b
[PSDK] ntdddisk.h, winioctl.h: Improve/sync partition types and Is[FT|Recognized]Partition() macros (#7033)
- Synchronize PARTITION_*** definitions between ntdddisk.h and winioctl.h

- Make IsFTPartition() macro definition more accurate with Win2003/Vista+
  WDK definition. In particular, partition types that would conflict with
  3rd-party ones are not present in this macro. (See comment in header
  for more details.)
  Simplify also its definition by factoring the common
    ((PartitionType) & PARTITION_NTFT)
  piece.

- It can be recognized, in all DDK/WDK versions, that the first part of
  the IsRecognizedPartition() macro definition is basically the definition
  of IsFTPartition(). So, take this opportunity to simplify the definition
  of IsRecognizedPartition() accordingly without losing any functionality.
2024-06-24 16:29:13 +02:00
Hermès Bélusca-Maïto
a2777cd828
[SETUPLIB] Cleanup some partition getters and remove GetDiskOrPartition.
- osdetect.c: Replace usage of GetDiskOrPartition by SelectPartition.
2024-06-24 16:28:07 +02:00
Whindmar Saksit
63935f857f
[SHELL32] Implement the desktop folder menu for Explorer tree (#7026)
Enumerates but does not actually allow you to get CF_HDROP if the desktop PIDL is present in the dataobject.
2024-06-21 19:19:49 +02:00
Whindmar Saksit
674136bcd0
[BROWSEUI] Save/Restore ShellBrowser bar states (#7035)
Save/Restore the state of the ShellBrowser toolbar/addressbar/statusbar.

Windows shares the state of the Go button and the locked state between Explorer and Internet Explorer but the bar states are not shared.

Notes:
- Seems to fix CORE-17236.
- The stream layout does not match Windows so it uses a different name. The toolbar customize dialog needs to be fixed before it makes sense trying to save the toolbar state and the layout of other bands.

CORE-17236
2024-06-21 19:17:13 +02:00
Whindmar Saksit
75db8c633a
[SHELL32] SHMultiFileProperties workaround and minimal SHObjectProperties (#7025) 2024-06-21 16:26:52 +02:00
Václav Zouzalík
7b7c378188
[WINLOGON] Update Czech (cs-CZ) translation (#7036) 2024-06-21 12:42:13 +03:00
Jose Carlos Jesus
9cf9126191
[REGEDIT] Update Portuguese (pt-PT) translation (#6979) 2024-06-21 11:34:47 +03:00
Hermès Bélusca-Maïto
99f0937fd0
[SETUPLIB][USETUP] Finish unification of extended and primary/logical partitions
See commits ebcf3cf38 and c9c6902f0 (PR #5837)

In addition, correctly set the type of extended partition being used,
depending on whether it is contained below or above the 1024-cylinder
boundary (tested on NT).
2024-06-20 17:21:51 +02:00
Doug Lyons
cd88a97115
[NTUSER] Fix popup menu positioning for Miranda IM (#6981)
CORE-17838
2024-06-19 18:55:12 -05:00
Hermès Bélusca-Maïto
3fe12f1a7c
[NTOS:IO] IopCreateArcNamesDisk(): Fix the ArcName link creation condition check.
The bug was introduced in commit 6d0861e9e (r49131).
2024-06-19 17:26:40 +02:00
Hermès Bélusca-Maïto
5e3f3f59df
[NTOS:IO] IopVerifyDiskSignature(): simplify code and SAL2-annotate 2024-06-19 17:25:42 +02:00
Hermès Bélusca-Maïto
85d338ed65
[NTOS:IO] arcname.c: Minor formatting fixes and comments improvements 2024-06-19 17:25:34 +02:00
Doug Lyons
29a56f326a
[REGEDIT] Fix splitter move redraw issues. (#6992)
* Add "HACK" per reviewer comment
* CORE-19576
2024-06-19 00:39:39 -05:00
Katayama Hirofumi MZ
55898a7ffd
[SHELL32] Make some PIDL (_IL*) functions Unicode (#7018)
There were encoding problems due to non-
Unicode functions.
JIRA issue: CORE-19653
- Adapt _ILGetDrive, _ILGetExtension,
  _ILGetFileAttributes, _ILGetFileDate,
  _ILGetFileSize, and _ILGetFileType
  functions to Unicode.
- Adapt SHELL_IsShortcut and
  SHGetFileInfoW functions to Unicode.
- Delete useless _ILSimpleGetText
  function.
2024-06-19 04:32:40 +09:00
Thamatip Chitpong
91af99323f [SHELL32] Enable visual styles for RunDLL
Enable visual styles using RunDLL manifest (resource ID 123).
CORE-12285

This was documented here:
https://learn.microsoft.com/en-us/windows/win32/controls/cookbook-overview?redirectedfrom=MSDN#using-comctl32-version-6-in-control-panel-or-a-dll-that-is-run-by-rundll32exe
2024-06-18 21:06:29 +07:00
Thamatip Chitpong
99c0d53413 [SHELL32] Folder options: Use MAKEINTRESOURCE instead of LoadString 2024-06-18 21:06:29 +07:00
Joachim Henze
32d615fc10
[DD] Keep the network drivers infs 8.3 like on MS Windows (#7007)
Windows has all its network drivers inf files in 8.3.

This is an addendum to 0.4.15-dev-52-g 019f21ee1d
which moved us further away from our target.

The commit on its own was a good idea actually to get the inf into the drivers directory
and therefore simplifies adding and excluding drivers more locally (e.g. excluding works by
adding a single hashtag within the specific drivers CMakeLists.txt now).

But that cool feature doesn't require us to move away from our target.

For the record:
The historic netrtpnt.inf and netisa.inf (both 8.3) have been merged to
netne2000.inf (not 8.3) by 0.4.15-dev-2763-g 6924b8ff39
Unification of that was cool too,
but again: 8.3 is superior. Therefore netne.inf for that.

Worst of all: Since the .inf files did contain their filename within a comment also, that means
the historic renaming by the mentioned commit invalidated that comment.
netamd.inf fixed by restoring the ancient filename before 0.4.15-dev-52-g 019f21ee1d
netrtl.inf fixed by restoring the ancient filename before 0.4.15-dev-52-g 019f21ee1d
netne.inf I fixed the comment manually.
2024-06-17 22:41:31 +02:00
Jose Carlos Jesus
0abd920db9
[KBSWITCH] Add Portuguese (pt-PT) translation (#7008)
Also fix SUBLANG for Portuguese Brazilian (pt-BR) translation.
2024-06-17 19:42:13 +03:00
Jose Carlos Jesus
c43a638fc1
[INPUT] Update Portuguese (pt-PT) translation (#7032)
- Change SUBLANG to NEUTRAL.
- Add resource file header.
2024-06-17 19:20:14 +03:00
Václav Zouzalík
18a3d21dd7
[SHIMGVW] Update German (de-DE) translation (#7021)
Translate new strings added in 084fae1eb4 (#6186) into German.
2024-06-17 18:40:29 +03:00
Hermès Bélusca-Maïto
6aed3b5117
[PSDK] ntdddisk.h: Add missing global parentheses around IsFTPartition() definition
CORE-16499

Addendum to commit 0a0e6a9f0 that introduced the problem.

Thanks to Hervé Poussineau for having caught it.

Fixes logic errors, and resulting compilation warnings/errors with GCC
in situations like the following one:
```c
if ((PartitionInfo.PartitionStyle == PARTITION_STYLE_MBR) &&
    IsFTPartition(PartitionInfo.Mbr.PartitionType))
{ ... }
```
error: suggest parentheses around '&&' within '||' [-Werror=parentheses]
 if ((PartitionInfo.PartitionStyle == PARTITION_STYLE_MBR) &&
cc1: all warnings being treated as errors
2024-06-17 17:18:18 +02:00
Katayama Hirofumi MZ
9164419c9c
[FONTS] Retry: Add our 'Microsoft Sans Serif' font (#7022)
Retrial of #3818.
JIRA issue: CORE-16435
The font name is "Microsoft Sans Serif". This font is not Microsoft's font.
This font was not a solution of CORE-16435 but we add this font as a side
product of CORE-16435.
- Add media/fonts/micross.ttf as "Microsoft Sans Serif" font.
- The font height is 14%-shrinked from #3818.
- Add media/fonts/doc/MicrosoftSansSerif/LICENSE_OFL.txt.
- Modify CMakeLists.txt to add the font.
- Improve "J" and "Q".
Version: 3
License: SIL Open Font License 1.1
2024-06-16 10:08:17 +09:00
Doug Lyons
6190a97df4
[NTGDI][FREETYPE] Multiple indirect Font Substitutes fix for Factusol (#7020)
Fixes double use of Font Substitutes "Helv" -> "MS Sans Serif" -> "Tahoma".
2024-06-15 17:08:59 -05:00
Timo Kreuzer
365c2c1ce3 [HAL:APIC] Fix HalSetTimeIncrement
Fix calculation of clock rate. Previously it would go above the maximum, causing issues with KeUpdateSystemTime.
2024-06-15 14:22:20 +02:00
Katayama Hirofumi MZ
e8b88cf879
Revert "[BOOT] Don't create CSIDL_ADMINTOOLS folder in initial (#6551)" (#7017)
Reverts #6551
This caused the non-English programs menu
items to not be populated.
JIRA issue: CORE-12328 will have to be
reopened afterwards and approached
differently
JIRA issue: CORE-19652 will get resolved
2024-06-14 11:08:14 +09:00
Joachim Henze
3e6f65ffcd
[DC21X4] Fix uninitialized variable read (#6984)
This is the network driver which is used for MSVPC 2007.

I spotted it during a WIP-backport-experiment of the driver, when compiling with GCC4.7.2, which warned about it.
GCC8.4.0 unfortunately is blind to that on master head, for unknown reasons. Not good.
MSVC github buildbot is also blind to that on master head, for unknown reasons. Not good.
We later found that at least Clang did also warn about it on master head.
2024-06-13 21:24:23 +02:00
Thamatip Chitpong
2d9a4b4a87 [SHELL32] Control_DoWindow: Add file browser fallback
If Explorer shell is not available, use ReactOS's alternative file browser instead.
CORE-19648
2024-06-14 02:14:10 +07:00
Thamatip Chitpong
8398c9fcfb [CONTROL] OpenShellFolder: Add file browser fallback
If Explorer shell is not available, use ReactOS's alternative file browser instead.
CORE-19648
2024-06-14 02:14:10 +07:00
Thamatip Chitpong
48c036e7e7 [NCPA] DisplayApplet: Add file browser fallback
If Explorer shell is not available, use ReactOS's alternative file browser instead.
CORE-19648
2024-06-14 02:14:10 +07:00
Hermès Bélusca-Maïto
ab0e04c81d
[MOUNTMGR] Introduce MountMgrSendSyncDeviceIoCtl() to replace repeated code (#6960)
See https://www.osr.com/blog/2018/02/14/beware-iobuilddeviceiocontrolrequest/
for some details about IRQL requirements.
2024-06-13 20:01:16 +02:00
Hermès Bélusca-Maïto
50271949e7
[PSDK] winioctl.h fixes; make ntddvol.h winioctl.h-compatible (#7010)
winioctl.h:
- Re-organize definitions according to the
  NT DDK headers they have been taken from.
- Add missing include guards to some definitions.
- Add missing IsFTPartition() macro.
- Add missing volume definitions.

ntddvol.h:
- Guard definitions duplicated in winioctl.h.
- Add missing NTDDI_VERSION checks.
  Note: IOCTL_VOLUME_POST_ONLINE is Win8+.
2024-06-13 19:53:23 +02:00
Václav Zouzalík
6cd97d8423
[SHIMGVW] Update Czech (cs-CZ) and Slovak (sk-SK) translations (#6825)
- [SHIMGVW] Update Czech (cs-CZ) translation
- [SHIMGVW] Update Slovak (sk-SK) translation
2024-06-13 19:12:45 +03:00
Jose Carlos Jesus
113b3d6261
[CPL] Update Portuguese (pt-PT) translation (#6718)
- [APPWIZ] Update Portuguese (pt-PT) translation
- [CONSOLE] Update Portuguese (pt-PT) translation
- [HDWWIZ] Update Portuguese (pt-PT) translation
- [HOTPLUG] Update Portuguese (pt-PT) translation
- [INETCPL] Update Portuguese (pt-PT) translation

Reviewed-by: Marco Pisco <marco@marcopisco.com>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2024-06-13 18:26:25 +03:00
Jose Carlos Jesus
cbb6603460
[MSUTB] Add Portuguese (pt-PT) translation (#6690) 2024-06-13 17:01:04 +03:00
Ratin Gao
67d5a53839
[TRANSLATION] Improve Simplified Chinese (zh-CN) translation (#6804)
- Add and improve translation
- Fix mistakes

Reviewed-by: Chilung Chan <eason066@gmail.com>
Reviewed-by: yangyangdaji <1504305527@qq.com>
Reviewed-by: He Yang <1160386205@qq.com>
2024-06-13 16:36:41 +03:00
Whindmar Saksit
7c3d3851b8
[SHELL32] Respect menu Ctrl/Shift in CMenuBand and SHBrowseForFolder (#7015) 2024-06-13 13:11:34 +02:00
Whindmar Saksit
d73a838245
[RAPPS] Load icons on background thread (#6881)
- Load icons on background thread to massively reduce loading time.

- Use SM_CXICON sized icons consistently instead of hardcoding 32 in some places.
2024-06-13 02:20:41 +02:00
Whindmar Saksit
4321c975c7
[SETUPAPI] Fix absolute dirid ProfileItems bug (#7016) 2024-06-12 19:34:48 +02:00
Katayama Hirofumi MZ
13b6972500
[FONTS] Tahoma: Remove bitmap glyph workaround (#7012)
Our Tahoma font file had a workaround
to make bitmap glyphs working.
This workaround is no more necessary
because new FontForge doesn't have
this bug.
JIRA issue: CORE-9616
- Remove 「いうかひのん」 workaround
  (See http://www.electronicdissonance.com/2010/01/raster-fonts-in-visual-studio-2010.html ).
- Remove Traditional Chinese codepage.
Version 0.020 khmz.
2024-06-12 20:12:55 +09:00
Whindmar Saksit
3123589edd
[NOTEPAD] F3 should not display error message when the find string is empty (#7013) 2024-06-12 13:01:42 +02:00
Whindmar Saksit
dc97c0d109
[SHELL32] Add Taskbar and Start Menu control panel item (#7011) 2024-06-12 13:00:54 +02:00
Hermès Bélusca-Maïto
ed27d733f7
[MOUNTMGR][DDK] Fix some IOCTLs definitions to Win2k3+ compatibility (#6959)
Fix IOCTL_MOUNTDEV_LINK_CREATED, IOCTL_MOUNTDEV_LINK_DELETED,
IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY, to Win2k3+ compatible definitions.
The previous versions of these IOCTLs (in Win2000 and XP) were defined without any access protection.

This was noticed here:
https://community.osr.com/t/ioctl-mountdev-link-created-definition-changed/29428
2024-06-12 12:31:32 +02:00
Hermès Bélusca-Maïto
7930bed0a1
[MPR][MOUNTMGR][DDK] Remove unused wine-specific code (#6958)
Usage of these in MPR was already inside #ifndef __REACTOS__ block,
so, "This Is Fine".
2024-06-12 12:29:22 +02:00
Hermès Bélusca-Maïto
0d36818422
[MOUNTMGR] Some cleanup 2024-06-12 12:29:06 +02:00
Hermès Bélusca-Maïto
e47d08fc5a
[DDK] mountdev.h, mountmgr.h: Minor cleanup (#6957)
- Add missing file info headers.
- Make the headers C++ friendly.
2024-06-12 12:28:50 +02:00
Hermès Bélusca-Maïto
e80cd6760c
[PARTMGR] Reimplement IOCTL_MOUNTDEV_QUERY_UNIQUE_ID for MBR and GPT partitions (#6926)
CORE-15575

In addition, fix a PartitionId assignment copy-paste error in PartitionCreateDevice().

The returned standard UniqueId has the following format:

- Basic volume on MBR disk: disk Mbr.Signature + partition StartingOffset (length: 0x0C)
- Basic volume on GPT disk: "DMIO:ID:" + Gpt.PartitionGuid (length: 0x18)
- Volume on Basic disk (NT <= 4): 8-byte FTDisk identifier (length: 0x08)
- Volume on Dynamic disk (NT 5+): "DMIO:ID:" + dmio VolumeGuid (length: 0x18)
- Super-floppy (single-partition with StartingOffset == 0),
  or Removable media: DiskInterfaceName.
- As fallback, we use the VolumeInterfaceName.

References:
- https://winreg-kb.readthedocs.io/en/latest/sources/system-keys/Mounted-devices.html
- https://stackoverflow.com/a/72787681/21852502
- Manual testing on Windows.
2024-06-12 12:15:31 +02:00
Hermès Bélusca-Maïto
3d26d76a4c
[PARTMGR] Detect and flag partitionless ("super-floppy") disks (#6926)
CORE-15575

Detect whether the disk is a "super-floppy", which is the name given
to partitionless disk having no MBR, with the unique partition volume
starting at sector offset zero and spanning the whole disk.
The name comes from the fact that at the partitioning level, the disk
"looks like" a large-capacity floppy disk.

This is typically how external removable (USB, ...) drives are
partitioned by default by Windows.

https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-and-gpt-faq?view=windows-11#superfloppy

The kernel-mode functions IoReadPartitionTable() / IoWritePartitionTable()
report the drive layout of a "super-floppy" disk as follows:
an MBR-style disk containing only one single partition starting at the
beginning of the disk (StartingOffset == 0) without hidden sectors, and
its type being FAT16 non-bootable.
The disk NTFT signature is set to 0x00000001.

----

Additional bug fixes to make the feature work reliably:

- Make PartMgrGetDriveLayout() also update the FDO DiskData's
  PartitionStyle and Signature/GPT DiskId for consistency (code moved
  from PartMgrRefreshDiskData()).

- In FdoIoctlDiskSetDriveLayout[Ex](), if the disk is "super-floppy",
  but the user wants to create more than one partition, fail the call.
  (In the Ex call, fail also if the partition style changes.)
2024-06-12 12:15:22 +02:00
Hermès Bélusca-Maïto
33ac3578fd
[PARTMGR] Fix the way the "symlink -> target" DPRINT is displayed 2024-06-12 12:14:53 +02:00
Hermès Bélusca-Maïto
2d6bbdc6ed
[PARTMGR] Fix x64 build warning
warning C4267: 'function': conversion from 'size_t' to 'ULONG', possible loss of data'

The OutputBufferLength member that was temporarily stored in
outBufferLength is already a ULONG, and IssueSyncIoControlRequest()
takes the length as a ULONG. So there is no need to use 'size_t' here.
2024-06-12 12:14:45 +02:00
Maj Soklič
ba6e9a09be
[SHELL32] Remove redundant WS_TABSTOP's from RC files (#7000)
for PUSHBUTTON, DEFPUSHBUTTON, CHECKBOX, AUTOCHECKBOX
2024-06-12 12:11:52 +02:00