Compare commits

...

6593 Commits

Author SHA1 Message Date
Justin Miller
c68111883e [SDK] Fix RelWithDebInfo 2025-03-22 23:05:34 +01:00
Katayama Hirofumi MZ
386fccd02c [SHELL32][SHELL32_APITEST][SDK] Implement PathMakeUniqueName (#7805)
Sideproduct of #7804. Implementing missing features.
JIRA issue: CORE-19278
- Implement PathMakeUniqueName function.
- Add PathMakeUniqueName prototype to <shlobj.h>.
- Add PathMakeUniqueName testcase to shell32_apitest.
2025-03-22 08:23:24 +09:00
Katayama Hirofumi MZ
6a95219ed3 [REACTOS] Don't use DLL_WINE_PREATTACH macro (#7802)
Related to #7800. Reduce code dependency on Wine.
JIRA issue: CORE-5743
- Wrap DLL_WINE_PREATTACH usage by #ifndef
  __REACTOS__ and #endif.
- Undefine DLL_WINE_PREATTACH macro in
  sdk/include/xdk/winnt_old.h.
2025-03-22 08:04:55 +09:00
Mark Jansen
59f0ec1fdf Update the readme for 0.4.15 2025-03-21 22:39:23 +01:00
Dmitry Borisov
5fb6fad175 [FREELDR] iso.c: Remember the last directory that was accessed (#7734)
This patch reduces the number of sectors read by 709 (from 8788 to 8079)
2025-03-21 22:17:29 +01:00
Dmitry Borisov
564be44f45 [FREELDR] iso.c: Remove a redundant zero initialization of the FileName buffer (#7734)
The FileName buffer is NUL-terminated later on.
2025-03-21 22:17:11 +01:00
Dmitry Borisov
b931c51937 [FREELDR] iso.c: Avoid unnecessary zero-init and copy of the file info structure (#7734)
FileHandle gets initialized completely in IsoSearchDirectoryBufferForFile()

- Also mark some functions as static.
2025-03-21 22:15:54 +01:00
Dmitry Borisov
61ee431169 [FREELDR] iso.c: Cache the PVD information for ISO volumes (#7734)
This patch reduces the number of sectors read by 41 (from 8829 to 8788)
2025-03-21 22:15:43 +01:00
Katayama Hirofumi MZ
2ffc6d281b [BOOTDATA] Follow-up of #7795; Modify NLS registry (#7799)
Follow-up of #7795. This affects
boot condition of es-CR, rm-CH,
ur-PK, fa-IR, vi-VN, ka-GE, bn-IN
and my-MM users.
EDIT: These languages are not
supported in
base/setup/usetup/
muilanguages.h yet.

JIRA issue: CORE-19496

Modify boot/bootdata/hivesys.inf t
o change the values of
HKEY_LOCAL_MACHINE\SYSTEM\
CurrentControlSet\Control\Nls\
Language and HKEY_LOCAL_MACHINE\SYSTEM\
CurrentControlSet\Control\Nls\
Locale registry keys.
2025-03-22 06:01:56 +09:00
Whindmar Saksit
56e7afe56c [SHDOCVW][SHELL32] Rename RegItem to empty name must reset the name to the default (#7794)
CORE-18839
2025-03-21 13:51:45 +01:00
Katayama Hirofumi MZ
27bb510282 [FREETYPE] Fix WordPad ruler rendering (#7803)
Based on @Doug-Lyons's wordpad-ruler-fix-05.patch.
JIRA issue: CORE-19870
In IntRequestFontSize function, if lfWidth < 10, then
req.width = 0;.

Co-authored-by: Doug Lyons <douglyons@douglyons.com>
2025-03-21 08:52:20 +09:00
Whindmar Saksit
7dc7b866b1 [RAPPS] Don't delete downloaded ZIP/CAB even if configured to (#7791) 2025-03-20 14:32:07 +01:00
Whindmar Saksit
7f49ae633b [SHELL32] Multiple drives property sheet support (#7787)
Supports multiple drives in a single property sheet

CORE-20025
2025-03-20 13:33:51 +01:00
Whindmar Saksit
d769f5675d [RAPPS] Must apply settings changes when a new download folder is created (#7792) 2025-03-19 12:24:52 +01:00
Johannes Anderwald
dba4efbcae [USBCCGP] [USBPORT] USB Stack improvements (#7740)
[USBCCGP]

Ignore invalid devices
Group audio function interfaces together
[USBPORT]

Prevent infinite loop in USBPORT_OpenPipe when endpoint is not becoming ready
2025-03-19 01:35:36 -07:00
Katayama Hirofumi MZ
4bc97ad145 [BOOTDATA] Arabic, Hong Kong, Singapore, come back! (#7795)
JIRA issue: CORE-19496
Modify boot/bootdata/hivesys.inf to change
the values of registry key HKEY_LOCAL_MACHINE\
SYSTEM\CurrentControlSet\Control\Nls\Locale.
2025-03-19 09:40:38 +09:00
Whindmar Saksit
4a1877d0f6 [NTDLL][SHLWAPI][SYSDM] ReportAsWorkstation should always override the product type (#7052)
Allows "ROS as a workstation" installs to report itself as a basic server to Win32 applications when the user toggles the sysdm.cpl checkbox (to unchecked in this case).
2025-03-19 00:10:46 +01:00
Daniel Victor
19c1f5661f [BOOTSECT][FREELDR] Fix wrong comment of conditional jump on ext.S and extldr.S (#7798) 2025-03-18 23:52:56 +01:00
Hermès Bélusca-Maïto
2e47094764 [SYSSETUP] Apply theming from unattend files very early on when booting the LiveCD or a new install (#7797)
Use a `[Shell]` section with `DefaultThemesOff` and `CustomDefaultThemeFile`
values, specifying respectively whether to use the classic theme or a
custom one, and the complete path to the custom .theme (or .msstyles) file.

These values are compatible with those documented in the
"MS Windows Preinstallation Reference" help file
of the Windows installation CD (DEPLOY.CAB\ref.chm)

[BOOTDATA] bootcd/unattend.inf: Use the Shell/CustomDefaultThemeFile value to specify which theme to use
2025-03-18 23:02:34 +01:00
Curtis Wilson
8e2d1b358c [PING] Update SendBuffer fill method (#7782)
The ping utility found in various versions of Windows fills the optional
data field in the ICMP echo request structure with ASCII characters from
'a' to 'w' wrapping back around until SendBuffer is full.

Future TO-DO: Compare ReplyBuffer data to SendBuffer.
2025-03-18 22:05:06 +01:00
Dmitry Borisov
787f81f3f5 [FREELDR] Refactor and optimize the IDE driver (#7728)
[DDK] Update IDENTIFY data and other ATA definitions.
Based on the MinGW header.

[FREELDR] Refactor and optimize the IDE driver.
Fix long-standing bugs, which have a negative impact on the boot stability.

- Make the driver more ATA specification compliant.
- Improve the speed of device detection.
- Remove inconsistent delays.
- Support modern hard drives with sector size greater than 512 bytes.
- Add basic error recovery.
- Move private definitions to a separate private header.
- Remove the useless AtaFree API method.
2025-03-18 21:56:25 +01:00
Daniel Victor
ddf55b3772 [BOOTSECT][FREELDR] Rewrite the Ext bootsector (#7544)
Rewrite the Ext bootsector because the older one was broken and had no compatibility with Ext4 extents.
Introduce a 3rd-stage bootsector for complex code.

CORE-14235

- Why was the previous bootsector broken?
  Because of hardcoded inode size, hardcoded freeldr base address, etc.

- Why is there a extldr.sys?
  The extldr.sys was introduced because the limited code space in the bootsector
  prevents adding new features, such as Ext4 full extents support.

- What is extldr.sys and What does it do?
  It is the helper file for the Ext bootsector and that is necessary for adding
  Ext4 support. It locates the freeldr.sys file, loads it into memory and runs it.
2025-03-18 21:53:47 +01:00
Hermès Bélusca-Maïto
7c61e5769f [CONFIGURE] Display the operating system on which the build config takes place (#7774) 2025-03-18 21:39:19 +01:00
Hermès Bélusca-Maïto
9da45923b3 [CONFIGURE] Adjust some echo'ed strings (#7773)
[CONFIGURE.CMD] Use multi-command syntax instead of AND operator for successive echo's
And adjust few strings.

[CONFIGURE.SH] Quote the echo'ed strings, and adjust some of them.
2025-03-18 21:20:32 +01:00
Hermès Bélusca-Maïto
57fa5a22de [GIT] Ensure .sh script files use LF (Unix) line endings (#7772)
For example, this is what's expected by Cygwin (ba)sh on Windows.
2025-03-18 20:17:40 +01:00
Timo Kreuzer
9a093ecbe9 [FREELDR] Fix menu display on VMware
When drawing the menu, the boot options should not be overwritten, but when clearing the screen, everything needs to be drawn, otherwise there will be uninitialized characters at the bottom. See CORE-20014.
2025-03-18 00:36:40 +02:00
Eric Kohl
bcedb5314c [SYSETUP] Set the tcpip service hostname parameter even if the service key does not exist yet 2025-03-16 14:14:58 +01:00
Whindmar Saksit
c6b134123b [SHELL32] Initialize COM for PickIconDlg (#7788)
CORE-20030
2025-03-16 10:09:31 +01:00
Whindmar Saksit
96aa1eee17 [LNKTOOL][SHELL32] Add utility to create/dump .lnk files (#7745)
Unlike mkshelllink, this uses the native COM interface to create the link.
2025-03-15 16:31:22 +01:00
Katayama Hirofumi MZ
75c0dc0cd8 [EXPLORER][COMCTL32][SHELL32] Enable SPI_SETICONTITLELOGFONT (#7783)
Enable desktop icon title font setting.
JIRA issue: CORE-13601
- Forward WM_SETTINGCHANGE message up to
  ListView.
- ListView accepts WM_SETTINGCHANGE message.
- Enable icon spacing.
2025-03-15 09:31:15 +09:00
Hermès Bélusca-Maïto
8e53386de9 [SETUPLIB][REACTOS][USETUP] Don't export setup data. Make IsUnattendedSetup local to the installer. 2025-03-14 21:38:39 +01:00
Hermès Bélusca-Maïto
8d80203d65 [SDK:MC] Fix basic english typos in some messages. 2025-03-14 21:38:38 +01:00
Katayama Hirofumi MZ
135a9a95b8 [DXDIAG] Romanian (ro-RO): Fix unrecognized escape sequence (#7781)
JIRA issue: N/A
Fix IDS_DDPRIMARY_DESCRIPTION
escape sequence.
2025-03-13 22:57:08 +09:00
Katayama Hirofumi MZ
e6302ccd70 [REGEDIT] Reduce flickering and fix rendering (#7747)
JIRA issue: CORE-19970
- Fix status bar toggling.
- Improve behaviour of splitter.
- Add (WS_CLIPCHILDREN |
  WS_CLIPSIBLINGS) style to
  ChildWnd.
2025-03-13 19:33:14 +09:00
Justin Miller
656a5dcc1f [NTOS:KE] Implement KeI386VirtualIntExtensions code paths for INT and IRET. CORE-19049 (#7742)
Co-authored-by: Thomas Faber <thomas.faber@reactos.org>
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>

Continued from PR #6070

JIRA issue: CORE-19049
2025-03-12 05:24:36 -07:00
Doug Lyons
5c505d9a9b [NTUSER] Handle window update region larger than the current window in clip region (#7731)
CORE-18206 CORE-18799 CORE-19371

Fixes infinite loop of:
  err: Message WM_PAINT count 1 Internal Paint Set? FALSE

The symptom appears in the following scenario (as reported in CORE-18799):

A program (game) runs at a small resolution (e.g. 640 x 480), but the
game window gets invalidated at a larger size (e.g. 1152 x 864 screen
resolution) before switching to the smaller (640 x 480) size.
Because of this, the window's update region is larger than the current
window so only the 640 x 480 region gets validated leaving the remaining
region invalid. This causes the recurring WM_PAINT messages because there
is no way to invalidate the remaining area.
2025-03-12 12:18:53 +01:00
Hermès Bélusca-Maïto
f37138ce91 [NTOS:OB] Allow ObpCaseInsensitive to be configured via registry (#7751)
This feature can be controlled by the system policy:
"System objects: Require case insensitivity for non-Windows subsystems"
https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/jj852277(v=ws.11)

It is also used in conjunction with NTFS to get system-wide filesystem case-sensitivity:
https://www.betaarchive.com/wiki/index.php/Microsoft_KB_Archive/929110

This is controlled with a REG_DWORD value named `ObCaseInsensitive`
inside the registry key
`HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Kernel` .

Object case (in)sensitivity check is done in the ObpLookupObjectName() helper.
The `ObpCaseInsensitive` variable is used to retrieve the data,
hence it needs to be a ULONG.
2025-03-11 19:15:02 +01:00
Hermès Bélusca-Maïto
c71845ee8c [NTOS:OB] ObpLookupEntryDirectory(): SearchShadow is a BOOLEAN 2025-03-11 19:12:36 +01:00
Hermès Bélusca-Maïto
bc62c17a7f [KERNEL32][NTDLL][NTOS][WIN32K] Fix and sync the exports for RtlUnwindEx and RtlVirtualUnwind (#7749) 2025-03-11 18:59:22 +01:00
Ratin Gao
275c40d26d [CRYPT32] Initial implementation of CertEnumSystemStoreLocation() (#7746)
Initial implementation of `CertEnumSystemStoreLocation`, which is required by the latest "VirtualBox Guest Additions".

This function returns 8 fixed hard-coded system stores and registered OID system stores, this PR didn't implement the latter because `CryptEnumOIDFunction` is unimplemented, marked as FIXME.
2025-03-11 14:17:38 +01:00
Miguel Almeida
b45debb93a [COMCTL32] Fix shift-selecting files not working as expected in small/large icons views (#7729)
CORE-10386

Fixes the behavior when selecting multiple files in a folder with the Shift key, while using either the Large Icons or Small Icons view, so that it is consistent with how it works on Windows.

Proposed changes:
Disable the specialized code for these views in LISTVIEW_SetGroupSelection, using the same code as for the list and details views, which also works fine for them.
2025-03-11 13:49:39 +01:00
Owen Utley
14f8f7e3bd [THEMES][MIZU] New bitmaps to replace old Lautus ones (#7775) 2025-03-11 12:04:53 +03:00
Dmitry Borisov
029e53ddb5 [MINIHAL] Minor improvements (#7398)
* [FREELDR] Mark noreturn functions

* [FREELDR] Compile hw debugging support code only in debug builds

- Make BREAKPOINT() portable

* [FREELDR] Consolidate identical names into a single string

* [FREELDR] Use intrinsics for string I/O operations on x86 and x64

Stop them being pulled in from a static minihal library

* [MINIHAL] Exclude unnecessary portio dependency
2025-03-11 10:30:14 +03:00
Whindmar Saksit
0089017d54 [SHELL32] Don't close icon dialog when selecting from autocomplete (#7766) 2025-03-09 22:00:16 +01:00
Whindmar Saksit
5af47c9baf [BROWSEUI] Set AddressBand Go button checkbox state correctly in menu (#7771)
CORE-20018
2025-03-09 21:59:03 +01:00
Whindmar Saksit
5461abeeba [SHELL32][SHELL32_APITESTS] SHDefExtractIcon zero icon size as sysmetric (#7768) 2025-03-09 15:41:53 +01:00
Justin Miller
bdda5b93d7 [PSAPI][KERNEL32] Convert the PSAPI exports to a static library (#7708)
This behavior is straight out of win7 where this logic was moved to
KernelBase and friends. Required for thousands of apps. But also just
preps for the KernelBase sync from Wine-10

Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2025-03-09 04:09:59 -07:00
Justin Miller
6dccccc2a3 [USER32_VISTA][USER32] Sync some parts with WINE-10.0 2025-03-09 04:07:55 -07:00
Justin Miller
245513e7ec [USER32_VISTA] Import input.c misc.c win.c from wine-10.0 2025-03-09 04:07:55 -07:00
Katayama Hirofumi MZ
1786a68256 [EVENTVWR] Localize and check item count (#7757)
Don’t display garbage to the users.
JIRA issue: CORE-19786
- Localize message text by using
  newly added
  IDS_CONTFROMBEGINNING
  and IDS_CONTFROMEND
  resource strings.
- Check item count before
  showing next/previous item.
- Add EnableEventDetailsButtons
  function.
2025-03-09 06:55:05 +09:00
Katayama Hirofumi MZ
0898bd371d [CURSOR] Add Cursor AI project settings (#7752)
AI-friendly development for the future.
JIRA issue: CORE-20011
- Reduce time and cost on using Cursor AI.
- Improve interoperability with Cursor AI.
- Add .cursor folder and some files.
- Modify .gitignore.
2025-03-08 22:35:40 +09:00
Whindmar Saksit
f844296b0a [BROWSEUI][SHELL32] Fix FindFolder icons (#7756)
- Shortcut icons require the correct IShellFolder because it needs the full path.
- Items in a drive root needs the final backslash to be part of the path.

CORE-18692
2025-03-08 14:30:04 +01:00
Whindmar Saksit
acbadb9fba [USER32] PrivateExtractIcons must return 0 for empty files (#7767)
This bug breaks the documented S_FALSE return value for SHDefExtractIconW when the icon is not found.
2025-03-08 13:34:23 +01:00
Katayama Hirofumi MZ
d1d300b44b [REACTOS] Add CODING_STYLE.md (#7753)
JIRA issue: CORE-20011
- Add CODING_STYLE.md at the root
  directory.
- This CODING_STYLE.md is generated
  from HTML text of
  https://reactos.org/wiki/Coding_Style
2025-03-08 18:57:17 +09:00
Katayama Hirofumi MZ
115cf65ebf [EVENTVWR] Reduce lines (#7758)
JIRA issue: N/A
- Reduce lines in InitInstance function.
2025-03-07 07:06:38 +09:00
Katayama Hirofumi MZ
13894e2da0 [SNDVOL32] Improve Japanese (ja-JP) translation (#7765)
JIRA issue: CORE-18706
2025-03-06 20:26:18 +09:00
Katayama Hirofumi MZ
b728d330c2 [SHUTDOWN] Improve Japanese (ja-JP) translation (#7764)
JIRA issue: CORE-18706
2025-03-06 20:14:24 +09:00
Katayama Hirofumi MZ
02acdae022 [MSCONFIG] Add Japanese (ja-JP) translation (#7763)
JIRA issue: CORE-18706
2025-03-06 19:56:32 +09:00
Katayama Hirofumi MZ
cf96d9175f [MPLAY32] Improve Japanese (ja-JP) translation (#7762)
JIRA issue: CORE-18706
2025-03-06 19:41:33 +09:00
Katayama Hirofumi MZ
118940ed9a [DRWTSN32] Add Japanese (ja-JP) translation (#7761)
JIRA issue: CORE-18706
2025-03-06 19:33:03 +09:00
Katayama Hirofumi MZ
5c8d677356 [FINDSTR] Add Japanese (ja-JP) translation (#7760)
JIRA issue: CORE-18706
2025-03-06 19:27:08 +09:00
Katayama Hirofumi MZ
84f3a2b1d1 [SERVMAN] Update Japanese (ja-JP) translation (#7759)
JIRA issue: CORE-18706
2025-03-06 19:20:04 +09:00
Whindmar Saksit
fc6330a01a [SHDOCVW] Don't show create shortcut context menu item in Explorer tree (#7735) 2025-03-05 13:41:02 +01:00
Whindmar Saksit
4a0f0ddbd7 Implement GetDefaultColumn and GetClassID (#7750) 2025-03-05 13:40:10 +01:00
Justin Miller
a8cd1eac1d [NTDLL] Fix Vista+ stubs (#7672)
Mostly based on Windows 11 22H2 and Vista SP2 and WINE-10.0

Co-authored-by: Adam Słaboń <asaillen@protonmail.com>
Co-authored-by: Timo Kreuzer <timo.kreuzer@reactos.org>
2025-03-05 01:24:22 -08:00
Timo Kreuzer
c6853581c5 [NTOS:MM] Fix broken ASSERT
There is no guarantee that all pages in the requested range actually exist.
2025-03-04 15:24:53 +02:00
Ratin Gao
4d605ec26f [NTOS:MM:PS] Little fixes for NTDLL loading (#7707)
- [NTOS:PS] `STATUS_INVALID_IMAGE_PROTECT` returned by `MmCheckSystemImage` should be a fatal error too.
- [NTOS:PS] Fix object attributes for opening NTDLL.
- [NTOS:MM] Remove `MmCheckSystemImage` unused parameter.
- [NTOS:MM] Inline `MmVerifyImageIsOkForMpUse` in `MmCheckSystemImage`, reducing a call to `RtlImageNtHeader`.
2025-03-03 20:36:21 +01:00
Hermès Bélusca-Maïto
7c23a2e38e [NTOS:MM] Split MmVerifyImageIsOkForMpUse() into an auxiliary inlined helper.
This helper is used when an existing NtHeader is already available.
2025-03-03 20:30:54 +01:00
Ratin Gao
ccf1e97aa1 [NTDLL_VISTA:LDR] Implement DLL Notification (#6795)
Implement DLL Load Notification, an NT6+ feature.
https://learn.microsoft.com/en-us/windows/win32/devnotes/dll-load-notification

- [RTL] Sync `RTL_STATIC_LIST_HEAD` and `RtlFailFast` from XDK to NDK.
- [NTDLL_VISTA] Introduce ntdll_vista_static static library and link both ntdll_vista and ntdll to it.
- [NDK][LDR] Add and fix DLL Notification definitions.
- [NTDLL_VISTA] Code improvements.
- [NTDLL_VISTA:LDR] Implement Dll Notification.
- [NTDLL][NTDLL_APITEST] Add Dll Notification API test.
2025-03-02 21:13:33 +01:00
Miguel Almeida
6988b4e2c4 [EXPLORER] Add Show Desktop button to taskbar customization preview (#7727)
Use a 4D lookup table for the notification area settings preview, instead of many if cases.

CORE-19738
2025-03-02 20:56:30 +01:00
Daniel Victor
afb96acfdd [FREELDR] Use the OFF(x) macro on realmode assembly files 2025-03-02 19:09:46 +01:00
Daniel Victor
9c5efed7da [ASM] Move OFF(x) macro from asmxtras.inc to asm.inc 2025-03-02 19:09:46 +01:00
Max Korostil
606e996e1f [UNIATA] Fix memory corruption if SCSIOP_SERVICE_ACTION16 processed. (#7717)
Reason: the size of `READ_CAPACITY16_DATA` struct in UniATA driver and ReactOS/Windows SDK were not equal.

- In UniATA driver: `sizeof(READ_CAPACITY16_DATA) == 33` (wrong);
- In ReactOS/Windows SDK: `sizeof(READ_CAPACITY16_DATA) == 32` (correct).

CORE-19696
2025-03-02 19:07:34 +01:00
Andrei Miloiu
e36c669d97 [DXDIAG] Update Romanian (ro-RO) translation (#7359)
Improvements based on recent Romanian translation document revision 06e89b2.

This file was not translated in Romanian language in any Win version (neither XP/2k3+, nor in the previous ones). I tried to translate this file as close as possible in the way I did in the previous PRs.
2025-03-02 17:33:34 +01:00
Eric Kohl
da5192e622 [BOOTDATA][NETSHELL][INF] Improvements to the network setup
- Fix the network setup wizard start page.
- Add the ndisuio driver to the network setup.
- Remove the tcpip driver from the system setup.
2025-03-02 15:07:36 +01:00
Whindmar Saksit
f1a66daeeb [SHELL32] Display cut items as ghosted (#7739)
- When Ctrl+X is pressed on a selected item, it will appear ghosted until another clipboard action takes place.
- Generate SHCNE_UPDATE* notifications when file attributes change.
- When an items hidden attribute is changed (filesystem notification), we must update the ghosted state.

CORE-9465
2025-03-02 13:07:23 +01:00
Eric Kohl
c3505bb4f6 [NETSHELL] Reverted the removal of the unattended setup support for the network settings page.
I removed the unattended setup support by accident.
This should fix our automatic tests.
2025-03-02 13:01:58 +01:00
Eric Kohl
abb04ec321 [NETSHELL] Fix build error 2025-03-02 10:28:13 +01:00
Eric Kohl
6b9122b5f5 [NETSHELL][SYSSETUP] Move network installer code to the network setup wizard pages
- Add a new page to the network setup wizard that installs the required network components in a background thread.
- Remove the network setup code from syssetup.dll.

TODO: Move the network setup code for the LiveCD.
2025-03-02 09:53:06 +01:00
Timo Kreuzer
a86055a037 [COMCTL32_APITEST] Rename a test
The test name was conflicting with an existing winetest, which breaks testman.
2025-03-01 19:01:21 +02:00
Eric Kohl
7f248437e8 [NETCFGX] Simple implementation of INetCfgClassSetup.Install()
Import device installer code from syssetup.dll.
This is the first step to move the network component installer code from syssetup.dll to netcfgx.dll and netshell.dll.
2025-03-01 15:43:34 +01:00
Whindmar Saksit
9a55c931f8 [BROWSEUI][SHELL32] Fix desktop and computer find files locations (#7721)
- Searching the Desktop now searches the two desktop folders.
- Searching My Computer now searches all local disks.
- Adds a "Browse..." entry to the combobox list.
2025-02-28 18:52:48 +01:00
Whindmar Saksit
556cc8a7b2 [BROWSEUI] Set find files pane focus (#7722)
CORE-16424
2025-02-28 16:57:08 +01:00
Whindmar Saksit
a236c39ee5 [RAPPS] Added option to display small application icons (#7723) 2025-02-23 19:27:02 +01:00
Whindmar Saksit
46d01bc7fd [SHIMGVW] Only enable toolbar edit and print buttons if the shell verb exists (#7725)
CORE-20002
2025-02-23 14:08:36 +01:00
Whindmar Saksit
e5fc4de8c9 [SHELL32] Handle multiple files in recycle bin delete/restore operations (#7568)
CORE-19895 CORE-19231
2025-02-22 13:03:11 +01:00
Whindmar Saksit
924592dc47 [DESK] Don't include .ico files in list of wallpapers (#7726)
CORE-20003
2025-02-22 13:01:32 +01:00
Daniel Victor
56c8c8ab4f [FREELDR] Add Extents support 2025-02-20 19:28:41 +02:00
Daniel Victor
a980ad08b4 [FREELDR] Rewrite the header and reformat/adapt current code 2025-02-20 19:28:41 +02:00
Daniel Victor
1f3083be75 [FREELDR] Rename almost everything to Ext 2025-02-20 19:28:41 +02:00
Daniel Victor
d0dfb6cf6f [FREELDR] Rename the ext2.* to ext.* 2025-02-20 19:28:41 +02:00
Doug Lyons
601646e3b0 [RICHED20] Sync to Wine-6.10 (#7713)
* Restore cherry picked commit limiting tab stops in para.c
* Add 'remove_definitions(-D_CRT_NON_CONFORMING_SWPRINTFS)' to CMakeFiles.txt.
Restore para.c to standard conforming 'swprintf'.

CORE-6727
2025-02-19 22:02:06 -06:00
Whindmar Saksit
ae79d1af90 [COMCTL32] ListView LVIS_CUT image does not depend on focus (#7724)
Also undoes flicker caused by PR #4218.
2025-02-19 15:26:49 +01:00
Whindmar Saksit
88f105e184 [GDIPLUS] Identify .ico codec format as ImageFormatIcon (#7714) 2025-02-18 13:24:51 +01:00
Whindmar Saksit
f3c750787b [RAPPS] Ask user if they want to run the zip app they just installed (#7719)
After the zip has been installed, ask the user if they want to run the extracted application.
2025-02-18 13:23:25 +01:00
Whindmar Saksit
705a985789 [COMCTL32][COMCTL32_APITEST] Implement ImageList Get/SetFlags and the system flag (#7701)
The shell needs to be able to change the color depth of the system image lists on the fly and it does that by changing the ILC_COLOR* flags.
2025-02-17 13:46:20 +01:00
Eric Kohl
47bae01cfa [NETCFGX][PSDK] Add the interfaces INetCfgClass and INetCfgClassSetup
This will enable us to install networking drivers and services properly.
2025-02-16 21:23:12 +01:00
Doug Lyons
45ed1a9b6d [UCRT] Fix MSVC compiling on VS 2017 after Timo's UCRT commits (#7718)
CORE-19996
Verified using https://godbolt.org.
2025-02-15 20:03:52 -06:00
Whindmar Saksit
a1157f86f2 [SHELL32] OpenWith should use dll path instead when the command starts with rundll32 (#7712)
CORE-16980
2025-02-15 14:27:51 +01:00
Whindmar Saksit
396249d9e0 [APPWIZ] Don't set the .lnk filename as the shortcut comment (#7720) 2025-02-15 14:17:01 +01:00
Katayama Hirofumi MZ
ac175b23b7 [WALLPAPERS] Retire using ugly filenames (#7716)
JIRA issue: CORE-19989
- Rename wallpapers filenames.
- Adapt CMakeLists.txt and
  ReadMe.txt to renaming.
2025-02-15 20:58:09 +09:00
Whindmar Saksit
bc52d5f1f4 [SHIMGVW] Display shell context menu for the image on right-click (#7711)
CORE-13340
2025-02-13 13:13:02 +01:00
Whindmar Saksit
329a414584 [SHIMGVW] Choose a better icon image and also support .cur files (#7706)
- Choose an icon image based on size and color and place it first so GDI+ will pick it
- Change .cur files to .ico so GDI+ can open it

CORE-19945
2025-02-12 20:57:51 +01:00
Timo Kreuzer
166d83b206 [CRT] Fix cvt to not overflow the buffer on NAN/INF
Fixes crash in msvcrt_winetest printf
2025-02-12 16:54:45 +02:00
Timo Kreuzer
4a63e19e47 [MSVCRT_WINETEST] Add checks to not crash on reactos 2025-02-12 16:54:45 +02:00
Timo Kreuzer
748fdbcd6a [MSVCRT_WINETEST] Fixes for windows 2003 2025-02-12 16:54:45 +02:00
Timo Kreuzer
063c818c72 [MSVCRT_WINETEST] Sync to wine-10.0 2025-02-12 16:54:45 +02:00
Timo Kreuzer
736fea6c44 [CRT] math.h: fix definition of NAN
- Use positive NAN by default
- add support for _UCRT_NEGATIVE_NAN to legacy CRT headers
- Use __builtin_nanf() on GCC/Clang
2025-02-12 16:54:45 +02:00
Timo Kreuzer
2fca81eca8 [WINE] test.h: Add wait_child_process 2025-02-12 16:54:45 +02:00
Timo Kreuzer
c150c0a456 [MSVCRT] Export _get_heap_handle 2025-02-12 16:54:45 +02:00
Timo Kreuzer
05dfc83df5 [NDK] Add FILE_MODE_INFORMATION 2025-02-12 16:54:45 +02:00
Justin Miller
3368adc547 [POWRPROF] Sync Powrprof to WINE-10.0 - Add some functions too (#7681)
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>

"Sync" to WINE-10.0, plus add some functions we need. Required for various apps going forward.
2025-02-11 17:33:45 -08:00
Denis Malikov
28b802b229 [COMCTL32] fix version number reading/writing image lists and counting pointers for mixing image & mask 2025-02-09 12:15:51 -08:00
Whindmar Saksit
e4216bd015 [SHELL32] Expand .lnk working directory string before checking if it's valid (#7710)
Handles the case where SEE_MASK_DOENVSUBST will expand it later inside ShellExeute.

CORE-19987
2025-02-09 20:07:17 +01:00
Doug Lyons
364d6e0346 [RICHED20_WINETEST] Sync to Wine-6.10. (#7692)
ROSTESTS-398 and CORE-6727
2025-02-08 13:04:04 -06:00
Whindmar Saksit
dd34ad7037 [SHIMGVW] Fixes and enhancements (#7705)
Fixes:
- Reduce flicker when resizing main window
- Fixed slideshow starting with 1x1 pixel image zoom
- Don't reset zoom levels > 100% when resizing main window
- Always retain an active window on toggle slideshow (show/hide actions order)
- Enable/disable real-size button as required
- Correctly handle accelerators in main window after slideshow has been closed
- Use same zoom shortcuts as NT6

New features (unique to ROS):
- Fullscreen mode (slideshow mode but without timer)
- Alt+Enter or double-click to toggle fullscreen mode
- Shift +/- to change fullscreen slideshow next picture timer

CORE-19358
2025-02-08 16:22:20 +01:00
Mikhail Tyukin
2d1144a5cd [PROPSYS] Sync to wine-10.0 (#7677)
[WINESYNC] propsys/tests: Merge test files.
wine commit id d189b55d2ffb038474cb6656dc8743eb34c35a3d by Nikolay Sivov <nsivov@codeweavers.com>

[WINESYNC] propsys: Add a semi-stub for PSCreatePropertyStoreFromObject().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47958
wine commit id acb2e4fc7a4242c74ac91657edb97bf1e402656a by Nikolay Sivov <nsivov@codeweavers.com>

[WINESYNC] propsys: Allow only ASCII digits in PSPropertyKeyFromString.
wine commit id 6e8c2d836e637e1fbd83c231cfd846ecb9333964 by Jacek Caban <jacek@codeweavers.com>

[WINESYNC] propsys/tests: Get rid of strcmp_wa().
wine commit id 2340212ee9c48c731c85bbad8c81ed833458bf15 by Michael Stefaniuc <mstefani@winehq.org>

[WINESYNC] propsys: Use wide-char string literals.
wine commit id b72440fa2e1016681cbfcebcdc4792b6ced3eb53 by Michael Stefaniuc <mstefani@winehq.org>

reduce wine diff and add stuff from previous commit

[WINESYNC] propsys: Use --prefer_native instead of DLL_WINE_PREATTACH.
wine commit id f99113192ffac37506a905827415d3d21d0ebbf8 by Alexandre Julliard <julliard@winehq.org>

[WINESYNC] propsys: Use nameless unions.
wine commit id 1d8e5079f0e53a767a783e5107f57f04c1897951 by Jacek Caban <jacek@codeweavers.com>

[WINESYNC] propsys/tests: Use nameless unions.
wine commit id 497de3cc19f971808ca4105f52038e61dc818db1 by Jacek Caban <jacek@codeweavers.com>

[WINESYNC] winecrt0: Add a default implementation for DllCanUnloadNow().
wine commit id bd6b53740c28c6974300e15f965c12feb0252085 by Alexandre Julliard <julliard@winehq.org>

[WINESYNC] winecrt0: Add a default implementation DllRegisterServer()/DllUnregisterServer().
wine commit id 5d82baf9747b7b133cad3be77c0cc9e24cc09582 by Alexandre Julliard <julliard@winehq.org>

[WINESYNC] propsys: Add support for VT_VECTOR|VT_UI1 type in PropVariantCompareEx().
wine commit id e91b05bb5be6fd70a767bea9991e818a49cc5547 by Nikolay Sivov <nsivov@codeweavers.com>

[WINESYNC] propsys: Fix VT_UI4 comparison, use ulVal instead of uiVal.
wine commit id 58eeb1a86433db1104d3a9ccf9ad7435ec81443a by Rémi Bernon <rbernon@codeweavers.com>

[WINESYNC] propsys/tests: Add a VT_UI4 test for PropVariantCompareEx().
A test for 58eeb1a86433db1104d3a9ccf9ad7435ec81443a.
wine commit id 10359e17ce64f39461a7b7b54f73857e6458d1fb by Nikolay Sivov <nsivov@codeweavers.com>

[WINESYNC] propsys/tests: Avoid "misleading indentation" warnings.
wine commit id 7cd6681b3be35cf6c02f056cb5131c90c0674c16 by Fabian Maurer <dark.shadow4@web.de>

[WINESYNC] propsys: Enable compilation with long types.
wine commit id a9c797e4538a37716e62bb81c3fed3de39561b41 by Eric Pouech <eric.pouech@gmail.com>

[WINESYNC] propsys/tests: Enable compilation with long types.
wine commit id c1c393595d43bd95390d3ddf86dcbc46bc4f52ba by Eric Pouech <eric.pouech@gmail.com>

[WINESYNC] propsys: Implement InitVariantFromFileTime.
wine commit id f2b8ccb7b0b22b7b5d661d908f8f8ee02f22647d by Daniel Lehman <dlehman@esri.com>

[WINESYNC] propsys/tests: Add some InitVariantFromFileTime tests.
wine commit id 083dea7fce4372840ac18176496a7d05dadd5ad8 by Daniel Lehman <dlehman@esri.com>

[WINESYNC] propsys: Implement VariantToStringWithDefault.
wine commit id bf0f1fdcf80657a42116b79a0953181191cf9221 by Mohamad Al-Jaf <mohamadaljaf@gmail.com>

[WINESYNC] propsys/tests: Add VariantToStringWithDefault tests.
wine commit id 89aba13dc381dbbda62d1019e1af2af5a589b0cf by Mohamad Al-Jaf <mohamadaljaf@gmail.com>

[WINESYNC] include: Add Stg functions declaration in propvarutil.h.
wine commit id 0d294ad26544913414277daa164004d731ae6e33 by Biswapriyo Nath <nathbappai@gmail.com>

[WINESYNC] propsys: Add InitPropVariantFromStringVector().
wine commit id 3a1146d8e63d7ceff38441fee08f7f7080527020 by Nikolay Sivov <nsivov@codeweavers.com>

[WINESYNC] Remove unused NONAMELESS defines.
wine commit id 20afe438320f77d103a96d1d8cd562d0899ebac7 by Alexandre Julliard <julliard@winehq.org>

[WINESYNC] propsys: Partially implement VariantToString().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55708
wine commit id f7ef02bd8f74ea052d61e48cd84b226d8a5867a8 by Nikolay Sivov <nsivov@codeweavers.com>

[WINESYNC] propsys: Handle VT_I4 type in VariantToString().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55708
wine commit id 001e0543bfd5aea060053af0c76233bb90fbb43b by Nikolay Sivov <nsivov@codeweavers.com>

[WINESYNC] propsys: Implement PropVariantToUInt32WithDefault.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55713
wine commit id d177709b10ce07ddd234b0e8e00764ae4b1d8488 by Fabian Maurer <dark.shadow4@web.de>

[WINESYNC] include: Use proper dllimports for propsys functions.
wine commit id f0b2e0d00c86fb04d47467f39e49c587250ffec5 by Alexandre Julliard <julliard@winehq.org>

[WINESYNC] propsys: Remove DECLSPEC_HIDDEN usage.
wine commit id e9ff53e098ef3871d692c7b907151cfbb2f0673f by Alistair Leslie-Hughes <leslie_alistair@hotmail.com>

Update propsys_private.h

[WINESYNC] propsys: Force debug info in critical sections.
wine commit id 67bea281cc851eda6a08430c70f6c9e848d3fbe1 by Paul Gofman <pgofman@codeweavers.com>

[WINESYNC] include: Fix typos in IID_IPropertyEnumType2 and CLSID_PropertySystem.
wine commit id 66e6b61705a66459ed3a9e0cf9457d8b180e4564 by Alfred Agrell <floating@muncher.se>

[WINESYNC] propsys: Add stubs for variant conversion functions.
wine commit id c21f04f7adaa4a8d0ca2d2659bf9a6facdc168c3 by Ziqing Hui <zhui@codeweavers.com>

[WINESYNC] propsys/tests: Add tests for VariantToPropVariant.
wine commit id 8877889f2a8e36d22dcad061e6da84476efb3750 by Ziqing Hui <zhui@codeweavers.com>

[WINESYNC] propsys: Initially implement VariantToPropVariant.
wine commit id 6985637ed59e81e7d1716095a343cc5681082306 by Ziqing Hui <zhui@codeweavers.com>

[WINESYNC] propsys/tests: Add tests for PropVariantToVariant.
wine commit id 3277de5572b7f6c41ebeeb89f781e378a6a2c2d3 by Ziqing Hui <zhui@codeweavers.com>

[WINESYNC] propsys/tests: Test converting clsid to string.
wine commit id 7a4f9f83c51883f41ae1363e27700452472ec18f by Ziqing Hui <zhui@codeweavers.com>

[WINESYNC] propsys: Support converting clsid to string for PropVariant.
wine commit id 67b097ff46c65d525de6a7f560f019de6828320c by Ziqing Hui <zhui@codeweavers.com>

[WINESYNC] propsys: Initially implement PropVariantToVariant.
wine commit id 808b398549350fffc9fc023d637ef8de9e4bba37 by Ziqing Hui <zhui@codeweavers.com>

[WINESYNC] propsys: Add PropVariantToBSTR stub.
wine commit id 86558a4b83ebf9a0c6e76888a3d0f3fe3e36bf57 by Ziqing Hui <zhui@codeweavers.com>

[WINESYNC] propsys/tests: Test PropVariantToBSTR.
wine commit id b4ac03f1f622120906a8b6e691caa05f6539c2dd by Ziqing Hui <zhui@codeweavers.com>

[WINESYNC] propsys/tests: Test truncating for PropVariantToString.
wine commit id df16802582a56f8076ebbcf9cb6178f65bb8b9b6 by Ziqing Hui <zhui@codeweavers.com>

[WINESYNC] propsys: Implement PropVariantToBSTR.
wine commit id 66220be403ce5c3634c13da3546f0c19f04059cc by Ziqing Hui <zhui@codeweavers.com>

[WINESYNC] propsys: Use debugstr_variant for the trace in VariantToPropVariant.
wine commit id 3517aded4090229dbb11e413bde8349d1eca0be3 by Ziqing Hui <zhui@codeweavers.com>

[WINESYNC] propsys: Support converting to BSTR for PropVariantToVariant.
wine commit id c33fdc27650045a754a05a8f25e250e6e72c8072 by Ziqing Hui <zhui@codeweavers.com>

[WINESYNC] propsys/tests: Fix a test that fails on some Windows versions.
wine commit id c09f828f43101cf2dfe11d7e13f1fc6ef4b19853 by Alexandre Julliard <julliard@winehq.org>

[WINESYNC]: propsys is now in sync with wine-staging wine-10.0
Co-authored-by: winesync <ros-dev@reactos.org>

[PROPSYS] Remove duplicate uuid

[PROPSYS] Fix headers/idl file
2025-02-07 22:00:48 +01:00
Whindmar Saksit
5bc6d59142 [RAPPS] Refresh item info after installer completes (#7697)
- Refresh the details view of the item that was just installed.
- Hint update of uninstallers list is needed.
- Restore focus correctly after installer process finishes.

CORE-17677
2025-02-07 21:33:19 +01:00
Thamatip Chitpong
a610016952 [WINVER] Display compatibility information (#7661)
Also don't hardcode the OS name. This make it compatible with Windows.
2025-02-08 00:05:03 +07:00
Mikhail Tyukin
197ed01e95 [WINDOWSCODECS][WINDOWSCODECSEXT] Sync to wine-10.0 (#7665) 2025-02-07 16:57:02 +01:00
Mikhail Tyukin
41d1898fcd [LIBJPEG][LIBPNG][LIBTIFF] Add .spec files (#7665) 2025-02-07 16:57:01 +01:00
Hermès Bélusca-Maïto
468a9787d1 Revert "[USER32][LIBPNG] Support PNG/Vista icons (#7704)"
This reverts commit 7f4708479d.

- PR was still in review;
- Doug has commit access himself.
2025-02-07 15:20:05 +01:00
Doug Lyons
7f4708479d [USER32][LIBPNG] Support PNG/Vista icons (#7704)
Add PNG (NT6/Vista+) support.
JIRA issue: CORE-18385
- Change libpng to add IMPORTLIB libpng.spec
  to allow linking to it in USER32.
- Add code into mostly cursoricon.c to support
  PNG icons.
2025-02-07 23:12:32 +09:00
Katayama Hirofumi MZ
22577aed85 [NTUSER][USER32] Support GetWindow.GW_ENABLEDPOPUP (#7700)
JIRA issue: CORE-6920
- Make the return value of
  NtUserCallHwnd a DWORD_PTR.
- Add DWP_GetEnabledPopup
  helper function in
  win32ss/user/ntuser/defwnd.c.
- Add code to NtUserCallHwnd for
  HWND_ROUTINE_DWP_GETENABLEDPOPUP.
- Add code to GetWindow for
  GW_ENABLEDPOPUP.
- Set last error in GetWindow and
  IntGetWindow.
2025-02-07 07:31:08 +09:00
Eric Kohl
2d8a2944ba [SYSSETUP] Add the type library registration to the Register Components task on the process page 2025-02-06 23:14:28 +01:00
Katayama Hirofumi MZ
d969be0fb4 [SHDOCVW_APITEST] Add WinList testcase (#7702)
JIRA issue: CORE-9368
- Add WinList testcase for
  CLSID_ShellWindows class
  and shdocvw!WinList_*
  functions.
2025-02-06 22:07:56 +09:00
Timo Kreuzer
92d479a54b [VCRUNTIME] Add initialization / cleanup of wine code 2025-02-06 09:17:37 +02:00
Timo Kreuzer
32c349d30e [VCRUNTIME] Add TLS callback support 2025-02-06 09:17:37 +02:00
Timo Kreuzer
7f050e0a6d [VCRUNTIME] Improve includes in internal_shared.h 2025-02-06 09:17:37 +02:00
Timo Kreuzer
a978879ddb [VCSTARTUP] Implement (w)mainCRTStartup
__acrt_initialize is here as a stub to later support linking ucrt statically. When it is statically linked the real function should be called, but when the executable links to ucrtdll, the initialization happens when the DLL is loaded, so we call a stub here.
2025-02-06 09:17:37 +02:00
Timo Kreuzer
d243b6cdf3 [VCRUNTIME] Implement __std_terminate() 2025-02-06 09:17:37 +02:00
Timo Kreuzer
9186b861a6 [VCRUNTIME][VCSTARTUP] Add separate vcruntime and vcstartup lib
vcruntime contains the code that is linked into ucrtbase (in VS it is also provided as vcruntime140.dll)
vcstartup contains the code that is statically linked into executables that link to ucrtbase.dll. In Visual Studio this is part of msvcrt.lib (the import library for msvcrt), similar to our current msvcrtex, and it gets linked when you link to ucrtbase as well. The name is based on the folder name in the library.
Both libraries share some code, but each file is only compiled once.
2025-02-06 09:17:37 +02:00
Max Korostil
2b2bdabe72 [RTL][NTDLL_APITEST] Fix buffer overflow in RtlDosSearchPath_Ustr (#7698)
In addition:
- `IS_PATH_SEPARATOR(*--End)` -> `--End; IS_PATH_SEPARATOR(*End)` fix,
- Use SIZE_T type for `WorstCaseLength` and `NamePlusExtLength`.
2025-02-05 21:17:11 +01:00
Timo Kreuzer
a1a169fbe8 [FREELDR] Fix pc98 build 2025-02-04 16:45:48 +02:00
Timo Kreuzer
2b71c738b8 [ROSLOAD] Enable registry healing code for x64 2025-02-04 16:45:48 +02:00
Timo Kreuzer
e56911f66b [FREELDR] Implement loading of rosload as 2nd stage loader 2025-02-04 16:45:48 +02:00
Timo Kreuzer
adacd51a30 [FREELDR] Use StallExecutionProcessor instead of KeStallExecutionProcessor
The latter will only be available in rosload.exe.
2025-02-04 16:45:48 +02:00
Timo Kreuzer
78ded05547 [MINIHAL] Move the definition of _MINIHAL_ to directory scope
This is required, so that the definition is available when preprocessing asm files on MSVC builds. Otherwise systimer.s will contain KeStallExecutionProcessor, which must not be used in freeldr.
2025-02-04 16:45:48 +02:00
Timo Kreuzer
3d516e71d3 [USETUP] Install rosload.exe 2025-02-04 16:45:48 +02:00
Timo Kreuzer
17cf47df44 [ROSLOAD] Add rosload.exe target as 2nd stage loader 2025-02-04 16:45:48 +02:00
Timo Kreuzer
ebcf3f23aa [FREELDR] Remove ShowBootOptions from Menu code
This removes a dependency of UI code to boot options code by getting rid of a call to DisplayBootTimeOptions() from within the menu code.
Instead this is now handled by MainBootMenuKeyPressFilter.
2025-02-04 16:45:48 +02:00
Timo Kreuzer
9daef292e9 [FREELDR] Move MachInitializeBootDevices to BootMain 2025-02-04 16:45:48 +02:00
Timo Kreuzer
f81c1910ee [FREELDR] Export functions for a 2nd stage loader 2025-02-04 16:45:48 +02:00
Timo Kreuzer
2f9dde09e1 [FREELDR] Replace some macros/inline functions and global variables with functions
This allows to easily import them from a 2nd stage loader without having to bother about _declspec(dllimport)
2025-02-04 16:45:48 +02:00
Timo Kreuzer
aa46e0f0a7 [RTL/x64] Fix a bug in RtlpUnwindInternal
Check if the stack pointer is out of bounds, before trying to unwind a frame. This will not fix any crashes, but it prevents simple crashes from going into a recursive exception.
2025-02-04 09:00:35 +02:00
Vitaly Orekhov
7215e542b1 [CMAKE] Fix compiling i386 targets via x64 clang-cl 2025-02-03 21:38:02 +02:00
Hermès Bélusca-Maïto
97ea95c80c [SDK:BUGCODES] Remove inaccurate description of CREATE_DELETE_LOCK_NOT_LOCKED
The description had nothing to do with CREATE_DELETE_LOCK_NOT_LOCKED,
but instead was for EMPTY_THREAD_REAPER_LIST. And even so, descriptions
for both of these BSOD codes have been removed in official MS Windows
2000 and beyond.

Regarding the Thread Ripper:
https://devblogs.microsoft.com/oldnewthing/20231031-00/?p=108944
2025-02-03 17:04:10 +01:00
Václav Zouzalík
9ba2c794db [SOLITAIRE] Update Czech (cs-CZ) translation (#7451) 2025-02-03 13:11:32 +01:00
Václav Zouzalík
9164e9f85f [RAPPS] Update Slovak (sk-SK) translation (#7450) 2025-02-03 13:05:03 +01:00
Philippe Morin
2cdcb1f857 [SHELL32] Improve French (fr-FR) translation (#7699)
Change "New" by "Nouveau".
2025-02-03 13:00:03 +01:00
Jose Carlos Jesus
c3408740b0 [SHLWAPI] Remove accelerator keys from Ok and Cancel buttons (#7690) 2025-02-03 12:59:41 +01:00
Jose Carlos Jesus
a07a35d0f6 [SHIMGVW] Update Portuguese (pt-PT) translation (#7688)
And add file header.
2025-02-03 12:59:22 +01:00
Eric Kohl
9c8ef7369f [e1000][ne2000][pcnet][rtl8139] Add missing UpperRange and LowerRange values to network adapter inf files
These values will be used for binding network adapters to protocol drivers. Right now we use hard-coded binding.
2025-02-03 01:15:10 +01:00
Oleg Dubinskiy
a8669e023a [NTOS:IO] Rewrite OpenRegistryHandlesFromSymbolicLink
Also add a new IopOpenOrCreateSymbolicLinkSubKeys routine, which does some work for it.
CORE-17361
2025-02-02 23:30:38 +01:00
Oleg Dubinskiy
d617c8cf32 [NTOS:IO] Implement IoGetDeviceInterfaceAlias
Required by XP/2003 audio stack to be loaded properly.
CORE-17361
2025-02-02 23:30:38 +01:00
Oleg Dubinskiy
6b2f00e70a [KMTESTS:IO] Rewrite IoDeviceInterface kmtest
Add new kernel-mode test for Device Interface functions, based on the patch by Mark Jansen.
The previous one was buggy and crashed even on Windows.
The new one doesn't fail, and works without bugs. Although there is missing one test case (for IoRegisterDeviceInterface).
Also perhaps IoRegister/UnregisterPlugPlayNotification testcases should be keept, if they correspond to Device Interface functions.
CORE-17361
2025-02-02 23:30:38 +01:00
Timo Kreuzer
9b002025d4 [NTOS:KE/x86] Detect more KeFeatureBits 2025-02-01 19:45:21 +02:00
Timo Kreuzer
d09eb6f856 [NTOS:KE/x64] Add detection of SSE 4.2 2025-02-01 19:45:21 +02:00
Timo Kreuzer
be3dde7698 [NTOS] Make KeFeatureBits 64 bit 2025-02-01 19:45:21 +02:00
Whindmar Saksit
77e4217919 [SHELL32] CMenuBand must set ShowWindow value for InvokeCommand (#7695) 2025-02-01 13:50:22 +01:00
Katayama Hirofumi MZ
ee19792605 [SHDOCVW][EXPLORER][RSHELL][SDK] Populate WinList_* stubs (#7691)
Implementing missing features...
JIRA issue: CORE-9368
- Modify shdocvw.spec.
- Add dll/win32/shdocvw/winlist.cpp.
- Add stubs of WinList_* functions.
- Add WinList_* function prototypes
  to <shdocvw_undoc.h>.
- Adapt explorer and rshell to new
  WinList_Init prototype.
2025-02-01 07:14:36 +09:00
Whindmar Saksit
f335322ace [SHELL32] SEE_MASK_IDLIST should not assume the PIDL is always a FS path (#7693)
CORE-16898 CORE-14177
2025-01-31 21:15:13 +01:00
Whindmar Saksit
6265add147 [SHELL32] Don't close Run dialog on execution failure (#7686)
CORE-19983
2025-01-31 12:52:20 +01:00
Katayama Hirofumi MZ
dddceeb10d [SHELL32] Load shell icon size from registry (#7683)
Improve usability. Re-trial of #7679 with different approach.
JIRA issue: CORE-12905
- Add ShellSmallIconSize, ShellLargeIconSize, and
  ShellIconBPP global variables in iconcache.cpp.
- Add SIC_GetMetricsValue, SIC_GetLargeIconSize,
  SIC_GetSmallIconSize, and SIC_GetIconBPP helper
  functions in iconcache.cpp.
- Load shell icon size from registry key
  "HKEY_CURRENT_USER\\Control Panel\\Desktop\\WindowMetrics".
- Load icon BPP (bits per pixel) from registry.
- Fix SIC_Initialize and SIC_LoadIcon functions for icon size.
- Fix SHGetFileInfoW function for SHGFI_SHELLICONSIZE flag.
2025-01-31 08:21:05 +09:00
Katayama Hirofumi MZ
909468c4dc [SDK][SHELL32][SHLWAPI][SHLWAPI_APITEST] Split IShellFolder helpers hack (#7685)
Splitting the hack will improve our code quality.
JIRA issue: N/A
- Add sdk/include/reactos/ishellfolder_helpers.h
  header file.
- Split conflicting code.
2025-01-31 08:15:36 +09:00
Whindmar Saksit
d5ce3d28ab [RAPPS] Don't display Freeware license string if the type is also Freeware (#7689)
License=Freeware, LicenseType=2 should not display as "Freeware (Freeware)"
2025-01-30 21:14:10 +01:00
Whindmar Saksit
a23db39c8a [RAPPS] Allow database to override download filename (#7668)
http://example.com/setup.exe?foo=bar needs to use be able to use setup.exe as the
filename.
2025-01-30 17:46:39 +01:00
Katayama Hirofumi MZ
7e52f64044 [SDK] Define IAssociationElement, IAssociationArray etc. (#7678)
Defining missing interfaces for
file association...
JIRA issue: CORE-19278
- Define IID_IAssociationElementOld,
  and IID_IAssociationElement
  interface IDs in <shlguid_undoc.h>.
- Define ASSOCQUERY, and
  IAssociationElementOld in
  <shlwapi_undoc.h>.
- Define IAssociationElement,
  IEnumAssociationElements,
  IAssociationArrayOld, and
  IAssociationArray interfaces in
  <shlobj_undoc.h>.
- Simplify <shlwapi_undoc.h>
  and <shlobj_undoc.h>.
2025-01-30 22:16:46 +09:00
Timo Kreuzer
de3a6706e7 [UCRT] fenv.h: Fix GCC build of _Fenv1 2025-01-30 11:30:32 +02:00
Timo Kreuzer
a438d7c3b8 [UCRT] Add GCC compatible definition of _CRT_STDIO_INLINE
In C99 mode GCC emits global symbols for inline functions, as soon as the compilation unit contains a declaration that marks the function as "extern". A number of functions like printf are implicitly declared as extern by GCC, which seemingly cannot be disabled. This would lead to the inline function being emitted as a global symbol in every compilation unit. Using static inline prevents duplicate symbol errors.
2025-01-30 11:30:32 +02:00
Timo Kreuzer
4ca68ffb1c [UCRT] Make __local_stdio_printf/scanf_options GCC compatible 2025-01-30 11:30:32 +02:00
Timo Kreuzer
bb9392e4e1 [CMAKE] Define _CRT_SUPPRESS_RESTRICT on GCC builds
This prevents the use of __declspec(restrict) in UCRT headers.
2025-01-30 11:30:32 +02:00
Hervé Poussineau
70bf3bb8fa [NTOS:KDBG] Add back 'cregs' command
This command was removed in commit baa47fa5e0
because there was no way to get the CRx registers from a CONTEXT structure.
Previous code was also displaying current GDTR/LDTR and IDT.

Rewrite the code to use KdSystemDebugControl(SysDbgReadControlSpace, ...)
to get CRx, GDTR/LDTR and IDT values just before entering debugger.
2025-01-29 18:25:24 +01:00
Katayama Hirofumi MZ
2f23e70ad5 Revert "[NTUSER] Enable SM_CXICON etc. settings from registry (#7679)" (#7682)
This reverts commit 3b3741c10a of #7679 .
It seems like the shell icon size is not the
system icon size.

The wide string L"Shell Small Icon Size" is detected in
shell32.dll and themeui.dll.
No L"Shell Small Icon Size" in win32k.sys found.
JIRA issue: CORE-12905
2025-01-29 21:34:19 +09:00
Katayama Hirofumi MZ
3b3741c10a [NTUSER] Enable SM_CXICON etc. settings from registry (#7679)
Improve usability.
JIRA issue: CORE-12905
- Add nIconSize and nSmallIconSize
  values to SPIVALUES structure.
- Load "Shell Icon Size" and "Shell
  Small Icon Size" values from registry.
- Enable changing of SM_CXICON,
  SM_CYICON, SM_CXSMICON, and
  SM_CYSMICON settings.
2025-01-29 20:20:25 +09:00
Justin Miller
a8da29e888 [ACPI] Move CMBATT and COMPBATT out of the acpi directory (#7599)
Move these out of ACPI in preparation for ACPI_NEW so they keep their juicy commit history.
Also both ACPIs can coexist for awhile as I don't see the old driver getting removed anytime soon.
2025-01-29 00:49:35 -08:00
Whindmar Saksit
b35becef2e [RAPPS] Set working directory for zip generated shortcuts (#7674)
Some applications are broken and assume the working directory is the
same as the .exe directory (xrick etc).
2025-01-29 00:46:11 +01:00
Hervé Poussineau
b9852e83d2 [NTOS:EX] HACK: on livecd, disable security features in NtSystemDebugControl
WinDBG can do some local debugging using 'windbg -kl'. In that case,
WinDBG tries to directly use NtSystemDebugControl. If this function
returns an error, WinDBG extracts a driver from its resources.
WinDBG will send IOCTLs to this driver, and this driver will call
KdSystemDebugControl.

However, on livecd (where %SYSTEMROOT% is read-only), WinDBG is unable
to extract the driver from its resources, and can't use the driver to
call KdSystemDebugControl.

As a work-around, allow all control classes in NtSystemDebugControl
in case of livecd.
WinDBG local debugging now also works on livecd (windbg -kl).
2025-01-28 22:00:56 +01:00
Hervé Poussineau
5547b74717 [NTOS:KD64] Fix freezes on first chance exception when KDBG is enabled and KdIgnoreUmExceptions is TRUE
This fixes the following use case:
- Execute 'kdbgctrl.exe -du'
- Execute 'kdbgctrl.exe -cu'
- See that last command never finishes
2025-01-28 22:00:55 +01:00
Hermès Bélusca-Maïto
7068a790b2 [NTOS:KD64] Add a missing KdEnteredDebugger reset in KdExitDebugger() 2025-01-28 22:00:54 +01:00
Hervé Poussineau
6b89a0da11 [NTOS:EX] Implement NtSystemDebugControl: SysDbgGetKdBlockEnable/SysDbgSetKdBlockEnable 2025-01-28 22:00:53 +01:00
Hervé Poussineau
d4546753f6 [NTOS:EX] Implement NtSystemDebugControl: SysDbgGetKdUmExceptionEnable/SysDbgSetKdUmExceptionEnable 2025-01-28 22:00:53 +01:00
Hervé Poussineau
734a043b22 [NTOS:EX] Implement NtSystemDebugControl: SysDbgGetPrintBufferSize 2025-01-28 22:00:51 +01:00
Hervé Poussineau
4dc0e5cc81 [NTOS:EX] Implement NtSystemDebugControl: SysDbgGetAutoKdEnable/SysDbgSetAutoKdEnable 2025-01-28 22:00:50 +01:00
Hervé Poussineau
4bae44e412 [NTOS:EX] Implement NtSystemDebugControl: SysDbgEnableKernelDebugger/SysDbgDisableKernelDebugger 2025-01-28 22:00:49 +01:00
Hervé Poussineau
7b4d618994 [NTOS:EX] Implement NtSystemDebugControl: SysDbgBreakPoint 2025-01-28 22:00:48 +01:00
Hervé Poussineau
1db1bceaa7 [NTOS:KD64] Implement KdSystemDebugControl: SysDbgCheckLowMemory 2025-01-28 22:00:48 +01:00
Hervé Poussineau
2fe3de6c69 [NTOS:KD64] Implement KdSystemDebugControl: SysDbgReadBusData/SysDbgWriteBusData 2025-01-28 22:00:47 +01:00
Hervé Poussineau
19046a253b [NTOS:KD64] Implement KdSystemDebugControl: SysDbgReadMsr/SysDbgWriteMsr 2025-01-28 22:00:46 +01:00
Hervé Poussineau
b187662f39 [NTOS:KD64] Implement KdSystemDebugControl: SysDbgReadIoSpace/SysDbgWriteIoSpace 2025-01-28 22:00:46 +01:00
Hervé Poussineau
0589c178ba [NTOS:KD64] Implement KdSystemDebugControl: SysDbgReadControlSpace/SysDbgWriteControlSpace 2025-01-28 22:00:45 +01:00
Hervé Poussineau
42e038f227 [NTOS:KD64] Implement KdSystemDebugControl: SysDbgReadPhysical/SysDbgWritePhysical 2025-01-28 22:00:43 +01:00
Hervé Poussineau
2efaa5ea1e [NTOS:KD64] Implement KdSystemDebugControl: SysDbgReadVirtual/SysDbgWriteVirtual 2025-01-28 22:00:42 +01:00
Hervé Poussineau
9f97f0b284 [NTOS:KD64] Implement KdSystemDebugControl: SysDbgQueryVersion 2025-01-28 22:00:40 +01:00
Hervé Poussineau
6338d51353 [NTOS:EX] In NtSystemDebugControl, check for SeDebugPrivilege 2025-01-28 22:00:39 +01:00
Hervé Poussineau
9e7c3770e3 [NTOS:EX] Improve NtSystemDebugControl
- Add SEH probing for user buffer
- Mark some classes as i386 only
- Explicitly return STATUS_NOT_IMPLEMENTED on disabled classes (must use KdSystemDebugControl instead)
- Explicitly return STATUS_NOT_IMPLEMENTED on not implemented classes
- Return STATUS_INVALID_INFO_CLASS on all other classes
2025-01-28 22:00:38 +01:00
Hervé Poussineau
0f36ef3392 [NTOS:KD64] Improve KdSystemDebugControl
- Explicitly return STATUS_NOT_IMPLEMENTED on not implemented classes
- Return STATUS_INVALID_INFO_CLASS on all other classes
2025-01-28 22:00:37 +01:00
Hermès Bélusca-Maïto
a0b009f1ed [NTOS:EX:KD64] Add Doxygen documentation for Nt/KdSystemDebugControl.
Based from external documentation:
https://www.ivanlef0u.tuxfamily.org/?p=21
https://www.ivanlef0u.tuxfamily.org/?p=382
http://pds8.egloos.com/pds/200807/09/51/Subverting_Windows_2003_Service_Pack_1_Kernel_Integrity_Protection.pdf
http://www.nynaeve.net/?p=114
https://media.defcon.org/DEF%20CON%2030/DEF%20CON%2030%20presentations/Eran%20Segal%20-%20The%20COW%20%28Container%20On%20Windows%29%20Who%20Escaped%20the%20Silo.pdf
https://vidstromlabs.com/blog/memory-dumping-with-ntsystemdebugcontrol/
https://www.kernelmode.info/forum/viewtopic0aa3.html?t=5317
2025-01-28 22:00:36 +01:00
Hermès Bélusca-Maïto
317f1e8391 [NDK][NTOS:EX:KD64] Add SAL annotations to Kd/Nt/ZwSystemDebugControl. 2025-01-28 22:00:35 +01:00
Hermès Bélusca-Maïto
5d78952024 [NTOS:KD64] Simplify some code in debugging helpers 2025-01-28 22:00:34 +01:00
Hermès Bélusca-Maïto
1c61d4ce90 [NTOS:KD64] Add annotations to debugger control routines used in Kd/Nt/ZwSystemDebugControl 2025-01-28 22:00:33 +01:00
Hervé Poussineau
20bd5e8a9c [NTOS:MM] Allow not providing MMDBG_COPY_UNSAFE in MmDbgCopyMemory
Replace an assert by a log, as this works most of the times.
2025-01-28 22:00:31 +01:00
Hervé Poussineau
69cd1e107a [NTOS:EX] Allow calling ExLockUserBuffer up to DISPATCH_LEVEL 2025-01-28 22:00:30 +01:00
Hervé Poussineau
d8e25f06b1 [NTOS:EX] Add prototypes for ExLockUserBuffer/ExUnlockUserBuffer 2025-01-28 22:00:29 +01:00
Hermès Bélusca-Maïto
2c59b5b8cf [NDK] SYSDBG: Add SysDbgKdPullRemoteFile enum value and structure (Win10 19041+)
From https://github.com/processhacker/phnt/
2025-01-28 22:00:28 +01:00
Hermès Bélusca-Maïto
4d37135884 [NDK] SYSDBG: Add SysDbgGetLiveKernelDump enum value and structures for kernel live dump.
For more information, see:
https://crashdmp.wordpress.com/2014/08/04/livedump-1-0-is-available/
https://github.com/lilhoser/livedump
https://gary-nebbett.blogspot.com/2016/04/examining-windows-kernel-mode-stacks.html
https://github.com/processhacker/phnt
2025-01-28 22:00:28 +01:00
Hermès Bélusca-Maïto
b5007e09b1 [NDK] SYSDBG: Add versioning info for Vista+ commands. 2025-01-28 22:00:27 +01:00
Timo Kreuzer
ae0fa8ba49 [UCRTSUPPORT] Add wine c++ exception code 2025-01-28 22:50:04 +02:00
Timo Kreuzer
e2d69ad98c [CRT] Split MSVC C++ aliases from cpp.s to cpp_alias.s 2025-01-28 22:50:04 +02:00
Hermès Bélusca-Maïto
40ea081198 [KMTESTS] Temporarily disable the debugger disable/reenable tests (#7424)
They will be re-enabled ONCE our KDBG and KDCOM dlls correctly support
disabling and re-enabling.
2025-01-28 15:54:04 +01:00
Hermès Bélusca-Maïto
94cb4d6c0c [KMTESTS] Add tests for KdSystemDebugControl and NtSystemDebugControl (#7424)
Tested on Windows 2003 SP1.
Partially tested (but not completely) on higher versions.
2025-01-28 15:53:58 +01:00
Hermès Bélusca-Maïto
6ede6ac246 [KMTESTS] Remove "EnablePrivilege*" helpers + Fix typo
Their functionality is already ensured by RtlAdjustPrivilege().
2025-01-28 15:37:10 +01:00
Hermès Bélusca-Maïto
cf2cbe6ff6 [MOUNTMGR_APITEST] Add custom DesiredAccess to GetMountMgrHandle()
This will allow any future tests, employing IOCTL_MOUNTMGR_*
that require read or write accesses, to also use this helper.
2025-01-28 15:29:41 +01:00
Hermès Bélusca-Maïto
8d91d4c8e1 [MOUNTMGR] MountMgrMountedDeviceArrival(): Fix pool buffer double-free.
`DeviceInformation->DeviceName.Buffer` was already freed via the previous
  `FreePool(TargetDeviceName.Buffer);` call,
since `DeviceInformation->DeviceName` was set to `TargetDeviceName` above
in the code. This resulted in a pool double-free, triggering a corruption
of the pool, and a BSoD.

What had to be freed instead, is `DeviceInformation->SymbolicName.Buffer`
that is allocated at the beginning of the function.
2025-01-28 15:29:40 +01:00
Hermès Bélusca-Maïto
5962c44511 [NTOS:IO] Fix a typo in comment 2025-01-28 15:29:39 +01:00
Katayama Hirofumi MZ
84df40a128 [SHELL32][SHELL32_APITEST][SDK] SHGetComputerDisplayNameW (#7670)
Implementing missing features...
JIRA issue: CORE-19278
- Modify shell32.spec.
- Move function definition from
  stubs.cpp to utils.cpp.
- Implement
  SHGetComputerDisplayNameW
  function.
- Add prototype to <undocshell.h>.
2025-01-28 23:23:54 +09:00
Katayama Hirofumi MZ
1b5f6c2dc0 [UXTHEME][UXTHEME_APITEST][SDK] GetThemeParseErrorInfo (#7662)
Implementing missing features...
JIRA issue: CORE-12805
- Add dll/win32/uxtheme/errinfo.c.
- Implement GetThemeParseErrorInfo
  function in errinfo.c.
- Modify uxtheme.spec.
- Add GetThemeParseErrorInfo
  prototype to <uxundoc.h>.
- Adapt <uxundoc.h> to C++.
- Add global variable
  gdwErrorInfoTlsIndex.
- Add UXTHEME_UnInitSystem
  function.
2025-01-28 21:05:40 +09:00
Katayama Hirofumi MZ
0e327e9a70 [REACTOS] Follow-up of #7632; Revert 3rd-party changes
CORE-19963
2025-01-28 20:17:30 +09:00
Katayama Hirofumi MZ
fe11f7a2e5 [REACTOS] Refresh old URLs (#7632)
URLs are getting old. We have to
update URLs for documentation
purpose.
JIRA issue: CORE-19963
- Refresh old URLs.
- Add " (DEAD_LINK)" labels
  to dead links.
- Use MS Learn links rather
  than MSDN ones.
- Some dead links revived by
  Web Archive.
- Don't change Wine Tests
  and Wine Sync.
- Don't change 3rd party libraries.
- Don't append "redirected" labels.
2025-01-28 13:36:45 +09:00
Justin Miller
9a9aa6fdb9 [MEDIA] Revise winesync file after 0bf42067d2 2025-01-26 23:48:49 -08:00
Justin Miller
0bf42067d2 [KERNEL32][ROSTESTS][SDK] Enable threadpooling
[NTDLL] Init KeyedEvents even on NT5.2 dll_export
[MEDIA] Update winesync.txt accordingly
[SDK][DLL] Initialize crtical sections at runtime
2025-01-26 23:30:59 -08:00
Justin Miller
88a63011ea [ROSTESTS] Import winetest threadpool.c from wine-9.7 2025-01-26 23:30:59 -08:00
Denis Malikov
405ed2b4ce [KERNEL32_VISTA][SDK] Import Threadpool.c from wine-9.7 2025-01-26 23:30:59 -08:00
Timo Kreuzer
d92f02e2e5 [CMAKE] Build host tools as Debug by default
This is to fix kmtests on Test WHS. Seemingly something is broken with release builds of host tools, at least on GCC x86.
2025-01-26 23:52:45 +02:00
Timo Kreuzer
efdda7f7d9 [APISETS] Use ucrtbase as the lord intended instead of msvcrt 2025-01-26 18:08:55 +02:00
Timo Kreuzer
41ffe7f3c6 [UCRTBASE] Add ucrtbase.dll to build 2025-01-26 18:08:55 +02:00
Timo Kreuzer
9f15d9ee57 [UCRT:MATH] Implement _dtest, _fdtest 2025-01-26 18:08:55 +02:00
Timo Kreuzer
59c55e003e [UCRT:MATH] Implement _dclass, _fdclass 2025-01-26 18:08:55 +02:00
Timo Kreuzer
0133dba0c6 [CMAKE] Disable GCC builtin math functions 2025-01-26 18:08:55 +02:00
Timo Kreuzer
efe84ec41a [UCRT] Add "aliases" for some hacked clang builtins 2025-01-26 18:08:55 +02:00
Timo Kreuzer
d74ab36324 [UCRTSUPPORT] Add ucrtsupport library
This library is compiled from our old CRT sources to supplement missing UCRT code.
2025-01-26 18:08:55 +02:00
Timo Kreuzer
82ef7b5df1 [CMAKE] Do not implicitly link libgcc/stdc++compat to msvcrt
This allows ucrtbase and modules linked to it to be linked to those helper libraries.
2025-01-26 18:08:55 +02:00
Timo Kreuzer
b09b5584e0 [UCRT:MATH] Implement math error support functions 2025-01-26 18:08:55 +02:00
Timo Kreuzer
8aab548ecd [UCRT:VCRUNTIME] Implement __isa_available_init() 2025-01-26 18:08:55 +02:00
Timo Kreuzer
9c887efa0e [UCRT:VCRUNTIME] Add initializer sections
Use #pragma section only for MSVC (and Clang-cl), because Clang doesn't like allocating non-const variables in a read-only section, while GCC doesn't understand these pragmas and ignores them.
2025-01-26 18:08:55 +02:00
Timo Kreuzer
4198ceb83a [UCRT:VCRUNTIME] Implement vcruntime init stubs 2025-01-26 18:08:55 +02:00
Timo Kreuzer
4d80956566 [UCRT:VCRUNTIME] Implement __report_rangecheckfailure() 2025-01-26 18:08:55 +02:00
Timo Kreuzer
b0f3e623b7 [UCRT:VCRUNTIME] Implement __report_gsfailure() 2025-01-26 18:08:55 +02:00
Timo Kreuzer
5dcd1d1714 [UCRT:VCRUNTIME] Implement __security_init_cookie and __security_check_cookie 2025-01-26 18:08:55 +02:00
Timo Kreuzer
055875fbd8 [UCRT:FLOAT] Add _fltused 2025-01-26 18:08:55 +02:00
Timo Kreuzer
4462342076 [UCRT:STARTUP] Implement __scrt_uninitialize_crt stub 2025-01-26 18:08:55 +02:00
Timo Kreuzer
d21fd37650 [UCRT:LOCALE] Implement __acrt_WideCharToMultiByte 2025-01-26 18:08:55 +02:00
Timo Kreuzer
bd3c7654ec [UCRT:LOCALE] Implement __acrt_MultiByteToWideChar 2025-01-26 18:08:55 +02:00
Timo Kreuzer
4ea1841f31 [UCRT:LOCALE] Implement __acrt_GetStringTypeW 2025-01-26 18:08:55 +02:00
Eric Kohl
56b0f836c5 [SYSSETUP] Move the creation of start menu items into the wizard
Start menu items were created after the wizard had finished. This patch moves the creation of the start menu items into the process page of the wizard and enables the 2nd item of the task list.
2025-01-26 11:46:04 +01:00
Katayama Hirofumi MZ
a58bf95914 [SHELL32][SHELL32_APITEST][SDK] SHIsBadInterfacePtr (#7664)
Implementing missing features...
JIRA issue: CORE-19278
- Move function definition from
  stubs.cpp to utils.cpp.
- Implement SHIsBadInterfacePtr
  function in utils.cpp.
- Add prototype to <undocshell.h>.
2025-01-26 19:24:24 +09:00
Timo Kreuzer
e302bacd7e [NTDLL] Acquire LdrpLoaderLock in LdrpInitializeThread
This is required to protect against a race with LdrShutdownThread, which can lead to all kinds of problems, including deadlocks.
2025-01-25 21:50:32 +02:00
Whindmar Saksit
72951421e6 [RAPPS] Reuse active pending downloads window (#7648)
CORE-16716 CORE-16804
2025-01-25 16:42:48 +01:00
Timo Kreuzer
cc762c2b71 [NTDLL] Demote UNIMPLEMENTED to DPRINT in LdrpValidateImageForMp
This avoids debug spam on SMP builds.
2025-01-25 16:33:27 +02:00
Timo Kreuzer
647b518bd3 [NTOS:MM] Fix process affinity in MmCreatePeb 2025-01-25 16:33:27 +02:00
Timo Kreuzer
c07fba4508 [NTOS:KE] Make KeQueryActiveProcessors portable and non-paged
In Windows Vista and later, this routine can be called at any IRQL.
2025-01-24 18:38:34 +02:00
Hermès Bélusca-Maïto
dbf784472e [WIN32SS:NTGDI] FontFamilyFillInfo(): Check returned IntGetOutlineTextMetrics() size...
... before allocating pool memory, as it is done everywhere else in the code.
2025-01-23 23:20:54 +01:00
Timo Kreuzer
bab23a250b [ASM] Use macros instead of defines
Defines can cause problems, like previously with the end define, which caused a jump to label ".end" to be interpreted as a jump to ".", which is the current address, resulting in an infinite loop.
Remove obsolete CODESEG
2025-01-23 23:43:31 +02:00
Hermès Bélusca-Maïto
07ce196d8e [WIN32SS:NTGDI] Fix build, addendum to commit 9c474c4b7 2025-01-23 22:33:11 +01:00
Hermès Bélusca-Maïto
2e1a4e74a4 [WIN32SS:NTGDI] freetype.c: Fix the ordering of, and add some missing set-last-error calls. 2025-01-23 21:17:15 +01:00
Hermès Bélusca-Maïto
f22efba486 [WIN32SS:NTGDI] freetype.c: Use the correct last-error functions.
EngSetLastError() is for Win32 errors; SetLastNtError() is for NTSTATUS.
2025-01-23 21:03:26 +01:00
Hermès Bélusca-Maïto
c6cd3b242a [WIN32SS:NTGDI] Improve a DPRINT 2025-01-23 20:51:18 +01:00
Hermès Bélusca-Maïto
9c474c4b73 [WIN32SS:NTGDI] freetype.c: Use debug channel "GdiFont" 2025-01-23 20:25:25 +01:00
Hermès Bélusca-Maïto
e16dc27e47 [WIN32SS:ENG:GDI] bitblt(_new).c: Use correct debug channel "GdiBlt" 2025-01-23 20:23:30 +01:00
Katayama Hirofumi MZ
05c3f303bf [FONTS] MS Sans Serif (sse*.fon): Fix letter 'g' misalign
Copyright (C) 2019-2025 Katayama Hirofumi MZ. License: MIT
CORE-16165
2025-01-23 15:32:44 +09:00
Timo Kreuzer
f07ea94798 [UCRT] Fix build of memcpy_s.cpp
extern inline creates a global symbol on MSVC, but not on GCC. Use extern instead.
2025-01-22 18:56:08 +02:00
Timo Kreuzer
fea0f9243d [UCRT] Remove __inline from conversion functions
Otherwise no actual symbols will be created.
2025-01-22 18:56:08 +02:00
Timo Kreuzer
13356a9001 [VCRUNTIME] Fix _rotl64/_rotr64 inline asm
%k is only valid for 32 bit operands.
2025-01-22 18:56:08 +02:00
Timo Kreuzer
9db517f324 [UCRT] Fix definition of _alloca for GCC/Clang 2025-01-22 18:56:08 +02:00
Timo Kreuzer
61175644d0 [UCRT] Add architecturally optimized code to build 2025-01-22 18:56:08 +02:00
Timo Kreuzer
a015b91e6b [VCRUNTIME] Fix emmintrin.h for GCC 2025-01-22 18:56:08 +02:00
Timo Kreuzer
94eb475177 [UCRT][ASM] Make asm code GCC compatible 2025-01-22 18:56:08 +02:00
Timo Kreuzer
4fec953e6e [UCRT][ASM] Rename all .asm files to .s 2025-01-22 18:56:08 +02:00
Timo Kreuzer
901cd2704c [ASM] macamd64.inc: Fix up entry point macros a bit
This is the minimal version to be compatible with GAS. Code segment and NoPad could probably be added later, but they are not strictly required.
2025-01-22 18:56:08 +02:00
Timo Kreuzer
72aed01dbd [ASM] Fix up some x86 assembly code 2025-01-22 18:56:08 +02:00
Timo Kreuzer
e2ffc35894 [UCRT] Fix/improve __crt_state_management 2025-01-22 18:56:08 +02:00
Timo Kreuzer
c2b1271dbe [UCRT] Improve __crt_seh_guarded_call
This is a workaround for an MSVC compiler bug, which would result in degraded performance. See https://developercommunity.visualstudio.com/t/_local_unwind-generated-when-returning-f/10673261?
2025-01-22 18:56:08 +02:00
Timo Kreuzer
a58b713a5e [UCRT] Properly implement __crt_fast_encode/decode_pointer 2025-01-22 18:56:08 +02:00
Timo Kreuzer
c1145f0c89 [UCRT] Properly implement parameter checking macros
Partly copied from corecrt_internal_strtox.h, partly imported from dotnet runtime (https://github.com/dotnet/runtime/blob/release/8.0/src/coreclr/pal/src/safecrt/internal.h)
2025-01-22 18:56:08 +02:00
Hermès Bélusca-Maïto
a857b28008 [NTOS:INBV] We are now past Christmas time. 2025-01-22 17:30:43 +01:00
Timo Kreuzer
85f42a25d5 [NTOS:KE/x64] Improve freeze code
- Set ACTIVE flag on freeze owner like on Windows
- Add a nice state graph
- Change license to MIT
2025-01-22 14:04:18 +02:00
Timo Kreuzer
a17d32a373 [MSHTML_WINETEST] Fix crash of mshtml_winetest:activex 2025-01-22 13:38:18 +02:00
Timo Kreuzer
6b3406e630 [URLMON] Define PROXY_CLSID_IS on the command line
Fixes crash of mshtml_winetest:htmldoc (introduced by 716613c). Please do not ask me why.
The test started crashing with commit 716613cddc "[CMAKE] Use new policies for CMP0005 and CMP0018 (#1481)", which moved this definition from the command line to urlmon_main.h. This got later removed by commit 6c3c2e33f6 "[URLMON] Sync with Wine Staging 4.18. CORE-16441"
2025-01-22 13:38:18 +02:00
Katayama Hirofumi MZ
1868985dde [FREETYPE][NTGDI] Simplify IntGdiLoadFontsFromMemory (#7651)
Simplify code logic and reduce management cost.
JIRA issue: CORE-19973
- Add IntGdiLoadFontByIndexFromMemory helper function.
- Simplify IntGdiLoadFontsFromMemory function.
2025-01-22 11:56:41 +09:00
Katayama Hirofumi MZ
bb7cf5a5b7 [FREETYPE][FTFD][NTGDI] Split FT_Bitmap_Convert hack (#7628)
Our FT_Bitmap_Convert function had a hack to make the
bitmap image compatible to ReactOS. I think the hack on
FT_Bitmap_Convert should be separated from our font
engine.
JIRA issue: CORE-16047
- Add FT_Bitmap_Convert_ReactOS_Hack function, that is
  based on FT_Bitmap_Convert, and split the hack of
  FT_Bitmap_Convert.
- Use FT_Bitmap_Convert_ReactOS_Hack in
  IntGetBitmapGlyphWithCache function instead of
  FT_Bitmap_Convert.
- Modify ftfd.spec to add 
  FT_Bitmap_Convert_ReactOS_Hack.
2025-01-22 10:57:40 +09:00
Hermès Bélusca-Maïto
0e01cbc6cd [NTOS:IO] IoVolumeDeviceToDosName(): Fix returned DosName buffer initialization (#6990)
The VolumePath buffer returned by IOCTL_MOUNTMGR_QUERY_DOS_VOLUME_PATH
contains one string stored as a multi-NUL-terminated string, whose
total length is given by its `MultiSzLength` member.

The DosName UNICODE_STRING just returns the (single) string as a normal
NUL-terminated string. So, we need to remove the two NUL-terminators
from the `MultiSzLength` count to retrieve the correct length.
2025-01-21 19:16:03 +01:00
Hermès Bélusca-Maïto
f315111bb5 [NTOS:IO] Improve some comments in IoVolumeDeviceToDosName()
Addendum to commit 5afb7ab003.
2025-01-21 19:16:02 +01:00
Hermès Bélusca-Maïto
c306a27941 [MOUNTMGR] Fix the buffer returned by IOCTL_MOUNTMGR_QUERY_DOS_VOLUME_PATH (#6990)
The buffer returned by MountMgrQueryDosVolumePath()
should be a multi-string containing one single string.
2025-01-21 19:16:01 +01:00
Hermès Bélusca-Maïto
8bb7cd286b [MOUNTMGR] Fix three more bugs in MountMgrQueryDosVolumePath() (#6990)
- When trying to find a device, don't fail with STATUS_NOT_FOUND if no
  associated symbolic links are present. Instead, that test was wrong,
  and should go out of the search loop to do the drive-letter processing.

  Addendum to commit f9f5a78715.

- In addition, when using the associated-device method, fix the list
  used to retrieve the corresponding device.

- In the TryWithVolumeName: block, reset DeviceString to NULL after
  freeing, so that we can correctly fail with STATUS_NOT_FOUND if no
  suitable device was found, before initializing the output data.
2025-01-21 19:16:01 +01:00
Hermès Bélusca-Maïto
28c3533d11 [MOUNTMGR] Simplify a bit the code in MountMgrQueryDosVolumePath(s) (#6990) 2025-01-21 19:16:00 +01:00
Hermès Bélusca-Maïto
e72a9a78b0 [MOUNTMGR] Fix some other bugs (#6990)
- Use FIELD_OFFSET to correct structure and member instead of hardcoding
  sizeof-s of fields until the member of interest.

- Fix a bug in MountMgrQueryDosVolumePath() where the FIELD_OFFSET used
  in the entry structure size validation was incorrect.

  FIELD_OFFSET(MOUNTMGR_TARGET_NAME, DeviceNameLength) is == 0 since
  DeviceNameLength is the first member of the MOUNTMGR_TARGET_NAME
  structure. The intended member was DeviceName.

  Addendum to commit f9f5a78715.
2025-01-21 19:15:59 +01:00
Hermès Bélusca-Maïto
be97a36f25 [MOUNTMGR] Simplify MountMgrQueryDosVolumePath() code (#6990)
- Use a variable of correct type instead of casting every time.
- Remove one level of indentation by returning early.
2025-01-21 19:15:59 +01:00
Hermès Bélusca-Maïto
bae799382a [KMTESTS] Improve IoVolumeDeviceToDosName() tests (#6990)
- Limit the HarddiskVolume loop to 32 trials (instead of an unknown
  number of them). Ideally the list of volumes has to be queried from
  the volume manager, instead of hardcoding them (TODO).

- Verify that the buffer returned by IoVolumeDeviceToDosName() is
  indeed a unicode multi-string (ends with two NULs), and, in the
  case it specifies a volume GUID, that it's a valid one.
2025-01-21 19:15:58 +01:00
Hermès Bélusca-Maïto
cc1deb2902 [MOUNTMGR_APITEST] Add tests for mountmgr IOCTL_MOUNTMGR_QUERY_DOS_VOLUME_PATH(S) (#6990)
These tests verify the output of IOCTL_MOUNTMGR_QUERY_DOS_VOLUME_PATH,
IOCTL_MOUNTMGR_QUERY_DOS_VOLUME_PATHS and IOCTL_MOUNTMGR_QUERY_POINTS,
as well as their consistency.

References:
https://www.osronline.com/article.cfm%5Eid=107.htm
https://community.osr.com/t/obtaining-volume-name-with-deviceobject/15121/3
2025-01-21 19:15:57 +01:00
Hermès Bélusca-Maïto
bb264f6828 [MOUNTMGR_APITEST] Improve QueryPoints.c test (#6990)
- Use %lu instead of %lx for printf-ing last-errors;

- Don't call GetLastError() within ok, or after a previous invocation,
  when the aim is to retrieve the last-error set by a tested API.
  Instead, store its value in a local variable, that is then used in
  the ok() tests.

- Use win_skip() only for functionality that _may_ not be implemented
  in Windows/ReactOS yet, but not for unexpected situations leading to
  tests being skipped.

- Add comments; improve buffer size specifications.

- Reformat the file license header.
2025-01-21 19:15:57 +01:00
Hermès Bélusca-Maïto
2da5db933c [MOUNTMGR_APITEST] Add utils.c for some utility functions (#6990)
And update the precompiled header.
2025-01-21 19:15:50 +01:00
Whindmar Saksit
357505e752 [PSDK] Avoid CO_E_NOTINITIALIZED macro redefinition warning (#7649)
Addendum to commit 0e88f0485c
2025-01-21 19:15:09 +01:00
Whindmar Saksit
c8b2c4c94d [RAPPS] Check Let's Encrypt issuer prefix (#7650) 2025-01-21 13:06:55 +01:00
Doug Lyons
690643fc77 [SHELL32] SHELL_FindExecutable: Fix last regression from PR#7588 (#7643)
Co-authored-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
2025-01-20 19:10:04 -06:00
Katayama Hirofumi MZ
853b8ebd02 [EXPLORER] Use STDMETHODIMP and override (#7645)
Follow the standard way.
JIRA issue: CORE-19469
- Use STDMETHODIMP and override keyword
  instead of virtual HRESULT STDMETHODCALLTYPE.
- Delete CTaskBand::ProcessMessage and
  CTaskBand::ContainsWindow methods.
  I think they are useless.
2025-01-21 10:03:52 +09:00
Katayama Hirofumi MZ
56988ffbf8 [EXPLORER] Support Unicode on Start Button InvokeCommand (#7644)
Support Unicode on Start Button
context menu for international text
support.
JIRA issue: N/A
- Support Unicode in
  CStartMenuBtnCtxMenu::InvokeCommand
  method by using
  CMINVOKECOMMANDINFOEX structure.
2025-01-20 22:26:33 +09:00
Katayama Hirofumi MZ
d4f283b67b [FREETYPE][NTGDI] Use Face->num_faces instead of ttc_header.count (#7646)
Supporting raster fonts. Using
num_faces is the generic way.
JIRA issue: CORE-16165
- Use FT_FaceRec.num_faces instead
  of TT_Face.ttc_header.count in
  counting the font faces in
  IntGdiLoadFontsFromMemory function.
2025-01-20 22:09:16 +09:00
Daniel Victor
d72864de95 [FREELDR] Fix wrong segment register at lgdt instruction in amd64.S 2025-01-20 08:34:44 +02:00
Katayama Hirofumi MZ
2186ce3d58 [SHELL32][SDK] Follow-up of #7622; LPWSTR to PWSTR etc.
And LPCWSTR to PCWSTR. CORE-19278
2025-01-20 10:12:35 +09:00
Katayama Hirofumi MZ
84607161b4 [SHELL32][SHELL32_APITEST][SDK] Implement SHGetUnreadMailCountW (#7622)
Implementing missing features...
JIRA issue: CORE-19278
- Modify shell32.spec.
- Move function definition from stubs.cpp into utils.cpp.
- Add SHELL_ReadSingleUnreadMailCount helper function.
- Add prototype to <shellapi.h>.
2025-01-20 09:51:27 +09:00
Katayama Hirofumi MZ
157e18b215 [SHELL32][SHELL32_APITEST][SDK] Implement StrRStrA/W (#7621)
Implementing missing features...
JIRA issue: CORE-19278
- Move function definitions from stubs.cpp to utils.cpp.
- Add prototypes to <undocshell.h>.
2025-01-20 08:50:26 +09:00
Katayama Hirofumi MZ
aa52c3f5eb [SHELL32][SHELL32_APITEST][SDK] Implement SHEnumerateUnreadMailAccountsW (#7619)
Implementing missing features...
JIRA issue: CORE-19278
- Move function definition from stubs.cpp into utils.cpp.
- Add prototype to <shellapi.h>.
2025-01-20 08:32:07 +09:00
Katayama Hirofumi MZ
0bb8b46ba8 [SHELL32] Follow-up of #7620: Simplify string handling
CORE-19278
2025-01-20 08:28:58 +09:00
Whindmar Saksit
b87c6b8799 [SHELL32] Temporarily disable LVS_EX_DOUBLEBUFFER in DefView (#7642)
Hackfix for CORE-19624 and CORE-19818 until ListView is fixed
2025-01-19 23:20:34 +01:00
Whindmar Saksit
aebaa14eba [SHELL32] Allow DnD to create shortcuts across different drives (#7607)
CORE-17871 CORE-18271
2025-01-19 21:00:55 +01:00
Katayama Hirofumi MZ
17eff53f35 [REGEDIT] Add ES_AUTOHSCROLL to address bar window (#7638)
Enable horizontal scroll on address bar.
JIRA issue: CORE-19743
- Add ES_AUTOHSCROLL style to the
  address bar window on its creation.
2025-01-20 01:01:30 +09:00
Katayama Hirofumi MZ
2da2fba042 [SHELL32][SHELL32_APITEST][SDK] Implement SHSetUnreadMailCountW (#7620)
Implementing missing features...
JIRA issue: CORE-19278
- Move function definition from
  stubs.cpp into utils.cpp.
- Add prototype to <shellapi.h>.
2025-01-19 21:26:19 +09:00
Timo Kreuzer
dc25409cbf [SPEC2DEF] Implement support for debug-only exports 2025-01-19 09:02:58 +02:00
Timo Kreuzer
93ba586ec3 [NTDLL] Make _alloca_probe(_16) private
This avoids a linker error due to a duplicated symbol in ntdll and the statically linked chkstk library. This happens when the linker first resolves _chkstk from the CRT or the chkstk library (which also pulls in _alloca_probe(_16)) and then tries to resolve _alloca_probe(_16) from ntdll.
2025-01-19 09:02:58 +02:00
Timo Kreuzer
c2c4d853c2 [EXPLORER-OLD] Fix build when _DEBUG is defined 2025-01-19 09:02:58 +02:00
Timo Kreuzer
888540c2d3 [BROWSEUI] Check if ATL windows are valid, before destroying them
Prevents ATL assertion failure.
2025-01-19 09:02:58 +02:00
Timo Kreuzer
40b45515a4 [IERNONCE] Check m_RegKey before deleting a value from it
This fixes an assert, when _DEBUG is defined.
2025-01-19 09:02:58 +02:00
Timo Kreuzer
a6a07059c1 [CRT] crtdbg.h: Add missing inttrin.h include for __debugbreak() 2025-01-19 09:02:58 +02:00
Timo Kreuzer
8a63d7e898 [CMAKE] Build host-tools as release by default
This setting can be overwritten by defining the CMake variable HOST_BUILD_TYPE.
The target build type is passed to the host build as TARGET_BUILD_TYPE CMake variable.
This improves time to build cab+iso:
MSVC x86: 37s -> 28s
GCC x86: 32s -> 16s
2025-01-19 09:02:58 +02:00
Timo Kreuzer
7a15da2a8c [CMAKE] Fix definition of NDEBUG on MSVC release builds
Prevents redefinition warnings.
2025-01-19 09:02:58 +02:00
Oleg Dubinskiy
c7d1aa3e92 [SHELL32] SHELL_FindExecutable: improve path handling code (#7633)
Follow-up of 42d5dfd3de.
- Revert "shell32: Fix ShellExecute for non-filespec paths." 0bad544aab.
- Apply "shell32: Look for the file name without extension also for the path search case." 38b6640be9.
- Clear leading/trailing whitespaces (an improvement by Doug Lyons).
- Update the comment for xlpFile buffer definition, to match the current code behaviour.
This fixes some failures for the following tests:
- shell32_apitest:ShellExecCmdLine: 12 failures less,
- shell32_apitest:ShellExecuteEx: 5 failures less,
- shell32_winetest:shlexec: crash fixed, now 13 failures as before,
- wshom_winetest:wshom: crash fixed, now 2 failures less too (0 failures).
I've also tested: the problem which was intended to be fixed by the guilty commit (CORE-19953) still remains fixed after this change.
CORE-19964
2025-01-18 21:51:58 +01:00
Timo Kreuzer
fe7a58d92e [RTL] Update CountOfOwnedCriticalSections in the TEB
Useful for debugging.
Motivation: With SMP on x64 I found a number of instances where critical sections would be left abandoned, causing lockups. From what I can tell it was exceptions inside rpcrt4, which leave the process in a blocked state. Might or might not be related to x64 / SMP.

For real value, you still need to put checks at certain places manually, but this is not super straight forward, because there can be false positives, e.g. when a process is terminated due to an exception, where the abandoned lock is acceptable, and we have this during testing. It's difficult to 100% distinguish this from silent and very bad lock leaks.

Problematic code:

    __try
    {
        SomeFunction(); // throws an exception with a CS held, e.g. heap code
    }
    __except(1)
    {
        DPRINT1("Oops. let's just pretend it's all ok!\n");
    }
2025-01-18 21:15:17 +02:00
Esme Povirk
848ad61bba [SHLWAPI][WINESYNC] Import PathRemoveBlanks wine fix + adaptation for ReactOS (#7636)
kernelbase: Always remove trailing spaces in PathRemoveBlanks.

Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 404cd8a92bd99332a7ef8ec96edbf5aeea8cab76 by Esme Povirk <esme@codeweavers.com>

Co-authored-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2025-01-18 16:39:37 +01:00
Jacek Caban
f189d8c454 [SHLWAPI][WINESYNC] Import PathUndecorate wine fix + adaptation for ReactOS (#7636)
shlwapi: Fix PathUndecorate[AW] implementation.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f3c1d663a4a4a99b5c07000cb0ad9cc55d1e1c88 by Jacek Caban <jacek@codeweavers.com>

Co-authored-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2025-01-18 16:39:36 +01:00
Katayama Hirofumi MZ
9d1c0efb1f [BROWSEUI_APITEST] Don't hardcode C:\Windows (#7634)
Avoid hardcoding and fix tests.
JIRA issue: CORE-13235
- Remove hardcoded "C:\\Windows\\system32",
  using GetSystemDirectoryW call in
  SHExplorerParseCmdLine testcase.
2025-01-18 22:58:05 +09:00
Katayama Hirofumi MZ
82b7d4f3da [FREETYPE][NTGDI] Fix ftGdiGetTextMetricsW return for raster fonts (#7635)
Try to get ready to support raster fonts.
JIRA issue: CORE-17327
- Fix the return value of
  ftGdiGetTextMetricsW function
  for raster fonts.
2025-01-18 22:33:00 +09:00
Katayama Hirofumi MZ
dad3a0938a [SHELL32][SHELL32_APITEST][SDK] Implement ShellExec_RunDLL (#7615)
Implementing missing features...
JIRA issue: CORE-19278
- Modify shell32.spec.
- Move function definitions
  from stubs.cpp into shlexec.cpp.
- Add prototypes to <undocshell.h>.
2025-01-17 22:51:18 +09:00
Timo Kreuzer
a25e7ee9d7 [WKSSVC] Stubplement support for level 1101 in NetrWkstaUserGetInfo
Fixes crash in netapi32_winetest:wksta introduced in 45b008d
2025-01-17 12:54:29 +02:00
Timo Kreuzer
132d571fe2 [WKSSVC] Plug memory leaks in NetrWkstaUserGetInfo 2025-01-17 12:54:29 +02:00
Timo Kreuzer
1c1c4e5d94 [WKSSVC] Fix returned error value in NetrWkstaUserGetInfo 2025-01-17 12:54:29 +02:00
Timo Kreuzer
2e7f8711e9 [WKSSVC] Improve formatting 2025-01-17 12:54:29 +02:00
Katayama Hirofumi MZ
b68104a8a0 [SHELL32][SHELL32_APITEST][SDK] Implement SHShouldShowWizards (#7614)
Implementing missing features...
JIRA issue: CORE-19278
- Move function definition from
  stubs.cpp into utils.cpp.
- Add prototype to <undocshell.h>.
2025-01-17 13:36:20 +09:00
Doug Lyons
b1257cefe1 [NTGDI] Silence some debug log spam from GreGetObjectOwner when input parameter is NULL. (#7606)
CORE-19962
Co-authored-by: Timo Kreuzer <timo.kreuzer@reactos.org>
2025-01-16 19:11:19 -06:00
Katayama Hirofumi MZ
fcbcaa10a7 [SHELL32][SHELL32_APITEST][SDK] Implement SHGetUserDisplayName (#7612)
Implemementing missing features...
JIRA issue: CORE-19278
- Add netapi32 and secur32 delay importing.
- Move function definition from stubs.cpp into utils.cpp.
- Include some security headers in utils.cpp.
- Adapt <secext.h> to C++.
- Add prototype to <undocshell.h>.
2025-01-17 09:33:52 +09:00
Serge Gautherie
ee5ff8ce0c [SDK:REACTOS] acpi.h: Update FACS and FADT types to ACPI v6.4 (#6042)
- FACS: Reduce size by 1 char.
- FADT: Add 3 new fields.
- Update reserved fields. Use offsets.
- Improve documentation.

Addendum to 0331781 (r46610).
2025-01-16 10:55:39 -08:00
Vitaly Orekhov
abe20f6120 [PSDK] Add definitions of desired Native Wi-Fi data access permissions (#7626)
The `WLAN_READ_ACCESS`, `WLAN_WRITE_ACCESS` and `WLAN_EXECUTE_ACCESS` flags are for controlling
whether we can (or not) return data via Wlan[Get|Query]* or modify via WlanSet* function families.

https://learn.microsoft.com/en-us/windows/win32/nativewifi/native-wifi-api-permissions
2025-01-16 18:25:57 +01:00
Marcin Jabłoński
e3e520d154 [TELNET] Fix Unicode character printing (#7597)
CORE-18304

The included Telnet client does not support displaying messages with Unicode characters in them.
This is a problem, because even though localisation for the program was made for ReactOS,
it doesn't work properly.

- Make the `printm` function load and format messages using wide character APIs instead of the narrow ones.
- Add format specifiers to the resource files (this is necessary, as there are a lot of places, where narrow strings
  are used in the program, and passed as parameters to `printm`).
2025-01-16 18:24:04 +01:00
Václav Zouzalík
cef5aa294e [INPUT] Update German (de-DE) translation (#7518) 2025-01-16 18:21:53 +01:00
Andrei Miloiu
fe93a3f9ed [MAZESCR] Improve Romanian (ro-RO) translation (#7364)
Improvements based on recent Romanian translation document revision 06e89b2.

This file was not translated in Romanian language in any Windows version (neither XP/2k3+, nor in the previous ones).
I tried to translate this file as close as possible in the way I did in the previous PRs.
2025-01-16 18:20:40 +01:00
Hermès Bélusca-Maïto
53d808d2eb [WINE] Add explicit missing __ROS_LONG64__ for Wine modules (#7576)
i.e. fix build.

When these get synced with more recent Wine version, you can remove
this define once you get past a "Enable compilation with long types"
Wine commit or similar.
2025-01-16 18:13:27 +01:00
Hermès Bélusca-Maïto
381e224f6b [SDK] Fix the automatic definition of __ROS_LONG64__ (#7576)
It is not wishable anymore to automatically define __ROS_LONG64__
whenever __WINESRC__ is defined. Indeed, Wine now has started to
introduce the possibility to "Enable compilation with long types".

Thus, for these modules we import from them, we want to be able to
define __WINESRC__ without __ROS_LONG64__ automatically defined.

Addendum to commits 89c3520c86 (r73383) and 75eeb2a7e4 (r38872).
2025-01-16 18:13:19 +01:00
Timo Kreuzer
7bb12665d6 [UCRT] Add CMake files 2025-01-16 14:18:53 +02:00
Timo Kreuzer
ef440b9aef [UCRT] Add a hack for a clang bug
See CORE-19902
2025-01-16 14:18:53 +02:00
Timo Kreuzer
42e9c80279 [UCRT] Fix definition of offsetof for clang-cl 2025-01-16 14:18:53 +02:00
Timo Kreuzer
2eb3149565 [UCRT] Make includes unix compatible 2025-01-16 14:18:53 +02:00
Timo Kreuzer
90dad446b7 [UCRT] Fix GCC build of __crt_char_traits
This is a workaround for GCC. It will disable debugging for tdupenv_s_crt.
How it works on MSVC? Magic.
2025-01-16 14:18:53 +02:00
Timo Kreuzer
693f9f51a0 [UCRT] Hack some template code, so that retarded compilers can handle it 2025-01-16 14:18:53 +02:00
Timo Kreuzer
f9dc185ede [UCRT] Use a C cast instead of const_cast for GCC
This is because GCC will generate errors for both const_cast and static_cast depending on the template parameter:
- With const_cast: error: invalid 'const_cast' from type 'std::nullptr_t' to type 'const wchar_t**'
- With static_cast: error: invalid 'static_cast' from type 'wchar_t** const' to type 'const wchar_t**'
2025-01-16 14:18:53 +02:00
Timo Kreuzer
47e3f49e52 [UCRT] No __declspec(spectre(nomitigation)) for GCC/Clang 2025-01-16 14:18:53 +02:00
Timo Kreuzer
97e20ef342 [UCRT] Fix GCC/Clang build of SSE2/AVX code
On GCC the code using extended ISA cannot be inlined and must either be marked with a function attribute or compiled with the proper target options ('-mavx2' on the command line or '#pragma GCC target("avx2")' inside the code)
2025-01-16 14:18:53 +02:00
Timo Kreuzer
51e6ce3aa7 [UCRT] Add GCC compatible __FUNCTIONW__ 2025-01-16 14:18:53 +02:00
Timo Kreuzer
589bbcaa08 [UCRT] Include intrin.h for __debugbreak() 2025-01-16 14:18:53 +02:00
Timo Kreuzer
e98e9000c7 [UCRT] Make SEH blocks ReactOS PSEH compatible 2025-01-16 14:18:53 +02:00
Timo Kreuzer
7bb9f6bf28 [UCRT] Fix GCC/Clang build of enum_system_locales_ex_nolock
Add static function for Clang.
Add missing __stdcall in a lambda for GCC.
MSVC does this automagically. See https://devblogs.microsoft.com/oldnewthing/20150220-00/?p=44623.
2025-01-16 14:18:53 +02:00
Timo Kreuzer
2cc6699f0d [UCRT] Silence warning about returning noreturn function 2025-01-16 14:18:53 +02:00
Timo Kreuzer
a21a206c89 [UCRT] Add workaround for va_arg warning about type promotion 2025-01-16 14:18:53 +02:00
Timo Kreuzer
faedd8ff75 [UCRT] Use GCC inline assembler
Clang requires the asm to be split, otherwise it complains that it doesn't have enough registers.
2025-01-16 14:18:53 +02:00
Timo Kreuzer
0cdde63c57 [UCRT] Add casts to make GCC happy 2025-01-16 14:18:53 +02:00
Timo Kreuzer
dbd58d7666 [UCRT] Fix GCC/Clang compilation of template specializations 2025-01-16 14:18:53 +02:00
Timo Kreuzer
c15b618a17 [UCRT] Add using declatarions for template base-classes (GCC compatibility) 2025-01-16 14:18:53 +02:00
Timo Kreuzer
5ba105e9b5 [UCRT] Add some missing typename for GCC compatibility 2025-01-16 14:18:53 +02:00
Timo Kreuzer
90fb8391fc [UCRT] Fix shadowing template parameters 2025-01-16 14:18:53 +02:00
Timo Kreuzer
482f318a23 [UCRT] Fix template specialization 2025-01-16 14:18:53 +02:00
Timo Kreuzer
7a764cf610 [UCRT] Fix invalid storage type specification 2025-01-16 14:18:53 +02:00
Timo Kreuzer
4de4349109 [UCRT] Fix non-standard literal suffixes 2025-01-16 14:18:53 +02:00
Timo Kreuzer
ffd69754f9 [UCRT] Fix non-standard extern "C" usage 2025-01-16 14:18:53 +02:00
Timo Kreuzer
9ed5151de9 [UCRT] Fix benign typo ('\0' instead of nullptr) 2025-01-16 14:18:53 +02:00
Timo Kreuzer
f8e7a249ba [UCRT] Fix a signed/unsigned comparison 2025-01-16 14:18:53 +02:00
Timo Kreuzer
2d753d95fb [UCRT] Fix multiple missing dereferences
This is a bug in MS UCRT code. MSVC allows to check a pointer to be > 0, GCC emits a warning.
2025-01-16 14:18:53 +02:00
Timo Kreuzer
d622c4a7a0 [UCRT] Fix a typo/bug in __acrt_mbs_to_wcs_cp_array 2025-01-16 14:18:53 +02:00
Timo Kreuzer
48d8d198b2 [UCRT] Add missing line breaks at end of file 2025-01-16 14:18:53 +02:00
Timo Kreuzer
995e16d4d4 [UCRT] Add missing headers
These are minimal definitions, just enough to make things compile.
2025-01-16 14:18:53 +02:00
Timo Kreuzer
04e0dc4a7a [UCRT] Import Microsoft.Windows.SDK.CRTSource version 10.0.22621.3
Imported from https://www.nuget.org/packages/Microsoft.Windows.SDK.CRTSource/10.0.22621.3
License: MIT
2025-01-16 14:18:53 +02:00
Timo Kreuzer
f1b60c66f0 [PSEH] Fix SEH compatibility macros for dummy PSEH
This is used with Clang, which does have native SEH, but it's broken and can cause the compiler to crash. Previously some code was not handling this and instead used native SEH for clang. Fix this by always using _SEH2_* macros instead of relying on __USE_PSEH2__ to be defined.
2025-01-16 14:18:53 +02:00
Timo Kreuzer
ca0fa4af1e [RTL/x64] Improve RtlWalkFrameChain to handle user mode 2025-01-16 13:40:23 +02:00
Katayama Hirofumi MZ
f482244f45 [SHELL32] Move SHOpenPropSheetA to propsheet.cpp (#7624)
Improve consistency of code management.
JIRA issue: CORE-19278
- Move SHOpenPropSheetA from
  utils.cpp into propsheet.cpp that
  contains SHOpenPropSheetW.
2025-01-16 20:09:30 +09:00
Vincent Franchomme
6ada5978d0 [NTOS:MM] Do not use PAGE_ROUND_DOWN for LONGLONG values (#7603)
PAGE_ROUND_DOWN macro seems to not work correctly with LONGLONG values. It creates some random freezes in the 1st-stage setup after commit 69bf140506.
It's fixed by creating PAGE_ROUND_UP_64 and PAGE_ROUND_DOWN_64 macros for 64-bit only data types.

---------

Co-authored-by: Thamatip Chitpong <thamatip.chitpong@reactos.org>
2025-01-16 10:30:38 +07:00
Thamatip Chitpong
190f710942 [NTOS:MM] MiBalancerThread: Formatting fixes 2025-01-15 16:10:55 +07:00
Thamatip Chitpong
c69ad5efa2 [NTOS:MM] MmRequestPageMemoryConsumer: Properly mark CORE-17624 delay hack
Addendum to commit 2b14056600.
2025-01-15 16:10:55 +07:00
Thamatip Chitpong
a8322459ab [NTOS:MM] balance: Fix PageOutThreadActive value check 2025-01-15 16:10:55 +07:00
Timo Kreuzer
bba03c886c [WIDL] Reduce diff to Wine-4.0 2025-01-15 08:29:53 +02:00
Timo Kreuzer
995e4c829a [WIDL] Properly pass architecture flag instead of modifying the code
This reverts commit 73c776c744 "[WIDL] Fix non-x86 builds".
2025-01-15 08:29:53 +02:00
Timo Kreuzer
1b14ce5db3 [WIDL] Turn warnings into errors 2025-01-15 08:29:53 +02:00
Whindmar Saksit
91b8923601 [RAPPS] Allow .zip generated installers to skip writing the DisplayIcon value (#7609)
This is useful for wallpaper and theme packs.
2025-01-14 18:09:48 +01:00
Timo Kreuzer
96676ca251 [PSEH] Use native SEH on clang-cl x64 2025-01-14 13:34:24 +02:00
Timo Kreuzer
478317abcb [PSEH] Fix SEH compatibility macros for dummy PSEH
This is used with Clang, which does have native SEH, but it's broken and can cause the compiler to crash. Previously some code was not handling this and instead used native SEH for clang. Fix this by always using _SEH2_* macros instead of relying on __USE_PSEH2__ to be defined.

Try to improve things
2025-01-14 13:34:24 +02:00
Timo Kreuzer
12139bcde7 [VCRUNTIME] Fix some intrinsics with clang-cl 17
For some unknow reason some intrinsics fail to get inlined. Using extern inline results in a linker error. Change it to static inline, so that there is a static implementation in case it doesn't get inlined
2025-01-14 13:34:24 +02:00
Timo Kreuzer
78417c5532 [CRT] Fix build with clang-cl 17
#pragma function(llabs) causes an error: "error: no_builtin attribute has no effect on defaulted or deleted functions"
This is probably a bug in clang, see https://github.com/llvm/llvm-project/issues/116256
2025-01-14 13:34:24 +02:00
Timo Kreuzer
25723b4239 [VCRUNTIME] Fix a warning with GCC 13 2025-01-14 13:34:24 +02:00
Timo Kreuzer
3523e1a9f3 [ZLIB] Disable a clang warning 2025-01-14 13:34:24 +02:00
Timo Kreuzer
4ceb46a700 [CMIDriver] Disable a clang warning 2025-01-14 13:34:24 +02:00
Timo Kreuzer
e7c6eac607 [NFSD] Disable a clang warning 2025-01-14 13:34:24 +02:00
Timo Kreuzer
4eb7ef494d [MSXML3] Disable a clang warning 2025-01-14 13:34:24 +02:00
Timo Kreuzer
a3019731cc [D3DRM] Disable a clang warning 2025-01-14 13:34:24 +02:00
Timo Kreuzer
45fc95b667 [UDFS] Remove unused file from compilation 2025-01-14 13:34:24 +02:00
Timo Kreuzer
aa7ab16fd0 [CMAKE] Disable a number of warnings for clang
Also remove the totally useless and stupid -Werror=unknown-warning-option
2025-01-14 13:34:24 +02:00
Whindmar Saksit
087979eeb9 [REGEDIT] Block tree label edit if the delete accelerator has been pressed (#7610) 2025-01-13 13:21:12 +01:00
George Bișoc
a97fcf19ec [CMBATT] Minor improvements to estimated battery time code
- Declare CMBATT_DISCHARGE_TIME and CMBATT_CAPACITY_BOGUS constructs
- Determine if the battery was already discharging and if not, update the time when it's being discharged
- Fix the condition where it checks if the battery has been discharging for quite some time
- Default the time to BATTERY_UNKNOWN_TIME if querying the estimated battery time request fails or if the battery has just started discharging not over 15 seconds

CORE-18969
CORE-19452
2025-01-12 20:00:14 +01:00
Hermès Bélusca-Maïto
37b0646e76 [SDK:WINE] Fix get_temp_buffer() call in wine_dbgstr_wn()
Addendum to commit dbc7eeb47e (PR #4303).

The argument to get_temp_buffer() should specify the length of the
string being buffered + 1 (for the NUL-terminator).
The original code wrongly interverted this with specifying the buffer
shifted by one character.
2025-01-11 21:17:28 +01:00
Whindmar Saksit
3ff8adc553 [RAPPS] Protect database update with a mutex (#7006) 2025-01-11 19:52:07 +01:00
Oleg Dubinskiy
e5a6b0f8e5 [SHELL32] SHELL_ArgifyW(): don't use SearchPathW() for receiving a path to a file (#7605)
Get rid from bogus SearchPathW() call, which is marked as most likely not needed in the comment above (by Wine). Simply get a length of the file name and use the file name directly instead, with checking for its validity too. Similarly as it's done for other cases.
That call seems actually not needed because it is already done using SearchPathW() in another parts of the code in this file, before calling SHELL_ArgifyW().
Fixes another heap corruption when trying to login via OAuth menthod in SpotifyXP 2.0.3 Beta (nightly build). The previous commit did not fix the bug fully, as I discovered it later.
CORE-19953
2025-01-10 20:45:43 +01:00
George Bișoc
02032b7106 [PSDK] Fix BATTERY_UNKNOWN_TIME value constant
Windows SDKs define this constant to 0xFFFFFFFF but we define it to 0x80000000.
As a result, when our COMPBATT driver is being tested on Windows (namely XP, Vista and 7), BATTERY_UNKNOWN_TIME is not interpreted as UNKNOWN TIME but entirely something else.

CORE-18969
CORE-19452
2025-01-08 23:49:15 +01:00
George Bișoc
13b394c1a7 [COMPBATT] Document COMPBATT_BATTERY_DATA and COMPBATT_DEVICE_EXTENSION structures
CORE-18969
CORE-19452
CORE-19888
2025-01-08 23:20:09 +01:00
George Bișoc
f58f37e944 [COMPBATT] Document the newly added code 2025-01-08 23:20:09 +01:00
George Bișoc
65b29fe533 [COMPBATT] Update the top headers and relicense the driver as MIT 2025-01-08 23:20:09 +01:00
George Bișoc
c439c5849b [COMPBATT] Implement CompBattGetEstimatedTime 2025-01-08 23:20:08 +01:00
George Bișoc
a6d4998c6c [COMPBATT] Implement CompBattQueryStatus and CompBattSetStatusNotify 2025-01-08 23:20:08 +01:00
George Bișoc
ee9914c712 [COMPBATT] Implement the battery monitor IRP worker 2025-01-08 23:20:08 +01:00
George Bișoc
6a06db09ca [COMPBATT] Use FALSE for BOOLEANs on BatteryIoctl, not integers 2025-01-08 23:20:08 +01:00
George Bișoc
c944116833 [COMPBATT] Use the allocated battery IRPs as tags when acquiring I/O remove lock 2025-01-08 23:20:07 +01:00
George Bișoc
95f062bf0d [COMPBATT] Use the documented debug switches
Use the debug switches that are documented and have a name rather than some cryptic values with no meaning or some shit.
2025-01-08 23:20:07 +01:00
George Bișoc
c6bdbefdc4 [COMPBATT] Use the non-constant variant of UNICODE_STRING for the battery name 2025-01-08 23:20:07 +01:00
George Bișoc
28bb8c6ff7 [COMPBATT] Assign a memory allocation tag for the I/O remove lock
IoInitializeRemoveLock expects an allocation tag to be provided when it allocates debug data in the kernel.
Passing 0 leads to a bunch of ASSERTs in the kernel as such data is allocated by ExAllocatePoolWithTag of which a tag has to be supplied, it's not optional.
2025-01-08 23:20:07 +01:00
George Bișoc
3346301777 [COMPBATT] Pass NULL for the work item context, not 0
It expects an arbitrary pointer, do the right thing!
2025-01-08 23:20:06 +01:00
George Bișoc
8b5423aa60 [COMPBATT] Annotate all functions with SAL2 2025-01-08 23:20:06 +01:00
George Bișoc
f9ea9220d8 [COMPBATT] Remove the useless WaitFlag field in the code which is never used 2025-01-08 23:20:06 +01:00
George Bișoc
04cd478035 [COMPBATT] Prepare the base foundation for the header file
- Introduce some new constructs
- Annotate the function prototypes with SAL2
- Re-structure & remove some useless fields in COMPBATT_DEVICE_EXTENSION and COMPBATT_BATTERY_DATA
2025-01-08 23:19:56 +01:00
Vitaly Orekhov
3ff9c476a0 [PSDK] Add structures and enumeration describing radio power state (#7596)
This piece of data is returned by WlanQueryInterface().
Used by `WlanQueryInterface` with the `wlan_intf_opcode_radio_state` opcode.

CORE-6905
2025-01-08 12:28:46 +01:00
Whindmar Saksit
03ee0756b8 [SHELL32] Clone properties IDataObject for unlimited lifetime (#7601)
Because SHOpenPropSheetW() is modal, there is no way for us to keep COM
alive on the original thread until the dialog completes, so a cloned
data object is used instead so that the property sheet handlers may access
the object even after ShellExecute() has returned (this is only relevant
for callers like Taskmgr that does not initialize COM even though MSDN
says they should).

Addendum to afc130ff3f (PR #7571). CORE-19933
2025-01-08 14:22:34 +03:00
Thamatip Chitpong
1dfba2a699 [WINLOGON] Add WLSESSION logon timestamp (#7590)
Remove startup sound hack.
CORE-13951
2025-01-08 08:28:24 +07:00
Hermès Bélusca-Maïto
6363f7820d [NTOS:IO] Fix special case in IopQueryNameInternal() (#7592)
CORE-13525

This case is invoked from NtQueryObject(ObjectNameInformation).
2025-01-06 21:30:18 +01:00
Hermès Bélusca-Maïto
02a394ea57 [NTDLL_APITEST][KMTESTS] Add tests for NtQueryObject(ObjectNameInformation) (#7592)
CORE-13525
2025-01-06 21:30:17 +01:00
Hermès Bélusca-Maïto
dac991c056 [PARTMGR] Implement support for IOCTL_STORAGE_GET_DEVICE_NUMBER (#7591)
CORE-13525

Now, sending the IOCTL_STORAGE_GET_DEVICE_NUMBER to a disk partition
correctly returns a non-zero STORAGE_DEVICE_NUMBER::PartitionNumber
value. This is used by the BTRFS filesystem driver and other modules.

When the STORAGE_DEVICE_NUMBER DeviceType member equals FILE_DEVICE_DISK,
the DeviceNumber and PartitionNumber correspond respectively to the
X and Y values in the \Device\Harddisk<X>\Partition<Y> device name.

References:
https://learn.microsoft.com/en-us/windows/win32/api/winioctl/ni-winioctl-ioctl_storage_get_device_number
https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/ntddstor/ni-ntddstor-ioctl_storage_get_device_number
https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/ntddstor/ns-ntddstor-_storage_device_number
2025-01-06 21:26:43 +01:00
Hermès Bélusca-Maïto
e0e45ffa1a [PARTMGR_APITEST] Add a test suite for the partition manager (#7591)
CORE-13525

Add a test for IOCTL_STORAGE_GET_DEVICE_NUMBER.
2025-01-06 21:26:12 +01:00
Václav Zouzalík
c3e14b54ae [USERINIT] Add Esperanto (eo-AA) translation (#7534) 2025-01-06 18:19:54 +01:00
Václav Zouzalík
c6749d5c4a [ACCESS] Update Czech (cs-CZ) translation (#7533) 2025-01-06 18:18:14 +01:00
Jose Carlos Jesus
10f862bd74 [SHELL32] Fix typos and improve Portuguese (pt-PT) translation (#7374)
- Fix typos and improve Portuguese (pt-PT) translation.
- Add missing accel keys and fix accel collisions.
- Improve Portuguese (pt-PT) translation. Fix text box width to fit all text.
2025-01-06 18:17:00 +01:00
Mahir Gül
8734889272 [RAPPS] Update Turkish (tr-TR) translation (#7372) 2025-01-06 18:15:21 +01:00
Mahir Gül
be393a7484 [NOTEPAD] Update Turkish (tr-TR) translation (#7368) 2025-01-06 18:14:40 +01:00
Hermès Bélusca-Maïto
e4748fe448 [NTOS:IO] IoVolumeDeviceToDosName(): Add SAL2 annotations, fix pool tag (#6989)
The DEV2DOS tag value is from the official Windows pooltag.txt file.
2025-01-05 22:06:59 +01:00
Hermès Bélusca-Maïto
5afb7ab003 [NTOS:IO] IoVolumeDeviceToDosName(): Some stylistic changes.
Minor formatting and comments improvements (typo fixes etc.)
2025-01-05 22:03:55 +01:00
Eric Kohl
5c4fcd99d6 [CMBATT] Fix two comments 2025-01-05 21:43:06 +01:00
Hermès Bélusca-Maïto
7a05b393c5 [NTOS:IO] TAG_KINTERRUPT -> TAG_IO_INTERRUPT and change its value.
Change its value, as per the official Windows pooltag.txt file.
2025-01-05 21:16:56 +01:00
Hermès Bélusca-Maïto
02cff5abc1 [NTOS:IO] tag.h: Remove duplicated TAG_SYSB/TAG_SYS_BUF and rename it to TAG_IOBUF 2025-01-05 21:09:08 +01:00
Hermès Bélusca-Maïto
8653bb1b32 [PARTMGR] Few code enhancements.
- PartMgrAddDevice(): If IoAttachDeviceToDeviceStack() fails, bail out
  immediately, instead of continuing initializing the device extension
  then deciding to fail.

- PartitionCreateDevice(): Initialize the fields pertaining to parent
  device linking in the partition device extension, before the other fields
  (following in a similar way what's done in PartMgrAddDevice).
2025-01-05 20:10:26 +01:00
Hermès Bélusca-Maïto
e1b835bdbf [PARTMGR] Minor code formatting. 2025-01-05 20:07:53 +01:00
Eric Kohl
0929e96728 [WKSSVC] FIXME --> TRACE 2025-01-05 16:56:09 +01:00
Eric Kohl
faf6297972 [NETAPI32][WKSSVC][IDL] Implement NetrWkstaUserEnum
- TODO: Take PreferredMaximumLength and ResumeHandle into account
2025-01-05 16:38:04 +01:00
Eric Kohl
4cdcbbd1a9 [MSV1_0] Protect the logon list from concurrent access 2025-01-05 16:30:40 +01:00
Marcin Jabłoński
b114e3a051 [SHELL32] Fix Control_RunDLL single comma syntax out of range dialog box numbers (#7595)
If an out of range dialog box number was given in a single comma syntax
for Control_RunDLL(), it should be set to 0 to launch the default dialog
box instead of failing. 

Addendum to dcf9eb060a. CORE-19580 CORE-8981
2025-01-04 19:28:12 +03:00
Whindmar Saksit
afc130ff3f [SHELL32] Pump COM messages while initializing propsheet from IDataObject (#7571)
CORE-19933
2025-01-03 20:16:56 +01:00
George Bișoc
faf6123150 [CMBATT] Implement support for the _BIX method
_BIX is basically _BIF but with more information added, such as cycle count, measurement capacity accuracy and whatnot.
Starting with ACPI 4.0 _BIF is rendered obsolete and as a matter of fact a lot of modern hardware fill their ACPI machine data to _BIX.

ReactOS must go forward and beyond, compatibility with _BIF is kept. NOTE that a machine can ONLY support one battery static information method!

CORE-18969
CORE-19452
2025-01-02 18:21:33 +01:00
Thamatip Chitpong
205eadcb84 [NTOS:PS] Fix returned flags for QUOTA_LIMITS_EX query (#7589)
Use the information from EPROCESS::Vm.
Addendum to commit 1e06829961.
2025-01-01 19:52:20 +07:00
Eric Kohl
7f6784d4e7 [NETAPI32] Update outdated Annotations 2025-01-01 12:53:08 +01:00
Hermès Bélusca-Maïto
ebdb7b3e4d A problem has been detected and ReactOS has been shut down to prevent
damage to your time machine warp core.

UNEXPECTED_NEW_YEAR_TIMESLIP

If this is the first time you have seen this Stop error screen,
restart your time machine. If this screen appears again, follow
these steps:

Check to make sure you wish the ReactOS Community a
🎊 🍾 🥳 *:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:* 🎆 ⚛️ ☢️

        █ █ █▀█ █▀█ █▀█ █ █          ██████╗  ██████╗ ██████╗ ███████╗    ██╗
        █▀█ █▀█ █▀▀ █▀▀ ▀█▀          ╚════██╗██╔═████╗╚════██╗██╔════╝    ██║
        ▀ ▀ ▀ ▀ ▀   ▀    ▀            █████╔╝██║██╔██║ █████╔╝╚█████╗     ██║
  █▄ █ █▀▀ █ █ █  █ █ █▀▀ █▀█ █▀█    ██╔═══╝ ████╔╝██║██╔═══╝  ╚═══██╗    ╚═╝
  █▀██ █▀▀ █ █ █  ▀█▀ █▀▀ █▀█ ██▀    ███████╗╚██████╔╝███████╗██████╔╝    ██╗
  ▀  ▀ ▀▀▀  ▀▀▀    ▀  ▀▀▀ ▀ ▀ ▀ ▀    ╚══════╝ ╚═════╝ ╚══════╝╚═════╝     ╚═╝
🎆 ⚛️ ☢️ *:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:* 🎊 🍾 🥳
Also, ensure you use the latest nightly ReactOS version and run it
attached to a debugger.

If problems continue, Keep Calm And Carry On Developing. Test your
code more thoroughly, use a sane compiler and debugger, or ask any
questions on ReactOS' official Mattermost channel.

Technical information:

*** STOP: 0x42000042 (0x67747770,0x000007E9,0x00000001,0x00000001)

***  jira.reactos.org   - Address chat.reactos.org Base at reactos.org
***  github.com/reactos - Address  git.reactos.org Base at reactos.org
2025-01-01 00:00:00 +01:00
Hermès Bélusca-Maïto
4920e639f9 [SETUP:REACTOS] Revamp the Install-type page layout (#7581)
- Update the page title and subtitle.
- Embolden the types of installation.
- Introduce title and subtitle for the upgrade/repair page
  (not translated yet).
2024-12-31 12:33:27 +01:00
Hermès Bélusca-Maïto
8d00977681 [SETUP:REACTOS] Refactor the Welcome page (#7579)
- Rewrite the introductory text.
- Add a temporary (ReactOS-Alpha) informational message.
- Hide the "Back" button when the Welcome page is active, and
  show it back again when switching to the following ones.
2024-12-31 12:09:45 +01:00
Denis Robert
894e5cddd6 [SHELL32] Fix BrowseForFolder expanding a folder containing a zip (#7585)
Commit 325d74c30f (PR #7437) introduced a side effect that made impossible
to expand a folder when it contained both a ZIP file and subfolders.

Fix this by ignoring the return value of BrFolder_InsertItem and free the
pidlTemp pointer explicitly in all cases.

CORE-19955 CORE-19751
2024-12-30 16:14:44 +03:00
Eric Kohl
26f8fa7ade [WKSSVC] NetrWkstaGetInfo Level 102: Return the number of currently logged-on users 2024-12-29 21:14:40 +01:00
Oleg Dubinskiy
42d5dfd3de [SHELL32] SHELL_FindExecutable: import new path handling code from Wine 10.0-rc3 (#7588)
https://gitlab.winehq.org/wine/wine/-/blob/wine-10.0-rc3/dlls/shell32/shlexec.c?ref_type=tags#L631
0bad544aab
Import new path handling code from Wine 10.0-rc3. It uses PathResolveW(), which was hacked in ReactOS for a long time but has been implemented properly starting from 0.4.15-dev. So now it should work correctly, and we don't need to use SearchPathW() anymore.
This fixes a heap corruption from shell32.dll when launching SpotifyXP 2.0.3 Beta and trying to login with Spotify credentials via OAuth login method. Also it fixes the same heap corruption when pressing Update button in CCleaner 5.39.6399.
CORE-14670, CORE-19953
2024-12-29 17:25:43 +01:00
Whindmar Saksit
fd41270d6d [SHELL32] ShellExecuteW must call ShellExecuteExW (#7587)
Adds the DDEWAIT/NOASYNC flag unless compatibility info says otherwise.

CORE-19952
2024-12-29 15:22:30 +01:00
Eric Kohl
a9e7d67427 [MSV1_0] LsaApLogonTerminated: Delete the logged-on user from the logon list 2024-12-29 12:17:55 +01:00
Eric Kohl
45b008dd23 [WKSSVC][NETAPI32][IDL] Implement NetWkstaUserGetInfo using the workstation service 2024-12-28 21:14:38 +01:00
Eric Kohl
0bb830022c [MSV1_0] Implement LsaApCallPackage.MsV1_0GetUserInfo 2024-12-28 16:04:50 +01:00
Whindmar Saksit
1faa571f3f [SHELL32] CM::InvokeCommand case-insensitive compare verb string (#7582)
CORE-18733
2024-12-27 14:47:11 +01:00
Whindmar Saksit
1fec01561d [SHDOCVW][BROWSEUI][SHELL32] Correctly refcount CNSCBand and Explorer File menu (#7569)
CORE-19879 CORE-19780
2024-12-27 14:46:30 +01:00
Timo Kreuzer
e7354f244c [NTOS:KE] Fix freeze in KeBugCheckWithTf 2024-12-26 11:27:39 +02:00
Timo Kreuzer
aee59404ce [NDK] Remove amd64/asm.h
Most definitions were either duplicated or unused. Move the remaining ones to amd64/ketypes.h. Actual asm definitions are autogenerated.
2024-12-26 11:08:15 +02:00
Whindmar Saksit
7d75bfb449 [SHELL32] ILLoadFromStream must allow loading unknown pidl formats (#7570) 2024-12-25 20:32:08 +01:00
Eric Kohl
3dd6e3103f [INCLUDE][WKSSVC][MSV1_0] Rename msv1_0p.h to ntmsv1_0.h and move it to the ddk directory 2024-12-25 12:52:55 +01:00
Doug Lyons
1c55924045 [USER32_APTEST][USER32] CopyImage improve regression test and function. (#7524)
CORE-19806 and CORE-17902.

* Follow-up of PR #6886 and commit d3ec7cd to remove hack.
2024-12-24 17:51:31 -06:00
Timo Kreuzer
1ea3af8959 [SDK] Fix naming of a CPUID structure 2024-12-24 17:27:32 +02:00
Hermès Bélusca-Maïto
3b800165b0 [SETUP:REACTOS][SYSSETUP] Fix Shift-F10 cmd.exe invocation.
Pressing Shift-F10 to open cmd.exe when the setup program runs from
a different current directory than System32, now works correctly.

Use the 2nd CreateProcessW() `lpCommandLine` parameter, instead of the
1st parameter `lpApplicationName`, so as to use default path search.
The command-line buffer given to the 2nd-parameter can be temporarily
modified by CreateProcessW(), thus use an on-stack buffer.

https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-createprocessw#parameters
2024-12-24 12:22:42 +01:00
Hermès Bélusca-Maïto
d7f1a784a8 [SHLWAPI] Use an explicit "int*" type for the 3rd parameter of StrToIntExA/W
As this is already present in our PSDK shlwapi.h header, MS PSDK one, and MSDN.
2024-12-23 22:44:54 +01:00
Hermès Bélusca-Maïto
c19ebd0b0a [SHLWAPI] Explicitly cast to "int*" the 3rd parameter of StrToIntExW calls (fix build)
Fixes build error:

../src/dll/win32/shlwapi/ordinal.c:5417:63: error: passing argument 3 of 'StrToIntExW' from incompatible pointer type [-Werror=incompatible-pointer-types]
         if (!StrToIntExW(V_BSTR(&vargTemp), STIF_SUPPORT_HEX, &V_I4(&variTemp)))
In file included from ../src/dll/win32/shlwapi/ordinal.c:45:
../src/sdk/include/psdk/shlwapi.h:1682:52: note: expected 'int *' but argument is of type 'LONG *' {aka 'long int *'}
 BOOL WINAPI StrToIntExW(_In_ LPCWSTR, DWORD, _Out_ int*);
                                                    ^~~~
2024-12-23 22:44:23 +01:00
Denis Robert
6f60301d25 [NEWDEV] Fix bad use of PropSheet_SetCurSelByID (#7574)
PropSheet_SetCurSelByID() was badly called in response of PSN_WIZBACK or
PSN_WIZNEXT notifications. See the reference on these notification codes:

https://learn.microsoft.com/en-us/windows/win32/controls/psn-wizback

> Returns 0 to allow the wizard to go to the previous page. Returns -1 to
> prevent the wizard from changing pages. To display a particular page,
> return its dialog resource identifier.
> (...)
> To set the return value, the dialog box procedure for the page must call
> the SetWindowLong function with the DWL_MSGRESULT value and return TRUE.

This bug sometimes causes the wrong page to appear (e.g. "Previous" in
IDD_NODRIVER should come back in IDD_CHSOURCE, but goes to IDD_WELCOME).
2024-12-23 16:24:21 +03:00
Whindmar Saksit
0743faf2e3 [NETSHELL] Handle DefView accelerators (#7572)
CORE-18750
2024-12-22 21:27:20 +01:00
Hermès Bélusca-Maïto
cc3672cb73 [RESOURCES] Remove redundant #pragma code_page(), includes, etc.
They are redundant when these are already present in the given module's
root resource file, from which the language-specific resource files are
being included.
2024-12-22 18:39:26 +01:00
Hermès Bélusca-Maïto
40f360445b Merry Christmas time! 2024-12-22 18:38:34 +01:00
Hermès Bélusca-Maïto
9c544a5552 [BASE][DLL][ROSAPPS][SCREENSAVERS] Remove deprecated legacy Win16 resource attributes (#7567)
- Remove DISCARDABLE attribute.
- Remove MOVEABLE attribute.

See: https://learn.microsoft.com/en-us/windows/win32/menurc/common-resource-attributes

3rd-party module rosapps/lib/vfdlib is left unchanged.
2024-12-22 16:50:14 +01:00
Eric Kohl
ae7e375a4d [LSALIB][SECURE32][LSASRV] Improve the check for trusted/untrusted callers
- A caller of LsaRegisterLogonProcess is a trusted caller if the calling process has got the Tcb privilege, otherwise it is an untrusted caller.
- A caller of LsaConnectUntrusted is always an untrusted caller.
- A caller of LsapOpenLsaPort is always a trusted caller.
2024-12-22 11:15:37 +01:00
Timo Kreuzer
2d4c0b87b1 [WIN32K:NTUSER] Check for NULL desktop window in co_IntProcessMouseMessage 2024-12-22 10:19:01 +02:00
Eric Kohl
216196a10d [WKSSVC] Simplify NetrWkstaSetInfo 2024-12-21 16:19:14 +01:00
Eric Kohl
f06c4dcc6b [WKSSVC] InitWorkstationInfo: Set data size before retrieving registry values 2024-12-21 15:28:43 +01:00
Eric Kohl
85e90601e0 [SETUPAPI] Implement SetupDiGetCustomDevicePropertyA 2024-12-21 10:35:53 +01:00
Stanislav Motylkov
392473c7b5 [GITHUB] Stick to ubuntu-22.04 for build-linux
Fixes clang build, since ubuntu-latest (24.04.1 LTS / Noble Numbat) has no
LLVM 13 package available:

```
Ign:6 https://apt.llvm.org/noble llvm-toolchain-noble-13 InRelease
Err:9 https://apt.llvm.org/noble llvm-toolchain-noble-13 Release
  404  Not Found [IP: 151.101.46.49 443]
Reading package lists...
E: The repository 'http://apt.llvm.org/noble llvm-toolchain-noble-13 Release' does not have a Release file.
Error: Process completed with exit code 100.
```
2024-12-20 19:48:55 +03:00
Whindmar Saksit
28399a216b [SHELL32] Use FS compatible PIDL format for Recycle Bin items (#7532)
* [SHELL32] Use FS compatible PIDL format for Recycle Bin items

This allows SHChangeNotify to handle these items and DefView will correctly update the recycle folder.

CORE-18005 CORE-19239 CORE-13950 CORE-18435 CORE-18436 CORE-18437
2024-12-19 14:38:27 +01:00
Hermès Bélusca-Maïto
a18424267b [NTOS:CM] Add some more configuration options.
Add support for configuring the CM lazy-flush and delay-close variables:

  `CmpLazyFlushIntervalInSeconds`, `CmpLazyFlushHiveCount`,
  and `CmpDelayedCloseSize`,

using REG_DWORD values named respectively:

  `RegistryLazyFlushInterval`, `RegistryLazyFlushHiveCount`,
  and `DelayCloseSize`,

in the registry key
`HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Configuration Manager` .

Extra observations:
- While delay-close support exists in Windows 2003, configuring
  the delay-close size is possible only in Windows Vista and later.
- The possibility of configuring the lazy-flush hive count has been
  removed in Windows 8+.

See the comparison tables at:
https://redplait.blogspot.com/2011/07/cmcontrolvector.html
https://redplait.blogspot.com/2012/06/cmcontrolvector-for-w8.html
https://redplait.blogspot.com/2016/03/cmcontrolvector-from-windows-10-build.html

In addition:
Remove `CmpDelayedCloseIndex` from cm.h as it is not used anymore in our code.
2024-12-19 11:52:13 +01:00
Eric Kohl
d44ed03b6c [SETUPAPI][PSDK] Implement SetupDiGetCustomDevicePropertyW 2024-12-18 23:18:36 +01:00
Thamatip Chitpong
1e06829961 [NTOS:PS] Add query support for QUOTA_LIMITS_EX 2024-12-18 09:53:21 +07:00
Thamatip Chitpong
bf0dbdbd19 [NTOS:PS] NtQueryInformationProcess: Move process information-specific variables to their own scope 2024-12-18 09:53:21 +07:00
Thamatip Chitpong
b1f27287ae [NTDLL_APITEST] NtQueryInformationProcess: Add tests for ProcessQuotaLimits/Ex 2024-12-18 09:53:21 +07:00
Thamatip Chitpong
dabe14ae67 [NTDLL_APITEST] NtQueryInformationProcess: Add tests for ProcessBasicInformation 2024-12-18 09:53:21 +07:00
Václav Zouzalík
e18763e13f [USERINIT] Update German (de-DE) translation (#7541)
* [USERINIT] Update German (de-DE) translation

* [USERINIT] Update German (de-DE) translation

* [USERINIT] Fix copyright header
2024-12-17 20:28:14 +01:00
George Bișoc
28b277aa42 [STOBJECT] Display the estimated battery time when hovering the battery icon
We do have IDS_PWR_HOURS_REMAINING and IDS_PWR_MINUTES_REMAINING string resources but they're never used programmatically.
Display the estimated battery time ONLY if the returned time is not unknown.

CORE-18969
CORE-19452
2024-12-17 14:34:30 +01:00
George Bișoc
b0680d65fe [BATTC] Signal the wait battery tag event when notifying Battery Class
BatteryClassStatusNotify is used by battery miniport drivers to notify the Battery Class of a status change. This can either be a battery status change or battery tag assignation, depending on what the device extension (namely the composite battery) waits for.

We do have implementation for EVENT_BATTERY_STATUS but not for EVENT_BATTERY_TAG. What happens is when BatteryClassIoctl fails to query the battery tag because it has not yet been assigned, the thread is stuck on waiting for the event object to be signaled, forever.
This tipically happens when a timeout of -1 (meaning the calling thread must wait indefinitely) is supplied. The composite battery driver (COMPBATT) is responsible to signal the Battery Class when a CM (Control Method) ACPI battery receives a tag, which then this function will signal the event.

CORE-18969
CORE-19452
2024-12-17 14:23:33 +01:00
Eric Kohl
c10c5224ff [SETUPAPI] Implement SetupDiGetClassRegistryPropertyA and SetupDiSetClassRegistryPropertyA 2024-12-16 23:19:56 +01:00
George Bișoc
f3dd15ad64 [CMBATT] Grab the design voltage after the BIF data gets copied
There was a risk of accessing invalid data as the design voltage was grabbed before the read BIF data was copied into the device extension.
2024-12-16 22:09:02 +01:00
George Bișoc
ea8315ba56 [CMBATT] Convert power statistics from mAh to mWh
ReactOS (like any other OSes) expects power data to be represented in milliwatts per hour, not in milliamps per hour.
Currently CMBATT defaults the stats to unknown values, if that's the case, and there are a bunch of machines that do report their data from _BIF ACPI method in ampere.

CORE-18969
CORE-19452
2024-12-16 17:33:51 +01:00
George Bișoc
2416c31a30 [BATTC] Fix the wait timeout conversion
KeWaitForSingleObject takes 100ns unit for timeout. Both IOCTL_BATTERY_QUERY_TAG and IOCTL_BATTERY_QUERY_STATUS take a wait for the timeout in milliseconds.
Supposedly a miniport driver wants to supply a wait of 5000 ms (which is equivalent to 5 s), the miniport driver WON'T BE WAITING 5 seconds but 0.5!!!

CORE-18969
CORE-19452
2024-12-16 17:24:56 +01:00
Timo Kreuzer
5ebd478325 [NTOS][HAL:APIC] Call HalBegin/EndSystemInterrupt from clock handler 2024-12-16 16:21:44 +02:00
Timo Kreuzer
1f647e4479 [HAL] Remove KiEoiHelper hack 2024-12-16 16:21:44 +02:00
Timo Kreuzer
67231bd69a [NTOS:KE/X64] Fix KiInterruptDispatch
- Enable interrupts
- Acquire the spinlock on SMP builds
2024-12-16 16:21:44 +02:00
Timo Kreuzer
29721ac552 [NTOS:KE/x64] Fix unwinding in KiUserApcDispatcher
This adds a MACHINE_FRAME to the user mode APC dispatcher stack frame.
2024-12-16 16:19:32 +02:00
Timo Kreuzer
91948dea80 [NTOS:KE/x64] Fix handling of PCR::UserRsp
This is a temporary helper for the system call entry point to store the user mode stack, before switching to the kernel mode stack. Initially it was copied to the trap frame inside KiSystemCallHandler. This has been moved to the system call entry point, but some remnants remained. The problem is that KiSystemCallHandler can be called twice in a system call (when the call is the first GUI call and the stack needs to be extended). In that scenario, when the thread was preempted, a new value could be saved in the PCR before running KiSystemCallHandler again, and then overwriting the proper value with a bogus one from a different thread. This rarely seemed to happen on UP, but happens a lot with SMP.
2024-12-16 16:18:45 +02:00
Doug Lyons
5df3a0bb4a [EVENTVWR] Fix typo in Romanian (ro-RO) translation (#7561)
Addendum to 0.4.16-dev-323-g c212c184f3 (#7352).
In the usage help message one line started with '\pentru', but it should have been '\tpentru'.

Fixes GCC compiler error:
base/applications/mscutils/eventvwr/lang/ro-RO.rc:177: unrecognized escape sequence

Co-authored-by: George Bișoc <george.bisoc@reactos.org>
2024-12-16 13:42:47 +03:00
Hermès Bélusca-Maïto
3c1e022d0e [NTOS:KE] Synchronize KiPcToFileHeader/KiRosPcToUserFileHeader 1st parameter name 2024-12-15 22:21:10 +01:00
Hermès Bélusca-Maïto
cc40a5870a [NTOS:CM] Implement Win7+ VolatileBoot support.
Its support is controlled with a REG_DWORD value named
`VolatileBoot` inside the registry key
`HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Configuration Manager` .

Its implementation is very trivial: when enabled, CmpShareSystemHives
is set to TRUE and doesn't change state during runtime.
In a sense this is similar to what happens in WinPE-boot, except that
ALL hives without exception (system hives and others) will be loaded
in shared mode.
2024-12-15 22:15:13 +01:00
Hermès Bélusca-Maïto
f42c81e4ed [NTOS:CM] Allow CmSelfHeal to be configured via registry.
This is controlled with a REG_DWORD value named
`SelfHealingEnabled` inside the registry key
`HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Configuration Manager` .

The `CmSelfHeal` variable is used to retrieve the data,
hence it needs to be a ULONG.
2024-12-15 22:12:51 +01:00
Hermès Bélusca-Maïto
a43bfe2916 [NTOS:CM/IO/KE] Implement minimal support for CrashControl:AutoReboot
The REG_DWORD value `AutoReboot` stored in the registry key
`HKLM\SYSTEM\CurrentControlSet\Control\CrashControl`
(used as a boolean value), controls whether to automatically reboot
the operating system at the end of the crash dump, after a bugcheck.

ReactOS doesn't currently implement crash dumps, so only the auto-reboot
is done. (The reason of the apparent redundant `Reboot` variable in
KeBugCheckWithTf() is because that variable would be updated on return
by the not-yet-existing crash-dump helper routines called from there.)
2024-12-15 22:12:22 +01:00
Eric Kohl
44564cb682 [SETUPAPI] Implement SetupDiGetClassRegistryPropertyW and SetupDiSetClassRegistryPropertyW 2024-12-15 15:54:35 +01:00
Hermès Bélusca-Maïto
3abb21080d [NTOS:KE/EX] Add minimal EMS (headless) support for bugcheck.
In particular, the HeadlessGlobals->InBugCheck flag MUST be set prior
to displaying the blue-screen, because the HDL global lock function
would trigger a (nested) BSoD otherwise.

Regarding the unimplemented HeadlessCmdSendBlueScreenData:
it sends to the management console an XML description of the bugcheck.
An example can be seen in this issue report:
https://github.com/cloud-hypervisor/cloud-hypervisor/issues/3168

For more information, please consult:
https://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/windowsserver2003emssacxml.doc
2024-12-14 23:38:43 +01:00
Hermès Bélusca-Maïto
b15dcb5cf6 [NTOS:KD64] The DbgKdPageInApi, introduced in NT4, has been obsoleted in NT5.
It has been replaced by ExpDebuggerPageIn support in ExpDebuggerWorker().
2024-12-14 23:33:53 +01:00
Hermès Bélusca-Maïto
08ed0988ff [NTOS:KE] KeRemoveQueueDpc(): Use KeRestoreInterrupts() 2024-12-14 23:33:49 +01:00
Hermès Bélusca-Maïto
da59d797d1 [NTOS:EX] Minor enhancements to ExpDebuggerWorker()
- Add some DbgPrints.
- Use SAL2 annotations.
2024-12-14 23:31:51 +01:00
Hermès Bélusca-Maïto
ec4c169e3e [NTOS:EX] Revamp ExpLoadBootSymbols() a bit.
- Use a for-loop.
- Make some comments more accurate.
- Reduce indentation level in the loop.
2024-12-14 23:31:49 +01:00
Hermès Bélusca-Maïto
f395f87bb3 [NTOS:MM] MiScanMemoryDescriptors(): Use the MiIsMemoryTypeInvisible() and MiIsMemoryTypeFree() helpers. 2024-12-14 23:31:48 +01:00
Hermès Bélusca-Maïto
c53eb190c7 [NTOS:KD64] Revamp the debugger banner helpers a little.
- Directly call KdpGetMemorySizeInMBs() within KdpPrintBanner(),
  instead of having the caller doing it.
- Use the miarm.h MiIsMemoryTypeInvisible() helper.
- Add Doxygen comments.
2024-12-14 23:31:47 +01:00
Hermès Bélusca-Maïto
cb0c9a4570 [NTOS:KD64] KdInitSystem(): Minor code enhancements.
- Move local variables to the code blocks where they are used.
- if-s one-line bodies on their own lines.
- Massage the boot-images symbols loading, using a for-loop.
2024-12-14 23:31:46 +01:00
Hermès Bélusca-Maïto
ba342e1d14 [FREELDR] peloader.c: Minor code enhancements.
PeLdrCheckForLoadedDll():
- Use a for-loop to iterate over the linked list.
- Adjust few comments.
- Use SAL2 annotations.

PeLdrpCompareDllName():
- Make its input paramters const.
- Use SAL2 annotations.
2024-12-14 23:31:41 +01:00
Eric Kohl
4d376dfd64 [SETUPAPI] CM_Set_Class_Registry_PropertyW: Do not convert SD if ulLength is 0 2024-12-14 20:09:27 +01:00
Hermès Bélusca-Maïto
4795177ced [DRIVERS] Fix misusages of the RTL_REGISTRY_OPTIONAL flag.
See https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/nf-wdm-rtlqueryregistryvalues

The RTL_REGISTRY_OPTIONAL applies to the first parameter of the
RtlQueryRegistryValues() function, not to the Flags member of the
table entries. However, a RTL_QUERY_REGISTRY_REQUIRED flag exists
to mark values whose existence is NOT optional.

Problematic usage was introduced in the following modules:
drivers/input/i8042prt: Commit e7e959fb0 (r30000)
drivers/input/kbdclass: Commit 5a77f871d (r18911)
drivers/input/mouclass: Commit aeeab7d1f (r18906)
drivers/input/sermouse: Commit 3f348259c (r19100)
rosapps/drivers/green : Commit c8a90f769 (r21165)
2024-12-14 19:12:11 +01:00
Eric Kohl
b96e648019 [SETUPAPI] CM_Set_Class_Registry_PropertyW: Implement SD conversion
Convert text SD to binary SD for the CM_CRP_SECURITY_SDS property.
2024-12-14 13:52:55 +01:00
Tomáš Veselý
0540c212ea [USER32_APITEST] Improve RedrawWindow API test. Follow up of #7160 (#7297)
* extension-RedrawWindow-apitest-by-flags-update

Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2024-12-11 13:58:15 -06:00
Ratin Gao
d936dba7ff [REACTOS] Fix 'seperate' typos 2024-12-11 08:56:06 +02:00
Daniel Victor
34e76ade03 [FREELDR] Make it more compatible with w2k3 ini file 2024-12-11 07:18:34 +02:00
Václav Zouzalík
e897a5654d [ACPPAGE] Update German (de-DE) translation 2024-12-10 22:37:02 +01:00
Eric Kohl
b667d82f0b [SETUPAPI] Implement CM_Set_Class_Registry_PropertyA() 2024-12-09 21:53:35 +01:00
Hermès Bélusca-Maïto
01a10da73d [VIDEOPRT] VideoPortInitialize(): Display the invalid and expected struct sizes on error 2024-12-09 13:42:44 +01:00
Thamatip Chitpong
4d9f67c79b [REACTOS] Rename ReactOS_LogOn.wav to ReactOS_Startup.wav
CORE-13951
2024-12-09 09:52:57 +07:00
Thamatip Chitpong
2557948179 [WINLOGON] Implement startup sound support (HACK)
CORE-13951
2024-12-09 09:52:57 +07:00
Thamatip Chitpong
37375fcc4d [WINLOGON] Implement shutdown sound support
CORE-13951
2024-12-09 09:52:57 +07:00
Thamatip Chitpong
77bfc12e0f [WINLOGON] Move logoff flags handling code to HandleLogoff 2024-12-09 09:52:57 +07:00
Eric Kohl
18c3f39c18 [SETUPAPI] Implement CM_Set_Class_Registry_PropertyW()
The conversion of text SDs to binary SDs is not implemented yet.
2024-12-08 23:03:30 +01:00
Thamatip Chitpong
92231340ec [WINMM] PlaySound: Fix user-specific environment variables handling (#7536)
Correctly retrieve user-specific environment variables when impersonating.
Addendum to commit f18111b641.
CORE-13951
2024-12-07 09:15:11 +07:00
Andrei Miloiu
e6c18b4497 [VGAFONTEDIT] Update Romanian (ro-RO) translation (#7354) 2024-12-06 21:15:51 +01:00
Andrei Miloiu
29ef7062a7 [CONSOLE] Update Romanian (ro-RO) translation (#7404) 2024-12-06 21:12:45 +01:00
Andrei Miloiu
d8daf05e4a [IEFRAME] Update Romanian (ro-RO) translation (#7356) 2024-12-06 21:05:33 +01:00
Andrei Miloiu
5251d08663 [MSCTFIME] Add Romanian (ro-RO) translation (#7365) 2024-12-06 21:02:30 +01:00
Andrei Miloiu
5a030eaa33 [WINED3DCFG] Update Romanian (ro-RO) translation (#7406) 2024-12-06 20:58:25 +01:00
Andrei Miloiu
c212c184f3 [EVENTVWR] Update Romanian (ro-RO) translation (#7352) 2024-12-06 20:54:26 +01:00
Andrei Miloiu
6ec5f8841b [FDEBUG] Update Romanian (ro-RO) translation (#7340) 2024-12-06 20:48:33 +01:00
Whindmar Saksit
63bb46a2fd [CABVIEW] Add CabView shell extension (#7494)
CORE-14616
2024-12-05 15:14:55 +01:00
Timo Kreuzer
3bd9ddca94 [CRT] corecrt.h: add secure function overload macros
Taken from MIT release of UCRT (https://www.nuget.org/packages/Microsoft.Windows.SDK.CRTSource/10.0.22621.3). These are used by newer mingw headers, which we include when compiling C++ code. Fixes build with GCC 13 based RosBE.
2024-12-04 08:13:49 +02:00
Hermès Bélusca-Maïto
6cf426345b [NTOS:KD64] Use KdpDprintf() instead of DbgPrint() for the debugger banner DPRINTs (#7540)
Override DbgPrint(), used by the debugger banner DPRINTs,
because KdInitSystem() can be called under the debugger lock
by KdEnableDebugger(WithLock)().

In this case, when DbgPrint() (re-)enters the debugger via an
interrupt and acquires the debugger lock, a deadlock occurs.
2024-12-03 22:14:02 +01:00
Hermès Bélusca-Maïto
1a02d3306b [NTOS:KD64] Fix usage of the debugging banner code, based on when KdInitSystem() is called (#7540)
- The debugging banner helpers *CANNOT* be in the INIT section, because
  it is possible for KdInitSystem() to enable the debugger **MUCH LATER**
  after boot time. (Reverts part of commit f239ca0f0 (r72922).)

  This can happen in two situations:

  * When the debugger is in CRASHDEBUG mode, i.e. initialized at boot
    time but not immediately enabled, and a BSOD happens later that
    enables the debugger with a `KdInitSystem(0, NULL)` call.

  * When the debugger was possibly manually disabled with a
    KdDisableDebugger() call, then later re-enabled with a
    KdEnableDebugger() call.

- In the same cases as described above, the KeLoaderBlock is freed after
  boot time. Thus, KdpGetMemorySizeInMBs() cannot use it and enumerate
  the MemoryDescriptors to evaluate the number of physical memory pages
  available on the system. Instead, we can use what the memory manager
  has already computed, since the latter is already initialized by now.

These two fixes avoid (invisible) crashes when (re-)enabling
the debugger at non-boot run time.
2024-12-03 22:13:57 +01:00
Hermès Bélusca-Maïto
76d35dde1d [NTOS:KD64] KdInitSystem(): Poll for break-in on symbol load *ONLY* at boot-time (#7539)
I.e. when LoaderBlock != NULL and we have loaded the initial hal and
ntoskrnl symbols. KdBreakAfterSymbolLoad is then checked for when the
other boot symbols have been loaded by ex/init.c!ExpLoadBootSymbols(),
invoked by ExpInitializeExecutive().
2024-12-03 19:29:12 +01:00
Hermès Bélusca-Maïto
2995806a44 [NTOS:KD64] kdx64.c: Implement KdpAllowDisable() the same as in x86 (#7538)
AMD64 has the same DR7 register as x86 with the same bits meanings,
thus the same implementation can be used.

References:

- https://en.wikipedia.org/wiki/X86_debug_register#DR7_-_Debug_control

- AMD64 Architecture Programmer’s Manual, Volume 2: System Programming
  https://www.amd.com/content/dam/amd/en/documents/processor-tech-docs/programmer-references/24593.pdf
  Section "13.1.1.4 Debug-Control Register (DR7)"
  pgs. 393-396 (pgs. 455-458 of the PDF)

- Intel® 64 and IA-32 Architectures Software Developer’s Manual,
  Volume 3 (3A, 3B, 3C, & 3D): System Programming Guide
  https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html
  Section "19.2.4 Debug Control Register (DR7)" (pgs. 644-646)
  Section "19.2.6 Debug Registers and Intel® 64 Processors" (pg. 647)
2024-12-03 19:02:28 +01:00
Hermès Bélusca-Maïto
61feb649d1 [NTOS:KD64] kdx86.c: Fix Dr7 check to verify whether debugger disabling is allowed (#7538)
Don't check the whole Dr7 value, but only the first 8 bits that
correspond to the local/global enable breakpoints.

We cannot check the whole value because some of the Dr7 bits are
reserved always set to 1 (bit 10), or describe other debug state.

References:

- https://en.wikipedia.org/wiki/X86_debug_register#DR7_-_Debug_control

- Intel® 64 and IA-32 Architectures Software Developer’s Manual,
  Volume 3 (3A, 3B, 3C, & 3D): System Programming Guide
  https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html
  Section "19.2.4 Debug Control Register (DR7)" (pgs. 644-646)
2024-12-03 19:02:21 +01:00
Hermès Bélusca-Maïto
dfb43905bb [FREELDR] peloader.c: Fix PE import binding (#7537)
Use the PE import table's OriginalFirstThunk array when scanning and
resolving imports during DLL binding.

It points to an array of pointer-sized IMAGE_THUNK_DATA structures
which describe the functions being imported. On the other hand, the
FirstThunk points to an array of pointers, whose initial values are
a copy of those pointed to by OriginalFirstThunk, but are replaced
by the actual function pointers determined at runtime, when a DLL
is loaded (see PeLdrpBindImportName() function).
If we were to use the FirstThunk array to find again later the imports
by name or ordinal, we would fail because these are replaced by the
addresses of the corresponding functions.

This fixes loading kdcom.dll from Windows XP x64 with FreeLDR when
testing on ReactOS x64.

```diff
 (freeldr\freeldr\lib\peloader.c:498) trace: PeLdrpScanImportAddressTable() ---- Calling PeLdrpBindImportName() in a loop
 (freeldr\freeldr\lib\peloader.c:501) trace: *** ThunkName->u1.AddressOfData = 00000000000070F0
 (freeldr\freeldr\lib\peloader.c:502) trace: *** ThunkData->u1.AddressOfData = 0000000000573780
 (freeldr\freeldr\lib\peloader.c:209) trace:   !!! ExportDirectory->NumberOfNames 1504
-(freeldr\freeldr\lib\peloader.c:210) trace:   !!! ImportHint 0 - ExportName 'CcCanIWrite' - ImportDataName ''
+(freeldr\freeldr\lib\peloader.c:210) trace:   !!! ImportHint 282 - ExportName 'HalPrivateDispatchTable' - ImportDataName 'HalPrivateDispatchTable'
 ....
-(freeldr\freeldr\lib\peloader.c:268) err: Did not find export ''!
-(freeldr\freeldr\lib\peloader.c:709) err: PeLdrpScanImportAddressTable() failed: ImportName = 'ntoskrnl.exe', DirectoryPath = 'multi(0)disk(0)rdisk(0)partition(2)\ReactOS\system32\'
```
('-': lines before the fix; '+': lines after the fix)

Code has been adapted based from the following functions:
ntdll/ldr/ldrpe.c!LdrpSnapThunk() and LdrpSnapIAT()
ntoskrnl/mm/ARM3/sysldr.c!MiSnapThunk() and MiResolveImageReferences()

References:
https://devblogs.microsoft.com/oldnewthing/20231129-00/?p=109077
https://devblogs.microsoft.com/oldnewthing/20231130-00/?p=109084
https://stackoverflow.com/questions/42413937/why-pe-need-original-first-thunkoft
2024-12-03 13:13:38 +01:00
Hermès Bélusca-Maïto
576fafbaf8 [FREELDR] peloader.c: Add SAL2 annotations for two import-resolving helpers (#7537)
Add annotations for PeLdrpBindImportName()
and PeLdrpScanImportAddressTable().
2024-12-03 13:13:26 +01:00
Hermès Bélusca-Maïto
ddd59f19ae [FREELDR] peloader.c: Fix some traces 2024-12-03 12:32:08 +01:00
Eric Kohl
9382aa286c [DISKPART] Fix typos in string resources for the SELECT command 2024-12-03 00:40:21 +01:00
Hermès Bélusca-Maïto
d7c1d220b5 [SETUPLIB][REACTOS][USETUP] Turn setuplib into a DLL shared between TUI and GUI 1st-stage setups (#7523)
CORE-13525

Notes:
- Most of the exported functions have been turned from default cdecl to explicit stdcall / "NTAPI".
- The two InitializeSetup() phases have been collapsed to make the initialization simpler.

Average reductions (percentages; see PR #7523 for actual numbers):

x86 Debug builds:
reactos.exe: 35.1%
smss.exe   : 39.8%
Total (including setuplib.dll): 17.9%

x86 Release builds:
reactos.exe: 22.3%
smss.exe   : 25.0%
Total (including setuplib.dll): 10.6%

x64 Debug builds:
reactos.exe: 40.6%
smss.exe   : 41.6%
Total (including setuplib.dll): 20.0%

x64 Release builds:
reactos.exe: 22.8%
smss.exe   : 22.3%
Total (including setuplib.dll): 10.1%
2024-12-02 23:05:38 +01:00
Serge Gautherie
e51e5de1f8 [EXPLORER] Remove redundant bIsSystemShell assignments (#7542)
Addendum to commit df197bc42 (PR #7502)
CORE-19887
2024-12-02 20:42:46 +01:00
Vitaly Orekhov
76014b92a4 [REACTOS] Replace all references of CLSID_ConnectionFolder to CLSID_NetworkConnections (#7503)
Use name from public Windows SDK for 'Network Connections' CLSID, available since Windows SDK 6.0A (Visual Studio 2008 or higher).
Replace all such instances in netshell, shell32, apitests/com.

- Partially reverts/refactors commit bea0b47
- Follow-up to PR #7266
2024-12-02 20:27:19 +01:00
Thamatip Chitpong
e62c917ddf [WINMM] Add DLL version info (#7543) 2024-12-02 17:44:03 +07:00
Eric Kohl
647d351278 [DISKPART] Use the MBR_MAGIC to check for a valid MBR 2024-12-01 21:32:53 +01:00
Eric Kohl
8972448127 [DISKPART] Fix a comment 2024-12-01 20:56:21 +01:00
Eric Kohl
1b5e679282 [DISKPART] Implement 'select disk system' and 'select disk next' 2024-12-01 19:33:16 +01:00
Whindmar Saksit
11d5cb8095 [BROWSEUI] FindFolder must release the view and the browser (#7529)
CORE-19780
2024-11-30 22:05:50 +01:00
Brady McDermott
df197bc424 [EXPLORER] Check registry key for default shell (#7502)
Improves detection of Explorer being the default shell.

- Check the "Software\Microsoft\Windows NT\CurrentVersion\Winlogon" key to see if Explorer is the default shell.
- Use this check to determine whether to start the desktop and taskbar or only open a file browser window.

JIRA issue CORE-19887
2024-11-30 10:17:54 -07:00
Thamatip Chitpong
741535dc28 [WINMINE] Update sounds license
Addendum to commit 580574fba8.
2024-11-29 00:28:04 +07:00
Whindmar Saksit
2aadf2eb26 [SHELL32] Implement and use SHOpenPropSheet (#7432)
- Implement SHOpenPropSheetW.
- Reuse already opened propertysheets and format dialogs by finding the existing unique stub window.
- Default .lnk property dialog to the shortcut tab.
2024-11-27 17:45:03 +01:00
Timo Kreuzer
53f498c968 [SDK][PSEH] Improve PSEH a bit
Add PSEH include dir globally, include pseh2.h from excpt.h and add compatibility macros to reduce hacks in 3rd-perty code.
2024-11-27 10:50:03 +02:00
Timo Kreuzer
3a61dd7fe7 [CRT] Sync wine code to wine-7.0 (#7520)
* [WINESYNC] msvcrt: Respect allocation mode in malloc.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 70ac780e6ed26380fd2fcdfbb96352ca8548bc79 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use _callnewh in operator new implementation.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7e9cba139d30d3b48567baaf6a8b901143c738e7 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Reimplement _set_new_mode function.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6113a251ef3955f2ac3436d90a523faf4c03bc0a by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] ucrtbase: Change ptd fields offsets to match with native.

Makes it possible to use native vcruntime140_1.dll.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9b94e4c80580325e62097ed6c08cc37c28575470 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use __ASM_BLOCK_BEGIN and __ASM_BLOCK_END macros.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3f8ac955de59da9f81a17ccf9d20c7402d6b1773 by Jacek Caban <jacek@codeweavers.com>

* [WINESYNC] msvcrt: Use __ASM_USE_THISCALL_WRAPPER macro.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 95e117b3dcd604b544b816c230a4ee8252f0f2f9 by Jacek Caban <jacek@codeweavers.com>

* [WINESYNC] msvcrt: Use internal sprintf implementation.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id bfa1e3ef8f592d74f1dfcc89ba940946ad327591 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Print assertion failure messages to stderr.

This matches Windows behaviour. In particular, redirecting stderr with freopen()
followed by assert(0) will print the failure message to the relevant file.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3533605293e8083dae19c5fbd41e2077faf5adc6 by Zebediah Figura <z.figura12@gmail.com>

* [WINESYNC] msvcrt: Don't use strncmpW in msvcrt_get_flags.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c6f19b121e74935689eb9666d0d21729a713c2ad by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use _wcsnicmp instead of strnicmpW.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 54b2a10659871032720df31ae9ca6cba2ff4acf0 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Don't use tolowerW in _tolower_l.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0b35b779151d766f6741bc32d3b6d3c8d81f1cc4 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Don't use tolowerW.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id bc47bff4a888872363005da93fe0b714493c835b by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Don't use toupperW.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a81f55093e11a12c25938dada2e3d7f0c8dfe86c by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Add _ismbcalnum_l implementation.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 19c05e60a3cbb7dfa040b919e8783d571fc6ae01 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Add _ismbcdigit_l implementation.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fd74aeb726e65c62a9e110bdbf282549cb8afce0 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Add _ismbcgraph_l implementation.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 71cd3d5e8ce831abe5f601671b307ecff8692f01 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Add _ismbcalpha_l implementation.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5f294e34d6eab6a217991994443c347aa44684b7 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Add _ismbclower_l implementation.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1ad209428442e5c571b8a8478c3821e6c303b3a9 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Add _ismbcupper_l implementation.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 95b3ff9f74ada220295128ceee34a8e191b93baa by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Add _ismbcprint_l implementation.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1750a6969becfb02f0fee9447878d4374db652ab by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Add _ismbcpunct_l implementation.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 986aa52fc41e1cf022cc72a0f40996937bb567dc by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Don't use get_char_typeW in _iswctype_l.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 068a419e4219c5bb5d8156ff9177676d9c174021 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Copy wcscat implementation from ntdll.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2c5bf68a5e7525ae9c50ee0dfc6d819da79c4861 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Don't use wine/unicode.h header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 536be09b8449537925ad4635a06ae45283075c2e by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Introduce fpnum structure that can be used to represent 64 and 80-bit double.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 450015781e7ad45a79df01225ee75271563317ce by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Don't use strtold in __STRINGTOLD_L.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a22adf1893d510660d7eeea5ef290399ce21e8b5 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] ucrtbase: Support _CRT_INTERNAL_PRINTF_STANDARD_ROUNDING flag in printf.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 25cc6ff62d22220f6da742fa47a7f5fe80ed0c1b by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Handle rethrowing from nested try blocks on x64.

Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f65fb09dff86dbb87564264481a23b1179e8d890 by Paul Gofman <pgofman@codeweavers.com>

* [WINESYNC] msvcr120: Add imaxabs.

Signed-off-by: Myah Caron <qsniyg@protonmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1bb193238fa9eb73668b1dd1bb086105af25727c by Myah Caron <qsniyg@protonmail.com>

* [WINESYNC] msvcrt: Fix count parameter type in printf functions family.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 68ca61a555b3118836dbf7b666686e1de3d988b0 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Implement _mbbtype_l().

Fixes Midnight Castle Succubus.

Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ebe3fe536c6c0eb8d8144e9235ea8d1f88aa5657 by Paul Gofman <pgofman@codeweavers.com>

* [WINESYNC] msvcrt: Terminate on noexcept function trying to propagate exception (i386).

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 26c1f8fb07790f51c0fbe0012144e213edccd8ed by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Terminate on noexcept function trying to propagate exception (x86_64).

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8468a3ed77ba22d9a33b2251240e2a4e5462e1b7 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Make locale and thread helper functions CDECL.

This prevent callers from having to save SSE registers to the stack.

It is for instance the case in MSVCRT__towlower_l, which is called on
every character by MSVCRT__wcsicmp_l.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a24ad51e3f2515c1970b56f8dfe2206e2b282dc9 by Rémi Bernon <rbernon@codeweavers.com>

* [WINESYNC] msvcrt: Introduce noalloc current locale lookup helpers.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id faf92fdedb16a6e35c556e389bf5ac7241058f75 by Rémi Bernon <rbernon@codeweavers.com>

* [WINESYNC] msvcrt: Add floating point classification macros.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b9002cc8c7ae16b4a61476834318bcefd638e34f by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] msvcrt: Use the msvcrt math functions internally.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1be5e83859229d0e8a6c4fb3913865beea00a085 by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] msvcrt: Use the msvcrt ctype functions internally.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b7fe06d0fa6dbad7d2c3ae380557adcaa10b89f8 by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] msvcrt: Use the msvcrt atoi() function internally.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f48648aeec69f74899ba2f074b60aeb0de03615b by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] msvcrt: Use the msvcrt string functions internally.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2fb08bed46fec302954578038566593bb108b57c by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] msvcrt: Move math functions to a new Unix library.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c72e1b096d16a1e9a36b86fbc8c403ec3653a504 by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] msvcrt: Share ctype tables between threadlocinfo instances.

Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5ec7cb5a7f20afd6eef33d5799fb4c5c1ddaebe1 by Chip Davis <cdavis@codeweavers.com>

* [WINESYNC] msvcrt: Share __lc_time_data between threadlocinfo instances.

My testing shows that unk[1] is some sort of refcount.

Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 898abfc18f409357939e66cd9a6767d4bc5b0672 by Chip Davis <cdavis@codeweavers.com>

* [WINESYNC] msvcrt: Enable multi-thread locking by default.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6482ce7666a5f8beb92879af5ae3fde3782627d7 by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] msvcrt: Build with msvcrt headers.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 191bdeaff3676f192148e17c6369865ec94c2ba2 by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] msvcrt: Don't overwrite threadmbcinfostruct structure in _setmbcp.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 35a8f15361022d9195bd141aa67b22e06007fa16 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt/tests: Remove the headers test.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 86b0a633c68dfceb884a74528c407ba359f10991 by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] msvcrt: Remove some duplicate definitions from msvcrt.h.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1f11f41f613264dd5b937d0df0a3ee746db0517c by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] msvcrt: Move the fenv_t definition to the public header.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 34422eb56cad1ba799270bc6dd56f31bec86023a by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] msvcrt: Use the public standard type definitions where possible in msvcrt.h.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0edef50dfae4ec294a949654fa1e03700b954dcb by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] msvcrt: Introduce flags field to describe locale stored in thread data.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4fc2b7293378be93275e316c3940e7d21b5bda09 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Lock _MB_CP_LOCK lock in setmbcp.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d5b2c3f233d2a7263f3b79133ce6216fa991c1f2 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_lconv type.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 70c06601e6bc44aa7b78f440b43c5accbcf32038 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_pthreadlocinfo type.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d5c0458bd17e1759d25a94038414bf5d4f84a828 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_pthreadmbcinfo type.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d496099c74ba7ce4d445a14dceb22b2de2ab0ec5 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT__locale_t type.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5114c85a0365d29f49c63ca967dfd2e9159c6338 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT prefix from locale functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 17f3f548861dc2c7502690b7d3183e3b9b8a5510 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_wchar_t type.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c302397c7375157ccca7de977d83c95f38015238 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use type ranges definition from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 758460faf7080efaadfe92a221ad6c623f561be9 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use simple type definitions from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fa272adaeb9df503a8fe04d503e07a41ae0c32a0 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use WEOF from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7acfe8fb73d88c354dcec0f56c3cdc6acacbdc04 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use EOF from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8180f4001a6d5a0befe6dfb4c0c3118853b7a413 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use struct tm from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6c4b7758c691fad6fd5b5f629a8a01b6bc2f961a by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from cpp.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 772f0331aa1c4e24f97ca5c5ae27a65805cea8d9 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use _beginthread_start_routine_t from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fbc9110d232fd5e86113fc73153b754278e0f5e9 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use errno values from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1317b935efaa841e8842b848d422d1bf2471e448 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use _onexit_table_t from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id babe6ceb7f7b206ce8181e35934fc0aa1ee02ae5 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use printf and scanf flags from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id eb6f79f96a81371d328476d255e27d3a47925b13 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use _CRT_FLOAT and _CRT_DBL from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 811647dff44ab93b89200d873d7707a02331d89a by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use _exception definiotion from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 595ee43c48dc75ebc03900b027d000ebd15dffd4 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use locale category definiotion from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e9a1ff11302bbcbb3db68fa4bbd827a7958067ca by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from errno.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id eeada5682b68ae2400271dbda0634be186f962b7 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from heap.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d784dbb89993d0565ea132109b110cc9500c97f4 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use FILE from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 926179938308b49a2ede5e9196d28535cfec782c by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use __utimbuf{32,64} from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2d471db92f0df5d0682369651c0cbb94312cc988 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use ctype definition from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id eabef91a9701ac72c91e64d946d31d829da92d3a by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use status word flags from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 09d018c73d4dbaeddf19333e9c5c6fae51d4c1ec by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use fpclass constants from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 480e25a5f6ae432f4688c79dbf7f0008a740aab6 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use _ARGMAX from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 45ac13551966f7a89ad4678fbc0f76f858663bcb by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use floating point exception signals definition from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9e085387ac8e6a6c34bc6e7bec8135ef84a247d6 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use signal definitions from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2d96d03006798dd64d42735ffbc3dc76fe6a1174 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use fpclassify constants from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d571f377e40082bf234c5b2e3b128598a370ae6b by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use FPU control word definitions from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4674860303badca0b88436fdc9c7d5be4f00b1b8 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from ctype.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 176aebb0c568e75043012fb0e6d61d6862323993 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from data.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 495f24ebb82af9864287f9cbc39aa4db108979d2 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use heap structures and definitions from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6d799bfa06a818b068bec6ce540477f89d4f63e1 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use stdio.h definitions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0d479b9d8c54184cce9678b3095bf01d5b4a473c by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from environ.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9011b0b7c05c481ff043357be655f1fc7e66b924 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from except.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6bd9ea5be9c1e53d2cf7369c5eb75817b3c80df5 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from exit.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2c35caa7671ec4fbf90651e3301cfc58c011031c by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from mbcs.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 065cf4e71496d96baf5f7ff35af4f0bbfee9d1a8 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from misc.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0364b7681fd6f628b06a9653119cd4f7d1c5cfdb by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from process.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f10c1118e2c2159140d32730f2e49ec70f37bd33 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from scanf.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a1662e3f7d6626618dc0158627ffbe8cf2c81be0 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from string.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1514c54ce560acadb4cacb77cd4ee5915e8dbd67 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from wcs.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6ad42ee7f4df2a3a731e404f090abe383d40dd1c by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from math.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4f2f3545e59c00aac92448aebe7484467a8cedce by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from dir.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 41fa6e4b6f0e64bfe8be35c215a3c01d8290700c by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from file.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1913affb7b4ee57740a0322e6962d588ae62aca0 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use _invalid_parameter_handler from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 264ba46bcdcd2119c2f9712ba52bb74c35bd369b by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use _purecall_handler from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 200fe8ac42ff0800c784ec686ccf494391f6907b by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use _Dcomplex definition from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 494a78940735ab31bef9a8ae1d5e58175667df37 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use _JUMP_BUFFER from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 835a83e3f9699a83482bc5e74d2e931d87cb1a5a by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use _finddata_t definition from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8a2dc3aa42551da56dfc3fb9f1b3979c032a9738 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use _stat64 definition from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 951968c88a2a705ebe7bbb1ac02cd64f8f899f5b by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove non-needed defines from msvcrt.h.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f67f1ce79ee98f88aedde3a915bb6d85b9a934ab by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove non-needed function declarations from msvcrt.h.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 79e950bb7989809f62573e3209f2cb1bc0852d6e by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use _configthreadlocale arguments definition from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a7b9948f396a904b43851105f14e86455ebae703 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] ucrtbase: Improve __intrinsic_abnormal_termination stub.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e734d729461855a5ddaf81f4e08e0cc2b3286e37 by Jacek Caban <jacek@codeweavers.com>

* [WINESYNC] msvcrt: Use __ASM_USE_THISCALL_WRAPPER in cxx.h.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id df446b9c21f52b917a9c2a360bccaed35896a32e by Jacek Caban <jacek@codeweavers.com>

* [WINESYNC] msvcrt: Improve memmove performance on i386 and x86_64 architectures.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49663
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 38c490496000c5852f14e9c022868c5107d9ff03 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Make __lc_time_data more similar to native.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 859261f4809a47fd030b605a6e418b7ac52f0790 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Lazily initialize console handles.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d5ab1401c0988b8c8c14ae7c64da0a55f4e4bbeb by Rémi Bernon <rbernon@codeweavers.com>

* [WINESYNC] msvcrt: Add helpers for creating base class RTTI.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 16f6a567f4c259bc9b856558f4deebd2f4aeb88c by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Fix _unDName crash when demangling class function pointer.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7a1e7cbeee94756f3c474ba63b9fe9db8bddde3a by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] include: Disallow wcsncpy() in Wine, similarly to strncpy().

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b35404aa61bf9d5c95ba9b51adb57df7cec1827b by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] msvcrt: Make UCRT _beginthread[ex]() hold the DLL reference.

MSVCRT's _beginthread[ex]() doesn't exhibit the same behavior and using
ThreadExit() does leak the reference.

FreeLibraryAndExit() has to be used because the DLL may be the only user
of the given CRT.

This fixes Baldur's Gate 3 crashing shortly after launch.

Signed-off-by: Arkadiusz Hiler <ahiler@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7435ca85453079283da43d716fac48aa1bf5ca3f by Arkadiusz Hiler <ahiler@codeweavers.com>

* [WINESYNC] msvcrt: Allow specifying destructor in DEFINE_CXX_DATA macro.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id bc05707364d722c7b8c105709962cb78c0469cd4 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Add macro that defines type_info vtable.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6c4cddc4f6324cfd6d37e269aaec111a8a665e22 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Rename scheduler.c file to concurrency.c.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id eff57ac9c6280751f5f51a66fcac05d6f842fecb by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Move _Trace_ppl_function to concurrency.c.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ce5c989171f458842bee6e168a65dc36d2ec61d5 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Rename exception::what() implementation to exception_what.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f1fa214b9f936bd91fecbfd6f05436d22311f4dd by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Introduce macro for creating exception class.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f6f8b30c47bc28be5df692743fcf81c7952153ce by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Move improper_lock implementation to concurrency.c.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ef81cfb5fbc6d8f2b892c2782bdd469a5bb2f526 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Move scheduler_resource_allocation_error to concurrency.c.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a8decf5c1511019e3cb22a0e4db06cb0e6b121b2 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Move invalid_scheduler_policy_key to concurrency.c.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 635f59f2765c03a91b589b810a898bb0b0e566e5 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Move invalid_scheduler_policy_value to concurrency.c.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a7bbdea08994625411c94da97ef6b5fbcfb5aaf6 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Move invalid_scheduler_policy_thread_specification to concurrency.c.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c9189a411b7941377cb414eed15d1ce02d43959c by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Move improper_scheduler_attach to concurrency.c.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9694fc11fee300134486ee359b525afe098748c8 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Move improper_scheduler_detach to concurrency.c.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1c9a30f217ef0afcfeb86acf3911e51e81f49880 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Simplify throw_exception helper.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5e3f959aed66b719d845e9e81b282210758444b0 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Fix _CxxThrowException prototype.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c306c527e708df33a67d31667be75adcbcbc7d7e by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] ntdll: Move some exception definitions to winternl.h.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 97479d3d32cd1adf1a77f74b19ecfd0560b78128 by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] include: Use the standard va_list instead of __ms_va_list when building with msvcrt.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2a92c58e1152e1d80395cf31d7cd3f282d094540 by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] ucrtbase: Avoid bool optimization in __std_exception_copy.

Otherwise GCC changes do_free = 1 assignment to *dst = *src which breaks
ucrtbase/cpp tests.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 21da1f2f1143cfc154a8d46c51d4922ff71008d6 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use the standard va_list instead of __ms_va_list.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d8ed47ec21b255976131c82e4c14653846765adb by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] msvcrt: Don't set frame to 0 in arm and arm64 setjmp.

This matches what was done for x86_64 in
882980c17a9a033fa8e49a4c116af9583698d218.

Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6a072b98c100f38a61fad00b6c96c86b3445efac by Martin Storsjö <martin@martin.st>

* [WINESYNC] msvcrt: Do not acquire fd lock in msvcrt_create_io_inherit_block.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51647
Signed-off-by: Doug Lyons <douglyons@douglyons.com>
Signed-off-by: Thomas Faber <thomas.faber@reactos.org>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5a514d3f45472ce1a169f33d14cdcfb07c51441e by Doug Lyons <douglyons@douglyons.com>

* [WINESYNC] msvcrt: Fix double-free and memory leak in type_info destructor.

Spotted by toying with the gcc's static analyzer.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 01111b941d469cb13ed9d3f63c2935930679bcb8 by Eric Pouech <eric.pouech@gmail.com>

* [WINESYNC]: crt is now in sync with wine-staging wine-7.0

---------

Co-authored-by: winesync <ros-dev@reactos.org>
2024-11-27 10:37:18 +02:00
Whindmar Saksit
c569aee023 [EXPLORER] Implement ABM_GET/SETSTATE and ABM_GETTASKBARPOS (#7525) 2024-11-25 19:51:19 +01:00
Thamatip Chitpong
af4e39385c [NTOS:CC] CcRosInitializeFileCache: Fix a missing spinlock release 2024-11-25 23:35:48 +07:00
Hermès Bélusca-Maïto
4aee0280f9 [SETUPLIB][REACTOS][USETUP] Finish unification of MBR extended and primary/logical partitions
Fixes previous attempt at commit 0ca4e6dcf, which was reverted by commit
bbdcc14b1 because the partitioning checks mistook unpartitioned disks as
GPT.

Addendum to commit 99f0937fd.

The partition-creation checks are unified for these partitions into one
single function. To prepare for GPT support, the specifics are put into
a separate MBRPartitionCreateChecks() helper, called for MBR disks by the
upper-level function. GPT disks will have a similar helper in the future.
2024-11-24 18:13:17 +01:00
Thamatip Chitpong
69bf140506 [NTOS:MM][NTOS:CC] Rewrite some cache memory management functions (#7510)
Use section object pointer with byte offset instead of using base address. This simplifies the Mm functions themselves and also the code in Cc that calls them.
Also add minor fixes for MmFlushSegment and MmPurgeSegment.
2024-11-24 21:37:27 +07:00
Timo Kreuzer
541cb0d9b2 [USER32] ordinals -> @ 2024-11-24 13:40:11 +02:00
Stanislav Motylkov
bbdcc14b1c [REACTOS] Temporarily revert 0ca4e6dcfa, as requested by Hermès
The setup mistakes the unpartitioned disk as GPT.
This reverts commit 0ca4e6dcfa.
2024-11-23 23:12:02 +01:00
Hermès Bélusca-Maïto
0ca4e6dcfa [SETUPLIB][REACTOS][USETUP] Finish unification of MBR extended and primary/logical partitions
Addendum to commmit 99f0937fd.

The partition-creation checks are unified for these partitions into one
single function. To prepare for GPT support, the specifics are put into
a separate MBRPartitionCreateChecks() helper, called for MBR disks by the
upper-level function. GPT disks will have a similar helper in the future.
2024-11-23 21:41:32 +01:00
Whindmar Saksit
89a3b8fa8a [SHELL32] Refresh SHELLSTATE before writing it (#7516) 2024-11-22 20:33:12 +01:00
Stanislav Motylkov
096a5518e5 [GITHUB] Fix MSVC ARM build
The latest GitHub Actions runner image 20241113.3.0 uses WDK 10.0.26100.0,
which dropped support for 32-bit ARM platform:
- https://github.com/golang/go/issues/68552#issuecomment-2290064500
- https://github.com/actions/runner-images/issues/10981

Fix the failing build by sticking to WDK 10.0.22621.0.

CORE-17604
2024-11-22 00:14:10 +01:00
Hermès Bélusca-Maïto
edb6d19aa8 [NTOS:KD64] Only use the UNIMPLEMENTED macro in the debugger's KdpSys* helpers.
This basically avoids re-entering the debugger (via the embedded breakpoint)
while we are already running within its context.

In addition, this allows the tests for Kd/NtSystemDebugControl
(see PRs #7424 and #7426) to run without having ReactOS to crash.
2024-11-21 22:34:37 +01:00
Hervé Poussineau
2d3f3a1613 [COMPBATT] Use BATTERY_TAG_INVALID instead 0 when applicable 2024-11-20 21:47:13 +01:00
Hervé Poussineau
05ae94092e [COMPBATT] Free device-related memory only if we failed
Otherwise, we just inserted in the BatteryList this device, and we will
probably crash later when accessing it.
2024-11-20 21:47:13 +01:00
Hervé Poussineau
2323dbcb4f [COMPBATT] Keep incoming Status on unknown IOCTL 2024-11-20 21:47:13 +01:00
Oleg Dubinskiy
f9e430f65b [NTOS:FSRTL] FsRtlAcquireFileExclusiveCommon: don't return before acquiring a file resource, except special cases (#7273)
* Don't return before file object's resource is acquired in FsRtlAcquireFileExclusiveCommon, except some special return cases, when return is reuired. Based on hpoussin_filter_extra.patch by Herve Poussineau (hpoussin) with improved comment, which matches the actual behaviour now.
This is required by fltmgr.sys driver from Windows XP/Server 2003 to work correctly, so this change fixes asserts/exceptions when releasing the file via FsRtlReleaseFile after acquiring, when using 3rd party filter drivers from several antivirus programs (e. g., Avast Free Antivirus all versions, AVG Antivirus Free 18.8, Avira AntiVir Personal 8.2, Dr. Web Security Space 8.0, Kaspersky Antivirus 2012 etc. etc.).
CORE-14157, CORE-14635, CORE-19318

* Add braces around return

Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>

* Improve the comment (make it more detailed)

* Correct checks sequence

Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2024-11-20 09:52:38 -06:00
Oleg Dubinskiy
8ed8682256 [NTOS:FSRTL] FsRtlAcquireFileExclusiveCommon: don't return before acquiring a file resource, except special cases (#7273)
Don't return before file object's resource is acquired in FsRtlAcquireFileExclusiveCommon, except some special return cases, when return is required. Based on hpoussin_filter_extra.patch by Herve Poussineau (@hpoussin) with improved comment, which matches the actual behaviour now.
This is required by fltmgr.sys driver from Windows XP/Server 2003 to work correctly, so this change fixes asserts/exceptions when releasing the file via FsRtlReleaseFile after acquiring, when using 3rd party filter drivers from several antivirus programs (e. g., Avast Free Antivirus all versions, AVG Antivirus Free 18.8, Avira AntiVir Personal 8.2, Dr. Web Security Space 8.0, Kaspersky Antivirus 2012 etc. etc.).
CORE-14157, CORE-14635, CORE-19318
2024-11-20 16:47:32 +01:00
Whindmar Saksit
4d0a26db58 [SHLWAPI][SHLWAPI_APITEST] Optimize StrRetToStrW WSTR handling (#7513)
This avoids Alloc/Free while also matching the Windows behavior.
2024-11-19 23:50:08 +01:00
Timo Kreuzer
e3c859ed96 [PSDK] intsafe.h: Define MIN/MAX macros the same way as in stdint.h
This avoids redefinition warnings.
2024-11-19 17:06:21 +02:00
Thamatip Chitpong
d52031a4f1 [NTOS:MM] MmPurgeSegment: Fix missing MmDereferenceSegment cleanup (#7509)
MiGrabDataSection adds a refcount. There is a missing MmDereferenceSegment cleanup in case of range check error.
Fix that by moving MiGrabDataSection calling code to after range check.
2024-11-19 11:17:41 +07:00
Vitaly Orekhov
2e3a080e10 [PSDK] Add definitions for WLAN_AVAILABLE_NETWORK.dwFlags member (#7504)
Enable use of flags denoting state of Wi-Fi access point relative to the network adapter trying to connect to it. Used when working with WLAN_AVAILABLE_NETWORK.dwFlags to check whether we are connected to the network or not, for instance.

These flags have been introduced in Windows 10.

References:
- https://learn.microsoft.com/en-us/windows/win32/api/wlanapi/ns-wlanapi-wlan_available_network
- Windows SDK

CORE-6905
2024-11-18 21:31:17 +01:00
Vincent Franchomme
1f2d67a841 [FS_REC] Rename Ext2 recognizer to Ext recognizer (#7497)
Rename the Ext2 recognizer to a more generic Ext to be more future-proof with a possible upcoming ext4 support.
Also, it already makes no sense to use the name ext2 as it already recognizes all the FS of the "Ext family".

In addition, add the Ext Recognizer for CDs.
2024-11-18 21:27:16 +01:00
Václav Zouzalík
8f0337f217 [TIMEDATE] Update German (de-DE) translation (#7490) 2024-11-18 21:26:13 +01:00
Václav Zouzalík
531c94a0c7 [THEMEUI][INF] Update German (de-DE) translation (#7489) 2024-11-18 21:24:57 +01:00
Serge Gautherie
9992fb183a [SDK] d3dkmthk.h: Fix an '#ifdef __REACTOS__' (#7474)
Addendum to commit 6907831.

- Reverse inclusion.
- Remove copypasta about WDDM version.
2024-11-18 21:24:24 +01:00
Whindmar Saksit
2834e5b3c8 [RAPPS] Initialize SHBrowseForFolder to current download folder (#7505) 2024-11-18 16:42:43 +01:00
Doug Lyons
e0759a5e35 [NTOS:MM] Finish MmAllocateMappingAddress and MmFreeMappingAddress and fix test failures. (#7491)
* [NTOS:MM] Fix MmAllocateMappingAddress and MmFreeMappingAddress and their regression test failures.
Follow up of #7260.
This fixes kmtest:MmReservedMapping failures and hang.
Based on mm-implement-mappingaddress.patch by Thomas Faber and some changes by Oleg Dubinskiy.
kmtest:MmReservedMapping revisions and updates to Vista+ method by Timo Kreuzer.

Signed-off-by: Oleg Dubinskiy <oleg.dubinskij30@gmail.com>
Signed-off-by: Timo Kreuzer <timo.kreuzer@reactos.org>

CORE-10147, CORE-14635, CORE-17409, CORE-19318
2024-11-18 02:44:51 -06:00
Timo Kreuzer
31334ebcfe [SETUPLIB] Use proper SEH instead of nasty hacks
Addendum to commit 2268b3d
2024-11-18 10:23:50 +02:00
Whindmar Saksit
8107ff8636 [SHELL32][SHELL32_APITEST] Consolidate file type description handling (#7485)
- Fixes the case where an extension exists in HKCR but has no ProgId (half of CORE-19355)
- Fixes some cases where Wine hardcoded "File and "... file" strings are used instead of localized strings in SHGetFileInfo.
2024-11-17 20:13:05 +01:00
Hervé Poussineau
997b1797f4 [BATTC] Fix comparisons when choosing to complete the status IRP
They were reversed, which meant to immediately complete the IRP
if conditions were NOT satisfied.

Remove a now useless/invalid call to QueryStatus, to return the
status which lead to IRP completion.
2024-11-16 23:33:41 +01:00
Timo Kreuzer
9dedcb67e9 [VCRUNTIME][CRT] Change WCHAR_MIN/WCHAR_MAX to match native headers
This avoids conflicting definitions with MS CRT headers.
2024-11-16 20:01:49 +02:00
Timo Kreuzer
53d3cc5f3f [VCRUNTIME] stdint.h: Update include guard for MIN/MAX macros
Include MIN/MAX macros for C++11 and above without the need to define __STDC_LIMIT_MACROS. This is what mingw uses.
2024-11-16 20:01:49 +02:00
Timo Kreuzer
e5633f656f [VCRUNTIME] Add missing definitions 2024-11-16 20:01:49 +02:00
Timo Kreuzer
e202420456 [VCRUNTIME] Allow disabling GCC attributes for SAL 2024-11-16 20:01:49 +02:00
Timo Kreuzer
764cb5b8a5 [VCRUNTIME] Add pmmintrin.h 2024-11-16 20:01:49 +02:00
Timo Kreuzer
a67f36888c [VCRUNTIME] Fix emmintrin.h 2024-11-16 20:01:49 +02:00
Timo Kreuzer
f493606999 [VCRUNTIME] Add immintrin.h 2024-11-16 20:01:49 +02:00
Timo Kreuzer
be8bbcbe92 [VCRUNTIME] Add isa_availability.h 2024-11-16 20:01:49 +02:00
Timo Kreuzer
fb49e9126e [VCRUNTIME] Fix eh.h 2024-11-16 20:01:49 +02:00
Timo Kreuzer
b75d476bb7 [VCRUNTIME] Add __nullptr definition for non-MSVC compilers 2024-11-16 20:01:49 +02:00
Whindmar Saksit
6d109254ab [SHELL32] Correctly compare pidls for SHBrowseForFolder BFFM_SETEXPANDED (#7499)
_ILIsEqualSimple just does a memcmp and that does not work for all items.

Should improve shell change notifications (CORE-13950).
2024-11-16 16:28:28 +01:00
Hervé Poussineau
81860b482a [CMBATT] Fix battery Tag
0 (ie BATTERY_TAG_INVALID) is not a valid battery tag.
First battery must have a tag of 1.
2024-11-12 21:26:42 +01:00
Hermès Bélusca-Maïto
6aa11ac494 [USETUP] Deduplicate code in SelectPartitionPage() 2024-11-10 18:45:58 +01:00
Hermès Bélusca-Maïto
5066818284 [USETUP] Deduplicate code in InstallDirectoryPage() 2024-11-10 18:45:57 +01:00
Hermès Bélusca-Maïto
8bb3e5a017 [USETUP] Minor simplifications in some branching code 2024-11-10 18:45:40 +01:00
Carlo Bramini
30b40247a3 [CALC] Fix copy command when output is NaN (#7496)
CORE-19745
2024-11-10 17:01:34 +01:00
Timo Kreuzer
0d6316b008 [CMAKE][LWIP] Fix build with newer CMake versions 2024-11-10 11:46:47 +02:00
Whindmar Saksit
9ccafe8e49 [SHELL32] Force FileType OpenWith verb (#7470)
CORE-19816
2024-11-09 16:49:27 +01:00
Whindmar Saksit
a17b6e9369 [SHELL32][BROWSEUI] Set DefView InvokeCommand directory (#7495)
If a .lnk shortcut does not specify a working directory, it should use the directory provided by the InvokeCommand caller when it's launced.

CORE-19855
2024-11-08 23:27:26 +01:00
Stanislav Motylkov
3ecd2363a6 [MSI][BOOTDATA][INF] Add missing mnemonic keys for the context menu
Also add accelerator FIXMEs where I don't know. CORE-12323
2024-11-06 00:34:58 +03:00
Stanislav Motylkov
6be0de5d7b [MSI][BOOTDATA][INF] Add missing localized strings to msi.dll resources 2024-11-06 00:26:18 +03:00
Stanislav Motylkov
3f4f51833a [BOOTDATA][INF] hivecls.inf: Update Russian (ru-RU) translation
CORE-19845
2024-11-05 23:30:15 +03:00
Stanislav Motylkov
b45429ce03 [BOOTDATA][INF] hivecls.inf: Add definitions for MSP / Msi.Patch files
These are used by Steinberg Cubase 5. CORE-19845
Also add some missing MUIVerb for Msi.Package.
2024-11-05 23:28:59 +03:00
Timo Kreuzer
51aac7ca93 [RTL] actctx.c: Restore wine tracing 2024-11-05 10:54:21 +02:00
Timo Kreuzer
d2753d6374 [RTL] Add minimal wine debug support functions 2024-11-05 10:54:21 +02:00
Timo Kreuzer
626b06bb5a [RTL] actctx.c: add an #ifdef __REACTOS__ 2024-11-05 10:54:21 +02:00
Timo Kreuzer
d58a040eb2 [RTL] Move ReactOS specific actctx init code into it's own function 2024-11-05 10:54:21 +02:00
Timo Kreuzer
711fa80fa1 [RTL] actctx.c: Remove ACTIVATION_CONTEXT_WRAPPED
This structure replaced magic field in wine's ACTIVATION_CONTEXT with a new field MagicMarker in a wrapped structure, with the only difference being the field offset. This is pointless, because it's not used anywhere outside of this file. Also remove the related functions, that were never even used in the first place.
2024-11-05 10:54:21 +02:00
Timo Kreuzer
20b5a26a3c [RTL] actctx.c: rename RefCount back to ref_count like in wine
There is no point in changing the name of this field.
2024-11-05 10:54:21 +02:00
Timo Kreuzer
db5fa3bffc [SDK] Add some missing definitions 2024-11-04 08:42:34 +02:00
Timo Kreuzer
dc0433f02a [SDK] Add some missing headers 2024-11-04 08:42:34 +02:00
Timo Kreuzer
1c5ddc893a [MSHTML] Improve a reactos hack
Don't define a dll-import function.
2024-11-04 08:42:34 +02:00
Hervé Poussineau
d6eebaa47a [TCPIP] Synchronize LWIP code to 2.2.0
- take code from STABLE-2_2_0_RELEASE commit on https://git.savannah.gnu.org/git/lwip.git
- remove lwip/contrib directory
- do required changes due to upgrade in
  * CMakeLists.txt
  * include/lwip/arch/cc.h
  * include/lwip/arch/sys_arch.h
  * include/lwip/lwipopts.h
  * include/tcpip.h
  * ip/CMakeLists.txt
  * ip/lwip_glue/lwip_glue.h
  * ip/lwip_glue/tcp.c
  * ip/transport/tcp/if.c
  * tcpip/icmp.c

CORE-13098
2024-11-03 22:49:45 +01:00
Hervé Poussineau
bc94df7288 [TCPIP] Add ip_addr_t typedef
ip_addr_t is used in later versions of LWIP.
2024-11-03 22:49:45 +01:00
Hervé Poussineau
5e5b31ecbd [TCPIP] Remove options in lwipopts.h having default values
If lwipopts.h doesn't provide a define, a default value is taken from lwip/src/include/lwip/opt.h
2024-11-03 22:49:45 +01:00
Andrei Miloiu
0b8a47c3f7 [MSCONFIG] Update Romanian (ro-RO) translation (#7353) 2024-11-03 20:39:20 +01:00
Andrei Miloiu
baa89e9c25 [3DTEXT] Update Romanian (ro-RO) translation (#7361) 2024-11-03 20:34:26 +01:00
Andrei Miloiu
0e7f676aa7 [FONTSUB] Update Romanian (ro-RO) translation (#7355) 2024-11-03 20:22:18 +01:00
Andrei Miloiu
16f1abe1c8 [RAPPS] Improve Romanian (ro-RO) translation (#7360) 2024-11-03 20:19:33 +01:00
Andrei Miloiu
d326ca1f36 [CLB] Update Romanian (ro-RO) translation (#7358) 2024-11-03 20:16:24 +01:00
Andrei Miloiu
11a32fce15 [MSCONFIG_NEW] Update Romanian (ro-RO) translation (#7407) 2024-11-03 19:58:48 +01:00
Andrei Miloiu
ddb2899505 [SERVMAN] Update Romanian (ro-RO) translation (#7413) 2024-11-03 19:54:26 +01:00
Eric Kohl
0e462a3905 [SECLOGON] Add missing service status updates
The Seclogon service must update its status to SERVICE_STOPPED on a SERVICE_CONTROL_STOP or SERVICE_CONTROL_SHUTDOWN command.

This fixes CORE-19793.
2024-11-03 10:37:04 +01:00
Baruch Rutman
79f2289a9d Fix various inet_ntop definitions 2024-11-02 21:57:28 +01:00
Baruch Rutman
4453711b5a [WS2_32_WINETEST] Sync tests for inet_pton, inet_ntop 2024-11-02 21:57:28 +01:00
Baruch Rutman
454de56c6b [WS2_32] Add inet_pton, inet_ntop 2024-11-02 21:57:28 +01:00
Alex Henrie
56229b7a06 [RTL] ntdll: Implement RtlIpv6StringToAddress(Ex)[AW]
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 474d1f0b2daa8583fa82fe203b207807ba29499d
2024-11-02 21:57:28 +01:00
Václav Zouzalík
2330d3ad03 [INTL] Update German (de-DE) translation (#7466) 2024-11-02 21:44:35 +01:00
vsaucing
ad827eaa71 [DISKPART] Update Turkish (tr-TR) translation (#7292)
Fixed errors.
2024-11-02 21:44:15 +01:00
Jose Carlos Jesus
0cf2390c3f [MSGINA] Update Portuguese (pt-PT) translation (#7235) 2024-11-02 21:43:48 +01:00
Timo Kreuzer
9b8c59d6b7 [FREELDR] Refactor LoadBootDeviceDriver 2024-11-02 17:31:57 +02:00
Timo Kreuzer
393b1f8998 [FREELDR] Implement PeLdrLoadBootImage 2024-11-02 17:31:57 +02:00
Timo Kreuzer
f9849f7cc4 [FREELDR] Initialize a global module list head for freeldr 2024-11-02 17:31:57 +02:00
Timo Kreuzer
6eac9b5891 [FREELDR] Pass VA instead of PA to PeLdrAllocateDataTableEntry
This allows to create DTEs for loader modules.
2024-11-02 17:31:57 +02:00
Timo Kreuzer
8a5ef4c1cc [FREELDR] Implement PeLdrLoadImageEx
This allows to load an image as freeldr extension code.
TODO:
- Add global bootloader DTE list
- Add wrapper function that also processes imports
- Use this for scsiport
2024-11-02 17:31:57 +02:00
Timo Kreuzer
bee8e81d5a [FREELDR] Move IoReadPartitionTable to ntoskrnl.c 2024-11-02 17:31:57 +02:00
Timo Kreuzer
77ba2d496b [FREELDR] Fix some trace prints 2024-11-02 17:31:57 +02:00
Oleg Dubinskiy
83d74e7433 [NTOS:MM] Implement MmAllocate/FreeMappingAddress (#7260)
Implement MmAllocateMappingAddress and MmFreeMappingAddress routines.
Based on mm-implement-mappingaddress.patch by Thomas Faber with some changes from me.
Required by Microsoft NTFS driver (from Windows Server 2003 SP2 only, the one from Windows XP SP3 does not need them) and by NDIS & TDI drivers (both from Windows XP SP3 and Windows Server 2003 SP2). Also they are called when using Dr. Web Security Space 8 filter drivers together with MS FltMgr & TDI.
Fortunately, this part (these two routines) are enough to get the drivers working in both cases, and others (partially incomplete) routines are not badly required, so they can be finished and committed later.
CORE-10147, CORE-14635, CORE-17409, CORE-19318
2024-11-02 15:10:51 +01:00
Timo Kreuzer
abbc784010 [VCRUNTIME] Stop including crtdefs.h 2024-11-02 12:52:59 +02:00
Timo Kreuzer
2955b1f0e9 [VCRUNTIME] Add some missing definitions to vcruntime*.h 2024-11-02 12:52:59 +02:00
Timo Kreuzer
90e95d15a2 [VCRUNTIME] Move some definitions from crtdefs.h to vadefs.h 2024-11-02 12:52:59 +02:00
Timo Kreuzer
1d01b8c6f0 [VCRUNTIME] Move some definitions from crtdefs.h to vcruntime.h
This reflects what native headers do.
TODO: Move _CRT_ALIGN to corecrt.h
2024-11-02 12:52:59 +02:00
Timo Kreuzer
ff2c7c8720 [VCRUNTIME] Add vcruntime.h and related (mostly empty)
This is for compatibility with some 3rd-party code.
2024-11-02 12:52:59 +02:00
Timo Kreuzer
84344399b5 [VCRUNTIME] Move compiler runtime headers into their own folder
These headers come with the MS compiler. Some of them are standard, like emmintrin.h, others are MS specific like crtdefs.h
This separation will allow using MS CRT headers. Eventually it can allow compiling with the compilers' runtime headers.
2024-11-02 12:52:59 +02:00
Timo Kreuzer
7b2bb7ecc8 [SPEC2DEF] Implement support for negated architecture
This is used by wine spec files.
2024-11-02 02:36:45 +02:00
Eric Kohl
d55ca68f7d [SETUPAPI] SETUP_CreateDevicesList must return ERROR_INVALID_DATA when the Enumerator is invalid
This fixes the devclass apitest.
2024-11-01 22:17:02 +01:00
Eric Kohl
91bc5b5e94 [UMPNPMGR] PNP_GetGlobalState returns CM_GLOBAL_STATE_SHUTTING_DOWN on service shutdown 2024-11-01 14:43:37 +01:00
Joachim Henze
978503cd46 [TASKMGR] *.rc: Tweak all AUTOCHECKBOXes (#7409)
- no functional change intended
- shrinks the rc files sizes and shrinks the binary size of taskmgr:
RosBEWin2.2.2 GCC8.4.0dbg taskmgr.exe from 696.320 -> 678.912 bytes ==> 17.408 bytes saved in the binary
- does also slightly beautify those lines when displaying them in the reshacker

JIRA issue: none
2024-11-01 11:55:23 +01:00
Ratin Gao
1f4ef448de [NTOS:EX] Fix SAL notations, Timeout parameter should be optional (#7482)
Fix warnings:

E:\3rdRepo\ReactOS_Fork4\ntoskrnl\ex\keyedevt.c(458): warning C6387: 'Timeout' could be '0': this does not adhere to the specification for the function 'ExpWaitForKeyedEvent'.
E:\3rdRepo\ReactOS_Fork4\ntoskrnl\ex\keyedevt.c(527): warning C6387: 'Timeout' could be '0': this does not adhere to the specification for the function 'ExpReleaseKeyedEvent'.

JIRA issue: None.

Proposed changes
Timeout parameter of those two functions should be optional.
2024-11-01 11:53:28 +01:00
Ratin Gao
9f784c65a2 [REACTOS] Fix 'writting' typos (#7484)
3rd-party files are not modified.
2024-11-01 11:50:09 +01:00
Thamatip Chitpong
898cc5663d [EXPLORER] Add tooltip for show desktop button (#7483)
CORE-15369
2024-11-01 01:09:22 +07:00
Whindmar Saksit
9cca5bf4b0 [SHELL32] No new menu and working properties in Drives and NetHood background menu (#7430)
- No "New" menu in My Computer background menu.
- Add "Properties" in NetHood background menu.
2024-10-31 14:12:34 +01:00
Eric Kohl
92996dac21 [SDK:INCLUDE] Add missing msv1_0p.h 2024-10-28 11:48:32 +01:00
Eric Kohl
dbad45a273 [MSV1_0] Implement the MsV1_0EnumerateUsers message in LsaApCallPackage 2024-10-28 11:45:12 +01:00
Doug Lyons
3bb1e64408 [NTGDI:FREETYPE] Account for non-breaking spaces in x-dim of IntExtTextOutW (#7479)
CORE-19768
Follow up of PR #7274. This stop WARN's from FF 28 as well.

* Make del and nbsp const's based on reviewer comments.
2024-10-26 16:44:39 -05:00
Hermès Bélusca-Maïto
3736938030 [PSDK] winbase.h: Add other missing CreateProcess() dwCreationFlags values
Vista:
  INHERIT_CALLER_PRIORITY
  CREATE_PROTECTED_PROCESS
  EXTENDED_STARTUPINFO_PRESENT
  PROCESS_MODE_BACKGROUND_BEGIN
  PROCESS_MODE_BACKGROUND_END

Win7: INHERIT_PARENT_AFFINITY

Win 10.0.17134.0 (Redstone 4): CREATE_SECURE_PROCESS

References:
https://abi-laboratory.pro/compatibility/Windows_5.0_to_Windows_6.0/x86_64/headers_diff/kernel32.dll/diff.html
https://abi-laboratory.pro/compatibility/Windows_6.0_to_Windows_7.0/x86_64/headers_diff/kernel32.dll/diff.html
https://github.com/hughbe/windows-sdk-headers
2024-10-25 22:27:37 +02:00
Hermès Bélusca-Maïto
a27227b831 [PSDK] winbase.h: Add CREATE_IGNORE_SYSTEM_DEFAULT
Import Wine commit
e19ad98564

winbase.h: Add CREATE_IGNORE_SYSTEM_DEFAULT.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

Co-authored-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
2024-10-25 21:21:45 +02:00
Hermès Bélusca-Maïto
d7fa4292ce [PSDK] winbase.h: Isolate the CreateProcess() dwCreationFlag values 2024-10-25 21:21:37 +02:00
Timo Kreuzer
c9a99bf63a [CMAKE] Silence warnings about unused variables on release builds 2024-10-25 14:37:52 +03:00
Timo Kreuzer
a5c5c19bcf [CMAKE] Fix warning about redefinition of NDEBUG on release builds
"-DNDEBUG" will result in NDEBUG being defined as 0. To define it to nothing, like we do in our code, it must be "-DNDEBUG="
2024-10-25 14:37:52 +03:00
Eric Kohl
88b3d86b29 [WKSSVC] Store the workstation configuration in the Registry 2024-10-25 10:54:20 +02:00
Timo Kreuzer
678aa63b3a [MSCTFIME][MSUTB][SHDOCVW] Remove __cxa_pure_virtual
Instead link to cpprt. This fixes build with GCC 13, which generates symbols that conflict with __cxa_pure_virtual, if there is a pure virtual function in a vtable. Importing __cxa_pure_virtual from a library works for all versions of GCC.
2024-10-24 18:39:50 +03:00
Timo Kreuzer
81b8d07acd [CPPRT] Add cpprt for GCC, tool
- Link it to libsup++
- Add __cxa_pure_virtual
2024-10-24 18:39:50 +03:00
Whindmar Saksit
ea87f9102b [SHELL32][SHELL32_APITEST] Fix ShellExecuteEx IDLIST folder (#7464)
This is mainly to fix the shell32 apitest, a better way to handle SEE_MASK_IDLIST should be investigated in the future.
2024-10-24 16:44:53 +02:00
Hermès Bélusca-Maïto
90aee8453f [SDK:CRT] Reenable malloc.h inclusion in xmmintrin.h (#6464)
Addendum to commit 318d696f0
2024-10-24 12:06:38 +02:00
Hermès Bélusca-Maïto
ab7fbd08a7 [WINE/MSVCRT] Fix MSVCRT_size_t, MSVCRT_intptr_t and MSVCRT_uintptr_t typedefs (#6464)
Make these definitions compatible with the other ambient size_t and
(u)intptr_t types used in the rest of our code base.

This partly reverts the corresponding typedef changes from wine commit
d8ab5a14aa
"msvcrt: Use intptr_t or size_t instead of long where appropriate."
2024-10-24 12:06:17 +02:00
Eric Kohl
51b55982e4 [WKSSVC] Implement undocumented NetrWkstaGetInfo Level 502 and NetrWkstaSetInfo
- Provide default Level 502 data only.
- Level 502 data need to be stored in the Registry.
2024-10-23 23:48:33 +02:00
Hermès Bélusca-Maïto
3ddb05d443 [SETUPLIB] GetSourcePaths(): Fix determination of the installation source path.
Refine the algorithm introduced in commit c560342f08 (r75667, r75676),
whereby the installation source path is based on the full image file path
of the installer program, and of the \SystemRoot symlink.

Also reverts commit 6f389a35db "Add a workaround for installing from USB drives"
CORE-17818

+ SAL2-annotate and add Doxygen comments.

----

In case the \SystemRoot full path prefixes the image file path,
use the resolved \SystemRoot as the installation source path.
Otherwise, use the image file path.

The \SystemRoot symlink target resolution needs full path reparsing,
because it can reference other symlinks. This is what happens, for
example when booting the installation from a removable hard-disk.
We can have:

         \SystemRoot ---> \Device\Harddisk1\Partition1\ReactOS
and:     \Device\Harddisk1\Partition1 ---> \Device\HarddiskVolume2
etc.
and we wish to resolve \SystemRoot to: \Device\HarddiskVolume2\ReactOS
instead of keeping the former version (using Harddisk1\Partition1).

We then verify whether it prefixes the image file path, which is
a fully reparsed path.
2024-10-23 23:19:58 +02:00
Serge Gautherie
2d655a487e [MORE] PagePrompt(): Optimize check to load string resources (#7476)
It is useless to check each string individually and to try to load them again.
Use a common flag instead.

Follow-up to 2dbbfe8 (0.4.15-dev-2691).
2024-10-22 20:44:27 +02:00
Tomáš Veselý
cf955094b4 [NTUSER] IntSetTimer(): Use timer IDs range [256,32767] as on Windows (#7277)
Based on the Doug Lyons' test in #7087, I found that my previous fix stopped working partially. Or rather, it would only work until the 32767 indexes were exhausted. It seems to me that the behavior of the bitfield has changed, because when I published the previous patch, it passed my tests.

- Bit array generates free ID cyclically, in the previous code after 32767 indexes expired the same index was returned, because of this the previous fix would stop working after expiration, so change the logic of calculating the next index.
- Change the index range to 256-32767 to match Windows, indexes 0-255 can theoretically be used as reserved for system purposes.

Addendum to fd327db20f. CORE-9141
2024-10-22 18:10:34 +03:00
Doug Lyons
551c74123c [VERSION] Fix VerQueryValue when return Value is NULL. (#7449)
CORE-19783
Co-authored-by: Timo Kreuzer <timo.kreuzer@reactos.org>
2024-10-22 05:28:10 -05:00
Timo Kreuzer
8ba61029e1 [CRT] Add C++ const correct overloads 2024-10-22 08:17:45 +03:00
Timo Kreuzer
8c2b8c835a [VERSION_APITEST] Add tests for VerQueryValue(A/W) 2024-10-22 00:46:42 +03:00
Hermès Bélusca-Maïto
eafa7c68b6 [SETUP:REACTOS] Improve/Add some translations 2024-10-21 15:54:02 +02:00
Timo Kreuzer
6f6b831722 [CRT] Introduce corecrt.h
Include this instead of crtdefs.h.
This is for compatibility with MS headers.
2024-10-21 14:53:29 +03:00
Timo Kreuzer
4e3c0529cf [RTL/x64] Fix RtlCaptureContext/RtlpRestoreContextInternal in kernel mode
According to tests, legacy fp state is not saved in kernel mode.
Also add an int 2c to the path that changes cs, as it should not be used and probably never will be.
2024-10-21 10:17:11 +03:00
Hermès Bélusca-Maïto
467efcb423 [USETUP] Adjust translations of the BootLoaderRemovableDiskPageEntries page.
The page is shown only when the user wants to install the bootloader
on a removable disk; not when there was a problem while installing it.
2024-10-20 16:51:29 +02:00
Hermès Bélusca-Maïto
424278db3f [SETUP:REACTOS] Add bootloader installation support (#7310)
CORE-13525
2024-10-20 16:51:26 +02:00
Hermès Bélusca-Maïto
b3cd576737 [SETUPLIB][USETUP] Introduce a bootloader installation helper (#7310)
CORE-13525

This is done so that the caller doesn't need to know details
about particular architecture specifics, like VBR, MBR etc.

Extra checks and specific handling is also performed for supporting
bootloader installation on removable media:
- verify whether the media is a floppy or some other removable media,
- depending on which, a suitable file system is chosen,
- and if the media is not a floppy, do the supplemental partition
  verifications to determine whether the media is a "super-floppy"
  (in the partitioning sense).
2024-10-20 16:51:25 +02:00
Hermès Bélusca-Maïto
636e2e9172 [SETUPLIB] Introduce a helper for copying bootloader files (#7310)
This function could be generalized later to copy other files necessary
for the bootloader; removing also the currently hardcoded placement in
the installation source directory, and instead, using a configurable
path (specified in txtsetup.sif); etc.

Adapted from a commit by Timo Kreuzer (see PR #7420)

Co-Authored-By: Timo Kreuzer <timo.kreuzer@reactos.org>
2024-10-20 16:51:24 +02:00
Hermès Bélusca-Maïto
d6d3d0eacd [SETUPLIB] Add helpers to determine whether a disk is partitioned as a "super-floppy" (#7310) 2024-10-20 16:51:23 +02:00
Hermès Bélusca-Maïto
ad5d9aa28a [SETUPLIB] Add UNICODE_STRING versions of the pOpenDevice helpers (#7310)
+ Use a FILE_SHARE_ALL define. Based on a suggestion from Whindmar Saksit.
2024-10-20 16:51:16 +02:00
Timo Kreuzer
1d3bce1a59 [NTOS:KE] Make KeFlushQueuedDpcs SMP ready
KeFlushQueuedDpcs is used by some drivers, when unloading or removing a device, to be sure no DPC is still running their code. On a UP system this can be done "inline", on an SMP system, it requires to send an IPI to each processor that has DPCs queued and also synchronize it with the calling thread, which is what KeSetSystemAffinityThread does implicitly: When a queued DPC was detected on a remote processor (implying that processor is currently running at DISPATCH_LEVEL or above), KeSetSystemAffinityThread will schedule the current thread on that processor and send a DPC interrupt. The remote processor will handle that DPC interrupt once it is back below DISPATCH_LEVEL. It will only run the current thread, after all queued DPCs (including threaded DPCs) have finished running.
2024-10-20 16:28:11 +03:00
Timo Kreuzer
bf95874c2d [REACTOS] Improve handling of non-standard names
- Link oldnames instead of defining names
- Define _CRT_DECLARE_NONSTDC_NAMES to 1 where needed
- Remove header hacks
2024-10-20 14:12:25 +03:00
Timo Kreuzer
b707be90a1 [REACTOS] Use standard conforming names
- Use _alloca instead of non-standard alloca
- Use _TCHAR instead of non-standard TCHAR
- Use _off_t instead of deprecated off_t
- Use _O_BINARY instead of O_BINARY
2024-10-20 14:12:25 +03:00
Timo Kreuzer
1de09c477c [3RDPARTY] Link to oldnames for stricmp/wcsicmp 2024-10-20 14:12:25 +03:00
Timo Kreuzer
a3bab12b50 [OLDNAMES] Add _CRT_NONSTDC_NO_DEPRECATE interface definitions 2024-10-20 14:12:25 +03:00
Timo Kreuzer
e4930be4ff [REACTOS] Use the ISO C and C++ conformant names: _wcsicmp, _stricmp
Stop using non-conforming wcsicmp, stricmp, strcasecmp
2024-10-20 14:12:25 +03:00
Timo Kreuzer
fb9571ee3c [WIN32K] Use UserRefObjectCo in co_UserFreeWindow 2024-10-20 09:35:14 +03:00
Timo Kreuzer
08b9354ff3 [WIN32K/USER] Fix callout object referencing in co_IntUpdateWindows
Move UserRefObjectCo, so that it covers co_IntSendMessage as well.
This caused a use-after-free during testing.
2024-10-20 09:35:14 +03:00
Timo Kreuzer
9eca7c52f6 [WIN32K] ASSERT that all callout references have been cleaned up on thread exit 2024-10-20 09:35:14 +03:00
Justin Miller
690783179e [SDK][WIN32SS] Make Them Build 2024-10-19 13:45:59 -07:00
Justin Miller
50647e58e4 [SDK] Disable the unknown-pragma for GCC 2024-10-19 13:45:59 -07:00
Justin Miller
e09679f2d1 [SDK] Import WDDM Headers from MIT varient in libdxg 2024-10-19 13:45:59 -07:00
William Kent
d4719197b2 [MKISOFS] Fix Clang check for macOS platforms (#7037)
* [MKISOFS] Fix Clang check for macOS platforms

On macOS, CMAKE_C_COMPILER_ID is "AppleClang". While certainly Clang,
this does not match the exact string "Clang" that is being checked for,
and as a result the warning flags guarded thereby are not passed to the
compiler. With this change CMake will recognize both Clang and AppleClang.

* Update sdk/tools/mkisofs/CMakeLists.txt
2024-10-19 12:15:31 -07:00
Hermès Bélusca-Maïto
90831e7451 [SERVICES] Use pointers to const string (PCWSTR) instead of non-const for argv (#7440)
const PCWSTR* == const (const WCHAR*)* == (const WCHAR*) const *
2024-10-19 18:29:03 +02:00
Daniel Victor
3fd6e34ab8 [FREELDR/x64] Fix the Multiboot pointer size (#7469)
Addendum to b524c18a3e. CORE-18374
2024-10-19 18:50:41 +03:00
Daniel Victor
b524c18a3e [FREELDR/x64] Add Multiboot header 2024-10-19 17:54:39 +03:00
Timo Kreuzer
398486f5f6 [ATL] CComCriticalSection destructor should not be virtual
Fixes GCC 13 build of shdocvw
2024-10-19 16:16:51 +03:00
Timo Kreuzer
fd265bd7ac [CMAKE] Enable proper definition of __cplusplus macro on MSVC
MSVC defaults to always reporting 199711L to satisfy broken C++ code. You have to add a command line argument to make it work correctly. See https://learn.microsoft.com/en-us/cpp/build/reference/zc-cplusplus?view=msvc-170
2024-10-19 15:11:44 +03:00
Whindmar Saksit
5797340164 [SHELL32] Fix broken delete file type verb (#7462)
CORE-19809
2024-10-18 14:42:08 +02:00
Timo Kreuzer
30952992e1 [ADVAPI32] Add some missing Vista+ exports 2024-10-17 18:39:37 +03:00
Timo Kreuzer
b27429b126 [ADVAPI32][ETWTRACE] Add etwtrace library and link advapi32 to it on NT6+ 2024-10-17 18:39:37 +03:00
Timo Kreuzer
98e7e64391 [SOFTPUB] Replace some stubs with forwarders 2024-10-17 18:39:37 +03:00
Timo Kreuzer
a2a8ce4947 [WINSPOOL.DRV] Improve some stubs 2024-10-17 18:39:37 +03:00
Timo Kreuzer
a5ed119813 [MSVCRT] Properly export sprintf_s and _vcwprintf 2024-10-17 18:39:37 +03:00
Timo Kreuzer
bed8b2a0a6 [FREELDR][NDK][X64] Remove KIP0PCRADDRESS definition and mapping
It is not used by either ReactOS or Windows.
2024-10-17 18:31:32 +03:00
Timo Kreuzer
4e5e72fa12 [CMAKE] Silence ML's "Assembling ..." message 2024-10-17 12:01:17 +03:00
Serge Gautherie
4c84e191fd [NTOS:KE/i386] KeStartAllProcessors(): ProcessorCount is a ULONG (#7455)
Let's be explicit.

Addendum to 516ccad (0.4.15-dev-7016).
2024-10-16 22:38:01 +02:00
Hermès Bélusca-Maïto
5d361b602d [FREELDR] fs.c: Fix handling of file handles, (de)referencing, and direct-device access (#7414)
- The original code was just incrementing the reference counts (RefCounts)
  of the device objects or the device/file handles, without decrementing
  them when closing the handles. This is now fixed.

  Notice the following:

  * When opening a file on a device (disk), the device's (and its
    handle's) RefCount is incremented, and the file handle's RefCount
    is incremented as well.

  * When closing a file, the file handle's RefCount is decremented
    (and the file closed if the RefCount reaches zero), and the file's
    parent device handle is also closed, recursively.
    This has the effect of decrementing the parent device handle's
    RefCount, and the device's own RefCount is decremented as well.

  IMPORTANT NOTE: The usefulness of handle-level RefCount is still
  under question, and might be (consistently) removed in the future.

- Fix opening a device (disk) in direct access, when this device is
  already opened. Indeed, we previously allowed direct access only if
  the device was opened as such for the very first time (its RefCount
  = 0 originally); no filesystem mounting was attempted as well.
  Then for any later open-operations on this device (while keeping an
  already-opened handle to it), filesystem access was assumed.

  Thus, this problem would show up in two ways:

  * Either the device is first opened for direct access, this succeeded
    and no filesystem was mounted. Then, for any other open-operations,
    the filesystem was NOT mounted, and opening files on it would fail.
    Direct accesses would succeed but would create an unnecessary second
    file handle.

  * Or, the device is first opened for file-access: a filesystem was
    mounted and file opening would succeed. Any other file opening
    operation would succeed as well (if the file exists). But, a direct
    access open-operation would fail, because now any open-operations on
    the device would be assumed to be a file opening.

  This is now correctly fixed. If direct-open is requested, just do it.
  If this is a file opening, we open the device, then try to mount a
  filesystem on it (if not already done), then we try to open the file.

  If file opening fails, derereference the device.

- Pass the file path to the filesystem-specific Open() functions without
  truncating the leading path separator, if any. This has to be handled
  by the filesystem routines themselves.
2024-10-16 22:20:52 +02:00
Timo Kreuzer
7dcfda815c [SPEC2DEF] Use explicit ordinals on MSVC, too
This prevents MSVC from reordering the exports in a way that doesn't match our spec file. Also improve the algorithm to apply ordinals, by starting with the first specified ordinal, possibly reserving ordinals for anything declared without an ordinal before.
2024-10-16 20:00:26 +03:00
Whindmar Saksit
f271bebb71 [SHELL32] Exclude executable extensions from File Types dialog (#7452)
PathIsExeW is used and will exclude exe, com, pif, cmd, bat, scf and scr. The previous #6122 PR added support for the FTA_Exclude flag and that will exclude .lnk files.

CORE-19805
2024-10-16 14:09:33 +02:00
Serge Gautherie
54433319af [USETUP] CabinetExtractFile(): Do not overwrite Status value (#7456)
Addendum to 5d4d912 (r15403).
2024-10-16 12:20:41 +02:00
Hermès Bélusca-Maïto
52192f19d6 [NTOS:KDBG] For SYSREG2: HACK emission of a 'bt' command when entering the debugger
CORE-19807
2024-10-14 23:37:22 +02:00
Hervé Poussineau
42914af218 [WIN32SS:ENG] Only accept VGASave service (ie vga.sys driver) as the real VGA device
CORE-19796
2024-10-14 23:26:11 +02:00
Hervé Poussineau
b4e781d72d [WIN32SS:ENG] Make gpPrimaryGraphicsDevice variable static 2024-10-14 23:26:11 +02:00
Hervé Poussineau
6e71e94242 [WIN32SS:ENG] Make gpVgaGraphicsDevice variable static 2024-10-14 23:26:10 +02:00
Hervé Poussineau
0d8e26588a [WIN32SS:USER] Remove assignation of gpPrimaryGraphicsDevice (already done in EngpUpdateGraphicsDeviceList) 2024-10-14 23:26:10 +02:00
Justin Miller
770adbc8a3 [WINETESTS] Fix warnings when compiling comctl32_winetest (#7316)
fix warnings when compiling comctl32_winetest
the comctl32 winetest just does a few things so properly mark the ros diff.
2024-10-14 14:14:56 -07:00
Hermès Bélusca-Maïto
b15963abb8 [NTOS:KDBG] Reintroduce the capability of KdbpCliInit() to interpret the KDBinit file (#4917)
Addendum to commit baa47fa5e.

Similarly to what was originally done, have KdbpCliInterpretInitFile()
parse the KDBinit file by breaking back into the debugger.
But contrary to before, replace the deprecated call to KdbEnter() by
a standard DbgBreakPointWithStatus(DBG_STATUS_CONTROL_C) . This allows
KdbEnterDebuggerException() to do the KdbpCliInterpretInitFile() call.

Additional fixes and improvements:

- Run KdbpCliInterpretInitFile() in full KDBG environment (interrupts
  disabled, modified IRQL, own stack), like the usual interactive loop.

- The KDBinit data buffer must be in non-paged pool.

- Demote the "Could not open KDBinit" error to a DPRINT, so that it
  doesn't pollute the debug log when the KDBG init function is called
  early (before the storage stack is initialized), or if the file
  doesn't exist -- since this is an optional feature.
2024-10-14 22:51:54 +02:00
Hermès Bélusca-Maïto
b86c4bd522 [NTOS:KDBG] Small improvements for KdbpCliMainLoop() and KdbpDoCommand() (#4917)
- Move the printing pager state reset code (setting the number of
  printed rows and columns to zero, and the output aborted flag)
  to KdbpDoCommand(). This allows to keep the original behaviour,
  while also inheriting it whenever KdbpDoCommand() is invoked
  elsewhere (for example, from KdbpCliInterpretInitFile()).

- Use KdbPuts/Printf() instead of KdbpPrint() for the entry banners,
  so that they aren't subject to the current printing pager state.
  Do the same for the "command unknown" error in KdbpDoCommand().

- Add a "Type 'help' for a list of commands" banner, for the users.

- Replace the do-while-loop with a simple while-loop.
2024-10-14 22:51:52 +02:00
Hermès Bélusca-Maïto
842e40d7cd [NTOS:KDBG] Minor code style for the following commits 2024-10-14 22:51:51 +02:00
Joachim Henze
478a9030a5 [SHELL32] ro-RO.rc: Strip unintended empty line that we don't have in en-US
Addendum to last commit 43d07fe695
which accidentally introduced it.
2024-10-14 20:40:36 +02:00
Whindmar Saksit
43d07fe695 [SHELL32] File Types dialog: Add functionality, optimize loading time (#6122)
- Support loading protocols like XP
- Support most of the relevant EditFlags
- Support reading/writing the AlwaysShowExt and BrowserFlags properties
- Loads the list much faster with optimized code and delaying the large icon and description string
- Reduce the number of magic buffer sizes by replacing them with defines that are in the ballpark of being correct
- Implemented column sorting
- Removed custom icon extraction code
- Removed IDS_FILE_EXT_TYPE string because it must be the same as IDS_ANY_FILE
- Don't touch verb keys that are not edited to retain the original REG type
- Don't clobber unchanged %1 icon location when editing a type

CORE-19756
2024-10-14 18:03:28 +02:00
Joachim Henze
798ea90784 [FREELDR] Less outdated version-hardcodes (#7384)
Those haven't been groomed anymore for more than 10 years. We had many thousands of
different freeldr builds with different behavior and bugs each, but nobody ever
did have the slightest motivation to update those hardcoded
FREELOADER_MAJOR_VERSION, FREELOADER_MINOR_VERSION, FREELOADER_PATCH_VERSION
from ver.h. And that is logical, because touching other modules will change the behavior
of freeldr as well, so it is absolutely impossible to groom anything like that correctly.
Instead we should simply do what we started to do in PR7383, which will at least give
some information (the actual sources it was built from) instead of some misleading voodoo-version.

This might slightly shrink the size of freeldr as well, but I was too lazy to measure by how much.
2024-10-13 19:23:38 +02:00
Whindmar Saksit
654c59a5f8 [SHELL32_APITEST] Basic ILIsEqual tests (#7438) 2024-10-13 17:46:06 +02:00
Timo Kreuzer
439e67d1d8 [CRT] vadefs.h: Fix name of __crt_va_*
This is to be compatible with native CRT headers.
2024-10-13 11:57:35 +03:00
Whindmar Saksit
325d74c30f [SHELL32] Don't display .zip files in BrowseForFolder (#7437)
.zip files have both SFGAO_STREAM and SFGAO_FOLDER attributes set (https://devblogs.microsoft.com/oldnewthing/20171101-00/?p=97325)

CORE-19751
2024-10-11 23:57:28 +02:00
Whindmar Saksit
abf3bde91b [SHELL32] Make Recycle Bin PIDL data handling more robust (#7328) 2024-10-11 23:47:06 +02:00
Hervé Poussineau
08a6834075 [VIDEOPRT] Allow conflicting resources if this is the video base driver
CORE-18960
2024-10-11 20:35:23 +02:00
Hermès Bélusca-Maïto
84f423f030 [SERVICES] ScmControlService: Use TransactNamedPipe() instead of successive Write+Read (#7441)
This function combines those that write a message to and read
a message from the specified pipe into a single operation.

Its usage helps in simplifying the code further.
2024-10-11 16:56:18 +02:00
Hermès Bélusca-Maïto
0f7b021fe6 [SERVICES] Merge ScmControlService() and ScmSendStartCommand() together (#7392)
In addition:

- Acquire ControlServiceCriticalSection just before doing the pipe
  operations, and release it just after.

- SAL2-annotate ScmControlService().

- Re-order the ScmControlService() parameters in a more natural way
  (image comm pipe, service name, control code; then: arguments for
  the control command).

- Improve some DPRINTs.
2024-10-11 16:06:53 +02:00
Joachim Henze
38f21f93e9 [DESK] *.rc: Tweak AUTOCHECKBOXES (#7403)
Tweaks all AUTOCHECKBOXes in desk.cpl
no functional change intended, it seems to work well when testing it locally
Makes the rcs shorter

it also makes the binaries a few bytes smaller:
GCC8.4.0dbg RosBEWin2.2.2 DESK.CPL shrinks 650.240 bytes -> 647.168 bytes
it prettifies also the display in reshacker
2024-10-11 03:35:28 +02:00
Maj Soklič
16437937f7 [DDRAW] Fix taskbar visibilty when switching to fullscreen (#7443)
Fix taskbar being displayed when switching to fullscreen when using DirectDraw
JIRA issue:
CORE-16140
CORE-16148
CORE-16321
CORE-18644
CORE-17799
2024-10-10 15:21:28 -07:00
Hermès Bélusca-Maïto
016e7bb968 [WUAUSERV] Improve some DPRINTs 2024-10-10 22:44:46 +02:00
Timo Kreuzer
176de8bd25 [NTOS:PNP] Don't use a pointer to a stack structure in a work-item
Previously FsRtlNotifyVolumeEvent would pass a pointer to a TARGET_DEVICE_CUSTOM_NOTIFICATION structure on the stack to IoReportTargetDeviceChangeAsynchronous, which would store a pointer to it in a work-item and process that after the stack object was already out of scope. This broke x64 boot. Started happening after recent fixes to IoReportTargetDeviceChangeAsynchronous.
2024-10-10 20:28:59 +03:00
Timo Kreuzer
c0590f5de0 [NTOS:MM] Fix PTE protection for executable CoW pages
Fixes Blender x64.
See https://jira.reactos.org/browse/CORE-19761
2024-10-10 17:37:56 +03:00
Whindmar Saksit
52265ae007 [SHELL32] Implement SSF_NOCONFIRMRECYCLE recycler setting (#7434)
CORE-12309
2024-10-09 22:00:11 +02:00
Whindmar Saksit
8ff9781eae [SHELL32] Always initialize COM for Folder Options dialog (#7433)
CORE-19784
2024-10-09 21:58:44 +02:00
Doug Lyons
2f824a4a18 [SERVICES] Fix services delay on stopping (#7375)
Retry of @yagoulas PR #1225.

JIRA issues: CORE-16949
and CORE-15064
2024-10-09 12:50:58 -05:00
Whindmar Saksit
f4cb10f596 [SHELL32] Remove view related items from File menu (#7429)
CORE-19778
2024-10-08 18:17:24 +02:00
Hermès Bélusca-Maïto
ee5338ff13 [CMLIB] Fix GCC13 print formatting '%lu' warning (#7408)
CORE-19724

sdk/lib/cmlib/cmcheck.c: Print the HCELL_INDEX indices in hexadecimal.

------------------

sdk/lib/cmlib/cmcheck.c:321:60: warning: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'ULONG' {aka 'unsigned int'} [-Wformat=]

and at lines 341, 357, 374, 554, 579, 733, 760, 801, 984, 1003, 1458,
1476, 1521, 1551, 1670

sdk/lib/cmlib/cmcheck.c:1251:65: warning: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'HCELL_INDEX' {aka 'unsigned int'} [-Wformat=]

and at lines 1282, 1303, 1551

sdk/lib/cmlib/cmcheck.c:1326:79: warning: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'LONG' {aka 'int'} [-Wformat=]

sdk/lib/cmlib/cmcheck.c:1684:76: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'CM_CHECK_REGISTRY_STATUS' {aka 'unsigned int'} [-Wformat=]

and at line 1711

------------------

sdk/lib/cmlib/cmheal.c:223:108: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'ULONG' {aka 'unsigned int'} [-Wformat=]

and at lines 240, 319, 335

sdk/lib/cmlib/cmheal.c:480:79: warning: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'int' [-Wformat=]

------------------

sdk/lib/cmlib/hiveinit.c:976:62: warning: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'ULONG' {aka 'unsigned int'} [-Wformat=]

and at lines 988, 1492
2024-10-08 17:48:03 +02:00
Hermès Bélusca-Maïto
a0f8b40d5a [CABMAN] Fix GCC13 buffer format overflow warning (#7408)
CORE-19724

sdk/tools/cabman/dfp.cxx:1136:36: warning: 'sprintf' may write a terminating nul past the end of the destination [-Wformat-overflow=]
 1136 |             sprintf(InfLine, "%s=%s", GetFileName(SrcName).c_str(), DstName);
      |                                    ^
sdk/tools/cabman/dfp.cxx:1136:20: note: 'sprintf' output 2 or more bytes (assuming 4097) into a destination of size 4096
2024-10-08 17:47:46 +02:00
Dmitry Borisov
10b08aa2bb [ISAPNP] Detect I/O ports at runtime (#7411)
Improve the driver's portability.
CORE-17977
2024-10-07 16:10:08 +02:00
Vitaly Orekhov
50a72881be [APITESTS] Add tests for CAtlList::AddHeadList and CAtlList::AddTailList 2024-10-07 15:41:28 +02:00
Vitaly Orekhov
103d84448f [ATL] Implement CAtlList::AddHeadList and CAtlList::AddTailList
What about a convenient way to append CAtlList to each other?
2024-10-07 15:41:28 +02:00
Julen Urizar Compains
d3ec7cdd48 [USER32] Hackfix for CORE-17902 - The cursoricon (copyimage) that returns NULL to render - LR_COPYFROMRESOURCE (#6886)
* [USER32] Hackfix for CORE-17902 - The cursoricon (copyimage) that returns NULL to render - LR_COPYFROMRESOURCE

---------

Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2024-10-07 05:46:02 -05:00
Adam Słaboń
32e65f2f8d [KERNEL32] GetDriveTypeW: Fix the case with unformatted volumes and volume GUID names
Fix the case when GetDriveTypeW would return DRIVE_NO_ROOT_DIR when it
got a volume GUID name and had to access an unformatted volume.
Fixes Rufus not being able to find an unformatted volume after writting new MBR.
2024-10-07 11:16:03 +02:00
Adam Słaboń
5c5cd20b9d [FMIFS] Improve FormatEx and Chkdsk
- Remove the hack for missing IOCTL_MOUNTDEV_QUERY_DEVICE_NAME
- Handle DriveRoot without a trailing backslash
2024-10-07 11:16:03 +02:00
Adam Słaboń
1d18b12ff7 [NTOS:PNP] PiNotifyTargetDeviceChange: Don't free incorrect buffer 2024-10-07 11:16:03 +02:00
Adam Słaboń
77af265315 [NTOS:PNP] IoReportTargetDeviceChange: Correct the check for system PnP notifications
Now IoReportTargetDeviceChange will process the custom notifications (rather than processing only those that it shouldn't).
2024-10-07 11:16:03 +02:00
Adam Słaboń
56f6734fa5 [KERNEL32] GetVolumeNameForRoot: Use towupper for uppercasing the drive letter
Drive letter is a wide character, using the non-Unicode aware toupper could corrupt it.
2024-10-07 11:16:03 +02:00
Adam Słaboń
358fecdcf0 [FORMAT] Handle unformatted volumes 2024-10-07 11:16:03 +02:00
Adam Słaboń
c5a9f22d4e [FORMAT] Use QueryDeviceInformation for retrieving the volume size before formatting it
QueryDeviceInformation returns more reliable volume length and works
with unformatted volumes. It will return volume length only on ROS and Vista+ however,
so also keep the GetFreeDiskSpaceExW as a fallback for XP/2003.
2024-10-07 11:16:03 +02:00
Adam Słaboń
4838d7bd56 [SDK][FMIFS] Partially implement QueryDeviceInformation
On Windows, QueryDeviceInformation leverages the ifsutil.dll's API.
This is a standalone implementation that mimics Vista behaviour.
2024-10-07 11:16:03 +02:00
Serge Gautherie
8de4d4d2ea [NTOS:KDBG] Add missing \n to DPRINT() calls (#6018)
And demote/promote some DPRINT()/DPRINT1().
2024-10-07 11:07:47 +02:00
Thamatip Chitpong
259180a568 [NTOS:MM] MmFlushSegment: Simplify return (#7422) 2024-10-07 15:56:29 +07:00
Timo Kreuzer
0c2cdcae83 [REACTOS] Add missing line breaks at end of file 2024-10-06 10:47:11 +03:00
Hermès Bélusca-Maïto
764881a94b [FREELDR] Remove the "setupldr" build target (#7419)
The setupldr and freeldr binaries are the same since commit 948e82af1
(r65832), because both their functionality have been shared.
2024-10-03 12:32:45 +02:00
Hermès Bélusca-Maïto
3b928898ef [FREELDR] Simplify some control branches in loops (#7417)
Collapse some tests; remove redundant `continue;`

Pointed out by Serge Gautherie.
2024-10-03 11:47:31 +02:00
Daniel Victor
5ed33debf4 [UXTHEME] Add Portuguese Portugal (pt-PT) and Portuguese Brazil (pt-BR) translations (#7418)
Matches corresponding translations in the desk.cpl applet.
Addendum to d11582f0e. CORE-5991
2024-10-03 10:30:56 +03:00
Justin Miller
a65b6ae946 [USBSTOR] Don't assert on clean up if initization didnt finish (#7412)
During investigation into some of the USB stack issues we've been running into I've found that when a USB storage device is already plugged in during boot and removed before it finishes initialization we run into this assert.

The logic in this function removes the pools made for the following entries in DeviceExtension indiscriminately this makes debugging a bit more difficult. Instead of depending on this behavior of ALWAYS being filled with valid data, let's free the following pools ONLY if they're initialized. This change prevents us from bugchecking when USB flash drives are removed early during boot. This makes the debugging experience a little more sane.
2024-10-02 23:21:50 +02:00
Hermès Bélusca-Maïto
3dfbe52699 [FREELDR] fs.c: Minor refactoring in ArcOpen(); fix a memory leak (#7385)
- `ArcOpen()`: flatten the registered-device search for-loop.
  Limit it to just the device search, and exit early.
  The rest of the initialization is now done outside the loop.

- The `DeviceName` string pointer may have been allocated from
  the heap, for path normalization (see `NormalizeArcDeviceName()`).
  This pointer is then only used in the device search loop and not
  nused anymore afterwards. The old code didn't free this pointer
  and memory could leak. This is now fixed easily, thanks to the
  loop flattening.

- Rename `DEVICE` member `Prefix` to `DeviceName`; SAL-annotate
  `FsRegisterDevice()`.
2024-10-01 22:15:11 +02:00
Hermès Bélusca-Maïto
689b9e0475 [FREELDR] fs.c: Move the "()" -> "(0)" ARC path normalization code into a function (#7385)
This function will be useful in other places later.
2024-10-01 22:14:02 +02:00
Hermès Bélusca-Maïto
829ad06179 [FREELDR] fs.c: Simplify FileId checks; add missing DeviceId invalidation (#7385)
- Replace a lot of `MAX_FDS` by `_countof(FileData)`;

- The duplicated FileId validation logic is wrapped with
  the `IS_VALID_FILEID()` macro.

- When returning an invalid FileId value on purpose, use
  `INVALID_FILE_ID` instead of `MAX_FDS` (that could vary
  if the file handle table gets extended).
  And replace the `(ULONG)-1` also used for that purpose
  by `INVALID_FILE_ID`.

- Add missing DeviceId invalidation:
  * when failing to open a file handle in `ArcOpen()`;
  * when registering a new device in `FsRegisterDevice()`.
    There, having DeviceId always set to zero would tell
    the code that the corresponding device's file ID is
    the first one in the table, which is a BUG. (Many devices
    would have the same file ID...)

- In addition: massage a bit some indicial for-loops.
2024-10-01 22:14:01 +02:00
Hermès Bélusca-Maïto
29a0ff73e6 [FREELDR] fs.c: Move the filesystem mount routines list into a table (#7385)
This allows to make the code better extendable: adding a new FS
mount routine into the table, instead of duplicating also a whole
`if (!FileFuncTable) ...` check.

Later, this table will be made dynamic, so that new filesystems could be
dynamically registered at runtime, and a filesystem could be forced to
be mounted by the user (using a specific syntax).
2024-10-01 22:13:51 +02:00
Hermès Bélusca-Maïto
3a7fe56a5d [FREELDR] Change GEOMETRY "Sectors" to "SectorsPerTrack" and introduce a new "Sectors" field (#7379)
----
Thanks to the following testers!
- Dmitry Borisov (@disean) for testing on NEC PC-98 emulator;
- Justin Miller (@DarkFire01) for testing on UEFI platform;
- Stanislav Motylkov (@binarymaster) for testing on Xbox emulator
  (xemu), both livecd and bootcd.
----

"SectorsPerTrack" is for the legacy Cylinders/Heads/Sectors(PerTrack)
scheme.

- On BIOS-based PCs, INT 13h can return (for LBA-only drives) an invalid
  geometry, like: C/H/S = (-1)/(-1)/(-1). This is also what happens in
  our hwide.c driver (see IdentifyDevice() for ATAPI devices):
db419efbf2/boot/freeldr/freeldr/arch/drivers/hwide.c (L918-L928)

  as well as on VirtualBox for CD-ROMs:
https://www.virtualbox.org/browser/vbox/trunk/src/VBox/Devices/PC/BIOS/disk.c#L155

- Therefore, we cannot reliably calculate a valid total number of sectors
  by multiplying the Cylinders*Heads*SectorsPerTrack values. In addition,
  such a multiplication could overflow a 32-bit ULONG.
  Thus, a separate ULONGLONG Sectors member is required to hold such a
  value, that is retrieved differently. For example for ATAPI devices,
  our hwide.c driver does return a valid TotalSectors value, even though
  CHS values are invalid. Other platforms, like UEFI, just work using
  logical block addressing (LBA) values (see EFI_BLOCK_IO_MEDIA).

- uefidisk.c : Per the spec, EFI_BLOCK_IO_MEDIA::LastBlock contains
  "The last LBA on the device. [...] For ATA devices, this is reported
  in IDENTIFY DEVICE data words 60-61 (i.e., Total number of user
  addressable logical sectors) _minus one_.
  For SCSI devices, this is reported in the READ CAPACITY parameter
  data 'Returned Logical Block Address field' _minus one_."
  In other words, LastBlock is a zero-based LBA index quantity. The
  corresponding total number of valid "sectors"/blocks of the device
  is therefore, (LastBlock + 1).

- Cleanup some old disabled code.
2024-09-30 12:11:15 +02:00
Mikhail
f4be6dc36f [MSIEXEC][MSI] Sync msiexec and msi to wine-9.8 (#6897)
* [MSIEXEC] Sync msiexec to wine-9.8

* [WINESYNC] msi: Disable FS redirection for temporary file in cabinet_copy_file().

wine commit id a58c6251870dfb7d214464e709bbbc9ca649b900 by Paul Gofman <pgofman@codeweavers.com>

* [WINESYNC] msi/tests: Correct a couple of failure messages in test_msirecord.

wine commit id 2fde0a3f5c233b0ea1637f409998ce4ee85d28a7 by Alex Henrie <alexhenrie24@gmail.com>

* [WINESYNC] msi: Use the wcsdup function instead of reimplementing it.

wine commit id 7cc7a6defc08d4de7574b7a75d574c3ab1f32db8 by Alex Henrie <alexhenrie24@gmail.com>

* [WINESYNC] msi: Use _O_* constants from fcntl.h instead of redefining them.

wine commit id b07c95e79cdf6ae26c5170daa481ad160e0ce76a by Alex Henrie <alexhenrie24@gmail.com>

* [WINESYNC] msi: Remove wrappers around CRT memory allocation functions.

wine commit id d920aa81ad0c4618c27ebd7e9863618e988328e0 by Alex Henrie <alexhenrie24@gmail.com>

* [WINESYNC] msi: Initialize all members of WINTRUST_DATA.

The pSignatureSettings field was not unitilized so it got a random value from
the stack causing a later crash when it was dereferenced in Wintrust
(SoftPubloadSignature).

wine commit id 904bedb3e96bc68101652e151db102532399abe8 by Philip K. Gisslow <ripxorip@gmail.com>

* [WINESYNC] msi: Fix memory leak on realloc failure in create_diff_row_query (cppcheck).

wine commit id 3e231d0f36a56ce991c7edbb6ae7845094e8417e by Alex Henrie <alexhenrie24@gmail.com>

* [WINESYNC] msi: Fix memory leak on realloc failure in msi_get_window_text (cppcheck).

wine commit id 6c1dd0f2c5669e084eb1f84571c38761a97c0970 by Alex Henrie <alexhenrie24@gmail.com>

* [WINESYNC] msi: Fix memory leak on realloc failure in search_directory (cppcheck).

wine commit id d394df4a30feb685927908fce2887bf5496b5d66 by Alex Henrie <alexhenrie24@gmail.com>

* [WINESYNC] ntdll: Default to Windows 10.

wine commit id 69154f0329aec4fb64886a0689da198b5323dcde by Hans Leidekker <hans@codeweavers.com>

* [MSI] Fix build

* [WINESYNC] Update winesync file

* [WINESYNC] msi/tests: Avoid test failures when running with insufficient rights.

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

wine commit id 79ec3d9fb8551e84e9ff71dcf18861430246278a by Hans Leidekker <hans@codeweavers.com>

* [WINESYNC] msi: Install and patch global assemblies in InstallFinalize.

Installing global assemblies requires assembly caches to be initialized and
this is no longer the case after the PE conversion (builtin fusion no longer
loads if the dll is not present on disk).

The next patch changes msi to perform late initialization of the assembly
caches so that native fusion can be loaded once it's installed by .NET
installers. However, there's no guarantee that all necessary files and
registry keys are installed before the InstallFiles and PatchFiles actions
are executed. Therefore this patch moves the parts of these actions handling
global assemblies to InstallFinalize.

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

wine commit id 2c450fd6215c0da4685143f97ece8b6db0f54a0b by Hans Leidekker <hans@codeweavers.com>

* [WINESYNC] msi: Perform late initialization of the assembly caches.

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

wine commit id d9d700f3328f00ec419571df0e02cef208fa1e7b by Hans Leidekker <hans@codeweavers.com>

* [WINESYNC] msi: Remove msi_ prefix from static functions.

wine commit id 3611398b7575177b91e8162a84ebca977c50c2f5 by Hans Leidekker <hans@codeweavers.com>

* [WINESYNC] msi: Get rid of unnecessary typedefs.

wine commit id 258012742512a4072265fcc47826c52319bd37ab by Hans Leidekker <hans@codeweavers.com>

* [WINESYNC] msi: Handle memory allocation failure in get_link_file (cppcheck).

wine commit id 687c4f5c8dc65def6fc066d5d802d7448db70d7f by Alex Henrie <alexhenrie24@gmail.com>

* [WINESYNC] msi: Annotate memory allocation functions with __WINE_(DEALLOC|MALLOC).

wine commit id 9df04bfdb03a3017f532e70a047ee83290dbc257 by Alex Henrie <alexhenrie24@gmail.com>

* [WINESYNC] msi/tests: Fix the ok() formats so they match the size of their arguments.

wine commit id b6fb1b8983af7644b78bb0ba5fb9d18a1f0822f1 by Francois Gouget <fgouget@codeweavers.com>

* [WINESYNC] msi/tests: Ok_() takes printf-style arguments.

This lets the compiler check that the format and argument sizes match.

wine commit id a80b183af74194a06af3281ee272590a7134b7f1 by Francois Gouget <fgouget@codeweavers.com>

* [WINESYNC] msi: Return ERROR_OUTOFMEMORY if calloc fails in TransformView_Create (scan-build).

Instead of ERROR_SUCCESS.

wine commit id daa20d9d636057d7009ff3652a8577b423d23fcf by Alex Henrie <alexhenrie24@gmail.com>

* [WINESYNC] msi: Make TransformView_Create static.

wine commit id 1da5618cbac1214082bfb897dc81804d14fc6e9e by Alex Henrie <alexhenrie24@gmail.com>

* [WINESYNC] msi: Fix memory leak in ready_media (scan-build).

base_url was never freed, and can simply be enlarged instead of copying
it to a new buffer.

wine commit id c39f785b34692ee994b2449cc17a96815517e9bf by Alex Henrie <alexhenrie24@gmail.com>

* [WINESYNC] msi: Fix memory leak on error path in MSI_ProcessMessage (scan-build).

wine commit id d06b3fd5274b056c720e2fb42eb189052d99404d by Alex Henrie <alexhenrie24@gmail.com>

* [WINESYNC] msi: Release record instead of free.

../dlls/msi/dialog.c:4476:11: warning: attempt to call free on non-heap object 'hdr' [-Wfree-nonheap-object]
    free( &rec->hdr );
          ^

wine commit id 7b3690dd7399cd64123554c8a6fc7e35dcbebbe1 by Daniel Lehman <dlehman25@gmail.com>

* [WINESYNC] include: Remove redundant __WINE_USE_MSVCRT checks.

wine commit id 93630ce14ebf16333fda8481b5ede6f587eb32ca by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] msi: Fix memory leak on error path in MSI_OpenPackageW (scan-build).

wine commit id 4db2ffa60e16e06b4f6ef89fcc4c73229f4446b1 by Alex Henrie <alexhenrie24@gmail.com>

* [WINESYNC] msi: Fix double free on error paths in TransformView_Create (scan-build).

If TransformView_Create returns an error, it should not return a pointer
that table_load_transform will try to free.

wine commit id 0653409e0631582d89edaab0ac516994710dae1a by Alex Henrie <alexhenrie24@gmail.com>

* [WINESYNC] msi: Fix memory leaks in HANDLE_CustomType23 (scan-build).

wine commit id 993f4d48d23477e70e92256890c77687a1c4ba08 by Alex Henrie <alexhenrie24@gmail.com>

* [WINESYNC] msi: Reject shorter/longer lines in MsiDatabaseImportA.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54532
Signed-off-by: David Kahurani <k.kahurani@gmail.com>

wine commit id e1ddc58a259d80f16bf1e62f23428775e1b070a0 by David Kahurani <k.kahurani@gmail.com>

* [WINESYNC] msi: Convert newlines to alternate representation when exporting.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54532
Signed-off-by: David Kahurani <k.kahurani@gmail.com>

wine commit id 60e4f8a261ae9044aafa9c4eec2a3f2aec6481b5 by David Kahurani <k.kahurani@gmail.com>

* [WINESYNC] msi: Remove DECLSPEC_HIDDEN usage.

wine commit id 51049c95a242f1553562a442142e813e37cee233 by Alistair Leslie-Hughes <leslie_alistair@hotmail.com>

* [MSI] remove DECLSPEC_HIDDEN

* [WINESYNC] msi: Fully initialize the control structure in dialog_line_control().

Fixes: 76606eaea034c51a73190aac92e75d8b20e82164
Fixes: 174b7b51ac9e57c6cfa8f48e62bbf468ae3b1f24

wine commit id 735584076efafc29673e0c9418a64343634f9aa5 by Jinoh Kang <jinoh.kang.kr@gmail.com>

* [WINESYNC] msi: Make insertion order of line controls consistent with other controls.

Fixes: 2c5bd49297f79d9941a256d8ec61e0eb2bf9bf9c

wine commit id 3eceda2f2a77754f0bf93ea33018e8ef49e82669 by Jinoh Kang <jinoh.kang.kr@gmail.com>

* [WINESYNC] msi: Don't open code dialog_add_control() in dialog_line_control().

Commit b1cc87cb656 ("msi: The line control has a height of exactly 2
device units.", 2007-12-16) open-coded the body of
(msi_)dialog_add_control() inside dialog_line_control() modulo the
height override.

Except the fixed height, line controls have nothing special compared to
other controls.  Thus, there is little merit in open-coding it.

Also, dialog_line_control() has bit-rotted over time; it already missed
a few changes that were done to any other controls.

Fix this by just using dialog_add_control().  Also, add a special case
logic just for line controls.

wine commit id 1fca47b724b3835ac0267f58c5b3486fc222fc71 by Jinoh Kang <jinoh.kang.kr@gmail.com>

* [WINESYNC] msi: Use nameless unions/structs.

wine commit id 8de0a9dc740d3ed1e3cf9460852db7e609122f3b by Alexandre Julliard <julliard@winehq.org>

* [MSI] disable nameless structs

* [WINESYNC] msi/tests: Use nameless unions/structs.

wine commit id 490aee03e45222aa9d7e3e7fd6ff80064dc3778d by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] makedep: Use #pragma makedep testdll for TESTDLL resources.

wine commit id 81da9ff0f8dea4932a3afdc4c447c1c9242bb596 by Rémi Bernon <rbernon@codeweavers.com>

* [WINESYNC] msi: Use CreateFileW() for handling path from cabinet_open() instead.

wine commit id 085e95cd5eceb36c3e21cb7d42adab5a6af38a38 by Jactry Zeng <jzeng@codeweavers.com>

* [WINESYNC] msiexec: Use CRT allocation functions.

wine commit id 0f44b3bdcb3d91701a9a8ef1ad07f3e88c08a666 by Alex Henrie <alexhenrie24@gmail.com>

* [WINESYNC] msi: Remove DECLSPEC_HIDDEN usage.

wine commit id 91e81083458374706bbace11114f4ad5e473ac07 by Alistair Leslie-Hughes <leslie_alistair@hotmail.com>

* [WINESYNC] msi: Store Context as MSIINSTALLCONTEXT in MSIPACKAGE.

Avoids casting to enum pointer in msi_locate_product call.

wine commit id 2daa8c9f95b35983c885f5f7efe9e1b48e91f679 by Jacek Caban <jacek@codeweavers.com>

* [WINESYNC] msi/tests: Initialize pathkey in test_installprops.

It could be used uninitialized on early no access return.

wine commit id 93668319dd63add97036fbb79b5745c699117313 by Jacek Caban <jacek@codeweavers.com>

* [WINESYNC] regsvr32: Use message boxes by default for output.

regsvr32 is in GUI subsystem and shouldn't interact with console.
Keeping unix I/O output in silent mode.
Removing -c option as not existing in native.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>

wine commit id ac8da35b87005e45947b8164a4132f3bbb4ec2cc by Eric Pouech <epouech@codeweavers.com>

* [MSI]: Reduce diff

* [WINESYNC] msiexec: No longer use console/file output APIs.

Regular GUI apps don't.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>

wine commit id e048f71ecbb103ae7c1876092cb8244b24a73cb7 by Eric Pouech <epouech@codeweavers.com>

* [WINESYNC] msi: Fix a memory leak (Coverity).

wine commit id 4afca1787febb012d0cdd2c007dd32beba35178d by Zhiyi Zhang <zzhang@codeweavers.com>

* [WINESYNC] msi: Don't write past end of string when selecting parent directory.

wine commit id bbce5d014db7f023b133d6d09e6846e027586f7d by Fabian Maurer <dark.shadow4@web.de>

* [WINESYNC] msi: Avoid leaking stream on DB update.

MSI_RecordGetIStream adds a reference to the stream. This
reference should be negated as we are done setting the stream.

Signed-off-by: David Kahurani <k.kahurani@gmail.com>

wine commit id 386dbe1059ba08485696760c267ef06dbed95bad by David Kahurani <k.kahurani@gmail.com>

* [WINESYNC] msi/tests: Expand costing tests.

wine commit id 674efeb1f7445935cf4f49dd1285727055664ab9 by Zebediah Figura <zfigura@codeweavers.com>

* [WINESYNC] msi: Round costs up to 4096 bytes instead of clamping.

wine commit id 9725a2286acdb791de316295d9bcb11411a3fd56 by Zebediah Figura <zfigura@codeweavers.com>

* [WINESYNC] msi: Store component cost in 512-byte units.

This avoids overflow when component costs exceed 4 GB.

wine commit id d7bbe884ef29215f4db2027f450fb959314f5383 by Zebediah Figura <zfigura@codeweavers.com>

* [MSI] store component cost in 512-byte units

* [WINESYNC] msi: Multiply by 512 in dialog_vcl_add_drives().

The main motivation here is to avoid overflow, and multiplying in one place seems simpler.

wine commit id 4a227c62a59a55aff9bacf1473c7f478f5c83294 by Zebediah Figura <zfigura@codeweavers.com>

* [MSI] reduce diff

* [WINESYNC] msi: Create the custom action server as an elevated process.

Dragon Naturally Speaking 12.5 manually validates that the custom action server
is elevated.

One might imagine that the right approach here is to add a manifest to msiexec;
however, msiexec does not always trigger a UAC prompt on Windows.

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

wine commit id 366398cc53c76028c8dfe8d8a16c78a6a10ce962 by Zebediah Figura <z.figura12@gmail.com>

* [WINESYNC] msi/tests: Delete the temp .msi file in all failure cases.

wine commit id 43fb0ecd0717ad1a6aa0702ed68368ee35d3ecda by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] msi/tests: Use the helpers from utils.h in more modules.

wine commit id b3f11ceb7a0ddcf5fe742377f99c947b0b56a051 by Hans Leidekker <hans@codeweavers.com>

* [MSITEST] include util header

* [WINESYNC] msi/tests: Try restarting tests elevated.

Wine starts processes non-elevated since e92ba2de43d7afbe0704b11b29f7c30f44dfaeca
which means that many tests are skipped now.

wine commit id a6eb51f0e595b2e5ddc521fb61b10d72849dd0f2 by Hans Leidekker <hans@codeweavers.com>

* [MSITEST] try restarting for tests elevated

* [WINESYNC] msi/tests: Get rid of workarounds for old Windows versions.

wine commit id 738ec8285583248a84349939734ed600a47ba73d by Hans Leidekker <hans@codeweavers.com>

* [MSI] fix patch failed

* [WINESYNC] msi: Install global assemblies before running deferred custom actions.

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

wine commit id 7f0ca9c284d15d03f14a8fefefac834990d622cd by Hans Leidekker <hans@codeweavers.com>

* [WINESYNC] msi: Install global assemblies after install custom actions and before commit custom actions.

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

wine commit id 27f5470ff4c20121b9eacd702c888400191c7d9e by Hans Leidekker <hans@codeweavers.com>

* [WINESYNC]: msi is now in sync with wine-staging wine-9.8

* [MSI] Fix build

* [WINESYNC] Update WINESYNC doc

* [MSI] Remove nonameless* defines

* [MSIEXEC] Fix build

* [MSIEXEC] Fix build

* [MSI] Fix vcl_get_cost
2024-09-29 10:24:15 -07:00
Andrei Miloiu
1176530663 [EXPLORER_OLD] Update Romanian (ro-RO) translation (#7405) 2024-09-29 16:34:18 +02:00
Joachim Henze
6709cf03fa [MSCTFIME] msctfime.rc turkish-sort (#7401)
Addendum to 0.4.16-dev-79-g 17be785eef
2024-09-28 22:41:59 +02:00
Ethem De Santa
17be785eef [MSCTFIME] Add Turkish (tr-TR) translation (#7381) 2024-09-28 21:24:09 +02:00
Joachim Henze
dbda7ab66f [FDEBUG] *.rc: Less outdated version-hardcodes (#7383)
We do have 22 rc files. Strip a hardcoded version in all of them.
Which hasn't been groomed by anyone for longer than the year 2005 already (SVN r18478).
What a waste of bytes!
2024-09-28 21:23:28 +02:00
Joachim Henze
55e4e2b9a4 [DESK] *.rc: Tweak comboboxes WS_CHILD, CBS_SORT (#7399)
We had a mixup between languages regarding WS_CHILD, CBS_SORT for some comboboxes.
Harmonize that by:
- Strip explicit WS_CHILD from all comboboxes (because it is implicitly available)
- Strip CBS_SORT from IDC_EFFAPPEARANCE_ANIMATIONTYPE and IDC_EFFAPPEARANCE_SMOOTHINGTYPE because Windows does not sort them.
  This fixes the wrong order in those controls
2024-09-28 21:20:32 +02:00
Vitaly Orekhov
c2082ce92a [PSDK] Define maximum SSID length properly (#7394)
Avoid using magic numbers for structures and ease the day for those
who do not remember IEEE 802.11 specifications by heart.

- Add a #define that matches by name with one used since day one
  of Visual Studio 2008 (VS2005 does not have Native Wi-Fi SDK)
- Remove magic constant from DOT11_SSID.ucSSID size definition

Reference: https://learn.microsoft.com/en-us/windows/win32/nativewifi/dot11-ssid
CORE-6905
2024-09-28 18:28:15 +03:00
Vitaly Orekhov
1c0b769e96 [PSDK] Add defines for dwFlags used by WlanGetAvailableNetworkList (#7390)
This will be used by Wireless LAN Wizard (wlanwiz).
Reference: https://learn.microsoft.com/en-us/windows/win32/api/wlanapi/nf-wlanapi-wlangetavailablenetworklist

CORE-6905
2024-09-28 18:20:22 +03:00
Whindmar Saksit
053939e27c [RAPPS] Hide the main window during active download/install if the user closes it (#7014) 2024-09-26 18:58:30 +02:00
Whindmar Saksit
2f83e6a65d [RAPPS] Use different mutex and title for AppWiz mode (#7350)
The two different modes needs separate mutex and window titles, otherwise you can end up stuck in AppWiz mode.
2024-09-26 18:06:13 +02:00
Joachim Henze
4f4be5c498 [FREELDR] Print arch + buildnumber on crash-screen (#7382)
This commit tries to improve the quality of the screenshots that we do get posted in JIRA,
where we couldn't even see up to now which build and arch was run.
This is in the wider context of CORE6762
(I intentionally left out the minus in the CORE-ID to prevent auto-linkage to that ticket)
2024-09-26 00:49:29 +02:00
Mahir Gül
064d6d3427 [MSPAINT] Update Turkish (tr-TR) translation (#7371) 2024-09-26 00:12:19 +02:00
Andrei Miloiu
9acaefc3b0 [MATRIX] Improve Romanian (ro-RO) translation (#7362) 2024-09-25 15:25:11 +02:00
Hermès Bélusca-Maïto
840d39b9d0 [FREELDR] i386/pc/pcdisk.c: Fix LBA reads retry loop (#7367)
When the Int 13h AH=42h "Extended read" function fails, the disk address
packet's LBA block count is reset to the number of blocks that have been
successfully transferred. This is more or less fine, unless one wants to
ensure the exact number of sectors gets read.

If the function fails so that zero sectors were read, the retry loop is
restarted, but with the packet's LBA block count member reset, as per
the documentation. (In this example, it is reset to zero.) Then, at the
next retry attempt, zero sectors are requested to be read, and this time
of course, the call succeeds... Wrongly, of course, this is not what's
expected.

Therefore, for each retry, the LBA block count member should be set
again to the correct number of sectors to read. There are maximum 3
retries, so the retry loop will stop anyway, but the LBA read will now
correctly fail and return FALSE, as expected.

This problem doesn't exist in the retry loop for the Int 13h, AH=02h
"Read Disk Sectors" CHS function, because here, the call is made only
using registers, and we use a pair of RegsIn/RegsOut. RegsOut receives
the modified register values, but the input RegsIn stays unchanged.
2024-09-25 13:24:08 +02:00
Hermès Bélusca-Maïto
4190b48924 [FREELDR] Fix the seg:off values when dumping the extended drive parameters (#7367)
(By the way, it's "EDD": "Enhanced Disk Drive", not "EED"...)

The 13th and 14th USHORTs (at offsets 0x1A-0x1D) in the retrieved buffer
from the INT 13h, AH=48h "Get Extended Drive Parameters" function,
correspond respectively to the offset and the segment of the "EDD
configuration parameters", see http://www.ctyme.com/intr/rb-0715.htm

Fixes code introduced in commit b3f11cfb38 (r17484).

----

16 years ago, these values were wrongly stored in the returned buffer
by VirtualBox, see https://www.virtualbox.org/ticket/2848 .
This has been fixed since VBox 2.1.0 in commit 15712 (22 Dec. 2008):
https://www.virtualbox.org/changeset/15712/vbox
This problem was also noticed earlier (07 Mar. 2008) and fixed in Xen:
https://lists.xenproject.org/archives/html/xen-devel/2008-03/msg00229.html

This bug originated from Bochs, from which the two projects above
adapted their rombios.c code. It was fixed on 08-09 Oct. 2007 by
Myles Watson, see https://sourceforge.net/p/bochs/mailman/message/13777090/
and included in Bochs 1.15x and 1.185+
https://sourceforge.net/p/bochs/mailman/message/12953093/
https://sourceforge.net/p/bochs/mailman/message/12953094/
2024-09-25 13:05:07 +02:00
Hermès Bélusca-Maïto
e2d0c7de30 [FREELDR] iso.c: Perform extra validation before mounting the ISO filesystem (#7367)
Validate the primary volume descriptor version and its reported
logical block size.
2024-09-25 13:05:02 +02:00
Hermès Bélusca-Maïto
56eede6e38 [FREELDR] iso.h: Fix definition of the "Primary Volume Descriptor" PVD structure (#7367)
For reference, see the cdfs/cd.h RAW_ISO_VD structure.

Each of the old "VolumeSetSize", "VolumeSequenceNumber" and "LogicalBlockSize"
ULONG fields actually correspond to pairs of USHORT fields:
"VolumeSetSizeL" and "VolumeSetSizeM", etc., where the "L" one contains
the value in little-endian format, while the "M" one contains the same
value in big-endian format.

Additionally, use UCHARs for the character arrays.
2024-09-25 12:56:47 +02:00
Hermès Bélusca-Maïto
5d99a70597 [FREELDR] Minimally reformat include/fs/iso.h 2024-09-25 12:56:46 +02:00
Timo Kreuzer
db419efbf2 [WIN32K] Fix protection of USER heap
Create the section with PAGE_READWRITE, not PAGE_EXECUTE_READWRITE and map in user mode with PAGE_READONLY, not PAGE_EXECUTE_READ.
Original commit was ea5261f in 2006. The comments suggest that back then the heap code had issues with it, which is not the case anymore.
2024-09-24 13:32:28 +03:00
Andrei Miloiu
9139d0fab1 [NETID] Fix header in Romanian (ro-RO) translation (#7357) 2024-09-21 19:40:52 +03:00
Timo Kreuzer
469d4dbbab [USETUP] Fix handling of 0 sized files in the cab 2024-09-20 14:08:13 +03:00
Doug Lyons
e128cbc680 [GDIPLUS] Fix for gdiplus/graphics.c regression with GCC 8.4.0 from 4.7.2(#7348)
Affects ribbon bar when running Super Finder XT 1.6.3.2 from rapps.

Change four REAL variables to DOUBLE to improve precision.

CORE-19456
2024-09-19 14:54:49 -05:00
Hermès Bélusca-Maïto
058a67cb4a [SHELL32] Use the correct flags with ListView's GetNextItem()
LVIS_* -> LVNI_*
2024-09-19 18:44:37 +02:00
Whindmar Saksit
d4815873fe [SHELL32] Don't leak SetProp (#7347) 2024-09-18 21:48:58 +02:00
Andrei Miloiu
042a025835 [LICCPA] Fix header in Romanian (ro-RO) translation (#7349)
Addendum to e8c7597b17.
2024-09-18 14:32:14 +03:00
Hermès Bélusca-Maïto
4e59858941 [RAPPS] Change the "Welcome" text with a suitable explanatory one in APPWIZ-mode (#6655)
- Delete CAppRichEdit::SetWelcomeText() and move its implementation
  inside CAppInfoDisplay::SetWelcomeText().

- Make CAppInfoDisplay::SetWelcomeText() select a suitable text,
  depending on normal mode or APPWIZ mode.

- IDS_WELCOME_TITLE: Remove the double \n\n from the resources,
  and add them programmatically instead.
2024-09-18 12:31:51 +02:00
Hermès Bélusca-Maïto
5aecdd0840 [RAPPS] Don't display the "Selected" apps count in APPWIZ mode (#6655)
The count makes sense only in normal mode, where we can select many apps
for bulk-install.

Split the IDS_APPS_COUNT string into it and IDS_APPS_SELECT_COUNT, and
append the number of selected apps only when we aren't in APPWIZ mode.
2024-09-18 12:31:50 +02:00
Hermès Bélusca-Maïto
f23394986a [RAPPS] Recalculate the toolbar max buttons width when deleting the buttons (#6655)
Done so that the toolbar can display correctly the buttons,
and their labels if possible, when resizing the RAPPS window.
2024-09-18 12:31:48 +02:00
Hermès Bélusca-Maïto
9835ea27d2 [RAPPS] Build up a minimal UI for RAPPS started in AppWiz mode (#6655)
- Only the "Installed/Applications/Updates" items are shown.
- Delete the "Settings" item in the "File" menu.
- Remove unnecessary toolbar buttons: ID_INSTALL, ID_CHECK_ALL, ID_RESETDB.

- gui.cpp CMainWindow::ProcessWindowMessage():
  Forbid the "Install" tree-view section to collapse.

  However, there is currently a bug in Wine's comctl32, which ignores
  the value returned from the TVN_ITEMEXPANDING notification handler
  to control the collapse/expansion behaviour.

  https://bugs.winehq.org/show_bug.cgi?id=53727

  As a result, this feature doesn't work in ReactOS yet.
2024-09-18 12:31:47 +02:00
Hermès Bélusca-Maïto
b1a3479500 [RAPPS] Remove the IDR_APPLICATIONMENU menu (#6655)
It is redundant with the "Programs" one from the main menu.
2024-09-18 12:31:46 +02:00
Hermès Bélusca-Maïto
39867020f7 [RAPPS] Separate the banner-like resource strings from the other ones. 2024-09-18 12:31:45 +02:00
Hermès Bélusca-Maïto
2d0182345a [RAPPS] Don't show the "Description" column for installed applications.
As it currently is, it doesn't provide much useful information.
It will be re-enabled later when we support other columns ("Publisher",
"Size", "Installed on", ...) and the possibility to show/hide columns.
2024-09-18 12:31:43 +02:00
Hermès Bélusca-Maïto
2a2df969b0 [RAPPS] Simplify CAppsListView::SetCheckboxesVisible() into ShowCheckboxes() 2024-09-18 12:31:43 +02:00
Hermès Bélusca-Maïto
385274e2dd [RAPPS] Merge CMainToolbar::Show/HideButtonCaption() into one single function. 2024-09-18 12:31:41 +02:00
Timo Kreuzer
e8cf32cf15 [WIN32NT_APITEST] Fix tests for NtUserSystemParametersInfo 2024-09-18 10:22:26 +03:00
Timo Kreuzer
a23e8da23e [WIN32NT_APITEST] Fix NtGdiCreateBitmap test on x64 2024-09-18 10:22:26 +03:00
Timo Kreuzer
f68d8d5459 [CRT_APITEST] Fix version check 2024-09-18 10:22:26 +03:00
Timo Kreuzer
a54be9726d [KMTEST/x64] Fix tests for RtlCaptureContextKM 2024-09-18 10:22:26 +03:00
Timo Kreuzer
7052992973 [COM_APITEST] Fix 2 tests to pass on Windows 2003 2024-09-18 10:22:26 +03:00
Timo Kreuzer
73c6e99e14 [TESTS] Disable cmd:reactos, it's broken 2024-09-18 10:22:26 +03:00
Timo Kreuzer
5140a990fe [BROWSEUI_APITEST] Comment out tests that fail on Windows
@Katayama Hirofumi please investigate.
2024-09-18 10:22:26 +03:00
Andrei Miloiu
e8c7597b17 [LICCPA] Update Romanian (ro-RO) translation (#7295) 2024-09-18 01:10:05 +02:00
Andrei Miloiu
5fab184d80 [ACPPAGE] Update Romanian (ro-RO) translation (#7294) 2024-09-18 01:09:26 +02:00
Andrei Miloiu
8f9723ae3b [SHUTDOWN] Update Romanian (ro-RO) translation (#7293) 2024-09-18 01:08:22 +02:00
Timo Kreuzer
96c65e94e1 [NTOS:MM] Properly handle execution in NX section
This prevents processes from looping forever, thinking the fault was already resolbed, because the page is writable.
2024-09-16 16:04:43 +03:00
Timo Kreuzer
fd3c571d36 [RTL][KERNEL32][ROSAUTOTEST] Disable debug prompts during autotest
This fixes timeouts + reboots for user mode assertion failures on the testbots. As a bonus it now shows a backtrace.
2024-09-16 10:10:55 +03:00
Whindmar Saksit
301675c112 [RAPPS] Respect partial settings configuration (#7247)
Instead of defaulting all settings if any setting is missing, respect any setting that is already set and default the rest.
2024-09-16 00:51:53 +02:00
Timo Kreuzer
d734bd784c [WIN32KNT_APITEST] Fix NtGdiEnumFontOpen test on x64 and Win7+ 2024-09-15 19:28:07 +03:00
Timo Kreuzer
8e047e931e [NTDLL_APITEST] Fix NtCreateFile test on x64 2024-09-15 19:28:07 +03:00
Timo Kreuzer
c52763f7de [MSVCRT_APITEST] Fix ieee test on x64 2024-09-15 19:28:07 +03:00
Timo Kreuzer
7b44ae4384 [KERNEL32_APITEST] Fix GetDriveType test on x64 testbot
Apparently Z: is a remote drive, so use Q: instead.
2024-09-15 19:28:07 +03:00
Timo Kreuzer
4d10ead793 [UUID] Add missing IID_INetConnectionCommonUi2
This is identical to IID_INetLanConnectionUiInfo
2024-09-15 19:28:07 +03:00
Timo Kreuzer
d5b3bb4f4a [ATL_APITEST] Fix CSimpleArray test
The test violated the one definition rule and was using the constructor from a different implementation of CCreature.
2024-09-15 19:28:07 +03:00
Timo Kreuzer
be56475ccf [ATL_APITEST] Fix a test that fails on Win 2003 x64 2024-09-15 19:28:07 +03:00
Timo Kreuzer
edf02414b9 [ATL_APITEST] Add missing vcproj for CRegKey 2024-09-15 19:28:07 +03:00
Timo Kreuzer
a8cda82924 [IPHLPAPI_APITEST] Fix a test for x64 2024-09-15 19:28:07 +03:00
Timo Kreuzer
a71d80239d [ADVAPI32_APITEST] #if out 2 tests for x64 that fail on Windows 2003 x64 2024-09-15 19:28:07 +03:00
Timo Kreuzer
dbb72f4923 [NTUSER] Fix unaligned access in co_IntSetWindowLongPtr 2024-09-15 12:09:09 +03:00
Timo Kreuzer
201f00ab6f [USER32][NTUSER] Implement (NtUser)SetClassLongPtr(A/W) 2024-09-15 12:09:09 +03:00
Timo Kreuzer
53b304e6a9 [SDK] Add unaligned.h header for safely accessing unaligned variables
This supersedes RtlStoreUshort/RtlRetrieveUshort etc, which have a horrible interface and are inherently unsafe.
2024-09-15 12:09:09 +03:00
Timo Kreuzer
a0bbb9ef99 [XDK] Improve unaligned pointer read macros
- The #if was missing x86 (Windows SDK bug!)
- The unaligned attribute was on the wrong side (Windows SDK bug!)
- Add a comment that these are unsafe and shouldn't be used
2024-09-15 12:09:09 +03:00
Hermès Bélusca-Maïto
2af6fd4def [PSDK] Add GetMenuPosFromID() declaration in shlwapi.h
This function is exported from shlwapi.dll since version 4.71.
It has been publicly documented in MS PSDK and MSDN since at least
Windows XP/2003 and claimed to be declared in shlwapi.h; however,
this is inaccurate: it has been declared only starting Vista PSDK.
2024-09-14 23:05:53 +02:00
Hermès Bélusca-Maïto
144a8b5b84 [SHELL32][SDK] Move SHMenuIndexFromID() definition to shlwapi_undoc.h 2024-09-14 23:05:52 +02:00
Hermès Bélusca-Maïto
4ba56962e6 [APPWIZ] NewLinkHereA(): Just call NewLinkHereW after the UNICODE conversion. 2024-09-14 23:05:51 +02:00
Timo Kreuzer
d9a287e9a5 [FASTFAT] Use debug bitmap
This is to figure out, whether the bitmap gets corrupted or if there is something else going on.
2024-09-14 20:15:07 +03:00
Timo Kreuzer
8f4acea874 [SDK] Implement RTL debug bitmap
This is a single header that wraps around the RTL bitmap API. It keeps track of the number of set bits and a hash of the bitmap. The integrity of the bitmap is checked on each call to any of the RTL bitmap APIs. This only works, if the bitmap is consistently modified using only RTL bitmap APIs and not manually messing with the bitmap buffer.
2024-09-14 20:15:07 +03:00
Timo Kreuzer
b5531f5126 [XDK] Add RtlFindNextForwardRunSet for wdm.h
Windows DDK doesn't have it, but I think it won't hurt to have it.
2024-09-14 20:15:07 +03:00
Whindmar Saksit
7b081be46d [SHELL32][MKSHELLLINK] Support EXP_SPECIAL_FOLDER datablock in shortcuts (#7158)
CORE-19692
2024-09-14 13:10:49 +02:00
Whindmar Saksit
751641c2be [SHELL32][COMCTL32][BROWSEUI][EXPLORER] Update color usage on WM_SYSCOLORCHANGE (#7325) 2024-09-14 13:07:11 +02:00
Laura Konopinska
e2fc578f6d [FREELDR] Support drives with 4k sector size
PR was reviewed at pull/5784
2024-09-12 20:53:10 -07:00
Whindmar Saksit
bad0dd5991 [SHELL32] Store target FS attributes in .lnk header (#7302) 2024-09-12 19:28:15 +02:00
Thomas Faber
44bdafa17e [KMTESTS:SE] Fix failing tests. 2024-09-12 17:44:13 +03:00
Thomas Faber
bf6af0f52e [NTOS:SE] Mark output parameters as such. 2024-09-12 17:44:13 +03:00
Thomas Faber
156053cafd [NDK] Match AUX_ACCESS_DATA definition with publicly available version.
Looks like public symbols contain this structure starting with Win7,
so we can deduce what it looked like in Win2003.
Note that our previous definition was missing a second ULONG at the
end, which can be seen in the SeQueryInfoToken kmtest -- if you
allocated only sizeof(AUX_ACCESS_DATA), the test would crash with
a 4 byte buffer overflow.
2024-09-12 17:44:13 +03:00
Thomas Faber
ff410211e9 [KMTESTS:SE] Don't modify internal data structure, this might cause buffer overrun. 2024-09-12 17:44:13 +03:00
Thomas Faber
206df96bc4 [KMTESTS:SE] Correctly allocate PrivilegeSet buffers. 2024-09-12 17:44:13 +03:00
Thomas Faber
64a6bd4c3e [KMTESTS:SE] Avoid use of uninitialized pool and hardcoded offsets. 2024-09-12 17:44:13 +03:00
Timo Kreuzer
2913ef5c93 [NTOS:KE/x64] Fix exception information on page faults
Pass a proper write/execute flag in the ExceptionInformation[0] field of the exception record instead of the raw fault code. This fixes comdlg:filedlg wine test, which writes to a write protected resource section, which needs to be handled by kernel32 UnhandledExceptionFilter, which relies on this parameter to be correct.
2024-09-12 17:07:59 +03:00
Timo Kreuzer
5eab2ddb2e [RTL/x64] Do not overwrite the original context during exception handling
This fixes ExceptionContinueExecution cases, where we want to continue execution on the original context (or as modified by the handler), not on some halfway unwinded one.
2024-09-12 17:07:59 +03:00
Timo Kreuzer
402bc38ba7 [NTGDI] Rewrite NtGdiPolyDraw
It is now a wrapper around GdiPolyDraw, which implements the main body of the function, while the Nt function only probes and captures the user mode data into safe kernel mode buffers.
Previously some people thought it was a great idea to just wrap the entire implementation in SEH, so when something throws an exception somewhere for whatever reason, we can just catch it here... and LEAK ALL RESOURCES IN THE PROCESS!
TODO: Rewrite all of this. It's broken everywhere.
2024-09-12 15:52:30 +03:00
Andrei Miloiu
02a6913590 [SERIALUI] Update Romanian (ro-RO) translation (#7341) 2024-09-12 00:14:10 +02:00
Joachim Henze
cf26321e3b [DESK] *.rc: Strip ", 0, 0" from the only font-line which is doing that (#7337)
Each language had exactly one dlg which specified its font like that.
All other dialogs didn't use that style.

This doesn't fix anything. It also doesn't shrink the binary.
It just saves a few keystrokes in the rc's.
Shorter is better. Pure janitorial.
2024-09-11 00:35:50 +02:00
Joachim Henze
a44192dc98 [SDK] Raise KERNEL_VERSION_PATCH_LEVEL to 16 in the version.cmake
0.4.16-dev starts here.
2024-09-10 20:01:25 +02:00
Hermès Bélusca-Maïto
0604640c14 [DESK][STOBJECT] Minor UI fixes.
- Fix "icone" typo in French (must be "icône");
- Add missing trailing semicolons for options introducing a choice;
- Tweak the IDC_EFFAPPEARANCE_KEYBOARDCUES translation to make it
  a little bit shorter and allowing to reduce the dialog a bit more
  (not yet "perfect" but towards the goal).
2024-09-10 19:53:28 +02:00
Hermès Bélusca-Maïto
0293d0c597 [SHELL32] CDefView.cpp: fix MSVC build warning C5208
"unnamed class used in typedef name cannot declare members other than
non-static data members, member enumerations, or member classes."

Suggestion by Whindmar Saksit.

Use `struct LISTVIEW_SORT_INFO` instead of the typedef, since this
is a structure defined and used only in this file, and we don't use
pointers to it (LPLISTVIEW_SORT_INFO).
2024-09-10 15:12:10 +02:00
Joachim Henze
945e856031 [DESK] _countof and rc-trivia (#7298)
- use _countof() consistently throughout the module instead of mixed ARRAYSIZE/countof.

In *.rc:
- the 3 AUTORADIOBUTTONS should not end with dots. In Windows 2k3sp2 ARB do never end with dots, I double-checked that here also in desk.cpl
- all 3 ARB should have an accel. I added the german ones, and added FIXMEs where I didn't know the correct accels
- the GROUPBOX IDC_SCREENS_DUMMY2 should not have an accel, but the only button in there PUSHBUTTON IDC_SCREENS_POWER_BUTTON should have an accel. This fixes a few existing accel collisions, e.g. in nl-NL.rc
- add a few additional FIXMEs for missing accels where I stumbled over them (most of them I fixed by guessing in the older branches, but I think it makes sense to let the actual native speakers fix them with the same accel that would be used in the 2k3sp2-version of *their* language)
- ro-RO.rc: Fix the forbidden characters according to the romanian-translation-rules

I noticed those glitches while porting back stuff, and acted on the FIXMEs in the backport instead of just fingerpointing to them (what I did on master).
2024-09-10 01:46:08 +02:00
Timo Kreuzer
7774a249ba [WIN32K:ENG] Fix return value in EngAlphaBlend 2024-09-09 22:16:00 +03:00
Stanislav Motylkov
c4f42b5a65 [UXTHEME] DrawNCPreview: Use DrawThemeTextEx() for drawing "Window Text"
Addendum to 118869f69 and d4dc0cb54. CORE-5991
2024-09-09 15:26:54 +03:00
Ethan Rodensky
d4dc0cb545 [UXTHEME] Import DrawThemeTextEx() function from Wine (part of #6622)
This is a Vista+ function, but it exists in Windows XP/2003 internally
and used for drawing "Window Text" with a shadow in DrawNCPreview().

And DrawThemeText() now acts as wrapper on top of it. CORE-5991
2024-09-09 15:26:40 +03:00
Whindmar Saksit
bc8c7d185d [SHELL32] Fix CRecycleBin crash caused by PR #7173 (#7330)
PR #7173 (22b913928f) fails to initialize the DELETED_FILE_RECORD struct when constructing a RecycleBin5File instance. This causes _ILCreateRecycleItem to create PIDLs without filenames and the CRecycleBin IShellFolder does not expect this to happen.

Also fixes incorrect usage of SHFileOperationW when restoring deleted files. The previous code might have worked by chance in the past if the string just happened to be double-null terminated as required by this API!
2024-09-08 22:08:15 +02:00
Oleg Dubinskiy
5d44157452 [ELF] Remove remnant elf-powerpc.h header
Addendum to 6ef6fabfc5, e372f2b19b and c020a0ca28. It was forgotten to be removed in those commits.
2024-09-08 21:50:24 +02:00
Oleg Dubinskiy
c020a0ca28 [NDK] Remove remnant PowerPC headers
Remove remaining ketypes.h and mmtypes.h public headers for PowerPC architecture.
Addendum to 6ef6fabfc5 and e372f2b19b. These headers were forgotten to be removed in those previous commits.
2024-09-08 20:59:55 +02:00
Stanislav Motylkov
9dae161631 [UXTHEME] DrawNCPreview: Do not draw the icon for inactive/active windows
This is how preview works in Windows. Addendum to 118869f69. CORE-5991
2024-09-08 21:34:23 +03:00
Stanislav Motylkov
3bda42114a [UXTHEME] Draw message box background properly in DrawNCPreview
Addendum to 118869f69. CORE-19592 CORE-5991
2024-09-08 21:34:18 +03:00
Hermès Bélusca-Maïto
c1e642fdb5 Revert "[SHELL32] Show Product version on About dialog bmp (#3621)" (#7327)
This reverts commit 2636cff09f
by Cătălin Gabriel Drăghiță (@jeffbox12) as well as any subsequent changes.

This was agreed upon by the original author on our official Mattermost
chat (chat.reactos.org)

The reactos.bmp banners are again generated from the file:
  dll/win32/msgina/resources/svg/reactos.svg
2024-09-08 14:55:47 +02:00
Whindmar Saksit
d9afe73de4 [NOTEPAD] Display error code if no error string is available (#7319) 2024-09-08 13:47:32 +02:00
Whindmar Saksit
da26ec3465 [NOTEPAD] Don't handle main window accelerators in Find dialog (#7320) 2024-09-08 13:45:51 +02:00
Splitwirez
3fa740aa81 [SHELL32] Revise "Desktop" icon (#7312)
Makes the "Desktop" icon look a bit more than the thing from Windows 7. Both: bottom-most right-most within the taskbar, and also used within the comdlg32 file-open-dialog.

* Update desktop icon (35) in shell32

* Fix SVGs
2024-09-08 13:10:05 +02:00
Katayama Hirofumi MZ
8bba3c4333 [COMDLG32] ChooseColor: Apply DarkShadow44's suggestions (#6971)
Co-authored-by: Fabian Maurer <dark.shadow4@web.de>

Based on @DarkShadow44's merge
request to WineHQ.
JIRA issue: CORE-19402
Merge Request: https://gitlab.winehq.org/wine/wine/-/merge_requests/5756

Proposed changes
Extend CC_CheckDigitsInEdit's
parameters and set infoPtr->updating
to TRUE when updating.
Call CC_PaintLumBar function in
CC_WMCommand function.
2024-09-08 16:59:28 +09:00
Timo Kreuzer
78e94a5083 [NTOS:MM] Increase x64 system view and session view size
We have plenty of address space and the desktop heap has grown, so we need some more space.
2024-09-08 10:33:55 +03:00
Serge Gautherie
4b051b914f [NTOS:PO] Update a comment (#6443)
Addendum to 9e43518 (0.4.15-dev-7560).
2024-09-08 02:29:37 +02:00
Timo Kreuzer
9414fb6b59 [NTGDI] Prevent NULL pointer dereference in CLIPPING_UpdateGCRegion
This can happen, when the paged pool is full. This will probably cause drawing issues, but at least we don't crash (in this place).
2024-09-08 03:20:52 +03:00
Tibor Lajos Füzi
299e4305ef [KEYBOARD] Fix left key code in extended_key_names in several layouts (#7311)
I found this bug while testing random games, the left key didn't work.
After switching to other keyboard layouts (German, English) the problem
disappeared. There are games (e.g. Doom 3 demo, Tomb Raider 2 demo) that
somehow use this code from extended_key_names to determine which key the
user pressed. It might be a good idea to check other keyboard layouts too,
since I found that table inconsistent across languages.
2024-09-08 02:32:27 +03:00
Timo Kreuzer
b385fc5985 [NTUSER] Fix a 64 bit bug in timer code
The return value of RtlFindClearBitsAndSet is an ULONG, assigning it to an ULONG_PTR will not sign extend it. The error value will stay 0xFFFFFFFF. Comparing it to (UINT_PTR)-1 will sign extend and thus compare it to 0xFFFFFFFFFFFFFFFF on x64.
Also use NUM_WINDOW_LESS_TIMERS to initialize the bitmap, rather than the calculated size. This does not make a difference with the current value (32768), but if it was not the case, the bitmap would be larger than this, resulting in invalid bitmap indices being returned, which would cause bugs later on. Finally remove an ASSERT that can be triggered by tests.
2024-09-08 01:52:50 +03:00
Ethem De Santa
8351fbf04f [EXPLORER] Update Turkish (tr-TR) translation (#7301)
Translated the old English explorer shell lines into Turkish and fixed
some incorrect Turkish translations.

Adapted the translation from Windows 7 with Turkish locale.
2024-09-08 01:43:04 +03:00
Ethem De Santa
0ff8271cd5 [UXTHEME] Add Turkish (tr-TR) translation (#7307)
Matches Turkish translation in the desk.cpl applet, except one string
that I borrowed from Windows 7 with Turkish localization.

Updated the latter in desk.cpl as well.
2024-09-07 19:36:27 +03:00
Timo Kreuzer
6ca6088f2c [NTUSER] Increase desktop heap size
Distinguish between the following 3 scenarios:
1. Interactive Winsta0, "Winlogon" desktop: use 128 KB
2. Interactive Winsta0, "Default" & other desktop: use 3 MB (x86) / 20 MB (x64)
3. Non-interactive winsta: use 128 KB

This is what Windows 2003 uses for the interactive desktops on x86 and what Windows 7 uses for x64. Fixes desktop heap exhaustion during testing. The previous value was 512 KB for all desktops.
It doesn't handle the even smaller "Disconnected" desktop, which is only meaningful for RDP sessions and we don't use it anyway.
See comments in the file for references.
2024-09-07 18:47:49 +03:00
Doug Lyons
bc76250bd8 [COMCTL32] Fix edit control cursor positioning (#7317)
Fix caret positioning regression from Wine Sync to Wine 5.0 affecting notepad.
Restore older Wine code that handles caret position with ReactOS better.
This was a regression from 0.4.15-dev-8612-g0707475 0707475f69

CORE-19731
2024-09-06 08:25:40 -05:00
Whindmar Saksit
a509941786 [SHELL32] Pass and expand .lnk working directory (#7314) 2024-09-06 14:31:24 +02:00
Justin Miller
0707475f69 [COMCTL32][MEDIA] Sync comctl32 to wine 5.0 (#6789)
For SOME reason comctl32 has been synched manually multiple times to different versions and different pots
This PR aims to fix that

With the exception of button.c which all in all is a massive fork over wines code entirely.
and datetime.c which is at wine 6.0

Comctl32 is now at wine-5.0
2024-09-03 21:54:05 -07:00
Whindmar Saksit
13b9c2a6d6 [SHELL32] Lnk propertysheet must disallow editing special targets (#6993)
CORE-16505
2024-09-03 17:38:03 +02:00
Whindmar Saksit
814f3a15f9 [NOTEPAD] Handle serialized maximized state (#5806)
Fixes a bug where if you close Notepad while it is maximized, the next time Notepad is started it will start with its window placed as if maximized but it is still in the SW_RESTORE state and the "real normal placement" is lost.

SetWindowPlacement also takes care of making sure the window is placed correctly on the monitor workarea.
2024-09-02 23:13:28 +02:00
Doug Lyons
07abea90d9 [NTUSER] Optimize BroadcastSystemMessage a bit. Follow-up of #6884 (#7215)
Optimize BroadcastSystemMessage with Environment parameter.
Minimize processing when UserModeMsg->lParam is NULL and KernelModeMsg->message != WM_WININICHANGE
Make sure that we have a UNICODE_NULL within lParamMsg based on comment from @whindsaks
2024-09-01 13:24:22 -05:00
Doug Lyons
a1bff5b94e [NTGDI:FREETYPE] Account for spaces in x-dimension of IntExtTextOutW function (#7274)
@I_Kill_Bugs fix

CORE-11787, CORE-17721 and CORE-19721

For function IntExtTextOutW with space character, the x-dimension should be taken into account.
Fixes HexEdit 1.2.1 right side of display window not being cleared.

Account for x-dimension if TA_UPDATECP flag set and 'String' is not NULL.

Clarify 'etx' is ASCII End of Text
2024-09-01 13:18:23 -05:00
Stanislav Motylkov
b6ae42492b [INTEROP_UNITTEST] Add interoperability tests for localized strings (#7129)
Finally, an automated way to verify all these localized strings
that must be in sync between multiple modules.

CORE-18893
2024-09-01 15:22:29 +03:00
Tomáš Veselý
52d6a71461 [USER32_APITEST] Improve RedrawWindow API test by testing flags (#7160)
As part of fixing some bugs like CORE-13149, extend the tests to include more detailed examination of rendering functions. Extend the RedrawWindow test to include tests of all flags. As part of it, I am also testing the 2-point states of the render areas.

I moved the original test without changes into a separate function GetMessageRedrawWindowTest. For the flag tests I added FlagsRedrawWindowTest function. It sequentially tests the RedrawWindow with different flag combinations and compares the results with those discovered in Windows XP and Windows 11 (the values in both versions confirmed to be identical).

The API test turned out well in ReactOS, the only deviation was that in many cases (whenever the RDW_INVALIDATE flag is present) a WM_ERASEBKGND message is received after the window is rendered without the RDW_ERASE flag.
(this is what I'm focusing on now in https://github.com/turican0/reactos/tree/fix-RDW_ERASE-in-co_UserRedrawWindow, but before I merge it, I want to create more API tests)
2024-09-01 14:32:43 +03:00
Adam Słaboń
e168d60bc5 [FREELDR] Fix boot timeout regression on AMD64 (#7281)
Initialize the BootMgrInfo struct globally, so the TimeOut value is guaranteed to be negative when no Multiboot cmdline is provided. This could happen when BootMain is called with a NULL pointer:
https://git.reactos.org/?p=reactos.git;a=blob;f=boot/freeldr/freeldr/arch/amd64/entry.S;hb=163f3407c8fa93ce06773fdf9fc53064506bd05e#l73
so CmdLine == NULL and LoadSettings is called with NULL, thus the CmdLineParse isn't run.

Fixes boot timeout regression introduced in commit 7bee32d237 which occured only on AMD64 builds.
2024-09-01 11:54:28 +03:00
Vitaly Orekhov
06024c97fe [SDK][SHELL32] Make CLSID_NetworkConnections the default name (#7266)
- [SDK][INCLUDE] Redirect CLSID_ConnectionFolder to CLSID_NetworkConnections

CLSID_NetworkConnections is the official known name for the class behind it,
thus to avoid breaking current code I 'softlink' CLSID_ConnectionFolder
to the currently used CLSID_NetworkConnections in shlguid_undoc.h.

- [SHELL32] Refer to CLSID_NetworkConnections from PSDK
2024-09-01 11:40:24 +03:00
Serge Gautherie
2c8d083fc0 [HALX86] acpi/madt.c: Rewrite it (#6032)
Especially HalpParseApicTables() which looked early-WIP and was buggy.
And keep smp/mps/mps.c in sync'.
2024-08-31 14:35:50 -07:00
Serge Gautherie
7661f7826c [ADVPACK] files.c: Properly mark Wine diff
Addendum to 6eb8a1d (0.4.15-dev-6918).
2024-09-01 00:18:42 +03:00
Justin Miller
49e07292ed [NTOS:KE] Clear NpxThread on rundown for SMP as well (#7151)
clear NpxThread on rundown for SMP as well
Fixes the crash whenever a usermode thread is destroyed on x86
2024-08-31 13:18:07 -07:00
Whindmar Saksit
3f54e0e504 [RAPPS] Fix AppInfo panel WM_SYSCOLORCHANGE bug (#7290) 2024-08-31 22:10:35 +02:00
Marek Benc
633d2e6d0c [NTUSER] Address memory leak in co_WinPosSetWindowPos(). (#7284)
CORE-19723
2024-08-31 15:07:33 -05:00
Whindmar Saksit
163f3407c8 [RAPPS] Show listview context menu when the keyboard menu button/Shift+F10 is pressed (#5620) 2024-08-31 18:30:45 +02:00
Serge Gautherie
0197a5bcae [XMLLITE_WINETEST] Fully mark Wine diff
Addendum to 3d1ca45 (0.4.15-dev-5553).
2024-08-31 18:30:16 +03:00
Serge Gautherie
3ff08b6404 [VFD] Properly mark ReactOS's diffs
Addendum to 25c7e1a (0.4.7-dev-1106) and follow-ups.
2024-08-31 18:23:01 +03:00
Serge Gautherie
1abac8f6db [VFD] Remove 2 useless CMakeLists.txt
Addendum to 25c7e1a (0.4.7-dev-1106).
2024-08-31 18:23:01 +03:00
Serge Gautherie
520ed95486 [DOC] 3rd Party Files.txt: Add 'Virtual Floppy Drive'
Addendum to 25c7e1a (0.4.7-dev-1106).
2024-08-31 18:23:01 +03:00
Jose Carlos Jesus
7ed149d7da [COMDLG32] Improve Portuguese (pt-PT) translation (#7236)
- Remove accel key from Ok buttons that are DEFPUSHBUTTON.
- Fix accelerator key collisions.
2024-08-31 13:56:57 +03:00
Jose Carlos Jesus
824b190a5b [BROWSEUI] Improve Portuguese (pt-PT) translation (#7232)
- Fix typos and improve pt-PT translation.
- Add file header.
2024-08-31 13:50:19 +03:00
Tomáš Veselý
f1def09c08 [WIN32NT_APITEST] Update NtUserSetTimer API tests (#7278)
JIRA issue: [CORE-9141](https://jira.reactos.org/browse/CORE-9141)
2024-08-30 18:26:15 -05:00
Timo Kreuzer
34586814ab [GDI32][NTUSER] Demote noisy debug prints 2024-08-30 16:06:41 +03:00
Adam Słaboń
c3560c6830 [VIRTIO] Misc fixes (#7283)
- Add bugcodes dependency, fixes a rare build failure
- Fix for the sync part of commit 823fdb19d7, somehow it didn't pick up the change from the upstream commit b22efbb8b8
2024-08-30 10:26:55 +03:00
Adam Słaboń
03d41008d4 [BOOTDATA] Fix LiveCD autorun (#7282)
Use 'shellexecute' entry instead of 'open', because the latter
tries to execute a non-executable readme.txt file.

https://learn.microsoft.com/en-us/windows/win32/shell/autorun-cmds

Addendum to 4cc03bbf01 (r71342).
2024-08-30 10:16:31 +03:00
Timo Kreuzer
3cddd76f57 [RTL] Fix overflow case in vDbgPrintExWithPrefixInternal
The string should always be NULL terminated.
2024-08-30 06:38:29 +03:00
Timo Kreuzer
f80d978fc0 [CRT] Fix link issues with __ftol2 when compiling for NT6
__ftol2 is exported from msvcrt on NT6+, not from ntdll for some reason. So native apps still need to statically link _ftol2 and _ftoul2_legacy, but apps linking to msvcrt only need to statically link _ftoul2_legacy (via msvcrtex), when on NT6+.
2024-08-30 06:29:13 +03:00
Thamatip Chitpong
95c340dfb7 [NTOS:CC] CcRosCreateVacb: Return error code on pool allocation failure (#7275)
Return STATUS_INSUFFICIENT_RESOURCES error code instead of accessing the invalid pointer.
2024-08-30 07:34:48 +07:00
Whindmar Saksit
6ae11ba09d [SHELL32] Don't display non-enumerable nor non-folder items in Explorer tree (#7189)
This partially implements RegFolder required items as described by Geoff Chappell.

CORE-19176 CORE-14061
2024-08-29 20:45:59 +02:00
Hermès Bélusca-Maïto
a75ed2acd9 [SETUP:REACTOS] Add the update-registry code (#7222)
This code has been tested on Windows and works as expected.
2024-08-28 22:05:21 +02:00
Hermès Bélusca-Maïto
fd67017512 [SETUP:REACTOS] Add some SetWindowRes* helper functions 2024-08-28 22:03:05 +02:00
Hermès Bélusca-Maïto
5b07c33031 [USETUP] Update translations for some registry-related messages 2024-08-28 22:03:04 +02:00
Doug Lyons
9c0eee0333 [NTUSER] Fix window not updating when scrollbars created and removed. (#7245)
* Revise conditions for window complete redraw.

CORE-19669

Co-authored-by: Oleg Dubinskiy <oleg.dubinskij30@gmail.com>
Co-authored-by: Vitaly Orekhov <7opex0@mail.ru>
2024-08-28 02:56:28 -05:00
Hermès Bélusca-Maïto
1573461cec [SETUP:REACTOS] Add partitioning and formatting support (#7159)
CORE-13525

- Newly-created partitions and unpartitioned space ar reinserted
  or updated in correct order in the tree-list. Volume-creation
  information data associated with the tree items is persisted
  across operations.

- Reliably delete data associated to tree-list items via the
  TVN_DELETEITEM notification.
  This allows simplifying the cleanup function; keeping simple
  the code that deletes items when deleting partitions, etc.

- Make the PrintPartitionData() function call itself recursively on
  extended partitions to display the sub-list of logical partitions.

- Handle the new partition size in MB the same way as in USETUP.

- Allow existing partitions/volumes to be re-formatted, using
  common code with the partition creation dialog.

- Allow selecting unpartitioned space or non-formatted partitions
  for installing ReactOS: unused space will automatically be
  partitioned and non-formatted partitions formatted (the user
  is prompted for choosing the file system).

- Correctly zero the progress-bar position when starting file copy.
- Add missing file copy error handler in FileCopyCallback:
  just copying what USETUP does.
2024-08-27 23:18:12 +02:00
Hermès Bélusca-Maïto
9b2b75df2b [SETUP:REACTOS] Collect some UI elements into a common UI_CONTEXT structure.
Handles to some install-page UI elements, used in the installation thread,
are collected into a UI_CONTEXT structure.
2024-08-27 23:18:08 +02:00
Hermès Bélusca-Maïto
58cad127dc [SETUP:REACTOS] treelist.h: Fix TreeList_GetStyle/TreeList_SetStyle(Ex) for C language 2024-08-27 23:18:07 +02:00
Hermès Bélusca-Maïto
83d9f6c99b [SETUP:REACTOS] treelist.h: Define few useful types. CMakeFiles.txt: Move add_pch around. 2024-08-27 23:18:00 +02:00
Timo Kreuzer
64b58397f3 [CMAKE] Statically link _ftol2/__ftoul2_legacy to libntdll
This is needed to resolve symbols of native applications like usetup, when compiled with latest VS.
2024-08-27 21:34:50 +03:00
Timo Kreuzer
f637e6b809 [CRT] Implement __ftoul2_legacy
This is used by CL v19.41+. It replicates the behavior of the inline assembly code that previous CL versions generated. According to tests it works the same as with previous VS versions.
2024-08-27 21:34:50 +03:00
Timo Kreuzer
6fd6e9c306 [COMPILER_APITEST] Add tests for float to int conversion
These tests come with a VS solution, because that is the only way to test against a known good system, as the required runtime functions (like _ftol) are statically linked from the VS runtime library.
2024-08-27 21:34:50 +03:00
Marek Benc
a9b77d89fb [USER32_APITEST] Add scrollbar showing/hiding testcase (#7254)
Checks CORE-19669, making sure that CS_HREDRAW and CS_VREDRAW
are respected when the client area changes due to the scrollbar
disappearing or re-appearing.

ROSTESTS-397

Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
2024-08-27 13:25:02 -05:00
Tomáš Veselý
fd327db20f [NTUSER] IntSetTimer: Update HintIndex on each call (#7087)
* fix CORE-9141 - adding a change to IDEvent after each pass
If the first index is 0 the first returned ID will be 0x8000, which is fine.
Co-authored-by: Joachim Henze <joachim.henze@reactos.org>
2024-08-27 01:14:51 -05:00
Tomáš Veselý
938adaad22 [WIN32KNT_APITEST] Add NtUserSetTimer API tests (#7100)
Test 1 - test of creating/canceling 20 timers and comparing the raw number of returned messages - without parent window
Test 2 - test of creating/cancelling 20 timers and comparing the raw number of returned messages - with parent window
Test 3 - test creation/cancellation of 40000 timers - without parent window
Test 4 - test of creation/cancellation of 40000 timers - with parent window
Test 5 - test creation/cancellation of 2 timers and compare their index to see if they differ - without parent window

Covers the case in CORE-9141 (see #7087).
2024-08-26 22:34:30 +03:00
Hermès Bélusca-Maïto
6f15802af7 [SETUPLIB][REACTOS][USETUP] Split FS-volume-specific functionality from partitions (#7258)
CORE-13525

This greatly helps in reducing code complexity in some areas: code that
previously iterated over all partitions of a given disk, just to find
which ones were partitioned and contained a valid file system, now just
have to iterate over mounted volumes.
See in particular, `lib/utils/osdetect.c` and `lib/fsutil.c` .

- Remove FORMATSTATE "Preformatted" enum value;
- Cleanup osdetect code after introducing Volume support;
- Some simplifications for FormatState.

- Differentiate between 'new' partition and 'new' volume:

  * "New" partition: it has been created and added in the cached list,
    but not yet actually written into the disk.

  * "New" volume: newly-created volume (may be backed by a partition or
    not), not yet formatted. May exist on either new, or not new partition,
    or elsewhere.

- Cache partition and volume NT device names.

  These do not change across repartitioning operations, as long as the
  partition or the filesystem volume hasn't been deleted/recreated.
  This avoids doing \Device\Harddisk%u\Partition%u sprintf's everytime
  we need to retrieve the given partition or volume device name.

  When a partition/fileysystem volume is "virtually" created (i.e. in
  the partition list, but not yet committed to disk and exposed to the
  OS), no device partition number and device name are available yet.
  In particular, validate that no manipulation of \Device\HarddiskM\Partition0
  (i.e. the whole disk) is being made.
2024-08-26 16:42:47 +02:00
Hermès Bélusca-Maïto
0f8dc6b2df [SETUPLIB] Add some device utility functions; to be used later (#7258) 2024-08-26 16:42:46 +02:00
Oleg Dubinskiy
c59e2d20d9 [NTOS:FSRTL] Check for the correct return status when inserting a new Filter Context entry
According to our declaration/definition, IoChangeFileObjectFilerContext returns NTSTATUS, not BOOLEAN. Zero return (which was actually checked before) for BOOLEAN means failure, but for NTSTATUS it's success. So it should (and now actually does) free and fail appropriately only in failure case, but not in success, when it shouldn't.
This fixes most of problems with fltmgr.sys driver from Windows XP/Server 2003 and a lot of 3rd party filter drivers which use it from many apps (Avast Free Antivirus all versions, Avira AntiVir Personal 8.2, Dr. Web Security Space 8.0, Kaspersky Antivirus 2012 etc. etc.).
CORE-14157, CORE-14635, CORE-19318
2024-08-26 11:16:49 +02:00
Timo Kreuzer
c948ea859b [CMD] Convert to explicitly unicode 2024-08-25 16:17:17 +03:00
Whindmar Saksit
cca9acfa1d [SHELL32] Create link must ask for a parsing name for file targets (#7267) 2024-08-24 19:01:27 +02:00
Joachim Henze
5506a8e170 [MSPAINT] it-IT.rc: Fix compiler warning (#7270)
GCC8.4.0dbg warns about:
C:/ros/reactos/base/applications/mspaint/lang/it-IT.rc:267: unrecognized escape sequence

Fix that.

the regression was introduced by
0.4.15-dev-8555-g fbcbbd8768 from (#7248)
2024-08-24 06:04:48 +02:00
Whindmar Saksit
29c8dc82f6 [SHDOCVW] CNSCBand must specify a ShowWindow command (#7268) 2024-08-24 02:45:19 +02:00
Joachim Henze
ec653caf54 [REGEDIT] *.rc: Strip useless WS_VISIBLE STYLE from dlgs (#7251)
360 matches, exactly 12 matches for each language, 30 languages.

This will not shrink the binary, it just shortens some long lines within the rc-sources.
2024-08-23 21:05:06 +02:00
Whindmar Saksit
0e0f99744f [RAPPS] Refreshing the Installed list should restore the selected item (#5676) 2024-08-22 23:21:59 +02:00
Whindmar Saksit
3b73d62eaa [SHELL32] Pass correct lParam to DFM_INVOKECOMMAND (#6765) 2024-08-22 21:04:48 +02:00
Hermès Bélusca-Maïto
ea5728b5f3 [SETUPLIB] SetupCreateDirectory(): Don't assume the form of the directory prefix (#7257)
Addendum to commit 32e6eed760 (r63715)
CORE-5982

The function assumed that the directory path name to be created
always starts with a harddisk-partition root device name of the form:

  \Device\HarddiskX\PartitionY\

Indeed, it can be (when using the volume manager) of the form:

  \Device\HarddiskVolumeN\

and could even have a different format if trying to install ReactOS
on an external removable drive or other weird device.

Since the format of this prefix is not 100% always the same,
a different way to create the sub-directories is needed.
The nested-directory creation algorithm is changed as follows:

Suppose that the directory to be created is:

  \Device\HarddiskVolume1\ReactOS\system32\drivers

The function first loops backwards each path component in order
to find the deepest existing sub-directory: it will try to verify
whether each of the following sub-directories exist, successively:

  \Device\HarddiskVolume1\ReactOS\system32\drivers
  \Device\HarddiskVolume1\ReactOS\system32\
  \Device\HarddiskVolume1\ReactOS\
  \Device\HarddiskVolume1\

(Notice the trailing path separators kept in this step.)
In principle, this root device FS directory must exist (since the
volume has been formatted previously). Once found, the function will
then create each of the sub-directories in turn:

  \Device\HarddiskVolume1\ReactOS
  \Device\HarddiskVolume1\ReactOS\system32
  \Device\HarddiskVolume1\ReactOS\system32\drivers

----

An alternative to the fix could be to always specify the root device
name in a separate parameter, but this hasn't been pursued here so as
to not modify all the callers of this function.
2024-08-22 20:40:35 +02:00
Hermès Bélusca-Maïto
00ddae49d5 [SETUPLIB] SetupCreateSingleDirectory(): Remove '\.' trailing sequence handling hack
It was introduced in commit 703eb5e8c9 (r7756) in order to hack around
the "dot"-path added in the reactos.dff generator file by the earlier
commit 3bd689f185 (r7269).
Its aim was to describe the installation directory itself, instead of
one of its sub-directories.

That _invalid_ "dot"-path was removed later by commit 027e2bfa3a (r15423);
however the '\.' hack stayed for quite a while in our code.

The correct way to describe the installation directory itself is to use
instead "\", compatible with Windows' setup, as was originally done in
txtsetup.sif, and fixed in reactos.dff(.in) in commit 97bb83fcd9 (r66604).
2024-08-22 20:40:34 +02:00
Whindmar Saksit
d009de44ad [SHELL32] CDefaultContextMenu must forward the .lnk path (#7264)
Forward the .lnk path (if any) so consrv gets STARTF_TITLEISLINKNAME and can apply console properties and icon from the shortcut.
2024-08-22 14:34:22 +02:00
Serge Gautherie
44662eaf62 [CMAKE] Use COMPILE_OPTIONS instead of superseded COMPILE_FLAGS
for set_source_files_properties().
2024-08-21 11:34:48 +03:00
Gabriele Lo Re
fbcbbd8768 [TRANSLATION] Improve Italian (it-IT) translation part 2 (#7248) 2024-08-21 01:29:34 +02:00
Timo Kreuzer
7765ff89ff [CRT] Fix prototype of _Strftime 2024-08-20 13:47:10 +03:00
Andrei Miloiu
fd1a48d497 [RAPPS] Improve Romanian (ro-RO) translation (#6858) 2024-08-19 23:54:05 +02:00
Doug Lyons
24517d5258 [DESK] Fix 3dtext screensaver restart after opening settings (#7213) 2024-08-18 20:09:47 -05:00
Whindmar Saksit
e639d7c1e7 [SHELL32] Handle SHCreateShellFolderViewEx callback function (#7240)
The caller supplied callback function is wrapped in a IShellFolderViewCB so we can use (the newer) SHCreateShellFolderView.
2024-08-19 00:34:05 +02:00
Whindmar Saksit
53e930e97f [SHLWAPI] SHInvokeCommandOnContextMenu[Ex] and SHInvokeCommandWithFlagsAndSite (#7228) 2024-08-19 00:32:46 +02:00
Andrei Miloiu
e83ec236fa [NETCFGX] Improve Romanian (ro-RO) translation (#6863) 2024-08-19 00:03:18 +02:00
Andrei Miloiu
0b5d8a0045 [CLIPBRD] Update Romanian (ro-RO) translation (#7252) 2024-08-18 23:33:41 +02:00
Andrei Miloiu
02989eae41 [MATRIX] Improve Romanian (ro-RO) translation (#7253) 2024-08-18 23:21:17 +02:00
Joachim Henze
d34b058d26 [COMCTL32] pt-PT: Those 2 buttons shall not have an accel 2024-08-18 06:40:41 +02:00
Joachim Henze
275c128f30 [COMDLG32] ro-RO: Addendum to last 2 commits 2024-08-18 02:53:52 +02:00
Joachim Henze
4b4a6b3b90 [COMCTL32] *.rc: trivial improvements and added FIXMEs 2024-08-18 02:50:13 +02:00
George Bișoc
95b1893b27 [COMDL32] Fix build
Fix the wrong usage of CONTROL resource control, introduced by 1a9af23
2024-08-18 00:10:28 +02:00
Andrei Miloiu
31267a97da [REGEDIT] Update Romanian (ro-RO) translation (#7246) 2024-08-17 23:45:18 +02:00
Andrei Miloiu
1a9af2334c [COMDLG32] Update Romanian (ro-RO) translation (#6816) 2024-08-17 23:43:39 +02:00
Andrei Miloiu
68c678e1c0 [INTL] Update Romanian (ro-RO) translation (#6757) 2024-08-17 23:34:38 +02:00
Vitaly Orekhov
4e03eaeb02 [PSDK] Add 'Network Connections' CLSID (#7249)
This will be used soon by the WLAN WIZARD
dll/shellext/wlanwiz
2024-08-17 11:25:19 +02:00
Andrei Miloiu
c2b295fdce [WINMM] Update Romanian (ro-RO) translation (#6830) 2024-08-16 21:44:30 +02:00
Andrei Miloiu
67ed91acbf [SYSDM] Update Romanian (ro-RO) translation (#6838) 2024-08-16 21:41:57 +02:00
Andrei Miloiu
cde8eddaaa [NETID] Update Romanian (ro-RO) translation (#6839) 2024-08-16 21:38:08 +02:00
Andrei Miloiu
9aed201c2f [SHDOCLC] Update Romanian (ro-RO) translation (#6873) 2024-08-16 21:34:41 +02:00
Andrei Miloiu
f43c4680cf [TAPIUI] Improve Romanian (ro-RO) translation (#6857) 2024-08-16 21:31:16 +02:00
Andrei Miloiu
be1121d9cc [MODEMUI] Update Romanian (ro-RO) translation (#6775) 2024-08-16 21:29:08 +02:00
Joachim Henze
6e86daa703 [REGEDIT] *.rc: Dedupe ID_HELP_HELPTOPICS & ID_HELP_ABOUT (#7198)
ID_HELP_HELPTOPICS & ID_HELP_ABOUT are statusbar helptexts, and they do exist
twice for no good reason since 10+ years. Dedupe that.

Also add a few missing accelerators for it-IT.rc

Also strip the trailing dots for some languages for the statusbar helptexts (5 langs: ja-JP,tr-TR,zh-*)
Vast majority of languages did not have them at all (24 languages).
Also en-US was such a good role-model.

Some had it just for some of those texts, but for others not (e.g. pt-PT). Inconsistent.

All statusbar helptexts are within those exact 3 STRINGTABLEs now.
2024-08-16 18:37:23 +02:00
Whindmar Saksit
d5f6b8c50b [SHELL32] Implement the Select verb in CommDlgBrowser (#7225)
- Use Select instead of Open default menu item.
- Support CDB2GVF_NOSELECTVERB, CDB2GVF_NOINCLUDEITEM and CDB2GVF_SHOWALLFILES flags.
2024-08-15 18:40:32 +02:00
Serge Gautherie
7d532f8792 [SOUND] mmebuddy_debug.h: Match WCHAR type 2024-08-15 17:50:12 +02:00
Serge Gautherie
b30fde3797 [SOUND] mmebuddy_debug.h: Sort out macro inclusions
- POPUP() is used on DBG only.
- SND_ERR() and SND_ASSERT() are wanted even when defined(NDEBUG).
- Add a FIXME as !defined(NDEBUG) code compilation remains broken.

Follow-up of c7a4984 (0.4.15-dev-8414).
2024-08-15 17:50:12 +02:00
Whindmar Saksit
82a45262bf [NTUSER] Correctly store original unsnap position (#7244)
A small change before PR #5705 was merged caused a severe downgrade in the snap/unsnap handling. Win key handling should work correctly now.

CORE-19165 CORE-19166
2024-08-15 12:33:17 +02:00
Katayama Hirofumi MZ
7ede534910 [SHDOCVW][SDK] Support Favorites bar Part 2 (#7223)
Implement Favorites bar.
JIRA issue: CORE-19686
- Introduce CNSCBand class to commonize
  some code of CFavBand and CExplorerBand
  classes.
- Implement Favorites bar.
- Fix IBandNavigate and INamespaceProxy
  interfaces.
2024-08-14 12:00:47 +09:00
Whindmar Saksit
1061e7f7db [BROWSEUI] Don't access callers invalid PIDL during browse (#7242)
The interaction between the shell browser and its address bar causes the browser to read from a freed PIDL, sometimes causing a crash.

CORE-19697
2024-08-13 20:57:58 +02:00
George Bișoc
07a76b3dec [STOBJECT] Do not report the remaining battery capacity if it is unknown
Support for system batteries in ReactOS is really minimal to the point of non-existing. We are detecting the presence of any upcoming battery but since there's lacking in critical code that deals with communication
between PO and the battery class driver as the battery systray icon uses GetSystemPowerStatus to gather battery info which in turn inquires the power manager via NtPowerInformation(SystemBatteryState), we have
to report to the user that the remaining capacity is unknown rather than returning a pseudo capacity value.

Technically this so called "pesudo" value is just a construct denoted as BATTERY_PERCENTAGE_UNKNOWN. Not reporting the actual remaining capacity makes sense, as there could be a scenario where the battery may not
properly report its real datum, therefore it's best to be honest to the user what's really going on.

CORE-19452
CORE-18969
2024-08-13 14:17:04 +02:00
Hermès Bélusca-Maïto
fae7c0f70e [SETUP:REACTOS] Fix advanced installation options dialog style. 2024-08-13 13:30:58 +02:00
Serge Gautherie
6756c2ad03 [*_VISTA] Add/Improve version resources 2024-08-13 12:39:42 +02:00
Katayama Hirofumi MZ
ec38a8637a [SHIMGVW] Improve Japanese (ja-JP) translation
CORE-18706
2024-08-13 17:04:02 +09:00
Hermès Bélusca-Maïto
daee508516 [SETUP:REACTOS] Validate the installation path (#7162)
CORE-13525
2024-08-12 12:46:22 +02:00
Hermès Bélusca-Maïto
a6c69abafd [SETUP:REACTOS] Redesign the "Advanced Installation Options" dialog (#7162)
CORE-13525

In particular, use now a dynamic combo-box for listing the possible
locations where the bootloader can be installed.
2024-08-12 12:17:29 +02:00
Hermès Bélusca-Maïto
bf368261f1 [SETUP:REACTOS] Add new DisplayMessage(V) helpers and reimplement DisplayError around it
The variadic DisplayMessage(V) helpers display a message box, where
both the title and message can be specified either as explicit strings
or via resource IDs. It also supports the message to be a printf-like
format string, in which case the additional formatting arguments are
subsequently specified.
2024-08-12 12:17:27 +02:00
Hermès Bélusca-Maïto
8056081c2f [SETUPLIB] Store a machine architecture type
It will be used to determine how the bootloader has to be installed, etc.

Currently hardcoded for XBOX, or rnutime-determined for NEC PC-98 and BIOS-based PC-AT.
More thorough runtime determination will be added in the future.
2024-08-12 12:16:56 +02:00
Hermès Bélusca-Maïto
9b9065df52 [SETUPLIB] Move the initialization of other default values into InitializeSetup() 2024-08-12 12:04:39 +02:00
Hermès Bélusca-Maïto
c9c5fd1a18 [SETUPLIB][BOOTDATA] Rename "MBRInstallType" to "BootLoaderLocation"
Less hardcoded references to "MBR" for code that should be generic
is always better.
2024-08-12 12:04:38 +02:00
Hermès Bélusca-Maïto
259abe59dc [SETUPLIB] Fix the class of characters valid for the installation directory
Commit 7c3f4c94a4 (r68307) mentions the valid characters:
these are:
ASCII alphanumericals (a-z, A-Z, 0-9)
(hence the iswalnum() -> isalnum() change),
and: '.', '\\', '-', '_' . Spaces are not accepted.

Addendum to commit 785cc21598.
2024-08-12 12:04:37 +02:00
Hervé Poussineau
30ac80f36b [CMBATT] Implement CmBattVerifyStaticInfo 2024-08-12 11:56:18 +02:00
Hervé Poussineau
2ff683fa33 [CMBATT] Remove useless fields in device extension
Information is already present in BifData, and those fields were never filled.
2024-08-12 11:56:18 +02:00
Hervé Poussineau
359e73d055 [CMBATT] Implement CmBattGetBifData/CmBattGetBstData 2024-08-12 11:56:18 +02:00
Hervé Poussineau
8612d6c0aa [BATTC] Copy BATTERY_WAIT_STATUS structure to prevent memory overwrite.
At first QueryStatus call, output is written to Irp->AssociatedIrp.SystemBuffer.
Unfortunately, this is also the BattWait buffer.

At return of QueryStatus call, BattWait buffer has been modified, so
following code can't use it anymore.

Fix memory overwrite by copying BattWait buffer on the stack.
2024-08-12 11:56:18 +02:00
Katayama Hirofumi MZ
6f86c05cfb [RSHELL] Fix file headers (#7239)
Follow our standard.
JIRA issue: CORE-18462
Adapt file headers to our
coding style.
2024-08-12 04:47:02 +09:00
Whindmar Saksit
f3d03760e9 [NTUSER] Rewrite Window Snap handling (#5705)
Fixes many Window Snap related bugs and uses the WS_EX2_VERTICALLYMAXIMIZED* styles to remember which edge it is snapped to.

The most significant change is that GetWindowPlacement lies about the normal position when it is snapped, just like Windows.

CORE-19160 CORE-19165 CORE-19166
2024-08-11 20:21:58 +02:00
Joachim Henze
6fb67ddc0e [REGEDIT] Strip ancient stuff from resource.h / framewnd.c (#7194)
Stuff from the stone-age, not used anymore.

* ID_REGISTRY_PRINTSUBTREE & ID_REGISTRY_PRINTERSETUP have been fused into one in newer MS regedit.exe. Older versions of MS regedt32.exe had that separated still, see https://github.com/reactos/reactos/pull/7194#discussion_r1695021919 for some details and screenshots about that.

* ID_REGISTRY_OPENLOCAL is obsolete too for the same reason.

* ID_REGISTRY_SELECTCOMPUTER can be stripped too, because it was historically replaced by ID_REGISTRY_(DIS)CONNECTNETWORKREGISTRY

co-authored by hermes.belusca-maito@reactos.org
2024-08-11 18:49:45 +02:00
Hermès Bélusca-Maïto
50986d8470 [SDK] commctrl.h: Add missing Vista+ TTI_(INFO|WARNING|ERROR)_LARGE defines 2024-08-11 17:54:05 +02:00
Joachim Henze
7126298195 [CALC] Fix the "Porto"->"Portu"-typo for no-NO.rc (#7230)
And fix that typo also for the IDS-name itself.

For the record: The it-IT.rc: is the only language where "Escudo portoghese" with O is
actually correct according to google translator, and therefore not touched (confirmed also by native it-IT Carlo-Bramini).
2024-08-11 17:52:38 +02:00
Jose Carlos Jesus
709309d94f [COMCTL32] pt-PT: Fix accel collisions. Add missing accel keys. (#7234) 2024-08-11 16:56:38 +02:00
Jose Carlos Jesus
eddd97f68c [ACLUI] Fix typo in pt-PT translation. (#7233) 2024-08-11 16:46:14 +02:00
Katayama Hirofumi MZ
bf681c3a7c [RSHELL] Fix indentation (#7238)
Reduce coding stress.
JIRA issue: CORE-18462
Just fix indentation.
2024-08-11 23:35:02 +09:00
Doug Lyons
9ee30c57fd [NTUSER] Fix popup menu placement when part way off right edge of screen (#7220)
* Move the popup menu to the right edge of the screen when it is past the screen edge on the right.

CORE-19706
2024-08-10 16:00:44 -05:00
Whindmar Saksit
e546525eac [NOTEPAD] Don't leave junk behind when opening smaller file (#7227) 2024-08-10 17:08:00 +02:00
Katayama Hirofumi MZ
81ec056963 [BROWSEUI] Add checkmark for Explorer bar menu items (#7229)
Improve UI/UX.
JIRA issue: CORE-19689
- In the CShellBrowser::OnInitMenuPopup method,
  check/uncheck menu items depending on
  fCurrentVertBar.
2024-08-10 22:15:23 +09:00
Hermès Bélusca-Maïto
73bed31363 [SYSDM] Fix for Italian (it-IT) translation (#7216)
Addendum to commit 04b2d35f5b (PR #4844),
translation proposed by Carlo Bramini.

Co-authored-by: Carlo Bramini <carlo.bramix@libero.it>
2024-08-09 22:42:50 +02:00
Serge Gautherie
ea291af409 [MMEBUDDY][MMENT4][SNDBLST] Add missing \n to SND_*() calls (#7224) 2024-08-09 20:50:51 +02:00
Whindmar Saksit
ea60890961 [NETSHELL][SHELL32] Make NetShell PIDL format more Windows compatible (#7183)
- The PIDL format needs to be Windows compatible so that wlanwiz can get the connection GUID.
- SHELL32::ILIsEqual cannot deem PIDL formats it does not understand as invalid.
- DefView must ask the folder when comparing PIDLs.
2024-08-08 22:00:03 +02:00
Oleg Dubinskiy
5d96ba9217 [NTOS:MM] Implement MmProbeAndLockProcessPages (#7221)
Implement undocumented MmProbeAndLockProcessPages routine. Based on mm-implement-mappingaddress.patch by Thomas Faber from CORE-10147, with some improvements from me.
It's badly required by FltMgr.sys driver from Windows XP/Server 2003 and closely used by a lot of apps those are depending on this driver (e. g., Avast Free Antivirus several versions, Avira Antivir Personal 8.2 etc. etc.).
Fixes several asserts from MDL support routines when the 3rd-party minifilter drivers are loading FltMgr.
CORE-14157
2024-08-08 21:02:35 +02:00
Whindmar Saksit
724b20d414 [SHELL32] Don't add the file to the parameters if the registry command did not ask for a file (#7139)
Bugs fixed:
 - fDefault detection of default verb is flawed because it checks the ici struct after conversion instead of the source sei struct.
 - The command to execute should not have the filename appended just because %1 nor %L did not appear in the registry command template.
2024-08-08 19:30:14 +02:00
Joachim Henze
8f483a76a6 [COMDLG32] *.rc Tweak AUTORADIOBUTTONS (#7178)
- Tweak AUTORADIOBUTTONS (AUTORADIOBUTTON implies BS_AUTORADIOBUTTON). This saves a bit of source-file-size and binary size.
- and use the backspace key for improving alignment to column 39 for the controls names in PRINT32_SETUP DIALOG & PRINT32 DIALOG
- and fix 3 accel collisions for upper chinese translation &OA &A &R
- and add a few FIXMEs for existing accel collisions in other languages
- fix a few strings in cdlg_Sr.rc

JIRA issue: none

Note1: I intentionally used only the backspace-key and not the space key to improve the alignment in PRINT32_SETUP DIALOG & PRINT32 DIALOG, so please refrain from any review-suggestions of the form "oh you could add another space here, or another space there". I will not do that in this PR. I just aligned some strings to column 39 (same as it is used within the Wine-master-rc-file)

Note2: I will only accept accelerator suggestions as replacement for the added accel-FIXMEs that have been double-checked by a native translator from the native 2k3sp2, but no guesses.
2024-08-08 00:28:07 +02:00
Joachim Henze
703078dc40 [CALC] de-DE: add menu-accels, *.rc: Portu, CTRL->Ctrl, STRG->Strg (#7191)
- de-DE: add accelerators for the menus, inspired by german XPSP3
- *.rc: It is portuguese, not portoguese (this has been fixed in en-US earlier already, but was forgotten to be merged into other languages
- *.rc: CTRL is not used in capital manner by MS, but MS used Ctrl, and MS did not use STRG but Strg for de-DE. Our en-US respected that already, but again stuff was not synced into other languages when it was improved earlier in ros
Therefore this PR has absolutely no changes for en-US because that was good already.
2024-08-08 00:22:36 +02:00
Joachim Henze
d39269888a [CALC] *.rc: Harmonize 3 captions (#7192)
Harmonize the captions of the 3 dlgs IDD_DIALOG_SCIENTIFIC, IDD_DIALOG_STANDARD, IDD_DIALOG_CONVERSION

Some languages had different strings used here, which leads to an undesired flip in the caption if one switches between the different views of the app. Very unelegant. E.g. cs-CZ, ko-KR, th-TH suffered from that.

MS uses just the term "Calculator" in these captions, and not "Windows Calculator".
So we can also just use "Calculator" instead of "ReactOS calculator".
To perfectify the illusion / being more similar to MS.

Don't worry: The word "ReactOS" is still present in at least 4 strings, e.g. in 3x IDM_HELP_ABOUT and IDS_CALC_NAME. So nobody will think it is not our Calculator after that change.

As a nice side-effect the binary size shrinks slightly: e.g. for GCC8.4.0dbg:
530.432 -> 528.596 bytes
2024-08-08 00:18:42 +02:00
Kenta Kubo
6ac536d787 [USETUP] Fix typo in Japanese (ja-JP) translation (#7219)
Fix a typo in "ジドウテキニ" word: `\274\336\304\336\263\303\306` (ジドウテニ)
that was introduced in 2009 year (commit 379ce6f163).

The word "ジドウテキニ" is "自動的に" in Kanji, means "automatically".
2024-08-07 17:52:27 +03:00
Václav Zouzalík
0ca6b319e3 [UXTHEME] Add German (de-DE) translation (#7204)
Matches German translation in the desk.cpl applet.
2024-08-07 12:26:38 +03:00
Václav Zouzalík
d23422dbc0 [EXPLORER] Update Czech (cs-CZ) translation (#7203) 2024-08-07 12:14:21 +03:00
He Yang
d2ae8e8cb2 [SYSDM] Improve for Chinese Simplified (zh-CN) translation (#7217) 2024-08-07 10:51:09 +02:00
Katayama Hirofumi MZ
e51fddf030 [SHELL32] Simplify CExplorerBand::CompareTreeItems (#7214)
Reduce code.
JIRA issue: CORE-19686
- Delete useless _ILIsSpecialFolder
  and GetDisplayName helper
  functions.
- Simply use IShellFolder::CompareIDs
  for item comparison.
2024-08-07 10:33:48 +09:00
Doug Lyons
90de2b660b [NTUSER] Implement BroadcastSystemMessage with 'Environment' parameter (#6884)
* [NTUSER] Implement BroadcastSystemMessage with 'Environment' parameter

CORE-19372
CORE-19583

* Changes based on reviewer comments.

* Make sure that lParamMsg has a UNICODE_NULL in it.

* Skip extra handling of 1 word messsages.
2024-08-04 02:53:04 -05:00
Dmitry Borisov
fdc1d96dc1 [ISAPNP] Make sure that APCs are disabled before acquiring a lock
Note: We could just use a fast mutex instead
2024-08-03 17:08:44 +06:00
Dmitry Borisov
6091dde0d3 [ISAPNP] Improvements around hardware access helpers
- Reimplement WriteWord using the WriteByte helper.
- Remove inline qualifiers from the bus read and write functions.
  This code path is considered "cold" and using an inline for it is overkill.
- Don't apply the IRQL restrictions to our PnP state transition helpers.
  They are only called at IRQL below dispatch level.
2024-08-03 17:08:43 +06:00
Dmitry Borisov
2981e63a31 [ISAPNP] Refactor the configuration code
- Remove useless checks
- Increase code readability
2024-08-03 17:08:43 +06:00
Dmitry Borisov
76ec8411a4 [ISAPNP] Fix parsing of complex resource data
- Properly handle the case when the dependent function is placed
  after fixed resources
- Initialize the version and revision fields of resource lists
- Improve validation of resource data
- Add more debug prints

CORE-18562
2024-08-03 17:08:43 +06:00
Dmitry Borisov
c1d7087352 [ISAPNP] Fix the reported length of the memory I/O ranges
CORE-18562
2024-08-03 17:08:43 +06:00
Dmitry Borisov
9b7f34601a [ISAPNP] Force clear the upper reserved bits on fixed I/O descriptors
CORE-18562
2024-08-03 17:08:43 +06:00
Dmitry Borisov
991dbeff53 [ISAPNP] Fix the truncation of 32-bit configuration I/O reads
CORE-18562
2024-08-03 17:08:43 +06:00
Dmitry Borisov
b36d9bd9c1 [ISAPNP_UNITTEST] Add unit tests exercising device discovery and device resources functionality
CORE-18562
2024-08-03 17:08:43 +06:00
Dmitry Borisov
016d01e5d1 [ISAPNP] Extract resource definitions
Prepare the driver for upcoming API tests
CORE-18562
2024-08-03 17:08:43 +06:00
Dmitry Borisov
4ba8a8b59b [ISAPNP] Allocate the Read Port resources on demand
This will simplify failure paths and reduce memory usage
2024-08-03 17:08:42 +06:00
Katayama Hirofumi MZ
266e2e5052 [SHELL32] shlexec: Simplify parameters parsing (#7207)
Simplify code logic.
JIRA issue: N/A
- Use PathGetArgsW, PathRemoveArgsW,
  and PathUnquoteSpacesW for
  parsing parameters.
2024-08-03 15:46:24 +09:00
Jose Carlos Jesus
deccfb8c9f [TASKMGR] Allow setting each column alignment independently (#7208)
Add dwAlign attribute to the PresetColumnEntry structure to make it work.

CORE-19280
2024-08-03 00:54:41 +03:00
Jose Carlos Jesus
045333e890 [EXPLORER] Restore windows on second click of Show Desktop button (#7184)
On the second click on "Show desktop" button, the minimized windows
are not restored, because after the first click, and the addition to
`CSimpleArray<MINWNDPOS> g_MinimizedAll`, a call to `RestoreMinimizedNonTaskWnds()`
via `HSHELL_WINDOWACTIVATED` message clears the list of minimized windows.

Don't empty `g_MinimizedAll` while processing HSHELL_WINDOWCREATED or
HSHELL_WINDOWACTIVATED messages (bDestroyed=FALSE).

Empty `g_MinimizedAll` only when SendPulseToTray is called with bDestroyed=TRUE.

Addendum to e6bced7a35 and 70d7009ad9. CORE-19703 CORE-15369
2024-08-02 17:36:26 +03:00
Stanislav Motylkov
191d716cb2 [SHDOCVW] Update Russian (ru-RU) translation
Addendum to 69931a4a7d. CORE-19686
2024-08-02 16:38:11 +03:00
Stanislav Motylkov
1fe3564ba9 [SHDOCVW] Add missing file headers and fix existing
Addendum to 69931a4a7d and 960a305e5c.
2024-08-02 16:32:46 +03:00
Katayama Hirofumi MZ
b41146dd80 [BROWSEUI] Fix mistake (IDR_EXPLORERBAND -> IDR_FILESEARCHBAND) (#7210)
JIRA issue: CORE-19705
#7163 (960a305) made a regression on DllRegisterServer.
The cause is lacking IDR_EXPLORERBAND that
CSearchBar wants.
IDR_EXPLORERBAND for CSearchBar is a mistake.
- Use IDR_FILESEARCHBAND resource instead of
  IDR_EXPLORERBAND resource for CSearchBar class.
2024-08-02 08:47:46 +09:00
Katayama Hirofumi MZ
7e8de0466d [NTUSER] Use co_UserActivateKeyboardLayout in loading (#7200)
Refactoring on keyboard layout.
JIRA issue: CORE-19268
- Delete co_UserActivateKbl function.
Use co_UserActivateKeyboardLayout
  function instead of
  co_UserActivateKbl in
  co_IntLoadKeyboardLayoutEx
  function.
- Improve
  co_UserActivateKeyboardLayout.
2024-08-02 04:35:05 +09:00
Katayama Hirofumi MZ
ea936478f5 [BROWSEUI][SHELL32] Fix shell path parsing (#7202)
Fix shell path parsing.
JIRA issue: CORE-19693
JIRA issue: CORE-19694
- Fix CACListISF class by using
  PIDL attributes.
- Use min macro instead of max
  macro in Shell_ParseSpecialFolder
  function.
2024-08-02 04:16:02 +09:00
Katayama Hirofumi MZ
960a305e5c [BROWSEUI][SHDOCVW] Move CExplorerBand to shdocvw (#7163)
CExplorerBand should be
implemented in shdocvw.dll.
894ad4f17d/modules/rostests/apitests/com/shdocvw.c (L37)
JIRA issue: CORE-19698
- Move CExplorerBand code
  from browseui to shdocvw.
- Delete IDS_FOLDERSLABEL
  resource string from browseui.
- Add IDS_FOLDERSLABEL
  resource string to shdocvw.
- Adapt code to these changes.
- Add sdk/include/reactos/
 shdocvw_undoc.h.
- Implement IEILIsEqual function.
2024-08-02 04:12:02 +09:00
Katayama Hirofumi MZ
766d04d937 [SHELL32] shlexec: Do not expand without SEE_MASK_DOENVSUBST (#7206)
JIRA issue: N/A
Don't expand the application name
unless SEE_MASK_DOENVSUBST
is not specified.
2024-08-02 04:03:25 +09:00
Katayama Hirofumi MZ
51b662f90d [SHELL32] shlexec: Support SEE_MASK_FLAG_SEPVDM (#7205)
JIRA issue: N/A
Add CREATE_SEPARATE_WOW_VDM
flag to creation flags on
SEE_MASK_FLAG_SEPVDM.
2024-08-02 04:02:27 +09:00
Hermès Bélusca-Maïto
2d8c2cd8dc [SETUPLIB][ROSTESTS] Move setuplib unittests to rostests directory.
Addendum to commit 6289183dcd ; fixes our MSVC_x64 builder.
2024-07-31 13:46:00 +02:00
Thamatip Chitpong
cf4138fa24 [NTOS:CC] Protect CcFlushCache call with a mutex
Fix crash when the function was called concurrently for the same file by BTRFS driver.
CORE-19664
2024-07-31 18:07:49 +07:00
Thamatip Chitpong
0899f4b2b1 [NTOS:CC] CcFlushCache: Call CcRosReleaseVacb when CcRosFlushVacb fails
CcRosLookupVacb adds a refcount.
2024-07-31 18:07:49 +07:00
Hermès Bélusca-Maïto
71197535a1 [SETUPLIB][USETUP] Improve IsValidInstallDirectory() behaviour (#7187)
CORE-6149, CORE-6179, CORE-9529

See also commits d329fbebf (r66995), 7c3f4c94a (r68307), and 16daf6700.

The function verifies that each path component of the directory is
a valid 8.3 name, not . or .. nor empty. This behaviour is compatible
with what can be observed from Windows XP/2003 installer.
(To reliably test this with the Windows installer, you need to modify
the TXTSETUP.SIF DefaultPath value in the [SetupData] section.)
2024-07-31 11:41:24 +02:00
Hermès Bélusca-Maïto
6289183dcd [SETUPLIB_UNITTEST] Add unit-tests for the setuplib (#7187) 2024-07-31 11:41:23 +02:00
Hermès Bélusca-Maïto
785cc21598 [SETUPLIB][USETUP] Move IsValidPath() back into setuplib for reusability (#7186)
Reverts the IsValidPath() move done in commit 9c64b57dc.

- Turn IsValidPath() into a IsValidInstallDirectory() helper function
  available in the setuplib, so that it can also be used in the GUI setup.

- Introduce a IS_VALID_INSTALL_PATH_CHAR() macro.
2024-07-31 11:40:21 +02:00
Joachim Henze
a532a68d40 [RASDLG] ro-RO.rc: Fix 2 compiler warnings (#7197)
which have been introduced during 0.4.15-dev'ing when romanian resources were updated.

C:\buildbot_config\worker\Build_MSVC_x86\build\dll\win32\rasdlg\lang/ro-RO.rc(508) : warning RC4206 : title string too long; truncated at 256
C:\buildbot_config\worker\Build_MSVC_x86\build\dll\win32\rasdlg\lang/ro-RO.rc(521) : warning RC4206 : title string too long; truncated at 256

see MSVC builder https://build.reactos.org/#builders/1/builds/24117

The fix respects the rule 1 of the Romania translation notes also, same as Andreis commit did.

Also fix a few places where ".  " was the case (unintended double-space)
2024-07-31 03:48:09 +02:00
Katayama Hirofumi MZ
063e5e2514 [USER32] Simplify CliSaveImeHotKey (#7199)
Code diet. RegCreateKeyExW will
create sub-keys recursively, so
this code is okay.
JIRA issue: CORE-19268
Simplify registry key creation code.
2024-07-31 03:50:29 +09:00
Katayama Hirofumi MZ
dcf0788f59 [IMM32][SDK][USER32] Fix ImmFreeLayout parameter (#7195)
JIRA issue: CORE-19268
- Define ImmFreeLayout parameter special
  values (HKL_SWITCH_TO_NON_IME and
  HKL_RELEASE_IME) at <imm32_undoc.h>.
- Make ImmFreeLayout parameter an HKL.
2024-07-30 11:45:23 +09:00
Joachim Henze
68a2322ad4 [NOTEVIL] Addendum to last commit.
It did compile with GCC8.4.0, but not with MSVC2019
2024-07-29 22:23:00 +02:00
Joachim Henze
c76aac910a [NOTEVIL] Fix Kamil HornICek's name again so that it is compatible to Commodore 64
HAHA! Got you Stasm! :D
Just kidding!

In fact:
For the record the RES_LAST_INDEX was totally too small, someone forgot to increase it
for the last ~50 people that were added here.

I added 6 names today:
"Carl Bialorucki"
"Doug Lyons"
"Katayama Hirofumi MZ"
"Joachim Henze"
"Oleg Dubinskij"
"Whindmar Saksit"

For the record: I waited > 10 years to add myself to grab the cool number 66 all for myself!
2024-07-29 22:06:27 +02:00
Joachim Henze
470cef7bfd [REGEDIT] Deduplication and other formatting changes (#7193)
- Deduplicates unused IDC_REGEDIT MENU vs. actually used IDR_REGEDIT_MENU
- shrinks the binary size, GCC8.4.0dbg build shrinks from 1.052.672 -> 1.049.600 bytes
- that also solves a few FIXME's, e.g. in hu-HU, pl-PL, sl-SI, sq-AL, tr-TR, uk-UA
- translates the help-popup string in th-TH.rc
- slightly tweak some headers to be a bit closer to newstyle without going all the way
- also link to LPGL2.1+ in the source files to reduce the wall-of-text, also some other whitespace tweaks in those, but no functional change
- security.c: vertical-compactness-whitespace-changes aim to get HeapAlloc closer to HeapFree
- id-ID.rc: "&Data nilai" and "&Nama nilai" does exist in 4 dialogs, Harmonize them
- pt-PT.rc: add 2 missing accels in IDD_EDIT_STRING
- edit.c: 3x ARRAY_SIZE
- the most review-worthy change in the actual .h/.c files is clb.c the change from ClbWndClass.hInstance = hinstDLL, ClbWndClass.hIcon = NULL; to ClbWndClass.hInstance = hinstDLL; ClbWndClass.hIcon = NULL;
- clb.c the stripped INT_PTR-cast for EndDialog() was Co-authored-by: Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
2024-07-29 21:19:10 +02:00
Stanislav Motylkov
d7ab15dcb4 [REACTOS] Fix Kamil Horníček's last name again
UTF-8 is allowed for the code files. Changing the encoding is not restricted
by the code of conduct and contributing guidelines.

Here's justification:
- https://git.reactos.org/?p=reactos.git&a=search&h=HEAD&st=grep&s=+Herm%C3%A8s
- https://git.reactos.org/?p=reactos.git&a=search&h=HEAD&st=grep&s=+Herv%C3%A9
- https://git.reactos.org/?p=reactos.git&a=search&h=HEAD&st=grep&s=+G%C3%A9+
- https://git.reactos.org/?p=reactos.git&a=search&h=HEAD&st=grep&s=+J%C3%A9r%C3%B4me

So we in fact do use UTF-8 encoding for the code files when attributing it
to the author(s) whose name contain non-ANSI characters.

As a core developer and repository maintainer, I have the right to change
file contents (including its encoding) without prior discussion, as long as
it corresponds with the repository's code of conduct.

I won't permit curtailment of my rights!

This is my answer and addendum to the commit b6bf110890,
which tries to disrespect me as a developer and maintainer.
2024-07-29 20:46:53 +03:00
Stanislav Motylkov
69562c40e2 [NOTEVIL] Convert resource file to UTF-8
This converts it from Windows-1252 to UTF-8.
Otherwise the changes to this file are not rendered correctly by GitHub.

As a core developer and repository maintainer, I have the right to change
file contents (including its encoding) without prior discussion, as long as
it corresponds with the repository's code of conduct.

I won't permit curtailment of my rights!

This is my answer and addendum to the commit b6bf110890,
which tries to disrespect me as a developer and maintainer.
2024-07-29 20:42:10 +03:00
Joachim Henze
b6bf110890 [REACTOS] Addendum to Stasms last commit
which was not PR'ed even.
especially to unbreak modules/rosapps/application/notevil

Addendum to
9cf6b253e7
2024-07-29 18:20:36 +02:00
Stanislav Motylkov
9cf6b253e7 [REACTOS] Fix Kamil Horníček's last name where possible 2024-07-29 17:58:02 +03:00
Václav Zouzalík
5b41e8298e [POWERCFG] Update Czech (cs-CZ) translation (#7182) 2024-07-29 17:06:44 +03:00
Václav Zouzalík
7bfae18184 [UXTHEME] Add Czech (cs-CZ) and Slovak (sk-SK) translations (#7179) 2024-07-29 14:19:37 +02:00
Václav Zouzalík
8ee524ac06 [RAPPS] Update Czech (cs-CZ) translation (#7177) 2024-07-29 14:18:32 +02:00
Václav Zouzalík
5e6b2daf15 [THEMEUI][INF] Update Czech (cs-CZ) translation (#7145) 2024-07-29 14:18:10 +02:00
Katayama Hirofumi MZ
73e7956563 [SHELL32] Follow-up of #7169 (#7175)
Follow-up of #7169
JIRA issue: CORE-19595
- Revert some code in
  RecycleBinGeneric::DeleteFile.
2024-07-29 20:37:42 +09:00
Katayama Hirofumi MZ
7dd081e945 [SDK][NTUSER] s/KLF_UNLOAD/KL_UNLOAD/ (#7196)
JIRA issue: CORE-19268
- Rename KLF_UNLOAD as KL_UNLOAD.
- Move it from win32ss/user/ntuser/input.h
  to sdk/include/reactos/undocuser.h.
- Add UKL_NOACTIVATENEXT constant
  and use it.
2024-07-29 19:30:49 +09:00
Katayama Hirofumi MZ
90a5b9a83f [SHELL32] RecycleBin5: Make it C++ (#7174)
Modernize code.
JIRA issue: CORE-19595
Rewrite RecycleBin5 in C++.
2024-07-29 09:20:36 +09:00
Katayama Hirofumi MZ
22b913928f [SHELL32] RecycleBin5Enum: Make it C++ (#7173)
Modernize code.
JIRA issue: CORE-19595
Rewrite RecycleBin5Enum in C++.
2024-07-29 08:14:02 +09:00
Katayama Hirofumi MZ
ec24b54731 [IMM32][NTUSER] Use HandleToUlong, UlongToHandle etc. macros (#7180)
Respect coding standard.
JIRA issue: N/A
- Use HandleToUlong, UlongToHandle,
  UlongToPtr etc. macros for type
  casting.
- Remove redundant casts.
2024-07-29 07:15:44 +09:00
Joachim Henze
0cd20b7a1c [PROGMAN] Tweak AUTORADIOBUTTONS (#7188)
AUTORADIOBUTTON implies BS_AUTORADIOBUTTON.
This style is shorter in code, and has the tendency to shrink the binary size also
when applied consistently. In case of progman the shrinking is not enough to reach the
next lower quantum of binary size though, GCC8.4.0dbg sticks to 192.512 bytes.
Because it's simply not enough of those buttons, since we have no localization for that module.
No change in behavior in that dlg.
2024-07-28 22:08:57 +02:00
Joachim Henze
3f1c1c0557 [CALC] *.rc: AUTORADIOBUTTONS, ja-JP: Add accel &V (#7190)
* [CALC] *.rc: AUTORADIOBUTTONS, ja-JP: Add accel &V

- Tweaks AUTORADIOBUTTONS, code shorter, binary smaller

calc.exe shrinks for GCC8.4.0dbg cfg:
530.432 -> 527.360 bytes

I checked, that there is no change in behavior with those radiobuttons,
it is intended (and same on MS Windows Calc that we can not jump from one button
to another by arrow-keys here, and also not with tab if any of those radiobuttons
has keyboard focus.

- ja-JP: Add missing accel &V in main menu

- in some headers I worked slightly towards the modern style
  without going all the way yet. This also fixes the common ukraiaiaiaiaiaiainian typo
2024-07-28 22:02:54 +02:00
Hermès Bélusca-Maïto
2136409fda [USETUP] InstallDirectoryPage(): Pressing ESC erases the whole path line (#7185) 2024-07-26 22:58:02 +02:00
Joachim Henze
4956e249db [EVENTVWR] IDD_LOGPROPERTIES Add some non-MS-accelerators (#7111)
- Add some non-MS-accelerators into IDD_LOGPROPERTIES for some functionality where our eventvwr does outperform the MS version. We do have some edit-fields selectable, where MS decided to not have them selectable. Can be used for copying out text.
- Therefore we considered that it may be beneficial to have accelerators for them as well.
- I used &S &C &E &A (instead of Katayamas former &S &C &M &A because the M is already in use in that dlg) where that did fit, and tried to manage the other languages without introducing collisions
- I also added a textual disclaimer on how to deal with that for the translators and with the aim to protect that diff to MS
also fix some inconsistencies in the length of the IDS_COPY lines for some languages
- fix some text cutoff for el-GR,pt-BR, pt-PT at the radio-buttons
- improve german Help-accel
- add some FIXMEs where some langs had accel collisions, let the native speakers with their native 2k3sp2 handle them later
2024-07-26 20:35:03 +02:00
Katayama Hirofumi MZ
a905ba2717 [GITHUB] Follow-up of #7181 (155a7c7)
Add base/applications/ctfmon/**.
JIRA issue: CORE-19268
2024-07-26 18:49:34 +09:00
Katayama Hirofumi MZ
155a7c734a [GITHUB] labeler.yml: Add 'input method' label (#7181)
Automatically add input method label.
JIRA issue: CORE-19268
Modify .github/labeler.yml.
2024-07-26 05:07:40 +09:00
Whindmar Saksit
e87f1d5d91 [RAPPS] Uninstall empty directories after its children (#7164) 2024-07-25 00:22:12 +02:00
Whindmar Saksit
a8b33400a2 [INF][BOOTDATA][SETUPAPI] Use Inf instead of Cmd.exe to register IExplore (#7171)
This moves the IExplore registration from cmd.exe (established in 4a4060ce3c (r52196) for CORE-1370) to syssetup.inf to avoid console popups on first boot.
2024-07-24 22:55:29 +02:00
Ethan Rodensky
7f021debdc [THEMES][MIZU] Add support for themed Show Desktop button (#5744)
Also double-check button sizing and visual padding.

Addendum to df4eb08b031. CORE-15369
2024-07-24 11:08:38 +03:00
Ethan Rodensky
3833d927e4 [THEMES][LAUTUS] Add support for themed Show Desktop button (#5744)
- Also fix vertical taskbar layout.
- Double-check button sizing and visual padding.

Addendum to df4eb08b031. CORE-15369 CORE-11698
2024-07-24 11:08:37 +03:00
Ethan Rodensky
70d7009ad9 [EXPLORER] Improve appearance of Show Desktop button (#5744)
While functional, Katayama's show desktop button left much to be desired
in the realm of appearances. This commit brings improvements for it:

- When using the classic theme, the Show Desktop button now appears
  more faithful to its Microsoft counterpart, emblazoned with an icon,
  and encased in a border only when hovered or pressed.
- With a visual style applied, the button behaves in one of two ways:
  - If present, the Show Desktop button now properly uses the relevant
    information from the visual style, just like on Windows 7.
  - Otherwise, the Show Desktop button uses an icon akin to when the
    classic theme is used, but with the button background's appearance
    repurposed from the taskbar toolbar buttons, which are guaranteed to
    exist in any Windows XP or Vista visual style you can find out there.

ReactOS's own Lautus and Mizu visual styles will be updated in the
following commits to utilize these features, while Lunar and Modern visual
styles left untouched to display Show Desktop button with icon instead.

CORE-15369
2024-07-24 11:08:36 +03:00
Katayama Hirofumi MZ
6910fa624f [SHELL32] RecycleBinGeneric: Make it C++ (#7169)
Modernize code.
JIRA issue: CORE-19595
Rewrite RecycleBinGeneric in C++.
2024-07-24 12:16:37 +09:00
Katayama Hirofumi MZ
72116d0558 [SHELL32] RecycleBinGenericEnum: Make it C++ (#7167)
Modernize code.
JIRA issue: CORE-19595
Rewrite RecycleBinGenericEnum
in C++.
2024-07-24 11:24:56 +09:00
Whindmar Saksit
d5aca44042 [SHELL32] Forward CDefaultContextMenu::InvokeCommand parameters to ShellExecute (#7172) 2024-07-23 18:58:02 +02:00
Katayama Hirofumi MZ
876d1c2dc8 [SHELL32] Use DECLARE_INTERFACE_ for IRecycleBin5 (#7168)
Improve interoperability between
C and C++.
JIRA issue: CORE-19595
Rewrite IRecycleBin5 interface
by using STDMETHOD and
DECLARE_INTERFACE_ macro.
2024-07-23 22:21:11 +09:00
Katayama Hirofumi MZ
166c7ee33c [SHELL32] CRecycleBin: Add backshash if path is drive only (#7170)
JIRA issue: CORE-18006
If the original location is drive
only (C:, D: etc.), then append a
backslash.
2024-07-23 15:46:18 +09:00
Katayama Hirofumi MZ
b40046f426 [SHELL32] ShellExecCmdLine: Use SearchPathW (#7166)
Based on @Doug-Lyons
shlexec-winR-fonts.patch.
#4932 (f691efe) introduced
some regression.
JIRA issue: CORE-19688
Call SearchPathW function before
PathFindOnPathExW call in
ShellExecCmdLine function.
2024-07-23 15:08:16 +09:00
Whindmar Saksit
6219a1abe5 [BROWSEUI][SHELL32] Ignore navigation requests during browser destruction (#7161)
PR #7141 causes calls to IShellBrowser::BrowseObject while the shell browser is in the middle of destruction and the ShellView ListView has already been destroyed and DefView is not prepared for this.
2024-07-22 21:25:58 +02:00
Whindmar Saksit
f6a25d48d5 [SHELL32] Invoke the ItemIDList of shortcuts (#7152)
Invoking the IDList as if the target was double-clicked in Explorer fixes shortcuts to control panel items (both .cpl and ShellFolder types).

CORE-19690
2024-07-22 19:31:48 +02:00
Whindmar Saksit
a45d375f60 [RAPPS] Fix CAB codepage handling (#7165)
- MultiByteToWide parameter bug.
- Use CP_UTF8 to convert cab filenames if the UTF attribute is set.
2024-07-22 16:20:31 +02:00
Katayama Hirofumi MZ
7f0e8a3697 [SHELL32] RecycleBinGenericEnum: Convert tabs to spaces
CORE-19595
2024-07-22 13:24:12 +09:00
Eric Kohl
f24fbb655e [SETUPAPI] Implement CM_Dup_Range_List() and CM_Test_Range_Available() 2024-07-21 16:32:28 +02:00
Katayama Hirofumi MZ
b6b82fee3f [SHELL32] Refactor CShellLink::DoOpen (#7149)
Reduce code. Modernize code.
JIRA issue: N/A
Use CStringW and CComHeapPtr<WCHAR> for
dynamic allocation.
2024-07-21 10:08:16 +09:00
Eric Kohl
894ad4f17d [SETUPAPI] Implement CM_Free_Res_Des_Handle() and improve CM_Get_Next_Re_Des_Ex() 2024-07-20 22:20:36 +02:00
Katayama Hirofumi MZ
39077a7bf0 [BROWSEUI][SHDOCVW][SDK] Fix INamespaceProxy interface (#7156)
Use correct interface definition for standardization.
JIRA issue: CORE-19686
Use INamespaceProxy interface
that is documented in the
Microsoft official site
( https://learn.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ee318424%28v=vs.85%29 )
and Windows 10 PSDK
(see um/ienamespacecontrol.idl file).
2024-07-20 19:59:48 +09:00
Serge Gautherie
c7a4984595 [MMEBUDDY][MMIXER] Fix NDEBUG support (#7039)
- Remove unwanted value.
- Use add_compile_definitions().
- NDEBUG "depends" on DBG.
2024-07-20 12:05:56 +02:00
Katayama Hirofumi MZ
c1c91f2a1a [SHELL32_APITEST] SHParseDisplayName: Add tests for shell:windows\system32 etc. (#7157)
The shell protocol path needs
special parsing. We didn't
implement it correctly.
JIRA issue: CORE-19693
- Add tests for
  shell:windows\system32
  and shell:windows\fonts.
2024-07-19 22:41:02 +09:00
Katayama Hirofumi MZ
070d353326 [BOOTDATA] Fix Internet Browser icon for LiveCD (#7153)
JIRA issue: CORE-19202
Add CLSID_Internet settings to
boot/bootdata/livecd.inf.
2024-07-19 22:10:29 +09:00
Whindmar Saksit
802dc9714b [SHELL32][SHLWAPI][BROWSEUI][EXPLORER] Save folder view state (#7127)
Saves/restores the Listview icon mode, columns and sort info per-folder.
2024-07-19 14:40:20 +02:00
Whindmar Saksit
fa95a96e9b [SHELL32] Use correct PIDL and name when dropping to create a shortcut (#6999)
Ask for the editing name instead of the parsing name to get a suitable shortcut name for PIDL items.
2024-07-19 13:37:53 +02:00
Katayama Hirofumi MZ
089788a52a [SHELL32][SHELL32_APITEST] ShellExecute should accept invalid directory (#7150)
Implement parsing SHELLEXECUTEINFO.lpDirectory.
Enhance ShellExecuteEx testcase for invalid directory.
2024-07-19 17:40:36 +09:00
Tomáš Veselý
466a19817f [COMCTL32][USER32] STATIC: Fix grayed drawing (#7024)
CORE-15298

Use DrawTextW() to correctly render disabled grayed text.
Applies to both dll\win32\comctl32\static.c and win32ss\user\user32\controls\static.c

A similar solution is already used by button.c!BUTTON_DrawLabel().
2024-07-18 22:03:36 +02:00
Mark Jansen
7f31cdc18f [RAPPS] Add new Let's Encrypt issuer certificate
CORE-19666
2024-07-18 21:59:14 +02:00
Serge Gautherie
c6298321a3 [NTUSER] Fix IntDefWindowProc()'s WM_MOUSEACTIVATE case (#7038)
CORE-17545

Clang 13.0.1 was warning about broken 'Ret' handling.
Also remove an unrelated redundant 'else ...'.

Addendum to commit 6dfa71c487 (r68904).
2024-07-18 20:35:04 +02:00
Serge Gautherie
5385f32794 [NTUSER] defwnd.c: Trivial formatting fixes (#7038)
And (re)move 2 'break;'.
2024-07-18 20:33:11 +02:00
Mas Ahmad Muhammad
69b382a1ac [TRANSLATION] Update Indonesian (id-ID) translation (#7147)
Update Indonesian Translation for explorer.exe shell dlls:
explorer, browseui, ieframe, shell32.
2024-07-18 18:18:07 +02:00
Jose Carlos Jesus
35114ef062 [NETPLWIZ] Fix typos in pt-PT translation (#7122)
- Fix typos.
- Add file header.
2024-07-18 18:15:10 +02:00
Jose Carlos Jesus
2e0e8a5931 [DESKADP] Improve pt-PT translation (#7121)
- Improve translation;
- Add missing acceleration key;
- Add file header.
2024-07-18 18:14:42 +02:00
Jose Carlos Jesus
8ab444fd6e [NETSHELL] Improve portuguese (pt-PT) translation (#7120)
- Improve translation;
- Fix typos in rc file;
- Add file header.
2024-07-18 18:13:27 +02:00
Václav Zouzalík
ad9e73eeea [ACPPAGE] Update Czech (cs-CZ) translation (#7110) 2024-07-18 18:11:53 +02:00
Václav Zouzalík
b21be48ee4 [CRYPTEXT] Add Czech (cs-CZ) and Slovak (sk-SK) translations (#7109) 2024-07-18 18:11:14 +02:00
Jose Carlos Jesus
44a11cbc7f [USRMGR] Add file header. Improve pt-PT translation. (#7099)
- Improve translation;
- Add missing accel keys;
- Readjust text window width to fit all text;
- Add file header.
2024-07-18 18:10:10 +02:00
Jose Carlos Jesus
9552e934d4 [MMSYS] Add file hdr. Improve pt-PT translation. Adjust window text length. (#7057)
- Improve translation;
- Adjust text length;
- Add file header.
2024-07-18 18:09:31 +02:00
Václav Zouzalík
6fff27d3f5 [WINLOGON] Update Slovak (sk-SK) translation (#7050) 2024-07-18 18:08:25 +02:00
Jose Carlos Jesus
187be834c0 [SHELL32] Update Portuguese (pt-PT) translation (#6939)
- Update translation;
- Fix typos;
- Add file header.

Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
Co-authored-by: Joachim Henze <joachim.henze@reactos.org>
2024-07-18 18:08:09 +02:00
Katayama Hirofumi MZ
69931a4a7d [SHDOCVW] Initial implementation of Favorites bar (#7146)
First step to Favorites bar support.
Menu: [View]→[Explorer bar]
→[Favorites]

JIRA issue: CORE-19686

- Add CFavBand.cpp, CFavBand.h,
  favband.rgs, and resource.h files.
- Modify CMakeLists.txt.
- Add IDS_ADD and IDS_ORGANIZE
  resource strings.
- Implement empty Favorites bar.
- The treeview is not populated yet.
- The Add button is not
  implemented yet.
2024-07-18 23:21:40 +09:00
Hermès Bélusca-Maïto
61b7fb99eb [PARTMGR] Filter some currently-unimplemented MountMgr MOUNTDEV notifications.
CORE-17200

Helps reducing debug log noise like:
```
(drivers\storage\port\scsiport\ioctl.c:542) unknown ioctl code: 0x4D0018
```

The other notifications are already implemented there.
These are handled by the volume manager, which is currently
stubbed into ReactOS' partition manager.

See commit ed27d733f7 for what the deprecated versions
of IOCTL_MOUNTDEV_LINK_[CREATED|DELETED] are all about.
2024-07-17 17:24:26 +02:00
Whindmar Saksit
738c8fc27c [EXPLORER] Execute RunOnce[Ex] before desktop is created (#7143)
CORE-19501
2024-07-17 12:42:22 +02:00
Whindmar Saksit
28cb0995e6 [REGEDIT] Handle Ctrl+Backspace in AddressBar (#7140)
Notes:
- Also fixes a bug where Del does not work in the AddressBar nor during Tree/List label edit because it gets eaten by the accelerator.
- Removed the code that handles CtrlA in the AddressBar because the Edit control does this out of the box.
2024-07-17 12:40:32 +02:00
Katayama Hirofumi MZ
075894bc44 [CMD] Fix GetPathCase function (#7113)
This GetPathCase function does
resolve the path with wildcard
pattern, and fix the alphabet
cases, by using
kernel32!FindFirstFile function.
Enable wildcard at the middle
of the file path in cmd.exe by
fixing this function.

JIRA issue: CORE-6609
JIRA issue: CORE-13906

- Fix GetPathCase function for
  supporting wildcard at the
- middle of the file path.
- Make GetPathCase string-safe.
- Optimize GetPathCase.
2024-07-17 08:38:33 +09:00
Katayama Hirofumi MZ
ec2721fd3e [CMD] Batch: Don't ClearBatch if bSameFn (#7112)
Recursing batch was prevented by
ClearBatch call.
JIRA issue: CORE-18093
- Check bSameFn variable.
- If it was TRUE, don't call ClearBatch
  function.
2024-07-17 08:34:15 +09:00
Whindmar Saksit
39305cc79c [SDK][MC] errcodes.mc: Added more COM error messages (#7142) 2024-07-16 21:52:23 +02:00
Andrei Miloiu
4a13f1ec3c [OLEDLG] Update Romanian (ro-RO) translation (#6774) 2024-07-16 21:45:10 +02:00
Andrei Miloiu
9f9431bc7b [COMCTL32] Update Romanian (ro-RO) translation (#6874) 2024-07-16 21:42:40 +02:00
Andrei Miloiu
f200a34964 [SETUPAPI] Update Romanian (ro-RO) translation (#6843) 2024-07-16 21:41:46 +02:00
Andrei Miloiu
6d7e654a81 [NETPLWIZ] Update Romanian (ro-RO) translation (#6842) 2024-07-16 21:40:54 +02:00
Andrei Miloiu
fc7a2179d1 [USERENV] Update Romanian (ro-RO) translation (#6831) 2024-07-16 21:40:21 +02:00
Andrei Miloiu
d8fb869de0 [INF] Update Romanian (ro-RO) translation (#6859) 2024-07-16 21:38:44 +02:00
Andrei Miloiu
dd55981d3d [NETSHELL] Update Romanian (ro-RO) translation (#6865) 2024-07-16 21:37:29 +02:00
Doug Lyons
fb87f0f88c [NTUSER] Fix popup menu position when menu item is half off the left side of the screen (#7108)
[CORE-16729](https://jira.reactos.org/browse/CORE-16729)
2024-07-16 14:36:45 -05:00
Andrei Miloiu
61286667f4 [MPR] Update Romanian (ro-RO) translation (#6866) 2024-07-16 21:36:22 +02:00
Andrei Miloiu
479c5499d1 [MSACM32] Update Romanian (ro-RO) translation (#6875) 2024-07-16 21:35:27 +02:00
Andrei Miloiu
f33186b15b [AVIFIL32] Update Romanian (ro-RO) translation (#6876) 2024-07-16 21:33:35 +02:00
Andrei Miloiu
0d175e2f8f [MSVFW32] Update Romanian (ro-RO) translation (#6878) 2024-07-16 21:30:17 +02:00
Andrei Miloiu
20110e10c5 [POWERCFG] Update Romanian (ro-RO) translation (#6745) 2024-07-16 21:29:39 +02:00
Andrei Miloiu
e116c2c735 [ZIPFLDR] Update Romanian (ro-RO) translation (#6744) 2024-07-16 21:28:10 +02:00
Andrei Miloiu
21b65958dc [SNDREC32] Update Romanian (ro-RO) translation (#6733) 2024-07-16 21:24:07 +02:00
Andrei Miloiu
fc7bc3bbbd [LOCALMON] Update Romanian (ro-RO) translation (#6877) 2024-07-16 21:20:16 +02:00
Andrei Miloiu
79b512006f [INETCPL] Update Romanian (ro-RO) translation (#6693) 2024-07-16 21:17:17 +02:00
Andrei Miloiu
9b5625376f [MAIN] Update Romanian (ro-RO) translation (#6707) 2024-07-16 21:14:49 +02:00
Andrei Miloiu
2229991bc0 [CREDUI] Update Romanian (ro-RO) translation (#6732) 2024-07-16 21:09:25 +02:00
Andrei Miloiu
9db1b8b375 [SSSTARS] Update Romanian (ro-RO) translation (#6698) 2024-07-16 21:04:20 +02:00
Andrei Miloiu
8248f091d7 [TELEPHON] Update Romanian (ro-RO) translation (#6694) 2024-07-16 21:01:31 +02:00
Andrei Miloiu
7f26a3969b [LOGON] Update Romanian (ro-RO) translation (#6692) 2024-07-16 20:58:05 +02:00
Andrei Miloiu
8f9c1f9fd5 [INPUT] Update Romanian (ro-RO) translation (#6667) 2024-07-16 20:57:19 +02:00
Andrei Miloiu
1ab988b520 [CHARMAP] Improve Romanian (ro-RO) translation (#6665) 2024-07-16 20:41:50 +02:00
Andrei Miloiu
0d0db4a796 [NEWDEV] Update Romanian (ro-RO) translation (#6663) 2024-07-16 20:38:49 +02:00
Andrei Miloiu
ed84106c60 [HDWWIZ] Update Romanian (ro-RO) translation (#6645) 2024-07-16 20:36:33 +02:00
Andrei Miloiu
5b910bd147 [EXPLORER_OLD] Update Romanian (ro-RO) translation (#6643) 2024-07-16 20:31:57 +02:00
Andrei Miloiu
a132aab0ed [ACCESS] Update Romanian (ro-RO) translation (#6629) 2024-07-16 20:29:54 +02:00
Andrei Miloiu
61afc07a30 [EXPLORER] Update Romanian (ro-RO) translation (#6642) 2024-07-16 20:29:28 +02:00
Andrei Miloiu
cab86826e9 [MSGINA] Update Romanian (ro-RO) translation (#6536) 2024-07-16 20:28:05 +02:00
Andrei Miloiu
f7de1bf5c2 [TASKMGR] Update Romanian (ro-RO) translation (#6614) 2024-07-16 20:23:55 +02:00
Andrei Miloiu
56b4f9b61a [WINMINE] Update Romanian (ro-RO) translation (#6611) 2024-07-16 20:22:27 +02:00
Andrei Miloiu
5f2fecf663 [SPIDER] Update Romanian (ro-RO) translation (#6602) 2024-07-16 20:21:18 +02:00
Andrei Miloiu
3ac92d4c2e [RASDLG] Update Romanian (ro-RO) translation (#6537) 2024-07-16 20:20:46 +02:00
Andrei Miloiu
6735a09911 [WORDPAD] Update Romanian (ro-RO) translation (#6531) 2024-07-16 20:13:20 +02:00
Andrei Miloiu
8d86c2c943 [MMSYS] Update Romanian (ro-RO) translation (#6510) 2024-07-16 20:11:48 +02:00
Whindmar Saksit
0ba96ad05e [SHELL32] Don't update statusbar during drag operation (#7144) 2024-07-16 20:01:59 +02:00
Katayama Hirofumi MZ
580824ae1f [BROWSEUI] CExplorerBand: Refresh on change notification (#7141)
Update UI on filesystem change.
JIRA issue: CORE-12619
- Add Refresh and RefreshRecurse
  methods.
- Add IsTreeItemInEnum,
  TreeItemHasThisChild,
  GetItemEnum, and
  ItemHasAnyChild helper
  methods.
- Delete RenameItem, DeleteItem
  and RefreshTreePidl methods
  and _ReparsePIDL function.
- Add WM_TIMER message
  handler (OnTimer) to delay
  refreshing.
- Refresh TreeView on change
  notification.
2024-07-16 21:21:41 +09:00
Katayama Hirofumi MZ
6f277e9766 [SHELL32] shlexec.cpp: Parse 'shell:' and '::{CLSID}' (#7126)
JIRA issue: CORE-14177
JIRA issue: CORE-17482
- Add SHELL_InvokePidl helper
  function.
- Call SHParseDisplayName and
  SHELL_InvokePidl in a specific
  condition.
2024-07-15 21:16:04 +09:00
Eric Kohl
c1b9bb5700 [UMPNPMGR] Add requirements list support to PNP_GetFirstLogConf and PNP_GetNextLogConf 2024-07-14 16:57:17 +02:00
Eric Kohl
ca05f561c1 [IPCONFIG] Fix several typos
- Fix typos in the Release and Renew functions. The typo caused the functions to work on the first adapter only.

- Fix a typo in the german translation.
2024-07-14 15:08:22 +02:00
Eric Kohl
36bf934fbe [NDK][REGEDIT][ROSTESTS:ACPI] Make IO_RESOURCE_REQUIREMENTS_LIST accessible to user mode code
- Copy IO_RESOURCE_REQUIREMENTS_LIST to the NDK.
- Remove local copies of IO_RESOURCE_REQUIREMENTS_LIST
2024-07-14 14:31:41 +02:00
Eric Kohl
cb582efdd2 [DISKPART] List all available file systems in the FILESYSTEMS command 2024-07-14 11:18:20 +02:00
Katayama Hirofumi MZ
0574987b20 [BROWSEUI] Use override keyword and STDMETHODIMP_
CORE-19469
2024-07-14 10:59:10 +09:00
Katayama Hirofumi MZ
7bec458077 [BROWSEUI] CExplorerBand: Use SHCNRF_NewDelivery method (#7133)
Refactoring. Optimize for speed.
JIRA issue: CORE-12619
- Update file headers.
- Make some parameter type LPITEMIDLIST
  LPCITEMIDLIST (Add const).
- Add OnChangeNotify method.
- Use SHCNRF_NewDelivery method for speed.
- Add some SAL annotations.
2024-07-14 10:50:18 +09:00
George Bișoc
4093d0e164 [NTUSER] Estabilish power callouts and invoke the cleanup procedure when unloading Win32k 2024-07-13 11:30:19 +02:00
George Bișoc
181b666fc4 [NTUSER] Stubplement the Win32 power manager
In order for the NT power manager to interact with the Win32 subsystem (thus the whole rest of the system), the Win32 kernel-mode subsystem provides a mechanism that communicates with the kernel power manager via power callouts (aka power requests as per Windows' PDB symbols).
Such mechanism enters in action as soon as Win32 callout routines are estabilished with the PsEstablishWin32Callouts() function.

The NT power manager, the power policy manager respectively, invokes a power callout to denote an exceptional phenomena as a result of power policies or capabilities changes, turning ON/OFF the display, a system time change has occurred, etc.
Such scenarios are described as power events of which the NT power manager sends a WIN32_POWEREVENT_PARAMETERS packet to Win32k via the estabilished "PowerEventCallout" pointer function callout.
For other callouts that inform the Win32 subsystem of impeding power state changes across the system or devices, these are sent as WIN32_POWERSTATE_PARAMETERS packets with its own separate callout.

The purpose of such mechanism is to give Win32k the opportunity to do power related tasks and alert every application of such power events in accordance with what it gets notified by the NT power manager.
Currently this patch stubplements this mechanism in ROS, it is only just the barebones for now. The development of the Win32 power manager will go in parallel with the kernel power manager development (expand, improve, fix the code of issues that whatever may arise).
So far only the PsW32SystemTime power event is implemented for the moment being. This work was decoupled from PR #5719 to avoid clobbering it too much.

=== TODO ===

- Implement power states management communication with the kernel power manager
- Implement the rest of the power events in IntHandlePowerEventWorker
- Implement power event handling in CSRSS (or WinSrv?) which handles any of the events that could not be handled by Win32k otherwise
- Estabilish the power state callout in PsEstablishWin32Callouts() (currently there is no a pointer function that gets assigned to such callout)

CORE-18969
2024-07-13 11:30:19 +02:00
George Bișoc
560428e250 [WIN32K] Add debug switch for the Win32 power manager 2024-07-13 11:30:07 +02:00
Hermès Bélusca-Maïto
4028de8c55 [APPHELP] SdbGUIDToString(): use sizeof(WCHAR) instead of '2' (#7137) 2024-07-11 18:28:54 +02:00
Hermès Bélusca-Maïto
b3094aa001 [APPHELP] Fix MAX_GUID_STRING_LEN define; use it for one buffer (#7137) 2024-07-11 18:28:43 +02:00
Oleg Dubinskiy
04f04efc96 [NTGDI] FontLink: avoid invalid font name buffer freeing (#7131)
Don't free the linked font name if it's already NULL. Since it is allocated only once (when loading the font name from Registry), it should be freed only once too. All subsequent freeing attempts will result in invalid pool freeing.
This fixes the 0xC2 BAD_POOL_CALLER bugcheck when trying to resize window (and draw more text) from soundcloud.com in K-Meleon 76.5.4 Goanna engine and when switching between channels (during redrawing the text) in DiscordMessenger v1.06 Beta.
Addendum to 0f9e889736.
CORE-19681
2024-07-11 14:27:26 +02:00
Hermès Bélusca-Maïto
9e07d0cc74 [PARTMGR] Trigger mount points removal when a partition/volume is deleted (#7034)
CORE-18139

When a partition is created, PartMgr notifies the volume manager
(FTDisk on Windows <= 2003, VolMgr on Vista+) of its presence.
(Note that currently in ReactOS, our partmgr does the job of both
PartMgr *AND* VolMgr.)
The VolMgr then sends a `GUID_DEVINTERFACE_VOLUME` PnP notification,
which is handled by the mount manager (MountMgr) as part of a
`GUID_DEVICE_INTERFACE_ARRIVAL` notification:
```
MountMgr!MountMgrMountedDeviceNotification -> MountMgrMountedDeviceArrival
followed by
MountMgr!MountMgrTargetDeviceNotification
```

When a partition is deleted, via e.g. Disk Management or DiskPart,
it can be observed, on Windows, that the PartMgr gets notified by
the PnP manager, as part of QueryDeviceRelations. Before actually
removing the partition, it notifies the VolMgr. The latter invalidates
any volume mounted on that partition (`*PartitionRemoved*` functions
for basic volumes), then requests (`*DeleteMountPoints` function)
the MountMgr to delete all the mount points associated to the volume:
```
VolMgr!*DeleteMountPoints
-> MountMgr!MountMgrDeviceControl -> MountMgrDeletePoints
```
**** THIS is the new functionality that is implemented for ReactOS ****
**** in the present commit.                                        ****

Following this, a subsequent PnP notification is sent, which calls
```
MountMgr!MountMgrTargetDeviceNotification
-> MountMgr!MountMgrMountedDeviceRemoval
```
(Note that this observation somewhat invalidates the modification
made in ReactOS commit 62a4f9d42b : our MountMgr placed in Windows
*WOULD* receive a `GUID_TARGET_DEVICE_REMOVE_COMPLETE` target-device
notification...)

Finally, a `GUID_DEVICE_INTERFACE_REMOVAL` PnP notification is sent
to the MountMgr:
```
MountMgr!MountMgrMountedDeviceNotification
-> MountMgr!MountMgrMountedDeviceRemoval
```
2024-07-11 13:46:52 +02:00
Katayama Hirofumi MZ
465b9cef25 [SHELL32] ShellAboutW: IDD_ABOUT offset is (20, 20) (#7132)
JIRA issue: CORE-17084
Change IDD_ABOUT resource
dialog offset to (20, 20).
2024-07-11 17:20:45 +09:00
Katayama Hirofumi MZ
0fbf4fb8fb [BROWSEUI] Fix confusion of StrDupW and SHStrDupW (#7135)
Fix memory leaks.
SHStrDupW uses CoTaskMemAlloc.
StrDupW uses LocalAlloc.
They are different.
JIRA issue: N/A
Use SHStrDupW instead of StrDupW.
2024-07-11 17:19:57 +09:00
Katayama Hirofumi MZ
28e7af7531 [FONTEXT] Fix CFontExt::GetDisplayNameOf for SHGDN_FORPARSING (#7134)
Fix font enumeration and AutoComplete on %WINDIR%\Fonts.
JIRA issue: CORE-9281
"Replace if (dwFlags ==
SHGDN_FORPARSING)" with
"if (dwFlags & SHGDN_FORPARSING)".
2024-07-11 17:18:01 +09:00
Katayama Hirofumi MZ
a943bb4613 [CMD] Improve Japanese (ja-JP) translation
CORE-18706
2024-07-11 12:36:47 +09:00
Katayama Hirofumi MZ
18acf79551 [CMD] Prepare for localization by using resource strings (#7125)
Promote localization of cmd.exe.
JIRA issue: CORE-19680
Add some resource strings.
Use them instead of raw strings.
2024-07-11 09:12:12 +09:00
Hermès Bélusca-Maïto
c02289a08a [UXTHEME][NTUSER] Check class style for CS_NOCLOSE instead of window style (#7130)
CORE-11569, CORE-19684

Addendum to commit 71bed0f5f8 (PR #7123).

The problem in uxtheme was introduced in commit 685084b63c (as part
of a fix for CORE-17203), because it was a copy-paste and adaptation
of the corresponding code in `ntuser/nonclient.c!NC_DoButton()`.

The bugs in `win32ss/user/ntuser/defwnd.c` (and `nonclient.c` as fixed by
the previous commit) were in turn introduced from the migration of menu
and related code from user32 to win32k, see commit 6dfa71c487 (r68904).
2024-07-10 19:49:09 +02:00
Hermès Bélusca-Maïto
957bb89548 [CMD] Implement /F[:ON|:OFF] switch for file/path completion (#7118)
CORE-8002

The switch enables or disables file/path completion in a unique
CMD instance. The defaulted values for the completion characters
are those mentioned in CMD's help (see also MSDN[^1]):
  File: Ctrl-F (0x06); Directory: Ctrl-D (0x04)

Manual tests show that only /F:OFF explicitly disables completion.
Otherwise, using /F(anything else following) always enables completion
with the specific values described above.

[^1]: For additional details, see also
https://technet.microsoft.com/en-us/library/cc978715.aspx
https://technet.microsoft.com/en-us/library/cc940805.aspx
2024-07-10 16:58:28 +02:00
Katayama Hirofumi MZ
9f68f482c1 [BROWSEUI] Check focus before opening AutoComplete (#7128)
Unexpectedly remaining
AutoComplete list is annoying.
JIRA issue: CORE-19685
- Add CAutoComplete::
  m_bEditHasFocus to watch
  focus.
- Update m_bEditHasFocus on
  WM_SETFOCUS and
  WM_KILLFOCUS messages on
  Edit window procedure.
- Don't open AutoComplete list
  when m_bEditHasFocus was
  FALSE.
2024-07-10 22:47:02 +09:00
Doug Lyons
71bed0f5f8 [NTUSER] Check class style for CS_NOCLOSE instead of window style (#7123)
Change 'pWnd->style' to 'pWnd->pcls->style' to check for CS_NOCLOSE.
Incorrect struct field was used for checking previously.

Fixes a bug with Ad Muncher that did not close when clicking on the window
title "X" button while being used with a Classic window style theme.
Patch by I_Kill_Bugs. CORE-11569
2024-07-10 13:30:53 +03:00
Katayama Hirofumi MZ
736d81938a [CMD] DATE: Output 'The current date is: ' (#7117)
Make DATE command output compatible.
JIRA issue: CORE-13848
- Add STRING_DATE_NOW resource string for
  localizing "The current date is: ".
- Output by ConOutResPuts function.
2024-07-10 11:53:21 +09:00
Joachim Henze
07f263143e [REGEDIT] *.rc: AUTORADIOBUTTONS, fix "Bus Nummer"-typo, ... (#7104)
- fix AUTORADIOBUTTONS, BS_AUTORADIOBUTTON is not needed, when AUTORADIOBUTTON is used
- add a WS_GROUP | WS_TABSTOP to the first ARB
- this slightly shrinks the binary size by the way, because we don't need the "Button"-strings
- harmonize the 2 AUTORADIOBUTTONS width to 99 for all langs
- fix "Bus Nummer"-typo, which has been done already by someone in en-US, but other langs were forgotten
- sync untranslated cut-accel, which has also been done for en-US already, but was forgotten in other langs
- in all translations a big block has been moved within the rcs historically..., in all except nl-NL and no-NO. What a foolish thing to do! So catch up with that.
- ja-JP the thing with the cut-accel fixes an accelerator collision by the way &C vs &C
- nl-NL: strip GRAYED from ID_REGISTRY_CONNECTNETWORKREGISTRY, which was done for all other languages earlier already, but forgotten for this one
2024-07-10 02:17:37 +02:00
Joachim Henze
e1c5b7366a [RAPPS] *.rc: IDC_DEFAULT_SETTINGS Optimize AUTORADIOBUTTONS, WS_GROUP (#7094)
- The stuff with the AUTORADIOBUTTONS is a small optimization to slightly reduce code-size and binary-size.
- Also add a missing WS_GROUP to IDC_DEFAULT_SETTINGS, which prevents leaving the group of the 3 bottom-most buttons to the left with the left-arrow-key.
- we need to add a return TRUE into WM_INITDIALOG section of SettingsDlgProc() to handle the default keyboard focus correctly towards the topmost AUTOCHECKBOX in this dlg. That part was contributed by @whindsaks , thank you very much for that!
- pl.PL: Add a missing ES_AUTOHSCROLL
- improve a few accelerators here and there

For the record: If no additional style is set then an AUTORADIOBUTTON gets by default BS_AUTORADIOBUTTON | WS_TABSTOP
see https://learn.microsoft.com/de-de/windows/win32/menurc/autoradiobutton-control
2024-07-10 00:51:19 +02:00
Whindmar Saksit
2e08238c7c [SHELL32] CDefaultContextMenu must respect the default verb list (#7090) 2024-07-09 20:01:50 +02:00
Whindmar Saksit
5b78381a53 [BROWSEUI][SHELL32] Implement BrowseObject flags (#7086)
* [BROWSEUI][SHELL32] Implement BrowseObject flags

Respect CABINETSTATE::fNewWindowMode if no other flags are relevant
2024-07-09 20:00:54 +02:00
Stanislav Motylkov
a629258e4a [SHELL32] Update Russian (ru-RU) translation
Addendum to:
- fd39a292af, dc97c0d109.
- 5308a606dc. CORE-12562
- 3da9e7e251. CORE-16944 CORE-19597

Also fix overlapping window controls.
2024-07-09 19:52:53 +03:00
Stanislav Motylkov
d66f61ab73 [REGEDIT] Update Russian (ru-RU) translation
Add missing header.
2024-07-09 19:32:14 +03:00
Stanislav Motylkov
4b9eec2d3b [MSUTB] Add Russian (ru-RU) translation
Also fix overlapping window controls.
Addendum to f4460c3fcd. CORE-19363
2024-07-09 19:32:12 +03:00
Stanislav Motylkov
a8efa049b5 [MSCTFTIME] Add Russian (ru-RU) translation
Addendum to 17617221ce. CORE-19360
2024-07-09 18:24:17 +03:00
Stanislav Motylkov
f9487d6784 [USERINIT] Update Russian (ru-RU) translation
Sync with intl.cpl translation. Addendum to 8c9a41db96 & 30a4fa94e3.
Also add missing header.
2024-07-09 18:24:17 +03:00
Stanislav Motylkov
50fc63ea71 [REPLACE] Update Japanese (ja-JP) translation
Add missing author. Addendum to 078f7ceaac. CORE-9444 CORE-18706
2024-07-09 18:24:16 +03:00
Katayama Hirofumi MZ
d7289cf2e9 [BROWSEUI] AutoComplete: Close before opening IME candidates (#7115)
The auto-complete window and
the IME candidate window were
conflicting each other.
JIRA issue: CORE-19268
Call HideDropDown method
when processing
IMN_OPENCANDIDATE message.
2024-07-10 00:05:28 +09:00
Joachim Henze
2b3c2957e6 [REGEDIT] ru-RU.rc: Fixme was double-checked by Stasm
Those are different russian chars, placed even on different keys.
They do just look very similar.
2024-07-09 16:46:33 +02:00
Katayama Hirofumi MZ
22561d5046 [CMD][BOOTDATA] Populate 'Command Processor' registry data (#7114)
Improve compatibility.
JIRA issue: CORE-8002
- Fix the default values of AutoCompletionChar
  and PathCompletionChar in cmd.exe.
- Populate "SOFTWARE\Microsoft\Command
  Processor" registry key like Win2k3 does.
2024-07-09 22:40:22 +09:00
Raúl Gutiérrez
d4433ee0c9 [SDK][INCLUDE] Don't navigate over size grip control with keyboard (#6914)
Add WS_GROUP style to the size grip to avoid the keyboard selection stuck.

Fixes keyboard navigation bug in the "Move to..." & "Copy to..." dialogs
that was making the button lose selection focus. CORE-19585
2024-07-09 15:34:37 +03:00
Katayama Hirofumi MZ
24a38b34ed [CMD] DATE: Simply use short date without weekday (#7116)
JIRA issue: CORE-13848
Simply use the result of
GetDateFormat function
in %DATE% environment
variable and the DATE
command.
2024-07-09 20:50:51 +09:00
Katayama Hirofumi MZ
050b3ad2ca [REPLACE] Delete unused STRING_REPLACE_HELP6
JIRA issue: CORE-9444
2024-07-09 20:29:44 +09:00
Katayama Hirofumi MZ
078f7ceaac [REPLACE] Improve Japanese (ja-JP) translation
JIRA issue: CORE-18706
2024-07-09 20:22:01 +09:00
Timo Kreuzer
fcbccaa194 [GCC-COMPAT] Add support library for GCC's libsupc++ and libstdc++
__throw_out_of_range_fmt is implemented in libstdc++, but it is needed by libsupc++ and that would mean we would have to link all C++ code to libstdc++.
2024-07-09 12:01:24 +02:00
Timo Kreuzer
486a20dbc4 [CMAKE] Add imported library winpthread 2024-07-09 12:01:24 +02:00
Timo Kreuzer
6291c5325a [CMAKE] Some compiler flags for GCC 13 2024-07-09 12:01:24 +02:00
Timo Kreuzer
43dad82fcd [RTL] Sync actctx.c to wine-5.18 (#6848)
* [WINESYNC] ntdll: Add support for parsing application settings in manifests.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fc14442970dc6b97032c3cdd76cab33d774dc1a2 by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] ntdll: Implement RtlQueryActivationContextApplicationSettings.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 14b9a5af0b44d7e2ca5232ad810c77e561d5d30c by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] ntdll: Propagate the error through the XML buffer in manifest parser.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7b871727e5cbb8581167acbaae2f4e34dc4ee59e by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] ntdll: Check the namespace in RtlQueryActivationContextApplicationSettings.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e46259fb823f55aa331381fe56916d20049d52f2 by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] ntdll: Use the ARRAY_SIZE() macro.

Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 10f23ddb58b0583c8bce99e59d879c653b389363 by Michael Stefaniuc <mstefani@winehq.org>

* [WINESYNC] ntdll/actctx: Don't stop looking for manifest if dll without manifest is found.

Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 56b3304a019486b52681a05d4b5454b475275e51 by Fabian Maurer <dark.shadow4@web.de>

* [WINESYNC] ntdll: Use the current platform as processorArchitecture instead of a wildcard.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6abf99b4803003812d4fcf7bf9effc99030cbec9 by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] ntdll: Use strncmpiW instead of memicmpW for strings without embedded nulls.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6fc259a57dafab9e72af13980c021e2a59257935 by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] ntdll: Avoid dead initialization (scan-build).

Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6ea282c7e1abd7ab09a5f0a18a437e63f909da96 by Alex Henrie <alexhenrie24@gmail.com>

* [NDK] Add RtlUTF8ToUnicodeN for user mode

* [WINESYNC] ntdll: Use the Rtl UTF8 conversion functions.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f46fa9c92d08c6e656bc22b94e09aa9dbe7d3be9 by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] ntdll: Use module path as assembly path for manifests embedded in resources.

Fixes Office 2016 installer, which removes its .exe directory from load
path, but expects to be able to load files listed in manifest.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2d764e90dd2c624f7a2d863ab29bd418ed33d252 by Jacek Caban <jacek@codeweavers.com>

* [WINESYNC] ntdll: Store the default process activation context into the PEB.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e95d0813fdfcfcac2bb1761e62e1d54e6f73cd6d by Gabriel Ivăncescu <gabrielopcode@gmail.com>

* [WINESYNC] ntdll: Use wcsicmp() instead of strcmpiW() where possible.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3e049b6b962b8e6f048101b9910c09d5b1d8f167 by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] ntdll: Use wcsnicmp() instead of strncmpiW() where possible.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f831b3bd3d6b013893be7645df3a9cd05289c415 by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] ntdll: Use RtlEqualUnicodeString() instead of strcmpiW().

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4d93bafe961ed53488ff0fb4b44cb1ad085531fe by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] ntdll: Avoid using memchrW().

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 186f189107972b739311f95a4ba3833838349b32 by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] ntdll: Avoid using atoiW().

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8f3d869d784753d814a3493d01c3650f45389eda by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] ntdll: Avoid using sprintfW().

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id eb1b2e548656dc3d08cbf3c35454621491b84126 by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] ntdll: Use wcscpy() instead of strcpyW().

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 18411a19b4ea3a68234980c56d4c252670dfc000 by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] ntdll: Use wcscat() instead of strcatW().

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 80005ee016aeed42967adfe5b3042803d008c50d by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] ntdll: Use wcschr() instead of strchrW().

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6de0ab276b3b79db4331993316f529a43f67c29a by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] ntdll: Use wcsrchr() instead of strrchrW().

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 285c5490a4c0ee4a92d042a3e6ab32e6bc14fb49 by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] ntdll: Use wcslen() instead of strlenW().

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e003b9884edcccc417d41d30073b312648741aaa by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] ntdll: Use wcscmp() instead of strcmpW().

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4501ab0a7c80e31e602c540a446809e8ae3ebade by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] ntdll: Use wcsncmp() instead of strncmpW().

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e36b97e1d0644f90606d27f5104bb09a910540d2 by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] ntdll: Make the windows directory a global variable.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ca13f489e18fb1f7944e3bdcfdfc4a810bf80994 by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] ntdll: Use single field for misc flags in ComClass redirection section.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 72d055854b59db9059a3465f1e65247c0cc5e94e by Nikolay Sivov <nsivov@codeweavers.com>

* [WINESYNC] ntdll: Create class section for proxy-stub interface entries.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id dd9295b415345f2b686b65bd05fae0320cf6dc39 by Nikolay Sivov <nsivov@codeweavers.com>

* [WINESYNC] ntdll: Use the standard C library names for the printf functions.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4478ba258e45559ac97353ab27951e84dd9865c1 by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] ntdll: Implement RtlActivateActivationContextEx().

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c71da19d24a5d6f01e65b3b3691a9d7dd17a2278 by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] ntdll: Fix a memory leak (Valgrind).

Signed-off-by: Chao Long <longchao@uniontech.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d0946955ec21e4da57aaec92459f81f131b27a49 by Chao Long <longchao@uniontech.com>

* [WINESYNC] rtl is now in sync with wine-staging wine-5.18

---------

Co-authored-by: winesync <ros-dev@reactos.org>
Co-authored-by: winesync <rosdev@reactos.org>
2024-07-09 11:35:41 +03:00
Doug Lyons
7983297bd6 [RTL] Avoid some corner case ASSERT's in heap.c and fix heap allocations larger than MAXUSHORT. (#5750)
CORE-18196

With most code copied from Thomas Faber's PR #4915 as follows:
[RTL] Correctly initialize segments larger than MAXUSHORT.
GuardEntry->PreviousSize would overflow in this case.
RtlpInsertFreeBlock already handles this correctly by creating multiple free entries.
So we just let it return the last entry and use that for the PreviousSize.

This does not include all of the ASSERT's in PR #4915.
2024-07-08 23:09:34 -05:00
Katayama Hirofumi MZ
f16e625c52 [CMD] Dynamic Trace: Add Hans Harder's e-mail address
CORE-6669
2024-07-09 07:45:54 +09:00
Katayama Hirofumi MZ
ef3e27e2c9 [NTUSER] Improve NtUserSetWindowPlacement (#7096)
Splitted from #7082. Correct behavior of
NtUserSetWindowPlacement function.
JIRA issue: N/A
- Check gptiCurrent->dwExpWinVer in
  NtUserSetWindowPlacement function.
- Fix the last error.
2024-07-09 07:42:56 +09:00
Joachim Henze
bf4c09b331 [EVENTVWR] Tweak AUTORADIOBUTTONS, … (#7106)
* Tweak AUTORADIOBUTTONS (saves a bit of binary size and line length). The ones in the settings-dialog work very good.
For the record: In the main dialog there is no proper keyboard navigation possible, but that was also like that before I touched that dialog, therefore I ommitted the adding of WS_GROUP | WS_TABSTOP for those (they were also not there before, and the keyboard navigation cannot be double-checked yet). If someone will find them to be needed later, then they could be added later
* tweak some safe accels (driven by string-pooling)
* add missing ':' after IDC_DETAILS_STATIC
* temporarilly strip 4 accels from ja-JP that do not exist on 2k3sp2 and ros en-US. My next PR will restore that ros-intended diff for all languages, not just ja-JP.
2024-07-09 00:25:37 +02:00
Katayama Hirofumi MZ
1ffce3eb6d [CMD][CMDUTILS][REPLACE] Make 'replace' command external (#7097)
JIRA issue: CORE-9444
- Delete 'replace' internal command.
- Add 'replace' external command into
  base/applications/cmdutils/replace
  folder.
- Add control break handler.
2024-07-09 04:30:43 +09:00
Katayama Hirofumi MZ
3dcae2ce0c [CMD] Support dynamic trace (#7093)
Based on Hans Harder's patch.
Realize tracing cmd on console
output.
JIRA issue: CORE-6669
- Add FEATURE_DYNAMIC_TRACE
  feature.
- Add CmdTrace function.
- Re-define FIXME, ERR, WARN,
  and TRACE macros.
- Check CMDTRACE environment
  variable. If it was "ON", then enable
  dynamic trace.
2024-07-09 04:25:30 +09:00
Katayama Hirofumi MZ
6c74e69d12 [NTUSER][USER32] Populate dwExpWinVer (#7095)
This value is needed for
SetWindowPlacement and IMM.
JIRA issue: CORE-19675
JIRA issue: CORE-19268
- Add RtlGetExpWinVer function
  into win32ss/user/rtl/image.c.
- Add RtlGetExpWinVer prototype
  into win32ss/include/ntuser.h.
- Delete RtlGetExpWinVer
  definition in
  win32ss/user/user32/windows/window.c.
- Populate THREADINFO.dwExpWinVer
  and CLIENTINFO.dwExpWinVer
  by using RtlGetExpWinVer in
  InitThreadCallback function.
2024-07-09 04:22:14 +09:00
Tomáš Veselý
a9bdd62d84 [GDI32] SetBkMode: Avoid invalid input. CORE-19656 (#7089)
Fixes a bug in Midori 0.5.11 installer which caused bad rendering
that was making the text hard to read (no background).
In Windows it's visible as FillRect(0x89011a1f, 0x0019f87c, 0xabababab),
and in ReactOS as SetBkMode(0xb5010fce, -1546139919).

After a number of attempts to get the same behavior, I haven't found a way
to fix it without a hack to make the installer look identical to Windows.

At least I added handling for the incorrect value in SetBkMode.
This shouldn't matter anywhere. It may not look the same as on Windows,
but the text will at least be readable.
2024-07-08 21:34:36 +03:00
Whindmar Saksit
4da2e78319 [SHELL32] Display Desktop folder name in IShellBrowser correctly (#7105)
- When the address-bar asks for FORADDRESSBAR, that should prioritized over FORPARSING.

- DefView should not enter special status-bar mode when viewing the Desktop as a shell folder in the normal IShellBrowser (DefView in Progman/desktop continues to use the old mode).
2024-07-08 18:22:59 +02:00
Václav Zouzalík
cabeda8f00 [TIMEDATE] Fix a typo in English (en-US) locale (#7098)
Fix a typo in IDS_INETTIMESUCFILL and IDS_INETTIMEWELCOME strings.
The indefinite article is 'an' when it is followed by a vowel sound.
2024-07-08 18:20:14 +03:00
Katayama Hirofumi MZ
0bd933c28c [SHELL32] Drive Property Sheet: Run in another thread (#7107)
The drive property sheet was modal,
so it used to lock the main thread.
This PR will unlock by using another
thread.
JIRA issue: CORE-4217
JIRA issue: CORE-11547
In dll/win32/shell32/dialogs/drive.cpp:
- Add DRIVE_PROP_DATA structure.
- Call SHCreateThread function in
  SH_ShowDriveProperties function.
- Clean up the data when they should
  be released.
2024-07-08 23:11:02 +09:00
Jose Carlos Jesus
f9d8665328 [CRYPTEXT] Add Portuguese (pt-PT) translation (#7102) 2024-07-08 16:12:54 +03:00
Katayama Hirofumi MZ
efe42074cc [USER32][USER32_APITEST] CopyImage: Check flags (#7075)
JIRA issue: N/A
- Check CopyImage flags.
- If there is any invalid flag, then set ERROR_INVALID_PARAMETER
  and return NULL.
- Add CopyImage testcase.
2024-07-08 19:24:15 +09:00
Jose Carlos Jesus
dbdd2b1a79 [MSCTFTIME] Add new Portuguese (pt-PT) translation (#7101) 2024-07-08 03:29:34 +02:00
Joachim Henze
543a38bd9f [NOTEPAD] *.rc: Tweak AUTORADIOBUTTONS (#7103)
- When AUTORADIOBUTTON is used, then BS_AUTORADIOBUTTON is not needed.
- Add WS_GROUP | WS_TABSTOP to the first of the 2 ARBs.
2024-07-08 03:25:11 +02:00
Katayama Hirofumi MZ
172d65327b [USER32_APITEST] Add SetWindowPlacement testcase (#7082)
Verify behavior of NtUserSetWindowPlacement
function.
JIRA issue: N/A
Add SetWindowPlacement testcase into
user32_apitest.
2024-07-08 00:34:18 +09:00
Václav Zouzalík
073f594749 [INPUT] Update Czech (cs-CZ) translation (#7070)
Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
Co-authored-by: Joachim Henze <joachim.henze@reactos.org>
2024-07-07 14:29:24 +02:00
Joachim Henze
9a25ee24ca [RAPPS] *.rc: Strip "Progress1" string (#7091)
That saves a tiny bit of binary size, and makes a long line shorter.
2024-07-07 13:20:47 +02:00
Joachim Henze
6d2b667a94 [REGEDIT] Strip unneeded WM_TIMER, formatting (#7040)
Strip unneeded WM_TIMER and a tab-character before toggle_child

Just clean up and
and addendum to 0.4.15-dev-7915-g d383b20b01
where the WM_TIMER has also been stripped from childwnd.c

Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
Co-authored-by: Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
2024-07-07 13:09:23 +02:00
Joachim Henze
416bfc4308 [RAPPS] *.rc: Strip 2x "popup"-strings (#7092)
This shrinks the binary size a tiny bit.
2024-07-07 13:07:01 +02:00
Jose Carlos Jesus
75f6334300 [SYSDM] Improve pt-PT translation (#7059)
* Add file header
* Improve Portuguese (pt-PT) translation
* Fix accel collisions. Add missing accell keys.
* Remove accel from Ok and Cancel buttons.

Co-authored-by: Joachim Henze <joachim.henze@reactos.org>
2024-07-07 13:05:58 +02:00
Václav Zouzalík
384b4df433 [TIMEDATE] Update Czech (cs-CZ) translation (#7085)
Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
2024-07-07 01:07:06 +02:00
Jose Carlos Jesus
c181d31bc1 [DESK] Improve pt-PT Translation (#7029)
* Add file header. Change SUBLANG to NEUTRAL
* Improve Portuguese (pt-PT) translation
* Add missing accel keys and fix some others accel collisions.

Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
2024-07-07 00:03:54 +02:00
Katayama Hirofumi MZ
92551f540c [EXPLORER] Check IsHungAppWindow before minimizing (#7080)
Reduce system freezing on Win+D.
Normal minimizing causes message
transfer. If the window was hanging,
then it fell into endless message loop.
JIRA issue: CORE-19673
2024-07-07 06:50:46 +09:00
Katayama Hirofumi MZ
0cfd7bde9b [USER32] TileWindows: Adjust timeout of QuerySizeFix (#7081)
Since my machine performance
became lower, we have to adjust
timeout to get correct pattern of
user32!TileWindows function.
JIRA issue: CORE-19674
Adjust timeout value in QuerySizeFix
function.
2024-07-07 06:48:36 +09:00
Joachim Henze
42780b19c1 [RAPPS] *.rc: Fix accel collisions, improve accel consistency to en-US (#7072)
* improve some accels in consistency to en-US (we are free to change them in rapps to our hearts desire, because there is no MS rapps), in general:
where nothing speaks against use &B for ID_RESETDB, because &t looks poor with Tahoma
where nothing speaks against use &E for ID_REGREMOVE (because &R is often used for &Refresh and tends to collide)
where nothing speaks against use &R for ID_REFRESH
where nothing speaks against use &I for ID_INSTALL
where nothing speaks against use &U for ID_UNINSTALL
where nothing speaks against use &M for ID_MODIFY

* Fix some accelerator collisions:
* en-US.rc: fix an accelerator collision between "&Refresh" and "&Remove from Registry" in 2 menus
* et-EE.rc: Fix accel collision between "&Desinstalli" and ""Uuenda an&dmebaasi"
* hu-HU.rc: Fix an existing accel collision between "&Telepítés" and "Ada&tbázis frissítése", by using the english accelerator for the ID_INSTALL for best consistency
* pl-PL.rc: Fix an accel collision between "&Plik" and "&Programmi", stick with the english accels for uninstall and "remove from registry" for consistency.
* pt-BR.rc: Fix an accel collision between "A&tualizar" and "Update Da&tabase", stick with the english accel also for "R&emover do Registro" for consistency.
* pt-PT.rc: Fix an inconsistency between "&Instalar" and "I&nstalar" between 2 menus, which is not only unintuitive, but also will hurt string pooling. Other changes are for consistency to en-US.
* ru-RU.rc: Reduce inconsistency between the 2 ID_INSTALL in 2 different menus, this will help string-pooling. It will also avoid defining "&Установить" next to "&Удалить" in the same dlg, although that might not be necessarily a collision here, as I am not sure whether Install/Uninstall is even both displayed as activated at the same time. Still better like that.
* sv-SE.rc: Fix accel collision between "&Ta bort från Registret" and "Update Da&tabase", the rest is for improving consistency to en-US
* tr-TR.rc: Fix inconsistency in the accels between "Uyg&ulama" and "Uy&gulama", as that will hurt string-pooling. Use "Uygulama Veri &Tabanını Yenile\tCtrl+F5" for both menus instead. That's the english accel also.
* uk-UA.rc: Fix accel inconsistency between the 2 menus for ID_UNINSTALL. This will help with string-pooling.
* uk-UA.rc: Use "Вида&лити з реєстру" in both menus for ID_REGREMOVE, because that will help with string pooling and improves user experience
* ja-JP.rc: Fix accel collision between "レジストリから削除(&R)" ID_REGREMOVE and "更新(&R)" ID_REFRESH in both menus, also this syncs the accels to en-US. Also add an accel for ID_ABOUT, just because I am friendly.
* A bunch of accel-changes for the sole purpose of matching en-US more closely. Those are only really important for the 3 chinese languages which always aim to follow en-US accels to the point, and for zh-TW that stuff was unintentionally offsync also between their 2 ID_RESETDB in the different menus. For all other languages this is just a nice addition for consistency to en-US. But no absolute must-have.
* The small &t within "Da&tabase" renders poorly in Tahoma because it is a very small-in-x-letter. By using &b in majority of languages, same as ru-RU and pt-BR.rc did already, we can make that look much better. I checked that this will not cause any new collisions.
* fr-FR.rc: Hermes' feedback: A french extrawurst for ID_REGREMOVE doesn't hurt me at all.
* de-DE.rc: Avoid accels of the kind &Ä &Ö &Ü. They are not wrong strictly speaking, but they are suboptimal.
* Strip some comments from sk-SK
* Strip some whitespace from ja-JP
2024-07-06 23:40:03 +02:00
Jose Carlos Jesus
c3a45b679d Fix return value from GetObject gdi32_apitest (#7046) 2024-07-06 22:55:06 +02:00
Jose Carlos Jesus
cdb438552c [MAIN] *.rc: accel-tweaks & DEFPUSHBUTTON (#7043)
- Update Portuguese (pt-PT) translation
- Add missing accelerators and fix some collisions.
- Add file header.
- Change IDOK button to DEFPUSHBUTTON
- Also remove accelerators from IDOK and IDCANCEL buttons
2024-07-06 22:44:48 +02:00
Jose Carlos Jesus
004757469c [INTL] Improve portuguese (pt-PT) translation (#7044)
* Add file header.
* Fix typos and improve portuguese (pt-PT) translation.
* Fix accel collisions
* Remove leading space

Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
2024-07-06 22:40:26 +02:00
Jose Carlos Jesus
41d8be86d7 [POWERCFG] Improve pt-PT translation (#7058)
* Add file header
* Improve Portuguese (pt-PT) translation
* Remove accell from Ok and Cancel buttons
* Fix accel collisions. Add missing accels keys.

Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
2024-07-06 22:32:00 +02:00
Václav Zouzalík
f852ac2e5d [INTL] Update Czech (cs-CZ) translation (#7066)
Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
2024-07-06 22:14:59 +02:00
Václav Zouzalík
9c1fc8595d [USERINIT] Update Czech (cs-CZ) translation (#7078) 2024-07-06 22:13:28 +02:00
Václav Zouzalík
21044834fe [USERINIT] Update Slovak (sk-SK) translation (#7079) 2024-07-06 22:12:07 +02:00
Katayama Hirofumi MZ
61cdd02d1c [NTGDI] Fix MaskBlt error code and check pattern usage (#7083)
Follow-up to #7074. Fix MaskBlt behaviour.
JIRA issue: CORE-13133
- Fix MaskBlt error code.
- Fix MaskBlt pattern usage check.
2024-07-06 13:28:26 +09:00
Katayama Hirofumi MZ
c536664666 [EXPLORER][COMCTL32] Fix wrong title on taskbar if it has '&' in it (#7073)
The ampersand (&) a.k.a. prefix of
DrawText are specially treated for
adding underscores.
We have to fix drawing on toolbar
button with BTNS_NOPREFIX style.
JIRA issue: CORE-11619

- Delete DT flags hack in taskswnd.cpp.
- Add TOOLBAR_GetButtonDTFlags
  helper function.
- Extend TOOLBAR_DrawString
  parameters for the button info.
- Fix DrawText flags for drawing
  when the button has
  BTNS_NOPREFIX style.
2024-07-06 10:38:04 +09:00
Whindmar Saksit
8a7b99c184 [REGEDIT] Display REG_NONE as binary (#7084) 2024-07-05 22:11:16 +02:00
Whindmar Saksit
71a3be2497 [SHELL32][EXPLORER][SHLWAPI][SDK] Implement SHGetSetSettings (#6982)
These settings are cached per-process (and invalidated by the global counter). This should reduce the number of registry reads performed by DefView and CFSFolder.
2024-07-05 20:35:45 +02:00
Katayama Hirofumi MZ
80c170d7bc [IMM32][NTUSER] Reduce a little IMM spams (#7077)
Reduce log spams that @julenuri reported.
JIRA issue: CORE-19268
- Use Imm32IsCrossThreadAccess
  instead of IS_CROSS_THREAD_HIMC in
  ImmSetCompositionWindow function.
- Reduce ERR logging in
  NtUserQueryInputContext function.
2024-07-05 05:07:49 +09:00
Katayama Hirofumi MZ
84e84c29a9 [GDI32_APITEST] Enhance MaskBlt testcase for error code (#7074)
JIRA issue: CORE-13133
Add ok_err tests for error code.
2024-07-05 05:04:37 +09:00
Hermès Bélusca-Maïto
7639cb750a [SETUPLIB][USETUP] Reduce duplicated code
- ScrollDownPartitionList() and ScrollUpPartitionList()
  --> ScrollUpDownPartitionList()

- GetPrimaryPartitionCount() and GetLogicalPartitionCount()
  --> generic GetPartitionCount() and macros.

- GetPrevUnpartitionedEntry() and GetNextUnpartitionedEntry()
  --> GetAdjUnpartitionedEntry() ("Adj" == Adjacent)
2024-07-04 17:14:32 +02:00
Hermès Bélusca-Maïto
97821f00d5 [SETUPLIB] Fix for GetPartition() 2024-07-04 17:14:31 +02:00
Hermès Bélusca-Maïto
5efe123d5f [WELCOME] Silence useless editbin warning LNK4241 2024-07-04 17:13:14 +02:00
Katayama Hirofumi MZ
06b6833cf1 [SHELL32] shlexec.cpp: Automate buffer alloc/free (#7068)
Reduce code. Simplify code logic.
Ensure leak zero.
JIRA issue: CORE-17482
- Use CHeapPtr<WCHAR, CLocalAllocator>
  for allocation/freeing.
2024-07-03 23:03:31 +09:00
Katayama Hirofumi MZ
b41332349a [SHELL32] Refresh UI on assoc change (SHOpenWithDialog) (#7076)
Fix file association UX.
JIRA issue: CORE-19670
- Check the return value of
  shell32!SHOpenWithDialog function.
- If changed, then update the UI display
  and internal data.
- Use OAIF_FORCE_REGISTRATION flag.
2024-07-03 23:01:50 +09:00
Katayama Hirofumi MZ
edf6b805a7 [USERINIT] LiveCD: Set UI language (#7069)
The LiveCD start dialog was not localized.
JIRA issue: N/A
- Just call SetThreadLocale after
  InitializeDefaultUserLocale call.
2024-07-02 18:55:37 +09:00
Katayama Hirofumi MZ
caf117d496 [FONTS] Improve 'Microsoft Sans Serif' Part 2 (#7067)
Follow-up to #7055.
JIRA issue: N/A
Improve micross.ttf font ("Microsoft Sans Serif") file.
Version: 4
License: SIL Open Font License Version 1.1
2024-07-02 11:21:31 +09:00
Oleg Dubinskiy
c9aca501e4 [WINMINE] Remove unneeded cast
Remove unneeded cast when loading the cusror for the WineMine's main window class.
Addendum to 1a10250.
2024-07-01 18:34:01 +02:00
Oleg Dubinskiy
1a1025011f [REACTOS] Fix LoadCursorW() incorrect usage cases (#7053)
Fix wrong MAKEINTRESOURCEW() macro usage cases in LoadCursorW() system-wide.
MSDN documentation for this function states we need to use MAKEINTRESOURCEW() macro only for internal application-defined cursors (loaded from the app instance specified by hInstance parameter), but not for system-defined cursors (those begin with IDC_* prefix), in case when hInstance is NULL.
So get rid from MAKEINTRESOURCEW() macro usage for all cases when hInstance parameter is NULL. And on the contrary, when hInstance is valid and points to the application instance, then use it for the resource identifier.
2024-07-01 18:05:46 +02:00
Hermès Bélusca-Maïto
f57601d14b [SETUPLIB][USETUP] FS utilities: Use the ISO C and C++ conformant name: _wcsicmp
Stop using non-conforming wcsicmp.
See also PR #6925 by Timo Kreuzer.
2024-07-01 16:28:17 +02:00
Hermès Bélusca-Maïto
a7a7e6a09c [SETUPLIB][USETUP] Isolate and decouple the filesystem operations code from the UI (#7049)
The idea is reminiscent of the SetupCommitFileQueue() function:
filesystem volume operations are "queued" and processed via a
"commit queue".

The commit queue uses a user-specified callback, that is used to
interact with the user whenever an operation (filesystem formatting,
checking) is started, ended, or fails, for example by displaying
appropriate UI screens and choices, etc.
2024-07-01 16:18:57 +02:00
Katayama Hirofumi MZ
a207a3c931 [NTGDI][FREETYPE] Fix FontLink freeze (#7063)
#7009 introduced unexpected freezing on gdi* bot tests.
JIRA issue: CORE-19667
Fix the locking-related assertions by adding/removing
lock/unlock.
2024-07-01 22:34:59 +09:00
Katayama Hirofumi MZ
0f9e889736 [NTGDI][FREETYPE][SETUP][INF] Support FontLink (#7009)
If East Asian people were unable
to see the Latin characters, it
becomes a barrier to mutual
understanding.
FontLink will break that barrier.
JIRA issue: CORE-9616
JIRA issue: CORE-15480
- Modify font substitutes.
- Unify the lock variables.
- Add FONTLINK and
  FONTLINK_CHAIN structures.
- Add FontLink_Create and
  FontLink_Destroy functions.
- Add FontLink_Chain_Init,
  FontLink_Chain_Free,
  FontLink_Chain_LoadReg,
  FontLink_Chain_Populate, and
  FontLink_Chain_FindGlyph
  functions.
- Implement FontLink.
- Add font file DroidSansFallback.ttf
  for LiveCD.
2024-06-30 22:15:34 +09:00
Katayama Hirofumi MZ
f28e983932 [FONTS] Improve our 'Microsoft Sans Serif' font (#7055)
Improve font file micross.ttf for better
compatibility.
Eliminate blurry font rendering.
JIRA issue: N/A
- Edit the font file with FontForge.
- Improve vector glyphs.
- Add 8px, 9px, 10px, 11px, 12px,
  and 13px bitmap glyphs.
- Cover English alphabet, digits,
  French, German, Cyrillic, and
  Greek characters.

Version: 3
License: SIL Open Font License, Version 1.1
2024-06-30 20:28:49 +09:00
Hermès Bélusca-Maïto
7e89227a00 [MOUNTMGR] Fix initial sending of device online notification (#7030)
1. MountMgrMountedDeviceArrival():
   Fix the conditions under which the device's online notifications
   are skipped (SkipNotifications == TRUE) and fix the code comments.
   Now, things make much more sense:
   online notifications are skipped when the device is already offline
   or is a legacy (NT <= 4) fault-tolerant volume (see point 2 below),
   or is NOT mounted (doesn't have a drive letter).
   Previously, we were sending an online notification if the device
   was NOT mounted (why?!...) or if it was deemed as "valid" (wrongly
   determined, see point 2 below).

2. QueryDeviceInformation():
   * The usage of the "Valid" parameter didn't make much sense. Indeed,
     when a partition/volume device is reported to the Mount Manager,
     it's already valid. (Also, setting "Valid" to TRUE only in the case
     of an MBR partition while ignoring GPT ones, and resetting it to
     FALSE if IOCTL_STORAGE_GET_DEVICE_NUMBER returned success, pointed
     to something incorrect was going on.)
     Instead, what we are checking here is whether the device is a
     legacy fault-tolerant volume: such volume can only reside on an
     MBR disk, have the expected partition type, and does not really
     reside on a specific storage device (hence the check for
     IOCTL_STORAGE_GET_DEVICE_NUMBER returning failure).

   * Take also the opportunity to SAL2-ify the function.
2024-06-25 22:51:08 +02:00
Hermès Bélusca-Maïto
5f26356079 [MOUNTMGR] Rectify "NoAutoMount" usage (#7030)
This "NoAutoMount" member was not consistently used. Sometimes it was
used correctly, some other times it was used as "not NoAutoMount" i.e.
"AutoMount" enabled.
Fix this consistently throughout the source, and fix also some comments.
2024-06-25 22:51:07 +02:00
Jose Carlos Jesus
2aad6b133f [ACCESS] Improve Portuguese (pt-PT) translation (#7028)
- Add file header
- Add missing accelerator keys
- Rearrange the message so it can fit in the window
- Change SUBLANG to NEUTRAL
2024-06-25 12:48:35 +00:00
Jose Carlos Jesus
fc7a74506b [JOY] Improve Portuguese (pt-PT) translation (#7027)
Additionally:
- Remove accelerators from Ok and Cancel buttons.
- Add lost accelerator keys.
- Add resource file header.
2024-06-25 12:44:32 +00:00
Václav Zouzalík
d23d61b63f [SHIMGVW] Add Esperanto (eo-AA) translation (#7023)
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2024-06-25 12:40:17 +00:00
Stanislav Motylkov
4879915e54 [SHELL32] Sync shell view menu "Paste" / "Paste shortcut" items (#6994)
- Sync translations of the same menu items in MENU_002 and MENU_003.
- Add missing accelerators.
- Also fix colliding accelerators/mnemonic keys where possible.

CORE-19243
2024-06-25 12:30:27 +00:00
Whindmar Saksit
d24675b63d [SHELL32][BROWSEUI] CopyMoveToMenu must initialize without a PIDL folder (#7047)
- IShellExtInit cannot rely on a folder PIDL being present
- Use common QueryContextMenu function for both menu items
- Allow copy to the same folder
- Disable toolbar buttons when the selection is not valid
- Minor DefView cache enhancement and bugfixes
2024-06-25 00:29:35 +02:00
Whindmar Saksit
df5affedce [BROWSEUI] Ensure menu dock site is visible when parent ShowDW is called (#7045)
Addendum to 674136b (PR #7035)

CORE-19659
2024-06-24 23:51:57 +02:00
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
Maj Soklič
8ba5f1c1db [SNDVOL32] Remove redundant WS_TABSTOPs from RC files (#7003) 2024-06-12 12:09:47 +02:00
Maj Soklič
b4cfc4c1ad [NETCFGX] Remove redundant WS_TABSTOPs from RC files (#7002) 2024-06-12 12:07:52 +02:00
Justin Miller
bc6c731db3 [KERNEL32_VISTA][SDK] Move SRW definitions to NDK (#6806)
Move SRW and condition variable definitions out of kernel32_vista and into the NDK.

Essentially grabbed from PR #1190
Trying to reduce diff needed for Rtl/ntdll sync.
2024-06-11 22:03:57 +02:00
Katayama Hirofumi MZ
4fe33fe9d5 [SHELL32] Update Japanese (ja-JP) translation
CORE-18706
2024-06-11 15:23:27 +09:00
Katayama Hirofumi MZ
e1094e6f8a [USETUP] Update Japanese (ja-JP) translation
CORE-18706
2024-06-11 15:15:26 +09:00
Hermès Bélusca-Maïto
b84f2a1cdc [KDVM] Fix definition of RtlEqualMemory() (#6988)
Comply with the standard documented behaviour:

https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/nf-wdm-rtlequalmemory#return-value
> RtlEqualMemory returns TRUE if Source1 and Source2 are equivalent; otherwise, it returns FALSE.

and
https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/nf-wdm-rtlcomparememory#return-value
> [...] If all bytes match up to the specified Length value, the Length value is returned.
2024-06-10 22:29:22 +02:00
Hermès Bélusca-Maïto
0a8b421d53 [PARTMGR] Implement IOCTL_VOLUME_QUERY_VOLUME_NUMBER and IOCTL_VOLUME_IS_PARTITION (#6911)
- Implement IOCTL_VOLUME_QUERY_VOLUME_NUMBER:
  See usage example in:
  7241cebfa2/mayfield/branches/spr/src/umapps/ndassvc/service/drivematch.cpp (L627)

- Stubplement IOCTL_VOLUME_IS_PARTITION:
  The only type of volume we support right now is disk partition
  so we just return success. A more robust algorithm would be
  to check whether the volume has only one single extent, that
  covers the whole partition on which it lies upon. If this is
  not the case, return STATUS_UNSUCCESSFUL instead.
2024-06-10 21:32:47 +02:00
Hermès Bélusca-Maïto
0b366ea122 [CMAKE][REACTOS] Introduce a utf16le_convert() cmake helper (#6904)
Used when we convert files to UTF16-LE during our build process.
Removes duplicated code.
2024-06-10 21:23:12 +02:00
Hermès Bélusca-Maïto
c752e8c0be [SETUPLIB] FindSupportedSystemPartition(): Add missing NULL check
Addendum to commit 59acff79e.
2024-06-10 13:14:28 +02:00
Gabriele Lo Re
ae27ffcddc [TRANSLATION] Improve Italian (it-IT) translation (#6820)
I have edited some traslation files for the italian language, as the text
looked robotic in the way senteces were written, or in some cases it used
not-really-fitting synonymous or incorrect spelling. The edited strings
are from varius areas of ReactOS. I hope this contribution makes italian
language less strange to native speakers.

- [ACCESS] Improve Italian (it-IT) translation
- [DESK] Improve Italian (it-IT) translation
- [JOY] Improve Italian (it-IT) translation
- [MAIN] Improve Italian (it-IT) translation
- [SYSDM] Improve Italian (it-IT) translation
- [TIMEDATE] Improve Italian (it-IT) translation
- [ACPPAGE] Improve Italian (it-IT) translation
- [DESKADP] Improve Italian (it-IT) translation
- [DEVCPUX] Add Italian (it-IT) translation
- [FONTEXT] Improve Italian (it-IT) translation
- [ZIPFLDR] Improve Italian (it-IT) translation
- [BROWSEUI] Improve Italian (it-IT) translation
- [USER32] Improve Italian (it-IT) translation
- [CONSRV] Improve Italian (it-IT) translation
- [USERSRV] Improve Italian (it-IT) translation

Reviewed-by: Joachim Henze <joachim.henze@reactos.org>
Reviewed-by: Simone Mario Lombardo <me@simonelombardo.com>
2024-06-10 13:45:00 +03:00
Piotr Hetnarowicz
ca4faec8a3 [EXPLORER] Update Polish (pl-PL) translation (#6685)
Reviewed-by: Adam Stachowicz <saibamenppl@gmail.com>
Reviewed-by: Adam Słaboń <asaillen@protonmail.com>
2024-06-10 12:52:16 +03:00
Doug Lyons
40955b447c [RICHED20] Fix assert in editpad due to excessive tab count (#6976)
* https://jira.reactos.org/browse/CORE-8452

* Cherry pick this Wine commit into ReactOS:
7b2ff97773
2024-06-09 03:57:40 -05:00
Whindmar Saksit
ecb5cae48f [SHELL32] SetNameOf should not append old extension to folders (#6954) 2024-06-08 18:45:23 +02:00
Whindmar Saksit
3f6af8b848 [RAPPS] Improve existing window re-use (#5617)
- Fix small race between CreateMutex and CMainWindow creating the window, and another instance getting NULL from FindWindow.
- If the existing window is minimized, it should be restored.
2024-06-08 01:18:18 +02:00
Katayama Hirofumi MZ
7e2cd98688 [BOOTDATA][INF] Retry: Add Tahoma entry to Asian FontLink (#7001)
This is re-trial of #6985.
Forgot a comma and a backslash.
JIRA issue: CORE-9616
Modify boot/bootdata/hivesft.inf.
2024-06-07 21:21:03 +09:00
Maj Soklič
6c7974d91f [GITHUB] Fix toolset version for MSVC 17.10 (#6997)
MSVC 17.10 now uses 14.4x for its toolset version.
GitHub just upgraded to this version as seen here:
- https://github.com/actions/runner-images/releases/tag/win22%2F20240603.1

Use latest toolset instead of clamping to a specific minor version.
2024-06-07 01:22:20 +03:00
Katayama Hirofumi MZ
5a159ad1cc Revert "[BOOTDATA][INF] Add Tahoma entry to Asian FontLink (#6985)" (#6996)
Reverts #6985
JIRA issue: CORE-9616
Forgot a comma and a backslash.
I will retry.
2024-06-07 01:48:22 +09:00
Katayama Hirofumi MZ
8079fa1a3d [BOOTDATA][INF] Add Tahoma entry to Asian FontLink (#6985)
Follow-up to #6929.
Latin accented characters will be able to
be mixed in East Asian text by FontLink
framework in the future.
JIRA issue: CORE-9616
- Modify boot/bootdata/hivesft.inf.
- Add "tahoma.ttf,Tahoma" entry to
  Asian FontLink registry values.
2024-06-07 00:43:55 +09:00
Katayama Hirofumi MZ
77d05dd552 [WALLPAPERS] Restructuring (#6967)
Respect the original directory structure.
JIRA issue: CORE-19617
- Make Angelus, Angelus/ReactOS, and
  Mizu folders.
- Move image files.
- Add LICENSE.txt and suggestion.txt files.
- Revive modules/wallpapers/Angelus/
  ReadMe.txt.
2024-06-06 18:56:17 +09:00
Anderson Rodrigues
a061747295 [TASKMGR] Fix orthographic error in Portuguese Brazilian (pt-BR) translation (#6980) 2024-06-05 21:30:49 +03:00
Whindmar Saksit
82721de625 [SHELL32] Don't add folder verbs to non-folder RegItems (#6991)
RegItems that pretend to be files should not have Folder verbs
2024-06-05 02:12:58 +02:00
Hermès Bélusca-Maïto
ee92f4b28e [SDK:CMAKE/IDL] Fix dependency tracking in generate_idl_iids() and extra cleanup.
Do the same in add_idl_reg_script() (currently unused helper) as well.

This is an addendum to commit b587e7b32, where the removal of the
IDL_FILE_FULL variable definition, broke dependency tracking with
the DEPENDS option. Now we use the correct variable.

The problem was caught after doing a partial (non-clean) build after
commit 0d10fb814. In this commit, two new interfaces, IExecuteCommand
and IObjectWithSelection, were added in the psdk/shobjidl.idl file
and used elsewhere. Recompilation correctly regenerated the corresponding
header, psdk/shobjidl.h, but did not trigger a regeneration of the uuid
static library (via the regeneration of sdk/lib/uuid/shobjidl_i.c),
due to broken dependency tracking on the shobjidl.idl file.
Because of this, the shobjidl_i.c did not contain the new GUID
definitions for these new interfaces, IID_IExecuteCommand and
IID_IObjectWithSelection, and triggered linking errors for the
com_apitest, actxprxy and shell32 modules:

```
error LNK2001: unresolved external symbol _IID_IExecuteCommand
error LNK2001: unresolved external symbol _IID_IObjectWithSelection
fatal error LNK1120: 2 unresolved externals
```
2024-06-04 22:21:59 +02:00
Whindmar Saksit
c97c1ad4c5 [SHELL32][BROWSEUI] Implement ShellBrowser Apply/Reset default folder settings (#6912) 2024-06-04 18:37:19 +02:00
Carl J. Bialorucki
ad73e17418 [USER32] Introduce user32_vista and stubplement GetDpiForWindow() (#6208)
Add user32_vista.dll to introduce new NT6+ User32 features without changing the existing User32.dll when compiled as NT5.x. Also implements a stub for GetDpiForWindow(). The GetDpiForWindow() function will be required to Wine-sync common controls to modern Wine versions.

Changes:
Expose GetDpiForWindow() function and USER_DEFAULT_SCREEN_DPI to appropriate versions in winuser.h
Introduce a basic user32_vista library that can be expanded as needed.
2024-06-04 10:19:32 -06:00
Whindmar Saksit
063997f2e0 [REGEDIT] Implement the "Go to HKCU/HKLM" feature (#6900) 2024-06-04 15:40:14 +02:00
Whindmar Saksit
0d10fb814f [SHELL32] Implement DelegateExecute verb handler and basic IShellItemArray (#6972) 2024-06-04 15:38:49 +02:00
Serge Gautherie
01fbf25dab [DBGHELP][NDK][RTL] *RtlComputeCrc32(): Add 'const' to 2nd parameter (#6973)
and sync SAL2 annotations.

It didn't always warn in the past, our gutfeeling (we have *not* double-checked that thesis!) is that the warnings might have been triggered when 0.4.15-dev-958-g 237aa3a9c1 was committed
2024-06-04 13:35:57 +02:00
Julen Urizar Compains
1cd08eee52 [MSI] CORE-18707 hack. Allow MSI under ROS amd64 to continue when GetSystemWow64DirectoryW is called (#6887) 2024-06-04 13:10:09 +02:00
Thamatip Chitpong
b631c5d3b1 [WINMINE] Add EXE version info 2024-06-04 00:36:04 +07:00
Thamatip Chitpong
b399f7d5b4 [SPIDER] Add EXE version info 2024-06-04 00:36:04 +07:00
Thamatip Chitpong
a01cbc3ac2 [SOLITAIRE] Add EXE version info 2024-06-04 00:36:04 +07:00
Oleg Dubinskiy
4ad83ef095 [WINMINE] Update Ukrainian (uk-UA) translation
Translate the "Sound" menu item to Ukrainian.
2024-06-03 18:45:04 +02:00
Oleg Dubinskiy
94a25e66de [WINMINE] Update Russian (ru-RU) translation
Translate the "Sound" menu item to Russian.
2024-06-03 18:41:04 +02:00
Thamatip Chitpong
580574fba8 [WINMINE] Add sound effects (#6969)
- Sound is disabled by default
- Use WinXP-compatible registry key and value
2024-06-03 21:57:44 +07:00
Katayama Hirofumi MZ
890b9c0b93 [NTGDI][FREETYPE] Simplify get_glyph_index_flagged (#6977)
Simplify code.
JIRA issue: CORE-9616
- Reduce one parameter of get_glyph_index_flagged function.
2024-06-03 09:28:52 +09:00
Jose Carlos Jesus
51f3cf0509 [NOTEPAD] pt-PT: Fix accel collisions. Improve menu cmd translation (#6978)
* [NOTEPAD] Fix accel collisions. Improve menu cmd translation (pt-PT)
* [NOTEPAD] Update portuguese (pt-PT) translation
2024-06-02 20:02:33 +02:00
Jose Carlos Jesus
abd34b6d90 [REGEDIT] pt-PT.rc: Fix accels collisions (#6975)
accels compatibility closer to Win2003 Server

Co-authored-by: Joachim Henze <joachim.henze@reactos.org>
2024-06-02 12:06:13 +02:00
George Bișoc
fe23a4aaeb [NTOS:CM] Lock the entire registry down when we unload a hive
The PR #6649 which fixed an issue with orphaned KCBs leaking in memory which also pointed to unloaded registry hives, it also brought a problem.
In CmpEnumerateOpenSubKeys there is a risk of getting hit by a deadlock as we enumerate the cache table to remove empty cache entries.

Fundamentally CmpEnumerateOpenSubKeys locks down a KCB from cache for exclusive use in order to tear down its contents from memory but it doesn't address the fact a KCB might have already been locked in the same calling thread, leading to a recursion.
This leads to random hangs when unloading a hive during system startup (tipically on a clean install).

The solution here is to simply lock the whole registry when we unload a hive so that we don't have to worry the KCBs are getting tampered by anybody else. This also simplifies the code.
Although locking the entire registry while other apps are doing registry related operations to other hives can cause overhead. If this turns out to be bad then we have to rethink the locking mechanism here.

CORE-19539
2024-06-01 16:17:47 +02:00
George Bișoc
5d0117de90 [NTOS:CM] Annotate CmUnloadKey with SAL2 2024-06-01 16:17:47 +02:00
Oleg Dubinskiy
a55e9ce19c [AC97] Use individual Decibel range for Master Volume control (#6950)
Add ReactOS change to use the same Decibel (dB) sound loudness range for Master Volume control as for WaveOut Volume Control.
This fixes incompatible volume level change scaling when changing the volume in Fox Audio Player 0.10.2 from Rapps and Winamp 2.95 with WaveOut output plugin.
Now it is identical to the one when using original AC97 driver from Windows XP/Server 2003.
CORE-14780
2024-06-01 12:31:53 +02:00
Oleg Dubinskiy
9046cc97ee [AUDIO] Implement volume control support (#6922)
Implement volume level changing for Aux/MidiOut/WaveOut devices. It's represented the following WINMM functions:
- auxGetVolume,
- auxSetVolume,
- midiOutGetVolume,
- midiOutSetVolume,
- waveOutGetVolume,
- waveOutSetVolume,
which are calling the followind messages appropriately:
- AUXDM_GETVOLUME,
- AUXDM_SETVOLUME,
- MODM_GETVOLUME,
- MODM_SETVOLUME,
- WODM_GETVOLUME,
- WODM_SETVOLUME.
This fixes volume control for several 3rd-party programs (like Fox Audio Player 0.10.2 from Rapps, Winamp 2.95 with WaveOut plugin). However it does not fix changing the volume in system volume mixers (SndVol32, MMSys), since they are using their own functionality instead. They technically do the same things, but apart from the functions mentioned above.
CORE-14780
2024-06-01 12:30:33 +02:00
Joachim Henze
e1db293f12 [REGEDIT] *.rc Improve accels and harmonize a bit, especially de-DE (#6964)
- all languages: Strip unintended accelerators for Cancel-buttons
- many languages: had accel collision between "&File"-menu and "&Favorites" menu. It must be "F&avrites" for those!
- de-DE: "&Wertname:" -> "&Name:" was done because this is what Windows does and to fix an accel collision between "&Wert" and "&Wertname"
- de-DE: use the same name for String, DWORD, MULTISTRING, EXPANDABLESTRING in all 3 dialogs (each of the 3 dlgs used different names before), which also fixes an accel collision between "&Schlüssel" and "&String"
- de-DE: structurally use "Sc&hlüssel", instead of mixed things
- de-DE: "&Trennen" -> "&Teilen" is what Windows does
- de-DE "&Ändern" -> "Än&dern" is what Windows does, and avoids accel at a special character
- de-DE "&Über" -> "Inf&o" is what Windows does, and avoids accel at a special character
- de-DE "S&chlüsselnamen kopieren" -> "Schlüsselnamen &kopieren" is to match another already existing "Schlüsselnamen &kopieren" in the file
- de-DE "A&lles auswählen" -> "Alles &markieren" is what Windows does
- all languages: fix 26x wrong capitalization for "Ms Shell Dlg" -> "MS Shell Dlg"
- use the correct fonts for some asian languages (font-size9) this was for 5 new dlgs from 0.4.15-dev'ing
- fix many accelerator collisions for many languages, or leave FIXMEs for them where I found it to be better for the native speakers to act on their own in the future

JIRA issue: none
2024-05-31 17:28:39 +02:00
Serge Gautherie
3cc4361cca [CMAKE] Clang*: Add '-Werror=unknown-warning-option' for C/CXX (#6383)
* [UDFS] Clang: Fix a #pragma

'warning: unknown warning group '-Wstringop-overflow', ignored [-Wunknown-warning-option]'

Follow-up to 612b1f2e6 (0.4.15-dev-1129).

* [CREATESPEC] Clang: Fix a target_compile_options()

'warning: unknown warning option '-Wno-stringop-overflow'; did you mean '-Wno-shift-overflow'? [-Wunknown-warning-option]'

Addendum to 00ed72d7e (0.4.15-dev-1169).

* [MSVCRT_WINETEST] Clang*: Fix a target_compile_options()

'warning: unknown warning option '-Wno-stringop-truncation'; did you mean '-Wno-string-concatenation'? [-Wunknown-warning-option]'

Addendum to commits 00ed72d7e (0.4.15-dev-1169) then f155b9377 (0.4.15-dev-4612).

* [TELNET] Clang*: Fix a target_compile_options()

'warning: unknown warning option '-Wno-restrict' [-Wunknown-warning-option]'

Addendum to 447ef2aa4 (0.4.15-dev-4613).
2024-05-31 16:26:11 +02:00
Katayama Hirofumi MZ
b50ab0dc68 [SHELL32] brfolder.cpp: Refresh items (#6965)
Refresh the items in the tree-view
control of SHBrowseForFolderA/W
functions against change notifications.
JIRA issue: CORE-17340
- Add BrFolder_IsTreeItemInEnum and
  BrFolder_TreeItemHasThisChild helper
  functions.
- Add BrFolder_Refresh,
  BrFolder_RefreshRecurse, and
  BrFolder_UpdateItem functions to
  refresh items.
- Call BrFolder_Refresh in
  BrFolder_OnChangeEx function and on
  keyboard F5 and Ctrl+R actions.
2024-05-31 22:40:56 +09:00
Whindmar Saksit
c3ec1b9ac6 [SHELL32_APITEST] Stricter SHSimpleIDListFromPath tests (#6894)
The first x number of bytes in PIDLs for drive letters, folders and files are set in stone and should match Windows.
2024-05-30 18:18:39 +02:00
Whindmar Saksit
3da9e7e251 [SHELL32] Implement SHBrowseForFolder items contextmenu (#6952)
* [SHELL32] Implement SHBrowseForFolder items contextmenu

CORE-16944 CORE-19597
2024-05-30 17:53:44 +02:00
Whindmar Saksit
6d7648d723 [SHELL32] CDefView::InvokeContextMenuCommand must specify a showcmd (#6966)
ZeroMemory causes nShow to be SW_HIDE. This causes shell extensions that propagates the nShow all the way, will start child processes hidden.
2024-05-30 15:22:29 +02:00
Whindmar Saksit
dc0ed6de1e [SHELL32] SHBrowseForFolder must rename using IShellFolder (#6953)
To support renaming My Computer and other non-FS folders, one cannot convert the pidl to a path.

CORE-19622
2024-05-29 16:00:28 +02:00
Katayama Hirofumi MZ
a541a468ba [NTGDI][FREETYPE] Unload font engine on system shut-down (#6955)
Check system integrity by explicitly
releasing the font engine.
JIRA issue: CORE-9616
- Use RTL_STATIC_LIST_HEAD against
  g_FontListHead and
  g_FontCacheListHead variables and
  omit initialization of them.
- Implement FreeFontSupport function.
- Call FreeFontSupport in win32k!
  DriverUnload function.
- Fix some usages of
  CONTAINING_RECORD macro.
2024-05-29 09:41:39 +09:00
Katayama Hirofumi MZ
817f89466d [BOOTDATA][IMM32][NTUSER] Follow-up to #6961 (#6962)
JIRA issue: CORE-19320
- Delete "(brain-dead)".
- Fix "despite of" as "despite".
- Use "%S" instead of debugstr_w.
2024-05-29 01:14:52 +09:00
Katayama Hirofumi MZ
c8a3c919e5 [BOOTDATA][IMM32][NTUSER] Set "LoadIMM" to zero
We set "LoadIMM" to zero in order to disable Cicero.
The name of "LoadIMM" is a brain-dead name. This name
means Cicero despite of its name (brain-dead).
They use a human-confusing name intentionally.

JIRA issue: CORE-19320

- Set HKLM\SOFTWARE\Microsoft\Windows NT\
  CurrentVersion\IMM:LoadIMM to 0.
- Add warning comments to the brain-dead name "LoadIMM".
2024-05-28 23:17:22 +09:00
Katayama Hirofumi MZ
4225717dc9 [IMM32][NTUSER] Fix NtUserGetThreadState call of Imm32InquireIme
There was a mistake of parameter value for NtUserGetThreadState
call in Imm32InquireIme function. This affected the logon process.

JIRA issue: CORE-19320

- Replace THREADSTATE_ISWINLOGON2 with THREADSTATE_ISWINLOGON in
  NtUserGetThreadState call in Imm32InquireIme function.
- Rename THREADSTATE_ISWINLOGON2 as THREADSTATE_UNKNOWN_0x10.
- Adapt NtUserGetThreadState to this change.
2024-05-28 23:17:22 +09:00
Katayama Hirofumi MZ
20f1bb4ab8 [WALLPAPERS] Reduce wallpapers (#6947)
We reduce our wallpapers in Release bundle.
Reduce the cost of downloading the release images.
See also: reactos/rapps-db#243
JIRA issue: CORE-19617
- Reduce some wallpapers (7 MB to 253 KB).
- Modify CMakeLists.txt to reduce wallpapers.
- Update ReadMe.txt.
- Add ReadMe.txt to reactos/Web/Wallpaper.
2024-05-28 23:06:15 +09:00
Katayama Hirofumi MZ
522c02f335 [SHELL32] Fix CDefView::OnChangeNotify for My Documents (#6935)
Follow-up to #6916. My Documents change notification was not working
due to this bug.
JIRA issue: CORE-19615
- Use _ILIsSpecialFolder for checking PIDLs.
- Simplify ILIsParentOrSpecialParent helper function.
- Add SFVM_FSNOTIFY, SFVM_QUERYFSNOTIFY, and SFVM_GETNOTIFY
  callback calls.
2024-05-28 23:04:21 +09:00
Whindmar Saksit
47d17f59bf [SHELL32] Refactor DefView column handling (#5767)
This refactor decouples the previous assumption that the ListView column index is the same thing as the IShellFolder column index. By doing this, support for turning columns on or off becomes possible. The SHCOLSTATE_ONBYDEFAULT and SHCOLSTATE_HIDDEN flags are also respected.

I also fixes the "Arrange icons by" submenu.

CORE-18526
2024-05-28 11:39:00 +02:00
Katayama Hirofumi MZ
1e75ea8a82 [SHELL32] CDefView: Implement SFVM_GETNAMELENGTH callback (#6942)
Implementing missing folder view callbacks...
JIRA issue: CORE-19616
- Call _DoFolderViewCB on LVN_BEGINLABELEDITW message.
- Send EM_SETLIMITTEXT message if the limit was set.
2024-05-28 08:14:36 +09:00
Katayama Hirofumi MZ
38b7a6816c [SHELL32][BROWSEUI] CDefView: Implement SFVM_ADDPROPERTYPAGES callback (#6944)
Implementing missing folder view callbacks...
JIRA issue: CORE-19616
- Add SFVM_PROPPAGE_DATA structure to "shobjidl.idl".
- Implement CDefView::AddPropertySheetPages by calling
  SFVM_ADDPROPERTYPAGES callback.
- Modify CShellBrowser::DoFolderOptions that uses AddPropertySheetPages.
2024-05-28 08:07:29 +09:00
Katayama Hirofumi MZ
4696996ee2 [SHELL32] brfolder.cpp: Remove pEnumIL member (#6946)
Refactoring. Simplify item insertion code.
JIRA issue: CORE-17340
- Remove pEnumIL member from BrItemData structure.
- Add BrFolder_GetChildrenEnum helper function.
- Remove IEnumIDList* argument from BrFolder_InsertItem and
  BrFolder_Expand functions.
- Add BrFolder_OnOK function and use it.
2024-05-28 08:00:12 +09:00
Katayama Hirofumi MZ
1bc6c90086 [SHELL32] CDefView: Implement SFVM_CANSELECTALL callback (#6945)
Implementing missing folder view callbacks...
JIRA issue: CORE-19616
- Call SFVM_CANSELECTALL callback on FCIDM_SHVIEW_SELECTALL.
- If it returned S_FALSE, then do not select all.
2024-05-27 09:05:44 +09:00
Katayama Hirofumi MZ
cdb970b653 [SHELL32] CDefView: Implement SFVM_COLUMNCLICK callback (#6943)
Implementing missing folder view callbacks...
JIRA issue: CORE-19616
- Call _DoFolderViewCB on LVN_COLUMNCLICK.
- If it returned S_OK, then don't sort items.
2024-05-27 07:35:20 +09:00
Katayama Hirofumi MZ
d56e507e95 [SHELL32] CDefView: Implement SFVM_GETCOMMANDIR callback (#6941)
Implementing missing folder view callbacks...
JIRA issue: CORE-19616
- In CDefView::InvokeContextMenuCommand,
  call SFVM_GETCOMMANDDIR callback and
  store the directory into 
  CMINVOKECOMMANDINFOEX structure.
2024-05-27 07:01:51 +09:00
Jose Carlos Jesus
ef693390ef [SHELL32] Fix accelerator collision in Portuguese (pt-PT) translation (#6927)
closer to pt-PT 2k3sp2
2024-05-26 21:26:35 +02:00
Katayama Hirofumi MZ
4988de4b1d [SHELL32] brfolder.cpp: Adopt SHCNRF_NewDelivery method (#6938)
New delivery method is better than old method
in performance. Now deletion notification
partially works.
JIRA issue: CORE-17340
- Specify (SHCNRF_ShellLevel |
  SHCNRF_NewDelivery).
- Rewrite BrFolder_OnChange function and
  add BrFolder_OnChangeEx helper function.
2024-05-26 04:58:30 +09:00
Katayama Hirofumi MZ
70e8653f23 [SHELL32] IDD_BROWSE_FOR_FOLDER: Use IDOK for 1, IDCANCEL for 2 (#6937)
Follow-up to #6934. Don't use magic numbers.
JIRA issue: N/A
Use IDOK and IDCANCEL instead of 1 and 2.
2024-05-25 17:28:59 +09:00
Katayama Hirofumi MZ
61fe74030b [SHELL32] Reorder IDD_BROWSE_FOR_FOLDER dialog items (#6934)
By correctly ordering the items of the dialog, the dialog can use auto focus.
JIRA issue: N/A
- Change the ordering of IDD_BROWSE_FOR_FOLDER dialog items.
- Remove SetFocus call.
2024-05-25 16:45:06 +09:00
Katayama Hirofumi MZ
8df5aac9ba [SHELL32] brfolder.cpp: Follow-up of af03438 (#6936)
Follow-up of #6909 (af03438). Fix assertions and exceptions of
CComPtr and CComHeapPtr.
JIRA issue: CORE-17340
- Don't use AddRef, Release, and Attach methods against CComPtr
  template class. Simply use assignment.
- Fix the 3rd parameter of three IShellFolder::GetAttributesOf
  method calls. It had referenced CHeapPtr::operator&.
2024-05-25 16:17:00 +09:00
Doug Lyons
6338913f26 [NTUSER] menu.c position fix to not obscure 'Close' (#6923)
CORE-19579

When IS_SYSTEM_MENU was redefined in https://github.com/reactos/reactos/commit/3ae0ccdcc,
this broke the logic here. So now we restore the correctly working logic.
2024-05-24 19:15:07 -05:00
Splitwirez
50d260a7f0 [SYSSETUP] fix theme switcher (#6930)
Switching themes during initial setup broke at some point relatively recently - following said regression, selecting a theme simply has no effect at all. This fixes that.
2024-05-24 16:14:32 -07:00
Ratin Gao
ce0460b131 [CMAKE] Update sdk/cmake/baseaddress[_msvc].cmake (#6869)
Fix system boot crash with `STATUS_ILLEGAL_DLL_RELOCATION` when compiled with `-DDLL_EXPORT_VERSION=0x600`
2024-05-24 16:10:05 -07:00
Katayama Hirofumi MZ
327b6c64a6 [SHELL32] Don't free original PIDLs in CDefView::OnChangeNotify (#6916)
Follow-up to #6898. These PIDLs shouldn't be
freed because they are not allocated by
CoTaskMemAlloc.
We should use PIDLs mainly in internal data
instead of physical paths for change
notifications.

JIRA issue: CORE-13950
JIRA issue: CORE-19612

- Re-implement SHGetRealIDL function.
- Translate child IDLs by using SHGetRealIDL.
- Use newly-defined pidl0Temp and pidl1Temp
  for temporary creation.
- Improve ILIsParentOrSpecialParent function
  without using SHGetPathFromIDListW function.
2024-05-25 07:54:53 +09:00
Katayama Hirofumi MZ
eb43a803bd [BOOTDATA][INF] Add FontLink registry entries (#6929)
Prepare for font linking implementation.
JIRA issue: CORE-9616
Modify boot/bootdata/hivesft.inf.
2024-05-25 07:11:26 +09:00
Katayama Hirofumi MZ
ed7c23fc41 [SHELL32] brfolder.cpp: Rename BrsFolder as BrFolder
and rename BrsItemData as BrItemData to reduce binary size of
Debug version.
JIRA issue: CORE-17340
2024-05-24 22:54:27 +09:00
Katayama Hirofumi MZ
af03438aba [SHELL32] brsfolder.cpp: Refactoring
Modernize source code. Improve readability and reduce confusing.
JIRA issue: CORE-17340
- Rename browse_info as BrsFolder.
- Rename TV_ITEMDATA as BrsItemData.
- Rename InsertTreeViewItem as BrsFolder_InsertItem.
- Rename InitializeTreeView as BrsFolder_InitTreeView.
- Rename GetIcon as BrsFolder_GetIcon.
- Rename GetNormalAndSelectedIcons as BrsFolder_GetIconPair.
- Rename GetName as BrsFolder_GetName.
- Fix some confusing and/or non-standard variable names.
- Use ATL to simplify logics.
2024-05-24 22:54:27 +09:00
Katayama Hirofumi MZ
e582ca4ad6 [SHELL32] brsfolder.cpp: Formatting only
JIRA issue: CORE-17340
2024-05-24 22:54:27 +09:00
Timo Kreuzer
4fb2fdbac6 [NTOS:CM] Properly unlock registry on failure in NtUnloadKey2 2024-05-23 21:21:35 +02:00
Timo Kreuzer
da64119fe6 [NTOS:CM] Add debug code for analyzing lock issues 2024-05-23 21:21:35 +02:00
Katayama Hirofumi MZ
53518bbab3 [SHLWAPI][SHLWAPI_APITEST][SDK] Implement IShellFolder_GetDisplayNameOf (#6918)
This export function is needed to implement
shell32!SHGetRealIDL function correctly.
JIRA issue: CORE-19278
- Implement IShellFolder_GetDisplayNameOf
  function (This function is not inline function in
  this case) with retry data.
- Add SFGDNO_RETRYALWAYS flag to
  <shlwapi_undoc.h>.
- Add IShellFolderHelpers testcase.
2024-05-23 22:57:31 +09:00
George Bișoc
f69e256376 [ACPI] Register a device interface class with ACPI fans
As the commit title says, the point of registering a device interface with ACPI fans is to receive incoming PnP notifications of incoming ACPI fan drivers so that the power manager can connect to them by creating a power device policies dedicated to them during power manager initialization.

CORE-18969
2024-05-22 20:23:06 +02:00
George Bișoc
0b97a997d2 [DDK] Add the GUID_DEVICE_FAN identifier
This identifier will be used to regiser incoming ACPI fans with the I/O PnP manager from the ACPI driver.
2024-05-22 20:22:56 +02:00
Timo Kreuzer
677f190f4c [CMAKE] Stop setting the C standard on modules
Global standard is C99.
2024-05-22 18:04:53 +02:00
Timo Kreuzer
e0495079cb [MSVCRT][NTDLL][NTOS] Add import aliases for _swprintf and _vswprintf 2024-05-22 17:55:38 +02:00
Timo Kreuzer
60f4493a68 [SPEC2DEF] Implement support for import symbol aliases 2024-05-22 17:55:38 +02:00
Joachim Henze
bc2621812f [SHELL32] Strip undesired format-string (#6924)
A trivial change.
An addendum to 4ff1aa5fac (SVN r30784) where el-GR.rc was forgotten.
2024-05-22 15:39:13 +02:00
Katayama Hirofumi MZ
8204c6e2fd [SHELL32] CDirectoryWatcher: Check if window is alive (#6915)
Kill the zombie watchers for system
performance.
JIRA issue: CORE-13950
- Add HWND parameter to
  CDirectoryWatcher::Create.
- Check whether the HWND is alive at
  CDirectoryWatcher::IsDead.
2024-05-22 20:33:26 +09:00
Joachim Henze
d7be7486c9 [SHELL32] RC: Fix some FIXMEs, add others (#6861)
- fixes the last text truncations we had in IDD_FOLDER_OPTIONS_GENERAL
- small tweaks otherwhere
- add some FIXMEs

Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2024-05-22 04:29:21 +02:00
Whindmar Saksit
11ea1d6198 [BROWSEUI][COMCTL32] Handle rename on other folders in Explorer bar tree (#6832)
IContextMenu (CDefaultContextMenu) only knows how to rename when its site is an IShellView. The tree must detect the rename operation and perform it in the TreeView instead.

Fixed a bug in the ListView that is triggered by activating DefView (to complete the rename): Just after DefView has been activated, the tree performs a navigation to the newly renamed folder, this causes DefView to be destroyed and in turn the ListView. The ListView tries to handle a selection change during destruction of the ListView and ends up accessing an invalid pointer.

CORE-19557
2024-05-22 00:06:46 +02:00
Whindmar Saksit
a25a4eb7b8 [SHELL32] Implement CSIDL_CONNECTIONS and fix CSIDL_PRINTERS (#6919) 2024-05-21 21:09:18 +02:00
Joachim Henze
a549a9d8e4 [SHELL32] ro-RO.rc Improvement (#6844)
Addendum to #6517 (the rules) and
Addendum to #6657 (Andreis recent shell32 PR)

Following the rule:

1.) We use only the correct Romanian language diacritics.
This means using lowercase ţ instead of ț.
This means using lowercase ş instead of ș.
This means using uppercase Ş instead of Ș.
Some of XP/2k3sp2 fonts do lack ț and ș and Ș.

2.) Avoid the word "calculator" for the shutdown/logoff prompt (same as Andrei Miloiu did before in his PR at many locations).
Using "sistem" is fine, and using "computer" is fine.

3.) Harmonize some strings used for some FILEOPENDLG_FILTER.

TODO:
[] In a future PR we will have to do the same character replacements for the Shell folder path default values. This has to be done in sync with dll/win32/userenv/lang therefore I left them out here for now, for easier reviewability of those more delicate parts.
2024-05-21 18:29:52 +02:00
Whindmar Saksit
43b3280f69 [EXPLORER] Don't use Explorers ID_SHELL_CMD IDs in IShellFolder menu (#6872)
Explorer does not control the IDs used by CFSFolder::QueryContext menu and therefore cannot share its ID range with it. The range passed to CFSFolder::QueryContext also cannot start at 0 because CTrayWindow::TrackCtxMenu would interpret that as user cancel.
2024-05-21 12:57:54 +02:00
Serge Gautherie
a6298b5c7a [NTOS:MM] section.c: some trivial cleanup (#5651)
* [NTOS:MM] section.c: Remove unused functions

MiSetControlAreaSymbolsLoaded(),
MiLoadUserSymbols():
Added on 436edb2 (r60802). Never used.

MiSubsectionConsistent():
Added on cda03c0 (r57209). Never used.

MiGetFileObjectForSectionAddress():
Added on 635d9ca (r67810). Calls removed on 0dfd233 (r68123).

MiSetProtectionOnSection():
Added on 9f28638 (r56317). Never used.

Plus,
MmCreateArm3Section():
Add an UNIMPLEMENTED on a specific case.

* [NTOS:MM] section.c: Use static instead of NTAPI for local functions
2024-05-21 11:08:40 +02:00
Whindmar Saksit
2198247bdf [REGEDIT] Implement "Add to favorites" feature (#6890)
The ability to go to a favorite and the dialog was already there, just needed to fill in the blanks.
2024-05-21 09:31:24 +02:00
Whindmar Saksit
108db8f007 [CSCRIPT][WSCRIPT][BOOTDATA] Basic .wsf support (#6140)
Support for .wsf files with a single script block
2024-05-19 13:57:47 +02:00
Oleg Dubinskiy
09965760e0 [MMIXER] Remove duplicated MIXERCONTROL_CONTROLTYPE_MUX handling
Don't check for KSNOTETYPE_MUX and don't return MIXERCONTROL_CONTROLTYPE_MUX twice.
2024-05-19 10:46:02 +02:00
Katayama Hirofumi MZ
18877737af [SHELL32] Make brsfolder.c C++ (as brsfolder.cpp) (#6906)
Modernize source code.
JIRA issue: CORE-17340
- Move dll/win32/shell32/wine/brsfolder.c to
  dll/win32/shell32/brsfolder.cpp.
- Adapt to C++.
2024-05-19 10:00:20 +09:00
Katayama Hirofumi MZ
5246c2cc56 [SHELL32] Introduce 'HDELFILE' handle type (#6902)
Generic HANDLE type is vague and unreadable.
Declare a special handle type for recycle bin
items.
JIRA issue: CORE-19595
- Declare the HDELFILE handle by
  DECLARE_HANDLE(HDELFILE);.
- Use HDELFILE instead of HANDLE for
  deleted items.
2024-05-18 21:35:48 +09:00
Katayama Hirofumi MZ
6c2d1c31dd [SHLWAPI][SDK] Add IShellFolder_... helper functions (#6893)
Implementing missing features...
JIRA issue: CORE-19278
- Implement IShellFolder_GetDisplayNameOf,
  IShellFolder_ParseDisplayName, and
  IShellFolder_CompareIDs functions.
- Add them to <shlwapi_undoc.h>.
- Modify shlwapi.spec.
- Add some SHCIDS_... macros into shobjidl.idl.
- Provide a macro option
  SHLWAPI_ISHELLFOLDER_HELPERS to
  avoid conflict with <shobjidl.h>
  IShellFolder_... inline functions. Ugly hack
  but effective!
2024-05-18 21:33:33 +09:00
Katayama Hirofumi MZ
ae02934445 [SHELL32] SHBrowseForFolder: Refactor brsfolder.c (#6903)
dll/win32/shell32/wine/brsfolder.c.
This file is too hard to read. Nobody reads.
And WineHQ doesn't show no progress
recently in this file. OUT OF DATE!
JIRA issue: CORE-17340
- Rewrite some SendMessageW code by
  using TreeView_... macros.
- Add BrsFolder_GetDataFromItem helper
  function and use it.
2024-05-18 20:42:22 +09:00
Eva
a0eec982ce [README] Remove underscores between badges (#6896) 2024-05-17 15:34:16 +03:00
Maj Soklic
f22704ad4f [CRT] Fix ARM64 VS2022 debug build (#6899)
__globallocalestatus is missing on VS2022/ARM64 just like on Clang-cl.

Addendum to 861360c65f. CORE-14042 CORE-18200
2024-05-17 12:06:17 +03:00
Maj Soklič
503e68f2c9 [GITHUB] Fix builds by dropping VS2017 and retargeting to VS2022 (#6899)
GitHub dropped VS2017 in the windows-latest runner:
- https://github.com/actions/runner-images/issues/9701
- https://github.com/ilammy/msvc-dev-cmd/issues/80

Addendum to 0f81f46387.
2024-05-17 12:06:07 +03:00
Katayama Hirofumi MZ
3285f698fd [SHELL32][SDK] SHChangeNotify: Re-work Part 1 (#6898)
Making shell change notification implementation better.
Now recycle bin icon change is working.
JIRA issue: CORE-13950
JIRA issue: CORE-19591
JIRA issue: CORE-11453
- Delete SHSimpleIDListFromPathA/W hacks.
- Translate simple PIDLs (coming from SHSimpleIDListFromPathA/W)
  in CDefView::OnChangeNotify method.
- Add CDefView::LV_RefreshIcons method for SHCNE_UPDATEIMAGE
  change event.
- Rename CDefView::LV_ProdItem method as CDefView::LV_UpdateItem.
- Call SHUpdateRecycleBinIcon in SHFileOperationW function.
- Half-implement SHUpdateRecycleBinIcon.
- Call SHChangeNotify in DeleteExt function.
2024-05-17 08:10:15 +09:00
Katayama Hirofumi MZ
e0ba2f3372 [NOTEPAD] Kill warning by typecast (int) in DIALOG_StatusBarUpdateCaretPos
JIRA issue: N/A
2024-05-16 12:35:01 +09:00
Whindmar Saksit
15c42f3ef8 [REGEDIT] Check the correct value in WM_ACTIVATE (#6895) 2024-05-15 22:33:41 +02:00
Ethan Rodensky
965230ded4 [THEMES][LUNAR] Fix SizingMargins for the taskbar and tray backgrounds (#6888)
CORE-11698
2024-05-15 20:38:47 +03:00
Katayama Hirofumi MZ
48a0d8e012 [SHELL32_APITEST] Add SHSimpleIDListFromPath testcase (#6892)
Inspect the behavior of
shell32!SHSimpleIDListFromPath function.
JIRA issue: CORE-19591
2024-05-15 17:01:41 +09:00
Victor Perevertkin
0f81f46387 [GITHUB] Remove VS 2015 build from the CI (#3872)
[WORKFLOWS] Remove some excludes as well
2024-05-14 19:39:42 -07:00
Katayama Hirofumi MZ
ac0bcf4a90 [SHLWAPI][SHLWAPI_APITEST][SDK] PathFileExistsDefExtAndAttributesW (#6879)
Implementing missing features...
JIRA issue: CORE-19278
- Implement PathFileExistsDefExtAndAttributesW function.
- Add its prototype to <shlwapi_undoc.h>.
- Modify shlwapi.spec.
- Add PathFileExistsDefExtAndAttributesW testcase.
2024-05-15 07:42:43 +09:00
Oleg Dubinskiy
96acfcb3dc [NTGDI] AlphaBlend/TransparentBlt: check whether the source DC is an INFO DC too (#6885)
Improve checks in AlphaBlend and TransparentBlt functions: check whether DCSrc is of DCTYPE_INFO also, to fail in that case properly too.
Spotted by PVS-Studio analysis.
Reference: https://pvs-studio.com/en/blog/posts/cpp/1122/.
2024-05-14 19:08:37 +02:00
Katayama Hirofumi MZ
2b0d1faaa9 [WORDPAD] Use FILE_SHARE_READ and OPEN_ALWAYS for writing (#6883)
Follow-up to #6880. Fix access denial on
writing file "C:\freeldr.ini".
JIRA issue: CORE-19575
- Add FILE_SHARE_READ flag in CreateFileW
  call.
- Use OPEN_ALWAYS instead of
  CREATE_ALWAYS, and then explicitly use
  SetEndOfFile function.
2024-05-15 01:23:30 +09:00
Katayama Hirofumi MZ
a64cccd711 [NOTEPAD] Use FILE_SHARE_READ and OPEN_ALWAYS for writing (#6880)
Fix access denial on writing file "C:\freeldr.ini".
JIRA issue: CORE-19575
- Add FILE_SHARE_READ flag and delete
  FILE_SHARE_WRITE flag in CreateFileW call.
- Use OPEN_ALWAYS instead of
  CREATE_ALWAYS, and then explicitly use
  SetEndOfFile function.
2024-05-15 01:22:17 +09:00
Katayama Hirofumi MZ
3e97f76a33 [SHELL32] ShellExecute: Re-work Part 2 (#6882)
Follow-up to #6871. Reduce indentation level.
JIRA issue: CORE-17482
In ShellExecuteExW, early check the structure
size and return on failure before
SHCoInitializeAnyApartment call.
2024-05-14 23:00:54 +09:00
Whindmar Saksit
a0776922f4 [SHELL32] Coalesce DefView item changed statusbar updates (#6862)
Updating the statusbar on every LVN_ITEMCHANGED causes a massive delay when the number of changed items is large, very noticeable on Ctrl+A.

CORE-18663
2024-05-14 13:21:30 +02:00
Doug Lyons
1a162375f9 [W32TIME] Change clock update interval to 4 hours (#5940)
* Create W32TIME_POLL_INTERVAL. Set it to 4 hours and use it to set SpecialPollInterval.
2024-05-13 15:01:25 -05:00
Katayama Hirofumi MZ
044f181950 [SHELL32] ShellExecute: Re-work Part 1 (#6871)
The goal is a correct implementation of shell32!ShellExecute.
JIRA issue: CORE-17482
- Add SHELL_InRunDllProcess helper function.
- Add structure size check to ShellExecuteExA function.
- Add code to ShellExecuteExW function.
- Add "MaximizeApps" registry value check.
2024-05-13 10:27:41 +09:00
Whindmar Saksit
5db69da46b [RAPPS] DelRegEmpty instruction should be best-effort, don't propagate any errors (#6860)
DelRegEmpty exists to clean up "company" registry parent keys. If another application is writing to the key at the same time as we are gently trying to remove it, our uninstaller should ignore any errors.
2024-05-12 00:07:54 +02:00
Raúl Gutiérrez
a3d9d0e592 [SHELL32] Browse for Folder: added keyboard navigation (#6853)
Added patches to buttons in folder browsing menu's buttons to fix CORE-19570
2024-05-11 20:37:34 +02:00
Connie Sarah
ede7389fb6 [SNDVOL32] Add CTRL-S hotkey to switch between Small/Normal modes (#6867)
This adds a hotkey (CTRL-S) which switches between the Normal and Small
modes of the Volume Control window (also seen in Windows XP).

CORE-17043

Signed-off-by: Connie Julie <alexnicolas155@yahoo.com>
2024-05-11 11:22:39 +03:00
Andrei Miloiu
06e89b2e81 [DOC] Update Romanian translation notes.txt (#6517) 2024-05-10 23:55:04 +02:00
Andrei Miloiu
7c5a8c7a07 [MSPORTS] Update Romanian (ro-RO) translation (#6703) 2024-05-10 22:35:28 +02:00
Andrei Miloiu
762d042a15 [MSTSC] Update Romanian (ro-RO) translation (#6841) 2024-05-10 22:33:08 +02:00
Andrei Miloiu
bc59daf3d5 [DESKMON] Update Romanian (ro-RO) translation (#6666) 2024-05-10 22:18:18 +02:00
Andrei Miloiu
2c96a6b614 [WINLOGON] Update Romanian (ro-RO) translation (#6773) 2024-05-10 21:46:46 +02:00
Andrei Miloiu
c2931ef23d [OSK] Update Romanian (ro-RO) translation (#6706) 2024-05-10 21:41:00 +02:00
Andrei Miloiu
2667f238ce [JOY] Update Romanian (ro-RO) translation (#6668) 2024-05-10 21:39:05 +02:00
Andrei Miloiu
7fe8512f4f [MAGNIFY] Update Romanian (ro-RO) translation (#6664) 2024-05-10 21:36:42 +02:00
Andrei Miloiu
fda81eea50 [DESKADP] Update Romanian (ro-RO) translation (#6689) 2024-05-10 21:34:50 +02:00
Andrei Miloiu
3b99e294f5 [USER32] Update Romanian (ro-RO) translation (#6704) 2024-05-10 21:34:05 +02:00
Andrei Miloiu
c2d4acf5ca [SHIMGVW] Update Romanian (ro-RO) translation (#6742) 2024-05-10 21:23:55 +02:00
Thamatip Chitpong
750bf12256 [RAPPS] Fix refresh not working correctly (#6864)
Addendum to commit 33c2903e6d
CORE-18459
2024-05-10 22:59:19 +07:00
Whindmar Saksit
daf806802a [SHELL32] Use common default DFM callback message handler (#6779)
Moves default processing of all DFM_ callback messages in SHELL32 to a single function.

CORE-18585
2024-05-09 19:52:05 +02:00
Whindmar Saksit
9e8214fa13 [BROWSEUI] GetControlWindow must support FCW_TREE for DefView usage (#6781)
Support GetControlWindow, ShowControlWindow and IsControlWindowShown for TREE and STATUS in the Shell Browser so DefView can set CMF_EXPLORE correctly.
2024-05-09 18:56:19 +02:00
Carl J. Bialorucki
190b3da95d [CMD][BOOTDATA] Minor improvements (#5745)
* Remove a hardcoded copyright string and move into localizable resources.
* Remove the PROMPT environment variable from clean installs of ReactOS. By default, the command prompt uses $P$G (path + '>') as its prompt settings and does not require this environment variable. Clean installs of Windows Server 2003 do not include this environment variable either. I documented this environment variable in our wiki if anyone would like to set it on their own ReactOS installs.
* Remove the new line above the copyright notice when the information line is turned off.

CORE-16193, CORE-17031
2024-05-09 10:03:43 -06:00
Whindmar Saksit
57b775ef6e [RAPPS] Automatically generate installer/uninstaller for downloaded zip/cab files (#6652)
With a single database line added to applications distributed as zip/cab allows rapps.exe to act as an installer that automatically extracts the files and creates a startmenu shortcut. It can also uninstall the extracted files (and optionally other files and registry entries created by the application).
2024-05-08 23:58:54 +02:00
Maj Soklič
ad8392602e [EVENTVWR] Fix missing keyboard navigation (#6835)
CORE-19566

- Move IDC_NO_OVERWRITE right below IDC_OVERWRITE_OLDER_THAN;
- Remove WS_GROUP from IDC_NO_OVERWRITE, IDC_OVERWRITE_OLDER_THAN and IDC_UPDOWN_EVENTS_AGE.
2024-05-08 19:00:02 +02:00
Maj Soklič
f6f5835d45 [INETCPL] Fix missing keyboard navigation (#6836)
JIRA issue: CORE-19568
2024-05-08 17:15:56 +02:00
Hermès Bélusca-Maïto
a7cbb60ebf [SETUPLIB] Don't flag freeldr.ini as read-only during installation.
CORE-19575

For the time being, don't add read-only attribute for ease of testing
and modifying files, but it won't always stay this way.

For example, Windows sets its boot.ini (as well as NTLDR, NTDETECT.COM
etc.) as read-only (+ hidden and system) during its 1st-stage setup.
2nd-stage setup makes some adjustments in boot.ini but doesn't restore
its read-only attribute.
Windows tools that can modify boot.ini (i.e. msconfig.exe, bootcfg.exe,
and sysdm.cpl) **ALL** know how to remove the read-only attribute for
modifying boot.ini, before restoring it if needed.
2024-05-07 19:30:33 +02:00
Doug Lyons
cf9f7548d5 [NTUSER] Fix double click on title bar icon not closing window (#6697)
Patch by @I_Kill_Bugs

* [NTUSER] Fix double click on title bar icon not closing window

Improve MENU_TrackMenu handling.

Guilty commit:0.4.15-dev-7750-gc17a654 c17a6542ac

CORE-19492
2024-05-07 09:52:57 -05:00
Doug Lyons
0c0062ac9a [NTUSER] Fix Skype and other programs installer windows not able to be moved with mouse by clicking on title bar (#6819)
Patch by @I_Kill_Bugs

Add condition into msgqueue along with filter testing to reject messages that are "NotForUs".
Also, do not set AcceptMessage to FALSE, but just keep msgDblClk and idSysPeek values and continue.

CORE-19487
CORE-19538
2024-05-07 09:10:11 -05:00
Joe Mason
d234dc2d52 [AVRT] Import Audio/Video Runtime module from Wine 9.7 (#6826)
Enhance compatibility with future programs, including browsers.
AVRT is an acronym for "Audio/Video Multimedia Realtime Runtime" and is NT6.
2024-05-07 15:40:27 +03:00
Hermès Bélusca-Maïto
2b43390d04 [SETUPLIB] Use new BootPath value for BootSector boot entries (#6815)
The BootDrive and BootPartition values are deprecated, and support
for them will soon be removed from FreeLoader.

Add an helper function to migrate these values during ReactOS
(re)installation / update.
2024-05-07 12:33:14 +02:00
Katayama Hirofumi MZ
5a287473fd [NTGDI][FREETYPE] Initial support of Surrogate Pairs and emojis (#6851)
Support emoji characters and minor characters.
JIRA issue: CORE-19030
NOTE: Not every emoji is supported yet (No ZWJ support). Surrogate pairs only.
NOTE: This feature only works if the appropriate font is selected.
- Add IS_HIGH_SURROGATE and
  IS_LOW_SURROGATE macros.
- Add Utf32FromSurrogatePair helper function
  to convert a surrogate pair to a UTF-32 code
  point.
- Convert the surrogate pairs in the text in
  TextIntGetTextExtentPoint, IntGetTextDisposition,
  and IntExtTextOutW functions.
2024-05-07 15:24:34 +09:00
Doug Lyons
c0e31793c9 [COMDLG32] Remove extra scrollbars in choose font dialog (#6834)
* Revised comdlg32.dll's resource file for "Font" (CHOOSE_FONT DIALOG) "Style" combo box to
*   remove CBS_ENABLENOSCROLL flag.

CORE-15945
2024-05-06 21:59:01 -05:00
Katayama Hirofumi MZ
d076146f4e [NTGDI][FREETYPE] Check 'No transformation' for performance (#6850)
Slight performance improvement.
JIRA issue: CORE-15554
- Add bNoTransform variable.
- Check whether mat is identity matrix.
- If so, then don't do FT_Vector_Transform.
2024-05-07 11:14:16 +09:00
Maj Soklič
e79c896592 [REGEDIT] Early return FALSE in CreateNewKey() if pszKeyPath is NULL (#6840)
This fixes unhandled exception when trying to create a new key
in the root/"My computer". CORE-19567
2024-05-06 23:46:55 +03:00
Timo Kreuzer
cadfdc554d [KMTEST] Fix x64 GCC build
Yes this is a hack, until I am able to fix this properly.
2024-05-06 21:29:55 +02:00
Hermès Bélusca-Maïto
c7295b2cdf [SETUPLIB] Support different boot store file creation/opening and access modes
The support is so far enabled only for INI files (freeldr.ini, boot.ini).
May be subject to further improvements in the future.

Usage examples:

- When finding existing ReactOS or Windows installations, the boot store
  should exist and is opened in read-only mode. Closing the boot store
  doesn't store any temporary modifications made to it.

- When doing a clean installation, freeldr.ini is created in read-write
  access.

- When installing with an existing freeldr.ini or boot.ini, they are
  opened as existing files in read-write access.
2024-05-06 21:13:23 +02:00
Oleg Dubinskiy
d1b8feb690 [AUDIO] Implement retreiving audio playback position (#6817)
Implement GetWavePosition API for both Legacy and MMixer modes.
[WDMAUD.DRV]
- Fix wrong I/O control code passed to DeviceIoControl for Legacy mode. Use IOCTL_GETPOS instead of IOCTL_OPEN_WDMAUD, to use the correct routine.
- Implement WdmAudGetWavePosition for MMixer mode, as it was completely unimplemented there. Call an appropiate MMixer routine and return back resulting wave position.
[WDMAUD]
- Implement WdmAudGetPostion routine, which is used by Legacy mode, and call the same MMixer routine from it too.
- Handle it in IOCTL_GETPOS I/O control request of dispatch routine.
[MMIXER]
- Implement MMixerGetWavePosition internal routine, which is called by both Legacy and MMixer modes, and does the actual work of retrieving playback position.
- Call an apporpriate KSPROPERTY_AUDIO_POSITION property from it, and return in the output resulting KSAUDIO_POSITION.PlayOffset member, which contains the current playback position offset, to be returned to the caller.
This fixes a failure retreiving the current audio playback position snd subsequent playing the audio data by several 3rd-party applications which are using this API (for example, some Gecko based browsers by @roytam1: Basilisk (Serpent) 52.9.0 IA-32 build, NewMoon 28.10.7 IA-32 build and KMeleon 76.5.3 Goanna engine).
CORE-19542
2024-05-06 20:07:47 +02:00
Hermès Bélusca-Maïto
9b563d32d2 [SETUPLIB] Improve a bit the management of boot-store options
- QueryBootStoreOptions(): De-duplicate code.
- SetBootStoreOpt(): Respect the FieldsToChange flag.
- BOOT_STORE_OPTIONS: Remove unused Version field and distinguish
  between "Current" and "Next" BootEntryKey.
2024-05-06 17:05:03 +02:00
Hermès Bélusca-Maïto
68c2a28973 [SETUPLIB] Split OpenAndMapFile function and Doxygen-ize it 2024-05-06 17:00:01 +02:00
Timo Kreuzer
e8e770fd14 [WIN32K:NTUSER] Fix NULL pointer dereference in MENU_HideSubPopups
Fixes CORE-19367.
2024-05-06 15:47:30 +02:00
Timo Kreuzer
67c28b723e [PSEH/x64] Fix our GCC-SEH-plugin hack
The change is needed, because the previous version emitted multiple ".seh_handlerdata" blocks and GAS isn't able to merge them into one, but will instead only include the first one. This is fixed by generating "asm defines" in the code and pass the line number to the "REACTOS seh" pragma, which is then used to create all handler data by referring to the predefined symbols, that include the line number.
Also the EstablisherFrame parameter passed to the filter/finally function is the original stack pointer, not the frame pointer! Take this into account by passing __builtin_frame_address(0) from the filter context to the global wrapper function, which includes the frame-offset, and use that to recalculate the frame-pointer from the passed in stack pointer.
2024-05-06 14:23:48 +02:00
Timo Kreuzer
f4a9f9cde3 [CRT][NTDLL][MSVCRT] Add _swprintf implementation 2024-05-06 14:08:31 +02:00
Katayama Hirofumi MZ
521eb0c7c0 [NTGDI][FREETYPE] Increase STACK_TEXT_BUFFER_SIZE (#6847)
Slight performance improvement. STACK_TEXT_BUFFER_SIZE = 100 was too small
for long text. This PR can reduce unnecessary buffer allocations in NtGdiExtTextOutW
function.
JIRA issue: CORE-15554
- Change STACK_TEXT_BUFFER_SIZE to 512.
2024-05-06 20:39:26 +09:00
Katayama Hirofumi MZ
0056313e15 [NTGDI][FREETYPE] Simplify code around bold/italic glyph caches (#6846)
Simplify and reduce font code.
JIRA issue: CORE-15554
- Don't treat bold/italic glyphs specially in font cache.
- Delete useless IntGetBitmapGlyphNoCache function.
2024-05-06 19:17:09 +09:00
Doug Lyons
69ebfd671d [NTOS:EX] Various fixes for Daylight Saving Time transitions (#5868)
* [NTOS:EX] Various fixes for Daylight Saving Time transitions

* Fix automatic time changes when DST starts and ends.
* Currently it takes two cycles of the update provided by w32time to make the actual change.
* Convert Eric Kohl's TimeZoneID code contained in ExRefreshTimeZoneInformation to a new function.
* Use this new function in ExpSetTimeZoneInformation and ExRefreshTimeZoneInformation functions.

CORE-19290
2024-05-05 21:32:04 -05:00
Maj Soklič
28eb4e726a [NETCFGX] Fix missing keyboard navigation (#6837)
Remove WS_GROUP from: IDC_TCP_RESTRICT, IDC_UDP_RESTRICT and IDC_IP_RESTRICT
fixes CORE-19569

Thanks to Maj Soklič for the PR, based on the investigations of Krosuser.
2024-05-05 19:15:04 +02:00
Hermès Bélusca-Maïto
e151ef9ae1 [SETUPLIB] Add support for removing sections and key values, and remove some hacks (#6815)
- Use LIST_ENTRY instead of custom list pointers;
- Fix key/section unlinking before freeing.
2024-05-05 18:15:31 +02:00
Hermès Bélusca-Maïto
b9ca9b0061 [SETUPLIB] Don't create new INI sections or key-values if they already exist (#6815)
- If a section already exists, return the existing one. This allows
  avoiding different section entries with the same name in the cache.
  If an INI file has separate sections with the same name, their
  contents (key-values) get merged into a unique section.

- If a key-value already exists, update its data value and return the
  existing one. (Note that this may be subject to behaviour change in
  the future.)
2024-05-05 18:15:31 +02:00
Hermès Bélusca-Maïto
817c27a54e [SETUPLIB] Some INI support refactoring: function/struct names, duplicated code (#6815)
And convert ANSI strings to UNICODE in a better way instead of
zero-extending them.
2024-05-05 18:15:24 +02:00
Serge Gautherie
cb6fc76b8b [NTOS:IO] IoDisconnectInterrupt(): Switch to ExFreePoolWithTag() (#6503)
Follow-up to commit 24a14abf2 (r57412).

HBelusca's comment:
> If this ExFreePoolWithTag() call was left commented, it's probably
> because, back in the day where I introduced it, there was a pool
> corruption that was detected, the source of which was unknown at
> that time. In retrospect, it is most probably the interrupt disconnect
> bug in IoDisconnectInterrupt() that was causing it. Now that this
> bug has been fixed just previously, it should be safe to re-enable
> pool freeing with tag.
2024-05-05 17:03:42 +02:00
Serge Gautherie
347ca5f859 [NTOS:IO] IoConnectInterrupt(): Move InterruptObject assignment where it belongs (#6503)
Addendum to commit d1258e99f (r16229), supersedes commit adf534b28.

CORE-17256
2024-05-05 17:03:28 +02:00
Serge Gautherie
2d442956b4 [NTOS:IO] IoConnectInterrupt(): Fix default spinlock initialization (#6503)
Addendum to commit d1258e99f (r16229).
2024-05-05 17:03:20 +02:00
Serge Gautherie
cbc78e0629 [NTOS:IO] IoDisconnectInterrupt(): Fix disconnecting other interrupts (#6503)
Addendum to commit d1258e99f (r16229).
2024-05-05 17:03:13 +02:00
Hermès Bélusca-Maïto
603fd832d0 [NTOS:IO] IoConnectInterrupt(): Zero-out the allocated structure at the correct place (#6503)
Addendum to commit d1258e99f (r16229).
2024-05-05 17:02:34 +02:00
Serge Gautherie
35d46b23f1 [FORMATTING][NTOS:IO] iomgr/irq.c
- Add a few blank lines.
- Use 2 'continue'.
2024-05-05 16:35:22 +02:00
Hermès Bélusca-Maïto
8e799e2d3e [SDK:WINE] Some minor additions to wine/test.h (#6822)
- Add two missing debugstr_w* helpers. These will be needed for
  future winetest syncs.

Note that such change would be unnecessary, would wine/test.h and
wine/debug.h be also updated with latest Wine versions. Indeed,
wine/debug.h is now allowed to be included in wine tests since
wine commit:
```
include: Allow using debug.h in tests.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c8f338369695d360e021f2cbd82a18b2c0eb1514 by Alexandre Julliard <julliard@winehq.org>
```

- Since our wine/test.h doesn't include wine/debug.h for now, include
  instead stdio.h for the time being, in order to get support for
  s(w)printf() in tests that don't include stdio.h
2024-05-04 23:04:21 +02:00
Hermès Bélusca-Maïto
565a4b359a [FREELDR] Don't popup about deprecated features in auto-boot scenario (#6803)
Addendum to commit 5f3554a40.
2024-05-04 16:19:22 +02:00
Hermès Bélusca-Maïto
7bee32d237 [FREELDR] The multiboot command-line and FREELOADER section options become global settings (#6803)
Dual-license settings.c: "old" code (CmdLineParse) stays BSD
and new code (mine) becomes MIT.
2024-05-04 16:19:07 +02:00
Hermès Bélusca-Maïto
2f4bb4084d [FREELDR] Rename cmdline.c to settings.c: it will be used for managing global settings (#6803) 2024-05-04 15:46:06 +02:00
Doug Lyons
29235147e2 [NTUSER] Remove some extra repaints/redraws (#6827)
Reposition logic and add Flags testing for RgnType == NULLREGION.
This was suggested by @HBelusca and approved by @I_Kill_Bugs
2024-05-04 07:35:53 -05:00
Hermès Bélusca-Maïto
30226f834d [SDK:WINE] Improve wine/unicode.h (v)sprintfW defines, regarding the (v)swprintf functions (#6823)
These defines assumed that the (v)swprintf functions were the
non-conformant ones (that don't take a 'count' 2nd parameter).
Because of that, use instead the _(v)swprintf functions. However,
those exist only in NT6+. Therefore, redefine these locally
using the _(v)snprintf functions.

NOTE: wine/unicode.h has been removed in wine commit
348eebae872e90a735041a153635d00b01178cfa from July 13, 2022
2024-05-04 13:47:51 +02:00
Joachim Henze
a69532ec4a [USER32] defwnd.c only formatting, no functional change
For preparing a backport I do slightly improve the formatting:
- for the 2 SetScrollInfo() calls, that I do intend to port back
- fix last place where we had mixed space and tab indentation in this file at the DefWindowProc signatures
- strip some exclamation marks in some dbg-prints
- improve the header
- strip a space at some rather long lines NtUserMessageCall()
2024-05-04 12:30:43 +02:00
Maj Soklič
7ce96fd364 [SHELL32] Fix keyboard navigation in file deletion dialog CORE-19564 (#6833)
Fix usage of left/right arrow keys in file deletion dialog
JIRA issue: CORE-19564

Remove WS_GROUP from all but the 1st button

"Inshallah brother we will fix this bug"
2024-05-03 23:37:37 +02:00
Timo Kreuzer
6f83cdfdb3 [WINESYNC] Update kernel32.cfg and WINESYNC.txt to wine-3.3 2024-05-03 16:10:00 +02:00
Timo Kreuzer
bd9bb36b18 [KERNEL32] Reduce diff to wine-3.3 2024-05-03 16:10:00 +02:00
winesync
c08580dee3 [WINESYNC] kernel32: Don't return a parent locale for neutral locales in GetLocaleInfoEx.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c63a08586f19af7e6a65a064696743f648006fcd by Alexandre Julliard <julliard@winehq.org>
2024-05-03 16:10:00 +02:00
winesync
90c0562935 [WINESYNC] kernel32: Keep the sublanguage specified by the script name when looking for the default.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c5a39bd98f5388d48b728d19ce466665fa37bfbd by Alexandre Julliard <julliard@winehq.org>
2024-05-03 16:10:00 +02:00
winesync
b46bf67c2e [WINESYNC] kernel32: Add stub for ResolveLocaleName.
Signed-off-by: Jactry Zeng <jzeng@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b9a9fe4a042f98521efea3275ded4af4b7cba4c9 by Jactry Zeng <jzeng@codeweavers.com>
2024-05-03 16:10:00 +02:00
winesync
a8d367089c [WINESYNC] kernel32: Improve locale detection on Android.
setlocale is coded to just return 'C' for all inquiries ignoring locale
that may be set in the environment.

Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9dc5d299f11c599862d39af3e32d92e787c1ae7b by Aric Stewart <aric@codeweavers.com>
2024-05-03 16:10:00 +02:00
winesync
535fffd824 [WINESYNC] kernel32: Check for invalid flags in codepage conversion functions.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0b95ebd283986fa179c7ec6d2ea3f34c977c3aaf by Alex Henrie <alexhenrie24@gmail.com>
2024-05-03 16:10:00 +02:00
winesync
544f114459 [WINESYNC] kernel32: Use different default sublangs for Spanish and Chinese.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7737693693ca46a88c41cfeab95d2b65423d8e51 by Andrew Eikum <aeikum@codeweavers.com>
2024-05-03 16:10:00 +02:00
winesync
a3102dc0dd [WINESYNC] kernel32: Improved GetUserPreferredUILanguages stub.
Implementation and tests are based on GetSystemPreferredUILanguages.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 26d0105cd8a8ce1131033f1871de0dd9a7b4c43c by Jacek Caban <jacek@codeweavers.com>
2024-05-03 16:10:00 +02:00
winesync
6f4d2924f0 [WINESYNC] kernel32: Fixed handling LOCALE_NAME_USER_DEFAULT in GetLocaleInfoEx.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 505406fc83b65dd1f9ebcbaabb582f0fabec1b0a by Jacek Caban <jacek@codeweavers.com>
2024-05-03 16:10:00 +02:00
winesync
8c0ffa6f18 [WINESYNC] Assorted spelling/grammar fixes.
wine commit id 1e214eb5d354ffbb64699686913a5eb61998ed78 by Frédéric Delanoy <frederic.delanoy@gmail.com>
2024-05-03 16:10:00 +02:00
Timo Kreuzer
f70a1d03b0 [KERNEL32] Import GetLocaleInfoEx from wine-1.9.17 2024-05-03 16:10:00 +02:00
Timo Kreuzer
b01b6926a4 [KERNEL32] locale.c: Reduce diff to wine-1.9.17 2024-05-03 16:10:00 +02:00
Timo Kreuzer
98c4379291 [KERNEL32] locale.c: Move functions to match wine order 2024-05-03 16:10:00 +02:00
Timo Kreuzer
3016060883 [KERNEL32] Rename lang.c to locale.c as in wine 2024-05-03 16:10:00 +02:00
winesync
2d4d5b6359 [WINESYNC] kernel32: Add TRACE to SetCommState.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 60226ee37de52b470b98efa13f9a5e065cedc77b by Alex Henrie <alexhenrie24@gmail.com>
2024-05-03 16:10:00 +02:00
Timo Kreuzer
c908716094 [KERNEL32] actctx.c: reduce diff to wine-1.7.55 2024-05-03 16:10:00 +02:00
Timo Kreuzer
c04377bf03 [KERNEL32] Disable some warnings for wine code 2024-05-03 16:10:00 +02:00
Whindmar Saksit
bbb3b00398 [ZIPFLDR] Don't handle DFM_INVOKECOMMANDEX if you need DFM_INVOKECOMMAND (#6766)
ZipFldr responds incorrectly to DFM_INVOKECOMMANDEX, it needs to return E_NOTIMPL to get the DFM_INVOKECOMMAND message.
2024-05-02 19:01:38 +02:00
Whindmar Saksit
07d55ce1cf [SHELL32] CFSFolder parsing must only apply bind data to the last item (#6794)
When IShellFolder::ParseDisplayName is asked to parse multiple path elements, the IFileSystemBindData (if any) only applies to the last item. The other elements are always folders.
2024-05-02 18:00:12 +02:00
Whindmar Saksit
ef80b3dde4 [SDK] ReleaseCComPtrExpectZero should print the relevant file:line (#6772)
ReleaseCComPtrExpectZero currently always prints the same line from shellutils.h in the warning which is not very useful. A macro is required for __FILE__ to be correct.
2024-05-02 17:56:28 +02:00
Doug Lyons
515f998f0d [NTUSER] Fix co_IntSetParent when calling on itself (#6365)
* Patch by @I_Kill_Bugs.

* Provide explanation for change.
CORE-9386
2024-05-02 03:43:41 -05:00
Whindmar Saksit
db93cb1709 [SHELL32][VFDLIB] Handle size check of CMINVOKECOMMANDINFOEX correctly (#6767)
Older NT versions (< IE4) had a smaller CMINVOKECOMMANDINFOEX struct. Places where 3rd-party code passes in the struct needs to accept the small size.
2024-05-01 14:17:08 +02:00
Timo Kreuzer
5c3b1c78a7 [NTOS:KE] Improve NtRaiseException and NtContinue
- Fix annotations
- Don't use KiServiceExit to return to the caller with an error code, instead just return from the function, that is the same thing.
- Refactor failure path
- Add DPRINTs on failure
2024-05-01 11:30:29 +02:00
Timo Kreuzer
4bc591c6f0 [NTOS:KE] Fix NtRaiseException and NtContinue on x64
- Implement KiExceptionExit, which works like KiServiceExit2, but takes an exception frame as 2nd parameter
- Add a local exception frame to NtRaiseException and NtContinue, which is needed to exit with a full context on x64 and arm
- Use KeContextToTrapFrame again instead of KiSetTrapContext, since we have a proper exception frame now.
2024-05-01 11:30:29 +02:00
Timo Kreuzer
dc3b208625 [RTL/x64] Fix a bug in RtlRaiseException 2024-05-01 11:30:29 +02:00
Timo Kreuzer
b388cb66de [CRT] Add mbrtowc (from wine) 2024-05-01 07:37:31 +02:00
Timo Kreuzer
76d33ee7f2 [CRT] Add wcrtomb (from wine) 2024-05-01 07:37:31 +02:00
Doug Lyons
0f9bf6abb4 [NTOS:CC] Restore unlock/reacquire locks around MmPageOutPhysicalAddress (#5735)
* [NTOS:CC] Restore unlock and reacquire locks around MmPageOutPhysicalAddress which was mistakenly lost in commit 2b14056

* Add bypass for problematic code path for now
2024-04-30 13:59:50 -05:00
Timo Kreuzer
e77da17f68 [KMTEST] Add test for FileEndOfFileInformation 2024-04-29 22:50:18 +02:00
Timo Kreuzer
bebf99aaf1 [NTDLL_APITEST] Add test for FileEndOfFileInformation 2024-04-29 22:50:18 +02:00
Thamatip Chitpong
35dc2f2410 [WINMM] PlaySound: Add a note for ReactOS-specific modifications
Addendum to commit f18111b641
2024-04-29 17:56:03 +07:00
Timo Kreuzer
06a35089eb [RTL] actctx.c: Reduce diff to wine
The changes are:
- Do not allocate an additional WCHAR for the terminating UNICODE_NULL, since we already have that accounted for by sizeof(manifest_dirW)
- Use strcpyW intead of memcpy / strlenW, which does the same thing
- Add a define for user_shared_data
2024-04-29 01:15:50 +02:00
Timo Kreuzer
6e277fc0c0 [RTL] actctx.c: Revert parameter change 2024-04-29 01:15:50 +02:00
Timo Kreuzer
f9d3a50ee3 [RTL] actctx.c: Add some #ifdef __REACTOS__ 2024-04-29 01:15:50 +02:00
Timo Kreuzer
ad5d8bb477 [RTL] actctx.c: Reduce diff to wine 2024-04-29 01:15:50 +02:00
Timo Kreuzer
55f4e2a581 [RTL] actctx.c: Revert RELATIVE_PATH change 2024-04-29 01:15:50 +02:00
Timo Kreuzer
1a6dc01f69 [RTL] actctx.c: Revert FILE_END_OF_FILE_INFORMATION changes
We still need to hack it, because FileEndOfFileInformation is not supported in user mode, neither in ReactOS, nor in Windows.
2024-04-29 01:15:50 +02:00
Timo Kreuzer
41ff75ce36 [RTL] actctx.c: Revert __TRY / __EXCEPT changes 2024-04-29 01:15:50 +02:00
Timo Kreuzer
e46364314b [RTL] actctx.c: Revert casts 2024-04-29 01:15:50 +02:00
Timo Kreuzer
86e28b67ce [RTL] actctx.c: Remove unused stuff that isn't in wine 2024-04-29 01:15:50 +02:00
Timo Kreuzer
be76eb7c91 [RTL] actctx.c: Revert ERR, WARN, TRACE changes 2024-04-29 01:15:50 +02:00
Timo Kreuzer
37b2e791ee [RTL] actctx.c: Revert pointless formatting changes 2024-04-29 01:15:50 +02:00
Timo Kreuzer
49ed915759 [RTL] actctx.c: Revert NtCurrentProcess() changes 2024-04-29 01:15:50 +02:00
Timo Kreuzer
3b9b26f912 [RTL] actctx.c: Revert GetProcessHeap -> RtlGetProcessHeap changes 2024-04-29 01:15:50 +02:00
Timo Kreuzer
9d8ea85398 [RTL] Disable an MSVC warning in wine source 2024-04-29 01:15:50 +02:00
Maj
eb39c408af [README] Update RosBE links and badges to version 2.2.1 2024-04-28 20:42:16 +02:00
Thamatip Chitpong
7586fe5c1d [SHELL32] Rewrite CCopyAsPathMenu on top of IContextMenu
Also use the same registry key as Windows 10.
2024-04-28 21:03:43 +07:00
Thamatip Chitpong
a706f6ba78 [SHELL32] Fix separator not showing for CopyTo and MoveTo menu
Fix wrong previous item index.
2024-04-28 21:03:43 +07:00
Thamatip Chitpong
d4ca55f65e [SHELL32] Separate CCopyAsPathMenu implementation from CCopyMoveToMenu 2024-04-28 21:03:43 +07:00
Whindmar Saksit
f9325370f5 [SHELL32] DefView must set CMF_EXTENDEDVERBS, CMF_CANRENAME and CMF_EXPLORE (#6776)
The caller of IContextMenu::QueryContextMenu must set these flags when needed, not CDefaultContextMenu.

Notes:
- CMF_CANRENAME is always set by DefView because it always supports rename in its current form. CDefaultContextMenu verifies that SFGAO_CANRENAME is also set on the items. All other callers are expected to not know how to rename unless they also set CMF_CANRENAME. This fixes the bug that the Rename item is present in the TreeView context menu even though the TreeView in ROS Explorer does not handle renaming.
- While DefView now tries to set CMF_EXPLORE correctly, the flag is never actually set because BROWSEUI does not handle FCW_TREE yet.
- This also fixes the bug where the File menu is missing the menu items when there is no selection.
2024-04-28 21:00:03 +07:00
Timo Kreuzer
c9864da823 [NTOS:IO] Fix broken pool allocations
ExAllocatePoolWithTag doesn't raise an exception on failure, only ExAllocatePoolWithQuotaTag does. Use that when quotas are relevant instead of silently continuing with a NULL pointer.
2024-04-28 14:06:07 +02:00
Mark Jansen
24a56f89ab Rework apisets to use a table
This removes all fake apiset forwarders,
and handles apisets inside ntdll.
This is not 100% compatible with how windows does it, but it should be good enough for us.
2024-04-27 22:51:34 +02:00
Doug Lyons
116c0cd9a5 [USER32] Fix resource display of MSVC BI_BITFIELD 32-bit bitmaps. (#5942)
This specifically fixes Wordpad's Open and SaveAs dialog toolbars.

* Fix 16 bpp BI_BITFIELDS like 32 bpp was done.
* Add BI_BITFIELDS byte count into bitmap_info_size return value.
* Account for GCC's windres.exe incorrect omission for BI_BITFIELDS DWORD's when processing 32-bpp bitmaps.
* Account for GCC's windres.exe failing with bitmaps with BI_BITFIELDS and bits per plane is 16
* Fix WARN message to show error on either 16-bpp or 32-bpp
* Correct comment regarding GCC compiled bitmaps with compression of BI_BITFIELD's to add 16 bits per plane

CORE-17005
2024-04-27 14:38:06 -05:00
Ratin Gao
ff12fc9fb9 [NTDLL_APITEST] Use RtlConvertUlongToLuid 2024-04-27 21:31:53 +02:00
Doug Lyons
ffd060295d [USER32_APITEST] Test MSVC rc.exe compiled 32-bpp BI_BITFIELD bmp (#6755)
* Cleanup and Changes based on reviewer comments
* For failure, show returned and expected values

CORE-17005
2024-04-27 13:30:51 -05:00
Ryan Kounter
ab72bc06d6 [COMCTL32] Fix header redraw glitches when resizing (#6799)
Fixes COMCTL32 headers from being garbage text when resizing while drawn off screen.

- Invalidate header item rect before scrolling to prevent the divider from being redrawn over and over.
- Invalidate header item text through adding flag SW_INVALIDATE to ScrollWindowEx call to prevent the text from being redrawn over and over.

CORE-19404
2024-04-27 09:56:03 -06:00
Timo Kreuzer
b8e50f787d [NTOS:KE/x64] On syscalls clear nested task flag
When this flag is not cleared and the system returns with an IRET, this causes a #GP. Randomly hit by the umkm:SystemCall test.
2024-04-27 15:12:40 +02:00
Timo Kreuzer
701b0a3f24 [MSVCRTEX] Only include _CrtDbgReport*, if we don't already export them (#6797)
* [MSVCRTEX] Only include _CrtDbgReport*, if we don't already export them

For some reason clang builds now want the ___chkstk_ms on x64 as well, so add it.
2024-04-27 14:59:06 +03:00
Marcin Jabłoński
dcf9eb060a [SHELL32] Fix Control_RunDLLW (#5400)
This commit makes Control_RunDLLW pass all but one tests from rostests (the one test that fails is the first one, but it only fails if the path to the test program contains a space).

- Rework string parsing in the Control_DoLaunch routine
- Do not send the CPL_STARTWPARMSW message, if no extra parameters were specified (fixes the failing Got NULL lParam2! and some CPL_STARTWPARMSW: expected -1 got %d tests)
- Do not resolve invalid dialog names to index zero, unless the name is empty (fixes some of the failing CPL_DBLCLK: expected -1 got %d tests)
- Handle quotes in the second part of wszCmd

CORE-8981
2024-04-26 18:28:46 -06:00
Timo Kreuzer
45aa8f8111 [CRT] Remove useless #undef abort from process.h 2024-04-26 15:16:31 +02:00
Timo Kreuzer
6beff505d7 [CRT] Add _Exit to process.h
This is already done this way in our stdlib.h. It is needed by GCC 13 C++ headers. The problem happens like this:
- telnet/precomp.h includes fstream from GCC
- fstream includes pthread.h from GCC
- pthread.h includes process.h from ReactOS
- process.h defines _CRT_TERMINATE_DEFINED, but doesn't declare _Exit
- fstream includes cstdlib from GCC
- cstdlib includes stdlib.h from GCC (#include_next)
- stdlib.h doesn't declare _Exit, because _CRT_TERMINATE_DEFINED is defined
- cstdlib uses _Exit
2024-04-26 15:16:31 +02:00
Thamatip Chitpong
cd0bb1af07 [TASKMGR] Process page: Allow using "Open File Location" functionality without running Explorer shell
If Explorer shell is not available, use ReactOS's alternative file browser instead.
2024-04-26 07:16:00 +07:00
Thamatip Chitpong
6d16d27462 [TASKMGR] Process page: Improve readability of command line string formatting code 2024-04-26 07:16:00 +07:00
Thamatip Chitpong
018264f38f [NTUSER] Release modifier keys when deactivating message queue (#6754)
CORE-14768
2024-04-26 07:12:02 +07:00
Katayama Hirofumi MZ
1331e2fb02 [KERNEL32_APITEST] Add LCMapString testcase (#6805)
@tkreuzer said he wants LCMapString testcase in chat.
JIRA issue: N/A
2024-04-26 08:39:45 +09:00
Doug Lyons
3693d55404 [SHELL32] Fix Desktop folder details view (#5743)
* [SHELL32] Fix Desktop Folder Details View

JIRA issue: [CORE-19177|https://jira.reactos.org/browse/CORE-19177]

* Remove Comments column from Desktop Folder Details View and simplify code.
* Revise date/time sort based on reviewer comments.
* Swap size and type column positions for desktop folder details view.

With help from Whindmar, most (hopefully all) of the magic number for the columns
have been removed in all of the shell folders.

Co-authored-by: Whindmar Saksit <whindsaks@proton.me>
Co-authored-by: Carl J. Bialorucki <cbialo2@outlook.com>
2024-04-25 17:20:28 -05:00
Timo Kreuzer
1f49173f82 [CRT] Massively improve performance of rand_s
Cache the pointer to RtlGenRandom instead of loading and unloading advapi32 every single time this function is called.
2024-04-25 05:25:12 +02:00
Timo Kreuzer
3c55252828 [CRT_APITEST] Add test for rand_s 2024-04-25 05:25:12 +02:00
Timo Kreuzer
f319538d98 [CRT] Move rand_s into it's own file 2024-04-25 05:25:12 +02:00
Timo Kreuzer
0ea48e79fc [CRT] Move _invalid_parameter into its own file
As the author of the code, I changed to license to MIT.
2024-04-25 05:25:12 +02:00
Timo Kreuzer
43beb913da [CRT] Move rand to stdlib, where it belongs 2024-04-25 05:25:12 +02:00
Katayama Hirofumi MZ
d55f49978d Revert "[SHELL32] SHChangeNotify: Use tree for CDirectoryList (#6784)" (#6800)
Reverts #6784 that was a guilty commit of CORE-19531 that causing performance regression.

JIRA issue: CORE-19531
2024-04-25 09:01:21 +09:00
Katayama Hirofumi MZ
91acf823d8 [SHELL32] SHChangeNotify: Use tree for CDirectoryList (#6784)
Optimize for speed and memory.
JIRA issue: CORE-13950
CDirectoryList class exists just for remembering which file item is a directory or
not, in order to notify the filesystem item changes. This information can
become a tree data structure.

- Add CFSPathIterator and CFSNode helper classes.
- CFSNode is a class for tree nodes.
- Re-implement CDirectoryList class by using tree nodes.
- Delete CDirectoryItem class.
2024-04-24 19:44:30 +09:00
Katayama Hirofumi MZ
c0c270e90e [SHELL32_APITEST] Delete obsolete "iexplore.exe" tests
Follow-up to 75cc5b2. CORE-13950
2024-04-24 19:06:48 +09:00
Katayama Hirofumi MZ
75cc5b2b1c [SHELL32_APITEST] Commonize FindSubProgram function
and delete obsolete "iexplore.exe" tests. CORE-13950
2024-04-24 19:03:10 +09:00
Katayama Hirofumi MZ
8337df2bd1 [SHELL32_APITEST] SHChangeNotify: Improve coverity (#6798)
Improve coverity and speed.
JIRA issue: CORE-13950
- Move NUM_STAGE to the header file.
- Add stages.
- Add DIRTYPE_DESKTOP_DIR and
  DIRTYPE_PRINTERS directory types.
- Improve speed more.
2024-04-24 18:25:15 +09:00
Oleg Dubinskiy
24e088daa8 [MMEBUDDY] Implement support for looped wave playback (#6761)
Fix playing wave header multiple times in case the caller requests to do it.
In Windows, it is supported by WHDR_BEGINLOOP and WHDR_ENDLOOP flags (specified together) and dwLoops member of WAVEHDR structure (ususally set to 0xFFFFFFFF (INFINITE constant)).
- Check whenther WHDR_BEGINLOOP | WHDR_ENDLOOP flags are set by the caller.
- If they are, get the amount of times to play the header from WAVEHDR.dwLoops.
- Perform wave header competion only when the loop count is equal to zero. Otherwise, don't do it.
- When the header is entirely committed, in case completion is not needed, reset committed bytes count to the starting value to allow the header play again.
- Decrement loop count in case it isn't set to INFINITE, to mark loop as played correctly. When this count becomes zero, then the playback is finished.
- Get rid from SOUND_OVERLAPPED.PerformCompletion member. Use SOUND_DEVICE_INSTANCE.LoopsRemaining == 0 condition instead.
- Do this only for WaveOut devices, since MSDN states it works only with output buffers. Hence, there is nothing changed for WaveIn.
- Update an appropriate statement about unimplemented functionality from mmebuddy notes.
TODO: handle the case when multiple headers are requested to be looped (WHDR_BEGINLOOP and WHDR_ENDLOOP are set separatedly: 1st flag - in the 1st header, and 2nd in the last header). Currently, only looping a single wave header is supported.
This fixes the playback in the apps those request looped wave playback of some audio data (e. g., BRD Demo app, which did play its sound only first 500 ms before, now it plays endlessly until closing it manually).
CORE-10118
2024-04-24 11:08:40 +02:00
Katayama Hirofumi MZ
d23573beed [SHELL32_APITEST] Follow-up to #6796 (25e2f5f)
This change will massively improve speed.
JIRA issue: CORE-13950
- Set zero to INTERVAL.
- Remove SHCNF_FLUSHNOWAIT.
2024-04-24 10:22:42 +09:00
Katayama Hirofumi MZ
25e2f5f277 [SHELL32_APITEST] Make SHChangeNotify testcase more stable (#6796)
Make the testcase more stable and faster. Reduce code.
JIRA issue: CORE-13950
- Use WM_COPYDATA message to communicate with shell32_apitest_sub.exe.
- Use concept of "stage" and "step".
- Do multiple checks in one step.
- Flush notification by using (SHCNF_FLUSH | SHCNF_FLUSHNOWAIT) flags.
2024-04-24 09:10:29 +09:00
Timo Kreuzer
6ac260dcec [NTOS:KE/x64] Handle NMI vs swapgs race condition 2024-04-23 15:50:06 +02:00
Timo Kreuzer
72fd54a7f4 [NTOS:KE/x64] Implement Kd processor switching 2024-04-23 15:50:06 +02:00
Timo Kreuzer
9229709312 [NTOS:KE/x64] Implement processor freeze code 2024-04-23 15:50:06 +02:00
Timo Kreuzer
af2ce4d08f [NTOS:KE/x64] Implement KiSaveProcessorState / KiRestoreProcessorState 2024-04-23 15:50:06 +02:00
Timo Kreuzer
1d289fec77 [NTOS:KE] Improve freeze code in KeBugCheckWithTf
- Don't wait 1 second for each processor
- Use AFFINITY_MASK
- Use Prcb->Number, which is more future proof than KeGetCurrentProcessorNumber
- Improve for loop
2024-04-23 15:50:06 +02:00
Timo Kreuzer
d96f01b5dc [NTOS:KE/x64] Add KiNmiInterruptHandler
So far it only calls KiHandleNmi. It will also handle processor freeze later.

TODO: Pass TF_WITH_EF to directly generate a KEXCEPTION_FRAME
2024-04-23 15:50:06 +02:00
Katayama Hirofumi MZ
1dc8d80ca1 [SHELL32] SHChangeNotify: Add drive, remove drive (#6782)
Implementing missing features...
JIRA issue: CORE-13950
- Add WM_DEVICECHANGE message handler in the shell window to detect
  DBT_DEVICEARRIVAL and DBT_DEVICEREMOVECOMPLETE.
- Use GetLogicalDrives function to detect drives.
- Use SHChangeNotify to send SHCNE_DRIVEADD and
  SHCNE_DRIVEREMOVED notifications.
- Modify CDefView::OnChangeNotify.
2024-04-23 08:28:38 +09:00
Timo Kreuzer
a8ece7e81a [EVTLIB] Fix size of event log record
The size is 32bit, don't read a SIZE_T. Fixes crashes of advapi32_winetest eventlog on x64.
2024-04-22 16:42:02 +02:00
Timo Kreuzer
565828127f [WIN32U_VISTA] Add win32u.dll for Vista 2024-04-22 10:15:40 +02:00
Serge Gautherie
fd331f1494 [NTUSER] UserSetCursorPos(): Use an early return
Addendum to 76290a6 (0.4.15-dev-7889).
2024-04-20 13:57:35 -06:00
Serge Gautherie
8b9bf3369c [DOC] 3rd Party Files.txt: Update 3 unknown versions (#6771) 2024-04-20 21:29:26 +02:00
Katayama Hirofumi MZ
0240a87618 [SHELL32] SHChangeNotify: SHCNF_DWORD and SHCNF_PRINTERA/W (#6777)
Implementing missing features...
JIRA issue: CORE-13950
- Add Shell_ParsePrinterName helper function.
- Implement SHCNF_DWORD, SHCNF_PRINTERA,
  and SHCNF_PRINTERW types of SHChangeNotify
  function.
2024-04-20 23:11:31 +09:00
Serge Gautherie
68a8619b7b [SHELL32] Remove 2 redundant initializations
Addendum to 6146fd0 (r54688) and 99b2e3d (r54979).
2024-04-20 01:50:14 +04:00
Whindmar Saksit
62c30d1f93 [SHELL32] SHCreateDefaultContextMenu: Pass HWND to callback (#6764)
The caller's callback function is supposed to receive the window handle
passed to SHCreateDefaultContextMenu / CDefFolderMenu_Create2.
2024-04-20 00:34:45 +03:00
Whindmar Saksit
dacdd80390 [ZIPFLDR] Fix ShellExecute opening a .zip (#6714)
ShellExecute on a .zip file fails because the command in the registry
uses rundll32 that passes in an ANSI string, which is the default for
exported functions without a W suffix.

- This should also fix RAPPS not being able to open downloaded .zip files
- I made it use the full path to Explorer for good measure

Fixes regression introduced by 0.4.15-dev-6343-g bf2cec186c (#5411)

CORE-19506
2024-04-20 00:12:56 +03:00
Hermès Bélusca-Maïto
5f3554a40c [FREELDR] Merge boot-drive and partition functionalities together (#6760)
And deprecate corresponding boot types "Drive" and "Partition".
These are replaced by the more general "BootSector" boot type.

Finish the unification of the code, started in commit ff85aa0c3,
that loads and boots disk MBR, partition VBR or boot sector in file.

A "WarnDeprecated()" helper is added to warn the user about the
deprecated features, and to inform them to adjust their FREELDR.INI
file in accordance.

In addition, bump FreeLoader version to 3.2 (at last!): a lot of
features have been added or deprecated since its last release.
2024-04-19 21:45:41 +02:00
Oleg Dubinskiy
5949c20d97 [MMIXER] Fix additional data size initialization for different audio formats (#6753)
Calculate size of the additinal data based on the format tag specified by the caller.
For PCM wave format, it should be zero, and for all others,
it should be taken from cbSize member of WAVEFORMATEX structure.
- Initialize data size for each format appropriately.
- Append it to the total pin connect allocation size, to allocate enough memory for it.
- Use it as additional data size for requested wave format.
- Append it to the total size of data format.
- Add SAL2 annotations for MMixerInitializeDataFormat function.
Fixes two crashes in winmm:capture and winmm:wave winetests, which have been introduced by 12b3272d9e.
So this is an addendum to that commit.
CORE-19514
2024-04-18 23:19:35 +02:00
Justin Miller
ad9c634efa [SDK] Don't just infinitely spam the DbgPrint in the bootloader (#6763) 2024-04-18 12:08:00 -07:00
Mark Harmstone
dd6c1c8843 [FREELDR] Allow Freeloader to boot Vista revamp of PR #1905 (#6479)
[FREELDR] Add "WindowsVista" boot type
[FREELDR] Set GDT correctly for Vista
[FREELDR] Map first page of memory, this is an observed behavior, and
also increases stability boot Checked windows 2003 SP2 ntoskrnl with
freeloader.
[SDK] Don't assert on big keys in bootloader

Co-authored-by: Justin Miller <justin.miller@reactos.org>
2024-04-18 09:28:54 -07:00
Stanislav Motylkov
6d853be981 [ZIPFLDR] Make function prototype consistent
It is the only function in that file that used this format, all the others are one line.

Spotted by Whindmar Saksit.
2024-04-18 18:22:17 +03:00
Stanislav Motylkov
359c9c7b42 [SHELL32] Update Russian (ru-RU) translation
Addendum to 9238a1762f.
2024-04-18 18:18:16 +03:00
Carlo Bramini
605fa32d45 [CALC] Fix input bug when display is in error. (#5988)
CORE-19191

Reproduce the same behaviour of the calculator for Windows XP when an error condition is met.
When the result is NaN and it cannot be printed, the error condition is cleared by pressing the CLEAR button.
2024-04-18 11:39:46 +02:00
Justin Miller
2a2556c5d0 [WIN32SS] Introduce the NATIVE_REACTX define and disable some Dx calls (#6025)
The code itself isn't wrong but we're entirely missing the logic needed
to make it work. This leads to spontaneous crashes with video drivers and
various unity games.
2024-04-17 21:47:49 -07:00
Justin Miller
9452b29c7f [VFDLIB] GitHub actions workaround - Disable PDB generation for vfd.dll (#6762)
After a back and fourth investigation I've just decided to disable pdb generation for this ROSAPP for now.
We tried taking the code apart a bit and only building parts but alas it didnt yield any sucess.

disabling the AV also didn't help.
2024-04-17 20:24:33 -07:00
Joachim Henze
21a9f78b2d [COMCTL32] Pt.rc: Place accelerator FIXMEs 2024-04-18 01:53:20 +02:00
Katayama Hirofumi MZ
d383b20b01 [REGEDIT] Correctly limit splitter's X coordinates (#6758)
JIRA issue: CORE-19516
- Add ClampSplitBarX helper function to delete
  duplicated code.
- Use a signed value in WM_LBUTTONUP handling.
- Use ClampSplitBarX in ResizeWnd function,
  WM_LBUTTONDOWN, WM_MOUSEMOVE, and
  WM_LBUTTONUP handling.
2024-04-18 06:09:58 +09:00
Hermès Bélusca-Maïto
7b4f42470f [FREELDR] Reformat the boot editor strings in the code. 2024-04-17 22:25:14 +02:00
Hermès Bélusca-Maïto
e5517176b8 [FREELDR] linuxboot: It doesn't need the BIOS boot drive number and partition.
Also document a little bit the RootDevice field in the boot sector;
add SAL2 annotations.
2024-04-17 22:25:13 +02:00
Hermès Bélusca-Maïto
c25a0e1919 [FREELDR:UI] Minor miscellaneous fixes.
- UiMessageBox(): Enlarge the default buffer used to printf msgbox strings.

- TuiUpdateDateTime(): When displaying the time, don't pad too much
  with spaces on the left.

- TuiDrawShadow():
  * Pre-calculate whether we need to show the right/bottom shadows,
    and whether the right-shadow has a double width.
  * Cap the right and bottom upper-bound coordinates before looping,
    in order to avoid buffer overflows if the given coordinates go
    beyond the screen.

- TuiDrawMsgBoxCommon(): Improve how the message box centering
  calculations are done:
  * When the "full-UI" is used (and center-menu is used), try to
    center the message box in the space between the header and
    the status bar.
  * Ensure the top-left box corner is inside the screen, in case
    the calculated message box borders go off-screen.

- TuiCalcMenuBoxSize():
  * Uniformize the way the menu box coordinates are calculated.
  * Reduce the space between menu box margins and the longest item.
  * Ensure the top-left menu corner is inside the screen, in case
    the calculated menu box borders go off-screen.
2024-04-17 22:19:43 +02:00
Hermès Bélusca-Maïto
c044201472 [FREELDR] Skip NULL-pointer entries in Argv when enumerating arguments.
A NULL pointer (not necessarily the terminating one) is a valid entry
in the Argv argument vector, according to the ARC specification
(Section 4.4 "Loaded-Program Conventions").
Thus, such pointer needs to be ignored when searching over the
argument vector.
2024-04-17 21:57:12 +02:00
Hermès Bélusca-Maïto
93245d385d [FREELDR] arcsupp.c: Relicense my code to MIT and use SAL2 annotations. 2024-04-17 21:57:11 +02:00
Hermès Bélusca-Maïto
5b2dcdd03d [FREELDR] BuildArgvForOsLoader: Add a terminating NULL pointer to the Argv vector.
Addendum to commits d05be0da3 and bd451f240.

This is required for POSIX compliance, which the ARC specification obeys.

See Section 2.1.2.2.1 (ANSI X3.159-1989) or 5.1.2.2.1 (ISO/IEC 9899:x)
"Program startup":
```
If they are declared, the parameters to the main function shall obey
the following constraints:
— The value of argc shall be nonnegative.
— argv[argc] shall be a null pointer.
[...]
```

See also https://pubs.opengroup.org/onlinepubs/9699919799/functions/exec.html
2024-04-17 21:57:09 +02:00
Joachim Henze
6cb18bc6a4 [COMDLG32] *.rc: Tweak spaces in IDS_INVALID_FILENAME (#6736)
This saves a few bytes in the binary, e.g.
comdlg32.dll master 0.4.15-dev-7887-g64a59a1 RosBEWin2.2.2 GCC8.4.0 dbg x86 shrinks
from 1.011.712 bytes to 1.009.664 bytes.

Furthermore it syncs the translations at this line, because pt-PT.rc already applied such a tweak.

Co-authored-by: Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
2024-04-17 16:53:09 +02:00
Timo Kreuzer
95bf896b10 [CRT] crtdefs.h: Wrap localeinfo_struct in ifdef
This prevents a redefinition error, when GCC 13 host headers are included when compiling c++ code.
2024-04-16 20:10:38 +02:00
Katayama Hirofumi MZ
1b85a5fa06 [BROWSEUI] SHExplorerParseCmdLine: Fix parsing of /root (#6752)
Remove excessive (!pInfo->pidlPath) check in SHExplorerParseCmdLine
function.
JIRA issue: CORE-16939
2024-04-15 09:41:01 +09:00
Carl J. Bialorucki
ea34ecc9ec Check if dwBandID is NULL before getting band object (#6738)
fixes CORE-18807 'Our explorer.exe ATL-asserts when executed on XPSP3'
which most likely got unhidden when we enabled the ATL-assertions in
0.4.15-dev-5023-g 55343f04b0
2024-04-15 01:08:01 +02:00
Katayama Hirofumi MZ
b1de3bfb2b [SHELL32] Fix ParseDisplayName Part 4 (#6747)
Follow-up to #6746. Reduce SHParseDisplayName
failures.
JIRA issue: CORE-19495
- Re-implement CDrivesFolder::ParseDisplayName
  method.
2024-04-15 03:25:20 +09:00
Katayama Hirofumi MZ
63e5885b37 [SHELL32] Fix ParseDisplayName Part 3 (#6746)
Follow-up to #6740. Reduce SHParseDisplayName
failures.
JIRA issue: CORE-19495
- Add CRegFolder::_IsInNameSpace helper method.
- Half-implement CRegFolder::ParseDisplayName
  method.
- Parse class string by using GUIDFromStringW
  function.
- Return CO_E_CLASSSTRING for invalid CLSID
  string.
2024-04-15 03:24:09 +09:00
Timo Kreuzer
8feb078692 [NTOS:KE/x64] Use movaps instead of movdqa
It does the same thing, but is one byte shorter.
2024-04-14 16:09:20 +02:00
Timo Kreuzer
8d459f2820 [NTOS:KE/x64] Clean up EnterTrap/ExitTrap
- Always save and restore all non-volatile registers, including xmm
- Remove the obsolete flags
2024-04-14 16:09:20 +02:00
Timo Kreuzer
05456808e8 [NTOS:KE/x64] Fix handling of non-volatiles in trap vs exception frame
The registers that are saved/restored in the trap / exception frame need to be consistent between all entry/exit points as well as the functions that convert between trap/exception frame and context. The trap frame contains only the non-volatile registers and rbp, the rest is saved in the exception frame.
The previous code didn't save rbp in the syscall handler, which led to it being clobbered when exiting though KiServiceExit2 rather than returning back to the syscall exit path. Also KeContextToTrapFrame would use rbx, rsi and rdi from the trap frame, which wouldn't be saved there by the syscall handler.
2024-04-14 16:09:20 +02:00
Timo Kreuzer
83e741c643 [RTL/x64] Implement RtlRaiseException in asm
This fixes invalid contexts being passed to RtlDispatchException. Also update the ExceptionAddress field in the EXCEPTION_FRAME, to match the Rip value in the CONTEXT, which is required for proper unwinding.
2024-04-14 14:12:35 +02:00
Joachim Henze
ba170757d6 [REGEDIT] Anonymize CONTROL "List1" (#6735)
This saves a few bytes in the binary, e.g.
regedit.exe master 0.4.15-dev-7887-g64a59a1 RosBEWin2.2.2 GCC8.4.0 dbg x86 shrinks
from 1.049.600 bytes to 1.049.080 bytes.

Furthermore it syncs the translations at this line, because es-ES.rc even translated that identifier to "Lista1" already.
2024-04-14 11:10:01 +02:00
Carl J. Bialorucki
78dc504e72 [SHELL32] Initialize MenuItemInfoW struct in AddStaticContextMenusToMenu (#6737)
This prevents an issue where clicking on most of the icons on the desktop
that isn't the file explorer causes explorer to throw an exception,
and also prevents another issue where most applications won't launch from the start menu;
at least on MSVC builds running on VirtualBox 5.2.44.

^- I am pretty sure, that this was not always the case. The guilty rev is yet unknown though.
2024-04-14 00:12:35 +02:00
Serge Gautherie
b8abfa76ca [DOC] 3rd Party Files.txt: Complete 'win-iconv' (#6691)
Upstream (code) reads:
`win_iconv is placed in the public domain.`
2024-04-13 21:23:15 +02:00
Timo Kreuzer
fc6e23d6b8 [NDK/x64] Remove #pragma pack(push,4) around KPRCB/KPCR 2024-04-13 17:59:04 +02:00
Timo Kreuzer
bb444b93d9 [RTL/x64] Handle STATUS_UNWIND_CONSOLIDATE in RtlRestoreContext
It's not entirely correct yet and will probably fail on recursive c++ exceptions, but it fixes basic c++ exception handling.
2024-04-13 14:34:23 +02:00
Katayama Hirofumi MZ
ff282894a8 [SHELL32] Refactor and simplify CDesktopFolder (#6741)
Follow-up to #6721. This PR can reduce 1KB of
binary size.
JIRA issue: CORE-19495
- Delete CStubFolderBase and derived classes.
- Add
  CDesktopFolder::_ParseDisplayNameByParent
  method.
- Don't use excessive IShellFolder objects in
  parsing display names.
- Simplify and reduce code.
2024-04-13 21:08:39 +09:00
Katayama Hirofumi MZ
7fdec96009 [SHELL32] Fix ParseDisplayName Part 2 (#6740)
Follow-up to #6721. Reduce
SHParseDisplayName failures.
JIRA issue: CORE-19495
- Re-implement CFSFolder::ParseDisplayName
  method to validate the names.
- Add CFSFolder::_ParseSimple,
  CFSFolder::_GetFindDataFromName, and
  CFSFolder::_CreateIDListFromName helper
  methods.
- Add PathIsDotOrDotDotW, PathIsValidElement,
  PathIsDosDevice, and SHILAppend helper
  functions.
- Delete GetNextElementW and add
  Shell_NextElement function.
2024-04-13 21:07:12 +09:00
Ratin Gao
f61e14f554 [NTDLL][ADVAPI32][ADVAPI32_APITEST][CRYPTLIB] Add hash API exports for NT6+ and apitests with small fixes
- For NT6.0+, NTDLL exports those hash APIs that ADVAPI32 thunks forward to
- Fix undocumented context structure layout and content
- Add apitests to verify both of hash result and structure content
2024-04-13 12:41:36 +02:00
Timo Kreuzer
14beaec1d9 [SHELLBTRFS] Prevent redeclaration of __cpuidex with newer mingw-w64 headers 2024-04-13 10:01:46 +02:00
Doug Lyons
76290a6696 [NTUSER] Avoid sending superfluous WM_MOUSEMOVE messages (#6397)
Add a check so that mouse move messages are not generated unless
the mouse cursor X or Y position is changed.

This fixes extra mouse moves generated when clicking.
Patch by I_Kill_Bugs.

CORE-8394 CORE-18529 CORE-19422 CORE-19423
2024-04-12 23:58:52 +03:00
Katayama Hirofumi MZ
31ce37da2a [SHELL32][SHELL32_APITEST][SDK] Implement GUIDFromStringA (#6734)
Implementing missing features...
JIRA issue: CORE-19278
- Add GUIDFromString testcase.
- Implement GUIDFromStringA function.
- Add NULL check to GUIDFromStringW.
- Add GUIDFromStringA prototype to "undocshell.h".
2024-04-12 21:29:07 +09:00
Joachim Henze
64a59a17b5 [REGEDIT] RC: it-IT: Strip spaces, hu-HU,pt-PT,tr-TR: add FIXMEs
The it-IT.rc thingy I spotted when I wanted to port back the regedit-changes from
0.4.15-dev-6592-g 995d255962
The line definitely got improved by that commit, but it was still inferior.

In the other 3 langs it is just some stuff where master head is inferior to older branches,
I spotted them while porting back other things.
So I placed the FIXMEs to protect myself from porting it back accidentally,
and to help the native speakers with seeing them on master head.

The tr-TR.rc: "D&izi Değeri" -> "D&ize Değeri" was done for consistency, because we do have
that item 3 times, and 2 of them were using "D&ize Değeri" already.
2024-04-12 06:31:24 +02:00
Joachim Henze
938a39aee9 [COMDLG32] cdlg_Sq.rc: Strip 2 includes (#6730)
They do look weird/wrong and no other rcs do have them.
Builds fine on all bots.
I do have no clue, why they were added here historically.
2024-04-11 19:54:11 +02:00
Oleg Dubinskiy
12b3272d9e [AUDIO] Implement support for WAVE_FORMAT_EXTENSIBLE audio format (#6686)
[MMIXER] Implement hadling WAVE_FORMAT_EXTENSIBLE audio format
Fix opening audio device error when trying to open it with WAVE_FORMAT_EXTENSIBLE format tag set in wFormatTag member of WAVEFORMATEX:
- Pass additional data size from WAVEFORMATEX.cbSize to pin data format.
- Append it to the whole size of pin data format (KSDATAFORMAT.FormatSize).
- Set additional fields in WAVEFORMATEXTENSIBLE structure (data format, BPS and channel mask) when WAVE_FORMAT_EXTENSIBLE is used. They are used by our inbuilt Intel AC97 miniport driver at least. It simply fails when these members are not set.
- Fix pin connect allocation size by appending an additional data size from WAVEFORMATEX.cbSize to KSPIN_CONNECT + KSDATAFORMAT + WAVEFORMATEX. This allows to proerly initialize additional extensible data and avoids kernel memory leakage when using extensible audio format.
- Remove format tag check which allowed WAVE_FORMAT_PCM to be opened correctly. So now all possible audio formats can be opened properly at least (although it does not mean they may work correctly).
This fixes the audio playback for all apps those are supporting extensible audio data and use it by default (e. g. AIMP 5.30, QMMP 0.12.17, all Chrome/Chromium-based browsers, GameDev Tycoon Demo game etc.).
CORE-10907, CORE-14783

* [KS] Allow passing additional extensible audio data when extensible audio format is used
- Append additional data size from WAVEFORMATEX.cbSize to pin connect size passed to KsCreatePin. If the tag is WAVE_FORMAT_PCM, then this member should always be zero. So in that case, no any additional data is passed to creation request, and the passed data size is correct for PCM too (KSDATAFORMAT + WAVEFORMATEX).
This fixes audio playback in several apps those are supporting extensibble audio and use it by default (e. g. AIMP 5.30, QMMP 0.12.17, all Chrome/Chromium based browsers, GameDev Tycoon Demo game etc.).
CORE-10907, CORE-14783.

* [WDMAUD.DRV] Pass the correct additional data size to I/O control request
Store a correct size of additional data in WAVEFORMATEX.cbSize when performing open of audio device, when WAVE_FORMAT_EXTENSIBLE audio format is used.
It allows to properly open audio device with Legacy APIs enabled too.
This fixes audio playback in several apps those are using extensible audio data (e. g. AIMP 5.30, QMMP 0.12.17, all Chrome/Chromium based browsers, GameDevTycoon Demo game etc.).
CORE-10907, CORE-14783
2024-04-11 11:59:14 +02:00
Joachim Henze
d72d61fe47 [COMDLG32] *.rc Improve translations (#6729)
First an foremost this fixes "the copies-icon in the print-dlg not showing" for Taiwan as well.
That part is an addendum to 0.4.15-dev-3493-g a36cc8054d (#2831)
Taiwan is untypically placed in cdlg_Zh.rc as well for comdlg, next to the traditional chinese version and therefore was forgotten.

Furthermore improve many translations a little bit, where strings could be stolen from neighbor controls. This part focuses mostly on the NEWFILEOPENV2ORD.

Then add many FIXMEs for existing accelerator collisions, many of them were introduced by adding the "Help"-button retrospectively, when other translations existed already. Let the native speakers handle them later.

Strip accelerators from some "Cancel" buttons, e.g. in cdlg_Pt.rc, and the "Save as" button, e.g. within cdlg_Es.rc as those should not exist, which most languages did properly respect already.

Also fix a few text truncations and a few accelerators, e.g. for de-DE: stc3 was cutoff, and "Öffnen" had the wrong accelerator.
2024-04-11 00:56:04 +02:00
Whindmar Saksit
7a810c17e7 [SHELL32] Implement several ShellDispatch methods (#6145)
* Implement most of the methods

* Some suggested changes and better error handling (that I then mask like Windows)
2024-04-10 14:29:26 -07:00
Timo Kreuzer
c69371cced [NTOS:KE/x64] Improve KeGetTrapFrame 2024-04-10 23:27:53 +02:00
Timo Kreuzer
bedc16d46d [DEVMGR] Add DYNAMIC_FIELD_OFFSET macro
This replaces the usage of FIELD_OFFSET for dynamic indexing into array fields.
Sadly GCC has broken __builtin_offsetof and they don't seem to intend to fix it.
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95942
2024-04-10 23:27:11 +02:00
Timo Kreuzer
f5e54015ee [KS] Fix a bug found by GCC 13 2024-04-10 21:47:38 +02:00
Timo Kreuzer
109b84826e [UDFS] Remove packing around include of ntifs.h
This is not just wrong, it is criminal.
2024-04-10 21:46:34 +02:00
Katayama Hirofumi MZ
d05dcf6a02 [SHELL32][SDK] Fix ParseDisplayName Part 1 (#6721)
JIRA issue: CORE-19495
- Implement SHParseDisplayName and
  CDesktopFolder::ParseDisplayName.
- Add CStubFolderBase, CShellUrlStub, CFileUrlStub,
  CIDListUrlStub, and CHttpUrlStub helper classes.
- Add SHGetSpecialFolderID and
  Shell_ParseSpecialFolder helper functions.
- Add BindCtx_ContainsObject,
  BindCtx_GetUIWindow, 
  BindCtx_RegisterObjectParam, SHBindToObject,
  SHBindToObjectEx, SHCoInitializeAnyApartment,
  SHGetAttributes, SHGetNameAndFlagsW,
  SHIsFileSysBindCtx, SHSkipJunctionBinding,
  Shell_DisplayNameOf, and Shell_FailForceReturn
  helper functions.
- Modify CSIDL data.
2024-04-10 09:32:13 +09:00
Andrei Miloiu
e85ef799fe [SHELL32] Update Romanian (ro-RO) translation (#6657)
Co-authored-by: Joachim Henze <joachim.henze@reactos.org>
2024-04-09 12:41:54 +02:00
Maj Soklič
2d79b751a4 [NOTEPAD] Fix english STRING_PRINTFAILED translation (#6722) 2024-04-09 11:46:52 +02:00
Katayama Hirofumi MZ
ff531eaade [SHLWAPI][SHLWAPI_APITEST] Fix NULL behavior of StrDupA/W (#6720)
Fix wrong behavior of shlwapi!StrDupA and shlwapi!StrDupW functions.
JIRA issue: CORE-19495
Return NULL when lpszStr == NULL.
2024-04-08 09:17:08 +09:00
Andrei Miloiu
0cfc9aba05 [STOBJECT] Update Romanian (ro-RO) translation (#6695) 2024-04-07 20:40:38 +02:00
Andrei Miloiu
608ed5619f [SHLWAPI] Update Romanian (ro-RO) translation (#6702) 2024-04-07 20:36:23 +02:00
Andrei Miloiu
3e4d8e6f6c [UMANDLG] Update Romanian (ro-RO) translation (#6699) 2024-04-07 20:34:38 +02:00
Katayama Hirofumi MZ
5eea72f61b [SHELL32] Use Uppercase in SHELL32_GUIDToStringA/W (#6719)
Improve consistency.
JIRA issue: CORE-19495
Reduced 4 failures in shell32:SHParseDisplayName.
2024-04-07 20:34:50 +09:00
Timo Kreuzer
713a360c74 [NTOS:KE/x64] Remove pointless loop in KiInitiateUserApc
Only one user APC can be delivered here. The next one can only be delivered, when KiUserApcDispatcher returns to the previous context with NtContinue.
2024-04-07 09:14:26 +02:00
Timo Kreuzer
7589238b68 [NTOS:KE/x64] Fix user APC delivery on syscall exit
We need to save the missing registers in the trap frame before calling KiInitiateUserApc, because they will be used to create the CONTEXT that is saved on the user mode stack, where KiUserApcDispatcher returns back to using NtContinue. This fixes remaining failures in kernel32_apitest QueueUserAPC.
2024-04-07 09:14:26 +02:00
Timo Kreuzer
c4498d751d [KERNEL32_APITEST] Add test for multiple queued user APCs 2024-04-07 09:14:26 +02:00
Timo Kreuzer
85fc290bb7 [KERNEL32_APITEST] Use InterlockedIncrement for proper synchronization 2024-04-07 09:14:26 +02:00
Timo Kreuzer
43b181309e [NTOS:KE] Fix calculation of timer expiration
Both due-times and interrupt time are unsigned, but were treated as signed in KiInsertTimerTable, which led to very long (e.g. INFINITE) waits being interpreted as having a negative due-time and being completed instantly.
Mostly fixes kernel32_apitest QueueUserAPC
2024-04-07 09:14:26 +02:00
Timo Kreuzer
34576c7015 [NTOS:KE/x64] Implement KiUserCallbackExit
This is used in KiUserModeCallout instead of KiServiceExit2. The latter is broken, leaks non-volatile registers and will need to be modified to handle an exception frame, which we don't need/have here. It will also use sysret instead of iret and is generally simpler/faster.
Eventually it would be desirable to skip the entire trap frame setup and do everything in KiCallUserMode. This requires some cleanup and special handling for user APC delivery.
2024-04-07 09:13:58 +02:00
Whindmar Saksit
9238a1762f [SHELL32] Copy as path shell extension (#6701)
* Added Copy as path menu extension

---------

Co-authored-by: Thamatip Chitpong <weedgamer131@gmail.com>
2024-04-06 14:01:32 -07:00
Oleg Dubinskiy
91be8bf0a1 [MSVCRT20][MSVCRT40] Fix heap initialization (#6713) CORE-19505
Fixes CORE-19505 'game "Hover!" from rapps does not start anymore'
It failed showing a msgbox
"There was an error allocating memory in Hover!"

the regression was introduced by
0.4.15-dev-5602-g c47506a5f4

Add missing heap initialization in DllMain entrypoints of msvcrt20.dll and msvcrt40.dll,
similarly to as it is done in msvcrt.dll (CRT).
The msvcrt.dll (CRT) initialization code was updated properly
during the last winesync, accordingly to the new changes,
but msvcrt20.dll/msvcrt40.dll one was not. So update it too.
This fixes the crash of HOVER 1.0 game from Rapps when
it tries to allocate a dynamical memory from the
unitialized heap via malloc() function exported from our msvcrt20.dll.
2024-04-06 17:46:11 +02:00
Timo Kreuzer
ea28951607 [UMKM_APITEST] Add a test for syscall handling
This is intentionally not part of ntdll_apitest, because that links to advapi32, which links to rpcrt4, which (wrongly!) links to ws2_32, which (wrongly!) links to user32, which breaks the test.
2024-04-06 08:14:52 +02:00
Doug Lyons
a771729e69 [COMCTL32] Fix Status Bar Updating (#6696)
This fixes CORE-19497 'Regression, part of the statusbar with the sizegrip is not redrawn properly'

The regression was introduced / unhidden by 0.4.15-dev-5617-g 7866eb2886

Author of the patch: JIRA-user: I_Kill_Bugs
turned into PR by @Doug-Lyons
Thank you both!

KVM: https://reactos.org/testman/compare.php?ids=94433,94435
VBox: Builder Broken atm unfortunately
2024-04-05 23:30:09 +02:00
Timo Kreuzer
b6987d1463 [RTL/x64] Remove an ASSERT in RtlpTryToUnwindEpilog
This can fail on optimized builds, where functions can end after a noreturn function call without an epilog / ret, but with an int 3. We simply fail gracefully, which is the right thing to do.
2024-04-05 18:18:45 +02:00
Whindmar Saksit
8841e3d7ba [SHELL32] Handle the Progman Folder options message and tab switching support (#5574)
* Handle the "OnShowOptionsDlg" message
* Support switching tabs
* Update dll/win32/shell32/dialogs/folder_options.cpp
* Update dll/win32/shell32/shelldesktop/CDesktopBrowser.cpp
* ShowFolderOptionsDialog workaround
* Added Vista pages, define for magic message

---------

Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
Co-authored-by: Thamatip Chitpong <weedgamer131@gmail.com>
2024-04-04 18:53:57 -07:00
Timo Kreuzer
5b82ada2ed [NTOS:Ke/x64] Improve KiDispatchExceptionToUser
Return back to the caller instead of exiting through KiServiceExit2, which is broken and needs to be changed to allow restoring of an exception frame.
2024-04-04 18:41:39 +02:00
Timo Kreuzer
24b4026ce8 [NTOS:KE/x64][SDK] Add HANDLE_USER_APCS asm macro
This also fixes delivering APCs from the system call handler, which previously would have clobbered rax. Also don't use the thread's TrapFrame member, which is not always set, when returning.
2024-04-01 20:15:49 +02:00
Timo Kreuzer
88e24bc463 [NTOS:KE/x64][SDK] Add some trap handling support asm macros 2024-04-01 20:15:49 +02:00
Thamatip Chitpong
5329e475db [NTOS:MM] MiDeleteVirtualAddresses: Update PrototypePte before exiting loop, when deleting PDE
Fix BSoD 0x1A introduced by commit c7e09061ca
CORE-18190
CORE-18818
CORE-19253
2024-04-02 00:14:57 +07:00
Thamatip Chitpong
588449c364 [NTOS:MM] Revert commit 0c612980ac
This revert commit 0c612980ac
2024-04-02 00:14:57 +07:00
Serge Gautherie
6dcf70f398 [DOC] 3rd Party Files.txt: Update/Complete 'CardLib' (#6688)
As mentioned in e.g. base/applications/games/solitaire/ReadMe.txt ,
CardLib is indeed freeware, in public domain.
2024-04-01 18:29:29 +02:00
Dmitry Borisov
5070e8960a [ACPI] Fix object evaluation (#6302)
CORE-17256

- Implement support for complex input buffers.
  This will enable the IDE driver with some hack
  to execute the _STM (channel timing settings) control method.
- Fix a memory leak.
- Fix returned status code.
- Correctly calculate the output buffer size.
- Improve buffer validation.
- Implement support for async control requests.
- Implement local reference conversion.
- Implement support for subpackage argument conversion.
- Place some code into INIT section.
2024-04-01 18:21:35 +02:00
Timo Kreuzer
1538712c0b [NTOS:KE/x64] Move setting the thread's trap frame to KiSystemCallEntry64
This is needed, because KiSystemCallHandler can be called multiple times for the same syscall entry, which would mess up the linkage. This replaces a previous hack and makes things cleaner.
2024-03-31 12:12:48 +02:00
Gleb Surikov
fc6bf61e4c [NTOS:CM] Avoid unnecessary ObDereferenceObject when handling an ObInsertObject failure (#6673)
In case of failure, ObInsertObject itself dereferences the object, so calling ObDereferenceObject one more time in the failure handler is redundant.

- Remove ObDereferenceObject call from CmpCreateRegistryRoot in case ObInsertObject fails.
- Add missing RootKey dereference if CmpCreateRegistryRoot failed to get the key cell (KeyCell).

CORE-17904
2024-03-30 22:10:17 +03:00
Ratin Gao
1cf8759d69 [KERNEL32][KERNEL32_VISTA][KERNEL32_APITEST] Implement and export NT6+ firmware API (#6580)
- Implement `GetFirmwareType` and improve existing API test for it
- Move (Get/Set)FirmwareEnvironmentVariableEx(A/W) to kernel32_vista_static and export them when NT version >= 6.2

Addendum to 4c8a2a8815. CORE-11954
2024-03-30 15:46:34 +03:00
Serge Gautherie
a68406bccf [DOC] 3rd Party Files.txt: Add 'AMD LibM for Windows' (#5945)
Addendum to 4afb647 (0.4.15-dev-5466).
2024-03-30 03:57:24 +01:00
Timo Kreuzer
43fc73207d [FREELDR/x64] Set up CR0/CR4 for SSE instructions
Newer GCC starts emitting SSE/SSE2 instructions, which would cause a triple fault, during early boot, if not enabled.
2024-03-29 19:39:01 +01:00
Thamatip Chitpong
8ba6c66890 [MSCONFIG] Update title for en-US and th-TH 2024-03-29 09:35:44 +07:00
Katayama Hirofumi MZ
84f15b15fb [SHELL32][SHELL32_APITEST] FindExecutable: Add PRF_FIRSTDIRDEF flag (#6681)
Follow-up to #6635. The directory search without this flag didn't work.
JIRA issue: CORE-19493
- Add PRF_FIRSTDIRDEF flag for PathResolveW call.
- Delete needless macro definitions in PathQualifyExW.
- Remove an assertion in IsLFNDriveW.
- Fix shell32_apitest:FindExecutable testcase.
2024-03-29 11:15:38 +09:00
Timo Kreuzer
5442f87080 [NTOS:KE/x64] Improve KiSystemCallHandler code a bit
- Use an index for the table instead of ugly pointer offset
- Invert the check for GUI calls
- Fail with proper status code on invalid win32k syscall ids
2024-03-28 22:26:42 +01:00
Timo Kreuzer
2ed8541dc8 [NTOS:KE/x64] Remove duplicated REX prefix from sysretq 2024-03-28 21:37:25 +01:00
Joachim Henze
558ab78fc5 [SHELL32] *.rc: Strip all unneeded WS_DISABLED in dlg style (#6675)
This is not intended to fix any specific bug. It is just meant for cleanup.
No noticable change in behavior at runtime.
Some rcs had 7 of those, some only 6. So this will also slightly improve sync between the rcs.
2024-03-27 23:37:41 +01:00
Doug Lyons
0c612980ac [NTOS:MM] Fix ntoskrnl/mm/ARM3/virtual.c causing BSOD 0x1a introduced by commit https://github.com/reactos/reactos/commit/c7e09061ca (#6633) 2024-03-27 23:50:45 +02:00
Adam Słaboń
fec827eeef [FREELDR][NTOS:MM] Add security cookie generation to FreeLoader (#6270)
* [NTOS:MM] Misc improvements for cookie generation code

- Improve support for 64 bit images
- Improve LdrpFetchAddressOfSecurityCookie code

* [FREELDR] Add security cookie generation to FreeLoader

CORE-17808
2024-03-27 23:33:06 +02:00
Timo Kreuzer
36fa628605 [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.
2024-03-27 22:11:07 +01:00
Joachim Henze
e3bfcdf9e2 [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>
2024-03-27 21:08:17 +01:00
Gleb Surikov
a9d9f0de86 [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
2024-03-27 21:04:18 +03:00
Katayama Hirofumi MZ
72a27e6d45 [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.
2024-03-27 17:36:48 +09:00
Katayama Hirofumi MZ
f9a5585870 [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.
2024-03-27 17:04:49 +09:00
Joachim Henze
00c4b3d99f [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.
2024-03-26 23:39:46 +01:00
Joachim Henze
ee0329e0e2 [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 a5bff2457a (#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 bf88116252 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
2024-03-26 17:07:33 +01:00
Maj Soklič
f92972efca [NOTEPAD] Update Slovenian (sl-SI) translation (#6599)
Reviewed-by: Rok Mandeljc <rok.mandeljc@gmail.com>
Reviewed-by: Jaka Kranjc <smgl@lynxlynx.info>
2024-03-25 20:02:15 +03:00
Katayama Hirofumi MZ
6ac153632f [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.
2024-03-25 07:35:15 +09:00
Whindmar Saksit
a83e40f6d1 [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.
2024-03-24 21:37:59 +01:00
Whindmar Saksit
f6cf6954eb [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.
2024-03-24 21:27:04 +01:00
George Bișoc
7dd8a30cf9 [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
2024-03-24 19:03:47 +01:00
George Bișoc
f1d2a44859 [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
2024-03-24 19:03:43 +01:00
Whindmar Saksit
2449ed5d85 [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.
2024-03-24 18:28:26 +01:00
Whindmar Saksit
373816c729 [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
2024-03-24 18:23:07 +01:00
Julen Urizar Compains
54df31ccac [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>
2024-03-24 12:30:56 +03:00
Timo Kreuzer
752c64d152 [USBOHCI] Fix broken indentation 2024-03-23 23:08:01 +01:00
Timo Kreuzer
5869af7821 [USBUHCI] Fix broken indentation 2024-03-23 23:08:01 +01:00
Whindmar Saksit
1408de02ce [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.
2024-03-23 22:24:04 +01:00
Andrei Miloiu
f9c93888b7 [CALC] Update Romanian (ro-RO) translation (#6601) 2024-03-23 22:22:50 +01:00
Andrei Miloiu
8d36ad1de6 [SOLITAIRE] Update Romanian (ro-RO) translation (#6600) 2024-03-23 22:21:32 +01:00
Andrei Miloiu
8eb80987e4 [TIMEDATE] Update Romanian (ro-RO) translation (#6613) 2024-03-23 22:20:24 +01:00
Andrei Miloiu
50a15424c8 [SNDVOL32] Update Romanian (ro-RO) translation (#6612) 2024-03-23 22:18:51 +01:00
Andrei Miloiu
269907e44c [HOTPLUG] Add Romanian (ro-RO) translation (#6644) 2024-03-23 22:17:20 +01:00
Andrei Miloiu
54c816d1f3 [MSCONFIG] Update Romanian (ro-RO) translation (#6533) 2024-03-23 22:16:14 +01:00
Andrei Miloiu
d0ce13a0e1 [APPWIZ] Improve Romanian (ro-RO) translation (#6532) 2024-03-23 22:12:30 +01:00
Andrei Miloiu
9b1d21dfa0 [CLIPBRD] Update Romanian (ro-RO) translation (#6535) 2024-03-23 21:18:20 +01:00
Andrei Miloiu
5e31354ff6 [DEVMGR] Update Romanian (ro-RO) translation (#6529) 2024-03-23 21:17:24 +01:00
Andrei Miloiu
ef4a2497d7 [NOTEPAD] Update Romanian (ro-RO) translation (#6528) 2024-03-23 21:16:07 +01:00
Andrei Miloiu
d1207f6f47 [WININET] Update Romanian (ro-RO) translation (#6527) 2024-03-23 21:14:12 +01:00
Andrei Miloiu
f9d2f84d4b [EVENTVWR] Update Romanian (ro-RO) translation (#6518) 2024-03-23 21:12:52 +01:00
Andrei Miloiu
0c2cc368e2 [MSPAINT] Update Romanian (ro-RO) translation (#6511) 2024-03-23 21:12:23 +01:00
Andrei Miloiu
202114f3ae [DISKPART][MC] Update Romanian (ro-RO) translation for message table (#6509) 2024-03-23 21:09:42 +01:00
Andrei Miloiu
7d45bb2a21 [OPENGLCFG] Update Romanian (ro-RO) translation (#6507) 2024-03-23 21:07:32 +01:00
Andrei Miloiu
c9bab6be25 [NET][MC] Update Romanian (ro-RO) translation for message table (#6506) 2024-03-23 21:07:05 +01:00
Hermès Bélusca-Maïto
3b62a89d4d [BOOTVID] Don't NTAPI non-exported functions; remove useless @implemented (#6650) 2024-03-23 15:16:00 +01:00
Hermès Bélusca-Maïto
ff790a9111 [BOOTVID] Add file copyright information headers (#6650) 2024-03-23 15:15:41 +01:00
Serge Gautherie
a8c52fa165 [RSYM/x64] Sync UNW_FLAG_* values (#6653)
Follow-up to PR #6641 and commit d45876b81
2024-03-23 15:13:23 +01:00
Katayama Hirofumi MZ
17b0623cf8 [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.
2024-03-22 21:15:22 +09:00
Stanislav Motylkov
2ec785b1ee [SHELL32] Update Russian (ru-RU) translation
Addendum to ad748b0b3b. CORE-19494
2024-03-20 12:26:58 +03:00
Katayama Hirofumi MZ
de5c472033 [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.
2024-03-20 09:45:04 +09:00
Katayama Hirofumi MZ
3be8934107 [SHLWAPI_APITEST] Add AssocQueryString testcase (#6648)
JIRA issue: CORE-19493
- Add AssocQueryString testcase.
- Test AssocQueryStringA and AssocQueryStringW
  functions.
2024-03-20 07:37:37 +09:00
Katayama Hirofumi MZ
436cfa94c9 [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.
2024-03-20 07:36:14 +09:00
Katayama Hirofumi MZ
ad748b0b3b [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.
2024-03-20 07:32:52 +09:00
Timo Kreuzer
2f03b146da [CRT] intrin_x86.h: Use movsl instead of movsd to fix a GCC 13 warning 2024-03-19 07:44:40 +01:00
Timo Kreuzer
d45876b810 [DBGHELP] Remove useless broken CMake defines 2024-03-19 07:43:58 +01:00
Timo Kreuzer
2185848fc8 [HDAUDBUS] Silence debug spam
- Demote a DPRINT1 to a DPRINT
- Define NDEBUG
2024-03-19 07:43:39 +01:00
Timo Kreuzer
7fff216bed [NTOS:EX] Fix a loop bug 2024-03-19 07:43:20 +01:00
Timo Kreuzer
01c05f33dc [RTL/x64] Fix a GCC compiler warning 2024-03-19 07:42:35 +01:00
Katayama Hirofumi MZ
e27f06b889 [SHLWAPI] SHLWAPI_DEF_ASSOCF: Add ASSOCF_INIT_NOREMAPCLSID (#6636)
Step up to correct shell32!FindExecutable.
JIRA issue: CORE-19493
2024-03-19 09:44:10 +09:00
Katayama Hirofumi MZ
10d9e9de05 [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.
2024-03-19 08:58:07 +09:00
Katayama Hirofumi MZ
1ad90967d7 [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.
2024-03-18 07:36:17 +09:00
Katayama Hirofumi MZ
6af1813fda [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.
2024-03-18 07:32:47 +09:00
Katayama Hirofumi MZ
c5e6456377 [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.
2024-03-17 12:44:03 +09:00
Katayama Hirofumi MZ
1af0dbe36e [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>.
2024-03-17 11:55:19 +09:00
Katayama Hirofumi MZ
1fbf09f531 [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.
2024-03-17 08:15:08 +09:00
Katayama Hirofumi MZ
dc4992ce4a [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.
2024-03-16 19:37:26 +09:00
Katayama Hirofumi MZ
73d0d24d67 [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
2024-03-16 13:46:10 +09:00
Katayama Hirofumi MZ
fd9666630e [SDK][MC] errcodes.mc: Add Japanese (ja-JP) translation (#6624)
Localize the error messages.
JIRA issue: CORE-18706
Modify errcodes.mc for Japanese localization.
2024-03-16 00:11:53 +09:00
Katayama Hirofumi MZ
4854a1d7b6 [SHELL32_APITEST] ShellExecuteEx: Fix command line checker (#6618)
Follow-up to #6617.
JIRA issue: CORE-19482
Add traces for error checking.
2024-03-15 23:46:14 +09:00
Katayama Hirofumi MZ
cbad6cef24 [SHLWAPI] Implement SHSetDefaultDialogFont (#6620)
Implementing missing features...
JIRA issue: CORE-19278
- Implement SHSetDefaultDialogFont function.
- Add SHSetDefaultDialogFont prototype to
  <shlwapi_undoc.h>.
2024-03-15 21:25:53 +09:00
Oleg Dubinskiy
c6b8638815 [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
2024-03-14 20:58:12 +01:00
Katayama Hirofumi MZ
2f6b17593f [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
2024-03-13 20:04:39 +09:00
Katayama Hirofumi MZ
ab4c0d6afd [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.
2024-03-13 17:09:20 +09:00
Doug Lyons
f132020d8b [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.
2024-03-13 07:16:02 +01:00
Hermès Bélusca-Maïto
9ae73010c2 [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.
2024-03-12 17:15:02 +01:00
Katayama Hirofumi MZ
458ca7766f [COMDLG32] Improve Japanese (ja-JP) translation, Part 2
Follow-up to 78f6179. CORE-18706
2024-03-12 21:12:43 +09:00
Piotr Hetnarowicz
52d0494242 [SHELL32] Update Polish (pl-PL) translation (#6597)
Addendum to 71285dff48 and 0241b5c4e9. CORE-16956
2024-03-12 15:02:29 +03:00
Stanislav Motylkov
b4c77d377c [SHELL32] Update Russian (ru-RU) translation
Addendum to 71285dff48 and 0241b5c4e9. CORE-16956
2024-03-12 14:56:53 +03:00
Katayama Hirofumi MZ
78f6179051 [COMDLG32] Improve Japanese (ja-JP) translation
CORE-18706
2024-03-12 20:55:47 +09:00
Katayama Hirofumi MZ
9c8924c173 [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.
2024-03-12 20:06:24 +09:00
Katayama Hirofumi MZ
bbc455f77c [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.
2024-03-12 18:49:52 +09:00
Doug Lyons
afd39cbc06 [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
2024-03-12 16:45:22 +09:00
Katayama Hirofumi MZ
88e1675ace [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.
2024-03-12 16:10:59 +09:00
Katayama Hirofumi MZ
5aaead3fdb [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.
2024-03-12 15:58:22 +09:00
Katayama Hirofumi MZ
7b304b5b86 [MSUTB] Implement CLangBarItemList (#6605)
Supporting the Language bar...
JIRA issue: CORE-19363
- Define LANGBARITEMSTATE structure.
- Implement CLangBarItemList class.
2024-03-12 11:40:02 +09:00
Katayama Hirofumi MZ
57592b7e22 [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.
2024-03-12 08:26:07 +09:00
Katayama Hirofumi MZ
7f8c502901 [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.
2024-03-12 08:17:05 +09:00
Hermès Bélusca-Maïto
bbce6c3fdf [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.
2024-03-11 22:37:39 +01:00
Hermès Bélusca-Maïto
64155019df [FREELDR] Minor formatting for MsgBox functions + add SAL annotations 2024-03-11 22:37:38 +01:00
Hermès Bélusca-Maïto
dad056e06a [FREELDR] Move the arch-specific intrin_i.h inclusions to where they are actually needed (NTLDR) 2024-03-11 22:37:37 +01:00
Hermès Bélusca-Maïto
50e5f76212 [FREELDR] FrLdrHeapCreate: Show the memory type in the ERR(). 2024-03-11 22:37:36 +01:00
Hermès Bélusca-Maïto
9a707af2e3 [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.
2024-03-11 22:37:35 +01:00
Hermès Bélusca-Maïto
61c4b5f615 [FREELDR] pcat.cmake: minor cleanup 2024-03-11 22:37:34 +01:00
Hermès Bélusca-Maïto
b790cfcef1 [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.
2024-03-11 22:37:33 +01:00
Hermès Bélusca-Maïto
c8c32db8c5 [FREELDR] ueficon.c: Add missing support for HOME and END keys.
And reserve INSERT, PAGE_UP and PAGE_DOWN for future handling.
2024-03-11 22:37:33 +01:00
Hermès Bélusca-Maïto
f4ff0aba2f [FREELDR] Minor code cleanup in arch/uefi files 2024-03-11 22:37:32 +01:00
Hermès Bélusca-Maïto
1e409e6902 [FREELDR] i386/hwdisk.c: Use FIRST_BIOS_DISK and FIRST_PARTITION macros like what's done in UEFI code. 2024-03-11 22:37:30 +01:00
Serge Gautherie
6185c66c61 [DESK] SetScreenSaver(): Remove remnant 'DeleteMode' variable (#6593)
Addendum to commit d21e3a1d2 (r58360).
2024-03-11 15:35:34 +01:00
Doug Lyons
c17a6542ac [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
2024-03-11 14:34:34 +01:00
Katayama Hirofumi MZ
acb01cf568 [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.
2024-03-11 21:58:30 +09:00
Katayama Hirofumi MZ
8bd071a51e [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.
2024-03-11 20:18:07 +09:00
Katayama Hirofumi MZ
0241b5c4e9 [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.
2024-03-11 16:19:46 +09:00
Katayama Hirofumi MZ
71285dff48 [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.
2024-03-11 13:18:58 +09:00
Katayama Hirofumi MZ
4e10ebed40 [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.
2024-03-11 11:24:26 +09:00
Katayama Hirofumi MZ
5daab33c59 [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.
2024-03-11 10:54:12 +09:00
Katayama Hirofumi MZ
ede65b88bc [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.
2024-03-11 08:29:04 +09:00
Serge Gautherie
3e3594e3aa [KILL] ExecuteKill(): Return '1' on failures
and add a related 'CloseHandle()' call.

Also, enforce PID 'unsigned' type.
2024-03-10 17:16:56 +01:00
Serge Gautherie
5a30c71e70 [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.
2024-03-10 17:16:56 +01:00
Serge Gautherie
56baf8e2e8 [FORMATTING][KILL] kill.c: reformat it 2024-03-10 17:16:56 +01:00
Hermès Bélusca-Maïto
352b7f6785 [SDK:NDK/XDK] Sync NtCurrentTeb() definitions between NDK and PSDK winnt.h (#6542)
The definitions in the NDK inline_ntcurrentteb.h and psfuncs.h files are
synced togther with those of winnt.h (in the winnt_old.h generator file).

See commits c1929445d (r49627) and 925c587c8 (r56318).

IMPORTANT NOTE: The ARM64 definition does not exist yet in our headers!
2024-03-10 17:10:50 +01:00
Hermès Bélusca-Maïto
cec7adb97f [SDK:NDK/XDK] Adjust the KeGetPcr() ARM definition (#6542)
Re-enable the KIPCR() macro and use it for KeGetPcr()
and KeGetCurrentProcessorNumber() definitions.
2024-03-10 17:09:36 +01:00
Hermès Bélusca-Maïto
bf9cac8a67 [SDK:NDK/XDK] Remove x86 KeGetPcr() definition from the DDK (#6526)
The official MS DDK/WDK does not expose KeGetPcr() for x86, so do
not expose it there as well. Use instead the private NDK definition.

If it were exposed in the DDK/WDK, it would have to be a
multiprocessor-compatible definition.

Note that the broken definition was working only in single-processor
mode, using the PCR static memory pointer value.
The official MS DDK/WDK exposes KeGetPcr() as an alias to such a
PCR value only for IA64, MIPS and PPC, which is of course not great.
2024-03-10 16:55:44 +01:00
Katayama Hirofumi MZ
e6c0081c28 [IMM32_APITEST] Add KLID testcase (#6590)
Confirming keyboard layout
implementation by checking
HKL, KLID, and registry.
JIRA issue: CORE-19268
- Add KLID testcase.
- Check HKLs, KLIDs (Keyboard
  Layout IDs), and related
 registry, with using
  user32!GetKeyboardLayoutList
  function.
2024-03-10 22:36:40 +09:00
Katayama Hirofumi MZ
0c65ceca3c [MSCTF] Implement GetHKLSubstitute (#6589)
Implementing the back-end of
the Language bar...
JIRA issue: CORE-19361
- Rename GetLocaleInfoString
  as GetHKLName.
- Implement GetHKLSubstitute
  helper function.
- Fix GetHKLDesctription function.
2024-03-10 15:37:42 +09:00
Katayama Hirofumi MZ
fcbcc5b30c [KBSWITCH][INPUT][SDK] Use <imm32_undoc.h>'s IS_IME_HKL (#6588)
Unify the private IMM32 macro
definitions. Refactoring...
JIRA issue: CORE-19361
- Define IS_SPECIAL_HKL macro
  in <imm32_undoc.h>.
- Use IS_IME_HKL and
  IS_SPECIAL_HKL macros of
  <imm32_undoc.h>,
  in kbswitch and input modules.
2024-03-10 12:15:56 +09:00
Katayama Hirofumi MZ
e25d7d724d [MSCTF][SDK] Implement multi-language handling (#6587)
Implementing the back-end of
the Language bar...
JIRA issue: CORE-19361
- Add mlng.cpp and mlng.h.
- Modify msctf.spec.
- Implement MLNGINFO
  structure and CStaticIconList
  class.
- Implement TF_InitMlngInfo,
  TF_MlngInfoCount,
  TF_InatExtractIcon,
  TF_GetMlngIconIndex, and
  TF_GetMlngHKL functions.
2024-03-10 11:35:05 +09:00
Katayama Hirofumi MZ
efa86fff9f [MSCTFIME] Implement CicBridge::Notify (#6586)
Supporting TIPs...
JIRA issue: CORE-19360
- Implement CicBridge::Notify
  method.
- Implement CicBridge::
  SetCompositionString method.
- Add some CicInputContext
  methods (stub).
2024-03-09 12:57:50 +09:00
Katayama Hirofumi MZ
1ee014525c [MSCTFIME] Implement CicBridge::EscapeKorean (#6585)
Supporting TIPs...
JIRA issue: CORE-19360
- Add CicBridge::EscHanjaMode.
- Add code to CicBridge::EscapeKorean.
2024-03-09 11:59:37 +09:00
Katayama Hirofumi MZ
299abf7c87 [MSCTFIME][SDK] Add CInputContextOwner (stub) (#6584)
Supporting TIPs...
JIRA issue: CORE-19360
- Add ITfContextOwner
  interface to "msctf.idl".
- Stub-implement
  CInputContextOwner class.
2024-03-08 20:43:32 +09:00
Katayama Hirofumi MZ
b383b70089 [SHELL32_APITEST] Improve ShellHook testcase (#6582)
Make shell32:ShellHook testcase stable and trustworthy.
JIRA issue: ROSTESTS-389
- Use real shell hook.
- Delete HSHELL_RUDEAPPACTIVATED tests.
- Add HSHELL_WINDOWDESTROYED tests.
2024-03-08 18:17:09 +09:00
Katayama Hirofumi MZ
0709dff84c [SHELL32_APITEST] Improve FindExecutable testcase (#6583)
Make shell32:FindExecutable testcase stable and trustworthy.
JIRA issue: ROSTESTS-389
- Reduce dependency with sub-program (instead use copy of
  notepad.exe).
- Simplify.
2024-03-08 17:21:57 +09:00
Hermès Bélusca-Maïto
e1d334794a [FREELDR][ROSSYM(_NEW)] Remove last vestigial references to "NTOSAPI".
This was a MinGW-specific, non-MS-DDK/WDK-compatible define, that was
used to mark NTOS kernel/hal exports, instead of NTSYSAPI etc.

We have since fixed that, and changed the way Freeldr (and rossym)
manages these, see commits:
186c8b72d (r16028), 51f0dfd30 (r17651) and 526efd2ee (r24359)
2024-03-07 13:35:08 +01:00
Timo Kreuzer
def2fe5dc3 [HALAPIC] Rename a field for consistency 2024-03-06 19:04:41 +01:00
Timo Kreuzer
c5f93c50dd [CMLIB] Quick-fix a pool buffer overrun
A more complete fix is in PR #6064, but this needs to be fixed now.
2024-03-06 19:04:20 +01:00
Stanislav Motylkov
a69b0c9fd5 [MAIN] Fix icon identifiers and their order
Additionally:
- Reuse printers and fonts folder icons from shell32,
  the same way as it was done in c0dbde0436.
  The printers folder icon was missing here though.
- Fix "look_key" => "lock_key" typos.

This fixes Administrative Tools and Fonts Folder icons in Control Panel
when being restored to defaults with Stardock IconPackager 5.1.

CORE-19471
2024-03-06 19:18:18 +03:00
Hermès Bélusca-Maïto
3a49e26f13 [KERNEL32][PSDK][NTVDM][CONSRV] Use now-documented ReadConsoleInputEx() flag names.
Addendum to commit b8b8819c7 (r60920)

ReadConsoleInputEx() and its flags used to be undocumented.
In the meantime they became documented on MSDN, see:
https://learn.microsoft.com/en-us/windows/console/readconsoleinputex

We can therefore adopt these now-documented flag names.
2024-03-06 12:28:27 +01:00
Oleg Dubinskiy
c0dbde0436 [MYDOCS] Add missing icons expected by 3rd party applications (#6576)
Add "My Documents" and "My Pictures" icons, with 100 and 101 identifiers
accordingly. They are duplicating the icons from shell32.

This fixes My Documents desktop icon becoming blank when reverting back
to the system default icons after applying 3rd party icon set in Stardock
IconPackager 5.1, and also fixes icons of some items in the application
preview dialog.

It's confirmed that mydocs.dll on Windows XP SP3 and Server 2003 SP2
includes these two icon resources with the said identifiers.
The icons there are being an exact copy from shell32 as well.

CORE-19471 CORE-14758
2024-03-06 13:56:26 +03:00
Katayama Hirofumi MZ
361bf39872 [BROWSEUI] Fix CExplorerBand Right-Dragging menu (#6579)
Display correct menu on right-dragging
an item in Folder explorer bar to Desktop.
JIRA issue: CORE-19474
In CExplorerBand::OnTreeItemDragging
method:
- Use GetAttributesOf to get the
  attributes of a folder item.
- Use correct dwEffect value for
  DoDragDrop call.
2024-03-06 08:11:32 +09:00
Katayama Hirofumi MZ
1cc721e6d5 [NTDLL][NTDLL_APITEST] Add LdrLoadDll testcase (#6563)
JIRA issue: CORE-6585
- Add one comment into LdrpLoadDll function.
- Add LdrLoadDll testcase.
2024-03-06 07:58:07 +09:00
Katayama Hirofumi MZ
0d43ce7879 [USER32_APITEST][SDK] Add GW_ENABLEDPOPUP testcase (#6564)
JIRA issue: CORE-6920
- Add GW_ENABLEDPOPUP constant to
  <winuser.h>.
- Add GW_ENABLEDPOPUP testcase.
2024-03-06 07:52:30 +09:00
Vitaly Orekhov
c30b284373 [ATL] Implement CSimpleStringT::Preallocate (#6574)
Used in `ATL::CStringW` and `ATL::CStringA`, for example:

```
ATL::CStringW cswItemText = "";
cswItemText.Preallocate(64);

SendDlgItemMessageW(pdis->CtlID, LB_GETTEXT, pdis->itemID, reinterpret_cast<LPARAM>(cswItemText.GetBuffer()));
cswItemText.ReleaseBuffer();
```

This public function is used to allocate memory for the string via private PrepareWrite, but it's missing somehow. Now it shouldn't be.
2024-03-05 11:42:27 +03:00
Andrei Miloiu
4dc4ec2fe4 [MSHTML] Update Romanian (ro-RO) translation (#6519) 2024-03-05 04:46:29 +01:00
Katayama Hirofumi MZ
49b2b1dab1 [SHELL32] Use STDMETHOD macro and keyword override (#6570)
For simplicity and short typing.
JIRA issue: CORE-19469
- Replace "virtual HRESULT STDMETHODCALLTYPE
  m" with "STDMETHOD(m)" (m is a method name).
- Replace "virtual t STDMETHODCALLTYPE m" with
  "STDMETHOD_(t, m)" (t is a type. m is a method
  name).
- Use "override" keyword as possible.
- CDefView should inherit IShellView3 due to
  override CreateViewWindow3 method.
- Fix CDefView::CreateViewWindow3 (parameter
  prcView is const RECT *, not LPRECT).
2024-03-05 08:43:39 +09:00
Katayama Hirofumi MZ
bb297bc351 [BROWSEUI] Use STDMETHOD macro and keyword override (#6569)
For simplicity and short typing.
JIRA issue: CORE-19469
- Replace "virtual HRESULT 
  STDMETHODCALLTYPE m"
  with "STDMETHOD(m)"
  (m is a method name).
- Replace "virtual t
  STDMETHODCALLTYPE m"
  with "STDMETHOD_(t, m)"
 (t is a type. m is a method name).
- Use "override" keyword as possible.
2024-03-05 00:53:11 +09:00
Katayama Hirofumi MZ
de8e1553ec [NTOBJSHEX] Use STDMETHOD macro and keyword override (#6566)
For simplicity and short typing.
JIRA issue: CORE-19469
- Replace "virtual HRESULT 
  STDMETHODCALLTYPE m" with
  "STDMETHOD(m)" (m is a
  method name).
- Replace "virtual t
  STDMETHODCALLTYPE m"
  with "STDMETHOD_(t, m)"
  (t is a type. m is a method name).
- Use "override" keyword as possible.
2024-03-05 00:34:21 +09:00
Oleg Dubinskiy
eb96d377d1 [SHELL32] Allow custom shortcut overlay icon (#6419)
Use correct icon index in SIC_OverlayShortcutImage() to properly load
shortcut overlay icon from registry instead of always using default icon.
This allows to use custom shortcut icon set by user, in case it was
specified there.

As FIXME comment stated, the icon indexes were not implemented in the far
past, so this workaround was badly required. But now they are implemented,
so no need to always use default resource from shell32, enable the correct
code instead.

Also adapt this to CShellLink::CreateShortcutIcon() when the shortcut icon
is being changed in its properties dialog, as well as in CNewMenu class
when displaying menu items for creating a new folder or a shortcut.

Addendum to f9a5344254. CORE-14758
2024-03-04 16:30:43 +03:00
Timo Kreuzer
bbbcd8ed68 [NTOS:EX] Remove an ASSERT in ExpInsertPoolTracker 2024-03-03 07:19:35 +01:00
Katayama Hirofumi MZ
5627da4205 [RSHELL] Use STDMETHOD macro and keyword override (#6575)
For simplicity and short typing.
JIRA issue: CORE-19469
- Replace "virtual HRESULT
  STDMETHODCALLTYPE m" with
  "STDMETHOD(m)" (m is a method name).
- Replace "virtual t STDMETHODCALLTYPE
  m" with "STDMETHOD_(t, m)"
  (t is a type. m is a method name).
- Use "override" keyword as possible.
2024-03-03 10:14:05 +09:00
Katayama Hirofumi MZ
b2d56cf364 [NETSHELL] Use STDMETHOD macro and keyword override (#6568)
For simplicity and short typing.
JIRA issue: CORE-19469
- Replace "virtual HRESULT STDMETHODCALLTYPE m"
  with "STDMETHOD(m)" (m is a method name).
- Replace "virtual t STDMETHODCALLTYPE m" with
  "STDMETHOD_(t, m)" (t is a type. m is a method
  name).
- Use override keyword as possible.
2024-03-02 21:38:52 +09:00
Katayama Hirofumi MZ
24fb46c405 [ACPPAGE] Use STDMETHOD macro and keyword override (#6567)
For simplicity and short typing.
JIRA issue: CORE-19469
- Replace "virtual HRESULT STDMETHODCALLTYPE
  m" with "STDMETHOD(m)" (m is a method name).
- Replace "virtual t STDMETHODCALLTYPE m" with
  "STDMETHOD_(t, m)" (t is a type. m is a method
  name).
- Use "override" keyword as possible.
2024-03-02 21:37:05 +09:00
Timo Kreuzer
79aaee6aac [HALX86] Implement the clock IPI handler 2024-03-02 07:56:27 +01:00
Timo Kreuzer
d1c118b371 [HALX86] Move apicsmp.c to lib_hal_smp 2024-03-02 07:56:27 +01:00
Timo Kreuzer
2ce5d43a33 [NTOS/x64] Gracefully handle invalid Vector in KeConnectInterrupt
Fail instead of asserting. This is needed because a kmtest triggers it.
2024-03-02 07:30:06 +01:00
Katayama Hirofumi MZ
2320c37151 [CMD] Enable Ctrl+H (^H) as backspace (#6562)
Ctrl+H should pretend like BackSpace key
on Command Prompt.
JIRA issue: CORE-5702
- Add Ctrl+H action in ReadCommand function.
2024-03-01 22:51:57 +09:00
Katayama Hirofumi MZ
c07eb9fb1b [APPWIZ] Shortcut: Rename if there is a conflict (#6556)
Follow-up to #6550. Avoid same name
overwriting.
JIRA issue: CORE-5866
- Rename the filename if there was duplicate.
- Simplify CreateShortcut function.
- Rename IDC_SHORTCUT_LOCATION as
  IDC_LINK_LOCATION to resolve name conflict
  with shell32/shresdef.h.
2024-03-01 08:42:59 +09:00
Joachim Henze
0a587b9ccd [NETCFGX] Proper accelerators for en-US and de-DE (#6199)
proper accelerators for en-US (like english 2k3sp2)
proper accelerators for de-DE (like german XPSP3)
slightly improved accelerators for fr-FR
and mark existing accelerator collisions for all other languages with FIXME-comments.

Co-authored-by: Stanislav Motylkov <x86corez@gmail.com> for ukrainian header
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org> for fr-FR
2024-02-29 22:17:27 +01:00
Piotr Hetnarowicz
d325c67223 [APPWIZ] Update Polish (pl-PL) translation (#6559) 2024-02-29 21:20:48 +03:00
Hermès Bélusca-Maïto
ea3e66d748 [SHELL32:WINE] Improve ROS-specific registry opening in SHRestricted() (#4275) 2024-02-29 13:29:10 +01:00
Hermès Bélusca-Maïto
9513d18f93 [SHELL32:WINE] Update the table of policy restrictions (#4275)
Our shell32's wine/shpolicy.c file, synced with Wine code (and which is
currently in master still up to date with Wine!), contains outdated or
incomplete definitions that date back from Windows 98/2000.

Update the restrictions with those from shell32 v6.0 of Windows Server 2003 SP2.

References:
https://www.geoffchappell.com/studies/windows/shell/shell32/api/util/restrictions.htm
https://docs.microsoft.com/en-us/windows/win32/api/shlobj_core/ne-shlobj_core-restrictions

"NoLogoff": http://systemmanager.ru/win2k_regestry.en/93519.htm
"StartMenuLogOff": http://systemmanager.ru/win2k_regestry.en/92884.htm
"GreyMSIAds": http://systemmanager.ru/win2k_regestry.en/93177.htm
2024-02-29 13:29:08 +01:00
Hermès Bélusca-Maïto
ea8ce25944 [SHELL32:WINE] Add Wine-version info to the Wine's shell32_main header. 2024-02-29 13:27:33 +01:00
Hermès Bélusca-Maïto
52dd07febd [SHELL32:WINE] Make the wine-imported files include shell32_main.h 2024-02-29 13:26:46 +01:00
Hermès Bélusca-Maïto
72b405549c [SHELL32] SHAddToRecentDocs(): Just use SHRestricted() to get the NoRecentDocsHistory policy...
... instead of redoing the manual work.
2024-02-29 12:54:10 +01:00
Hermès Bélusca-Maïto
fc1712e494 [SHELL32] Set a sane SHELL32 versioning, when compiled for NT 5.2 and NT 6+.
i.e. don't keep using version from Windows 2000...

Values taken from
https://www.geoffchappell.com/studies/windows/shell/shell32/history/index.htm
2024-02-29 12:38:50 +01:00
Katayama Hirofumi MZ
ac870f986d [SHLWAPI_APITEST] Add SHGetRestriction testcase (#6557)
I have a plan to implement
shell32!SHRestricted correctly.
JIRA issue: CORE-11515
In the testcase:
- Get procedure SHGetRestriction
  from shlwapi.dll.
- Call SHGetRestriction to test and
  check the results.
2024-02-29 20:28:10 +09:00
Katayama Hirofumi MZ
b944563c7b [SHELL32_APITEST] Add SHRestricted testcase (#6558)
I have a plan to implement
shell32!SHRestricted correctly.
JIRA issue: CORE-11515
- Get SHRestricted and
  SHSettingsChanged procedures
  from shell32.dll.
- Use them and check the results.
2024-02-29 20:26:01 +09:00
Katayama Hirofumi MZ
d0e29248e3 [SHELL32] Update Japanese (ja-JP) translation
Follow-up to #6544. CORE-18706
2024-02-29 09:23:46 +09:00
Joachim Henze
e341162dd1 [RASDLG] *.rc Trim unintended spaces (#6540)
- trim unintended spaces
- uk-UA.rc tweak the header (Ukraianian typo, strip FILE:)
2024-02-28 22:34:29 +01:00
Oleg Dubinskiy
f9a5344254 [SHELL32] Allow using custom desktop/folders/drives icons (#6421)
Implement proper reading the current user's icons from registry.

CORE-14758

- Load the icons specified by user in registry in the following keys:
  "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CLSID\{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}\DefaultIcon"
  (virtual namespace folders)
  "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Icons"
  (filesystem folders and drives)
- Implement two functions HCU/HLM_GetIconW for reading the icons
  from mentioned HKCU and HKLM keys accordingly.
- Use HCR_RegGetIconW for falling back to default icons.
  This function always loads only default icons, even when
  the custom ones are specified by user.
- Refactor SIC_LoadOverlayIcon to use newly implemented HLM_GetIconW.

These changes apply to:
- virtual namespace folders and other desktop items (like My Computer,
  My Documents, Network Places, Recycle Bin, Web Browser (aka Internet
  Explorer), Control Panel and some of its items);
- normal filesystem directories;
- all types of drives (fixed disk drives, removable drives, CD-ROMs,
  RamDisks and network drives). Handle invalid drives, setting blank
  icon for them, since they cannot be recognized or mounted correctly.
  Also, load the autorun icons first to avoid overriding them by the
  icons defined in registry.

I've rechecked twice: excluding Start Menu icons, Desktop Workspace icon
and some FS folder icons that have their own desktop.ini configuration
files (we probably should write the custom icons we load to these configs,
as Windows does it, perhaps with WritePrivateProfileStringW), all other
icons can be changed now (only ones that can be changed on XP SP3 / 2003
SP2) via built-in system tools (like Desktop icons in desk.cpl) or any
3rd-party tools without modifying system resources.

Also all icons for the known file types can be changed,
same as before my changes.

Regarding Start Menu icons:
- changing them should be correctly implemented in explorer
  instead of shell32, as the former is responsible for the Start Menu
  and partially for the taskbar;
- in order to actually use all of them, we need to implement modern
  Start Menu first.

Useful reference: http://www.winfaq.de/faq_html/Content/tip0000/onlinefaq.php?h=tip0162.htm
2024-02-29 00:20:47 +03:00
Piotr Hetnarowicz
45321706dc [SHELL32] Update Polish (pl-PL) translation (#6553) 2024-02-28 21:26:15 +03:00
Stanislav Motylkov
29a5108a4d [MSPAINT] Update Russian (ru-RU) translation
Addendum to f53d7eeb4c. CORE-19466
2024-02-28 21:16:05 +03:00
Stanislav Motylkov
91caceaf02 [SHELL32] Update Russian (ru-RU) translation
Addendum to d1ac33a9bd. CORE-16956
2024-02-28 21:14:53 +03:00
Hermès Bélusca-Maïto
0d8a6a30cc [PSDK] Remove unused file; it doesn't also exist in official MS PSDK 2024-02-28 17:23:17 +01:00
Katayama Hirofumi MZ
e928b42758 [MSPAINT] Improve GetSelectionContents for free-shape selection (#6554)
Follow-up to #6552. There was
a bug that the cropped selection
image is not the shape of selection.
JIRA issue: CORE-19466
- Extend SelectionModel::
  DrawSelection for drawing
  selection flexibly.
- Improve SelectionModel::
  GetSelectionContents method.
2024-02-28 22:01:08 +09:00
Katayama Hirofumi MZ
f0e45f07e1 [MSPAINT] Update Japanese (ja-JP) translation
CORE-18706
2024-02-28 20:36:21 +09:00
Katayama Hirofumi MZ
f53d7eeb4c [MSPAINT] Implement 'Crop Selection' (#6552)
Improve usability.
JIRA issue: CORE-19466
- Add IDM_CROPSELECTION command in "Edit" menu.
- If no selection, then disable IDM_CROPSELECTION.
2024-02-28 19:27:37 +09:00
Katayama Hirofumi MZ
059fd8e551 [SHELL32] Fix CMenuBand's context menu (#6548)
JIRA issue: CORE-17453, CORE-12328
In CMenuBand::_TrackContextMenu method:
- Use 100 for idCmdFirst, instead of zero.
- Use uCommand - idCmdFirst for cmi.lpVerb.
Zero is an invalid command ID.
2024-02-28 16:54:15 +09:00
Katayama Hirofumi MZ
1d1472c78e [APPWIZ][SHELL32] Improve 'Create Shortcut' dialog (#6550)
Now we can open special folder shortcut, thanks to #6546.
Let's allow users to create various shortcut files.
JIRA issue: CORE-5866
- Remove BIF_RETURNONLYFSDIRS flag because
  the system can open special folder shortcuts now.
- Add LPITEMIDLIST pidlTarget to CREATE_LINK_CONTEXT
  structure.
- Use pidlTarget if the target is a special folder.
- Fix CShellLink::DoOpen for arguments.
2024-02-28 15:22:44 +09:00
Katayama Hirofumi MZ
776c3a3495 [SHELL32] SHBrowseForFolder: Fix pszDisplayName (#6549)
pszDisplayName is for display name, not for full path.
JIRA issue: CORE-5866
- If lpBrowseInfo->pszDisplayName is valid,
  use SHGetFileInfoW to get display name.
- Don't use SHGetPathFromIDListW to get
  display name. It's wrong.
2024-02-28 13:23:27 +09:00
Katayama Hirofumi MZ
d634ef54e4 [SHELL32] Opening Special Folder shortcut (#6546)
Fix opening special folder.
JIRA issue: CORE-19464
In CShellLink::DoOpen, if there is a PIDL, then use it and set SEE_MASK_IDLIST flag.
2024-02-28 12:17:04 +09:00
Katayama Hirofumi MZ
d1ac33a9bd [EXPLORER][SHELL32] Strengthen Start Menu Customize Part 1 (#6544)
Strengthen customization of Start menu.
JIRA issue: CORE-16956
- Modify IDD_CLASSICSTART_CUSTOMIZE dialog.
- Add some resource strings to shell32.dll.
- Add some helper functions.
- Disable Clear button if necessary.
- Add "Display Favorites" and "Display Log Off"
  items into IDC_CLASSICSTART_SETTINGS treeview
  control.
- Implement two items' action.
- Recreate the start menu if WM_SETTINGCHANGE
  message received.
2024-02-27 20:41:43 +09:00
Katayama Hirofumi MZ
281f7c4e38 [BROWSEUI] Implement 'Add to Favorites' (#6543)
Implement Explorer's "Add to Favorites" feature.
JIRA issue: CORE-16857
- Add CreateShortcut helper function.
- Add CShellBrowser::OnAddToFavorites.
2024-02-27 19:55:57 +09:00
Katayama Hirofumi MZ
8209aa528b [BROWSEUI] Enable Address bar access key (Alt+D) (#6534)
Retrial of #5052. Improve keyboard
interface usability.
JIRA issue: CORE-18823
- Add GetAddressBarAccessKey
  helper function to get the
  accelerator of Address bar from
  resource string
  IDS_ADDRESSBANDLABEL.
- Implement Alt+D (or something)
  accelerator in CAddressBand::
  TranslateAcceleratorIO method by
  handling WM_SYSKEYDOWN and
  WM_SYSCHAR messages.
2024-02-26 21:54:51 +09:00
Joachim Henze
a08b83a90b [SHELL32] Fix 2 compiler warnings for the rls-cfg 'unused variable' (#6539)
I noticed it on releases/0.4.10 with the RosBEWin2.1.6 GCC4.7.2 *rls* configuration:

C:/0410rls/reactos/dll/win32/shell32/dialogs/filetypes.cpp: In function 'BOOL FileTypesDlg_InsertToLV(HWND, LPCWSTR, INT, LPCWSTR)':
C:/0410rls/reactos/dll/win32/shell32/dialogs/filetypes.cpp:663:9: warning: variable 'iLargeImage' set but not used [-Wunused-but-set-variable]
C:/0410rls/reactos/dll/win32/shell32/dialogs/filetypes.cpp: In function 'BOOL EditTypeDlg_UpdateEntryIcon(HWND, PEDITTYPE_DIALOG, LPCWSTR, INT)':
C:/0410rls/reactos/dll/win32/shell32/dialogs/filetypes.cpp:1040:9: warning: unused variable 'iLargeImage' [-Wunused-variable]

But I do assume, that MSVC compilers would also complain about that in *rls* cfg.

Please notice that before 0.4.10-dev-202-g 698cbc6184 which did splitup and restructure the code
this function was placed within the file folder_options.cpp and was named
InsertFileType(HWND hDlgCtrl, WCHAR * szName, PINT iItem, WCHAR * szFile)
and not yet within file_types.cpp with the new name
FileTypesDlg_InsertToLV(HWND hListView, LPCWSTR szName, INT iItem, LPCWSTR szFile)
Back then it did not have the iLargeImage variable yet, and it also didn't warn upon rls-cfg-compilation.
Therefore 0.4.10-dev-202-g 698cbc6184 from (#582) is indeed the *guilty revision* (2018-06-06).
It was done in the very first commit of that PR 2fe0eab721
It's bad practice to move and refactor/extend code in functionality within the very same commit, as it makes reviewing the changes much harder.

That assert never fired for the last 6 years, therefore it would have been okay also to strip it together with the variable, but using DBG_UNREFERENCED_LOCAL_VARIABLE(iLargeImage); allows to keep the assert for master.
2024-02-26 13:42:13 +01:00
Hermès Bélusca-Maïto
ed7dc31103 [SETUP:REACTOS] Set the default language and keyboard layout at startup
Retrieve the current ambient language and keyboard layout, that has been
chosen in the "General language and keyboard layout selection" dialog
when starting the LiveCD.

A more robust solution will be developed later.
2024-02-26 12:45:43 +01:00
Katayama Hirofumi MZ
c0b4db14de [BOOTDATA][NTUSER] Prepare for CTF IME Part 1 (#6524)
Supporting TIPs...
JIRA issue: CORE-19360
- Add "IME File" registry value
  as "msctfime.ime" at
  HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IMM.
- Modify UserIsCiceroEnabled
  function for preparation of
  CTF IME.
2024-02-24 01:53:16 +09:00
Katayama Hirofumi MZ
3768f0893d [WIN32SS] Fix const-ness of registry helper functions (#6525)
Improve code quality.
JIRA issue: CORE-19360
- Fix const-ness of the arguments
  of win32k registry helper functions.
- Compact UserIsIMMEnabled function.
2024-02-23 21:26:12 +09:00
Katayama Hirofumi MZ
febb589e00 [MSCTFIME] Finish msctfime.cpp (#6523)
Supporting TIPs...
JIRA issue: CORE-19360
- Add some CicBridge methods (stub).
- Implement ImeProcessKey,
  ImeToAsciiEx, ImeSetCompositionString,
  CtfImeEscapeEx, and CtfImeIsIME
  functions.
2024-02-23 19:58:21 +09:00
Katayama Hirofumi MZ
980ebf0694 [MSCTFIME] Implement CtfImeSetActiveContextAlways (#6522)
Supporting TIPs...
JIRA issue: CORE-19360
- Move code of functions.cpp
  into misc.cpp and delete functions.cpp.
- Add implementation to
  CicBridge::GetDocumentManager,
  CicBridge::CreateInputContext, and
  CicBridge::SetActiveContextAlways
  methods.
- Implement NotifyIME,
  CtfImeSetActiveContextAlways, and
  CtfImeCreateInputContext functions.
2024-02-23 17:43:13 +09:00
Katayama Hirofumi MZ
69b08be0e0 [MSCTFIME][CICERO] Half-implement CIMEUIWindowHandler (#6521)
Supporting TIPs...
JIRA issue: CORE-19360
- Add implementation to
  CIMEUIWindowHandler class.
2024-02-23 13:45:00 +09:00
Katayama Hirofumi MZ
353edbd3f4 [MSCTFIME] Add UIComposition Part 2 (#6520)
Supporting TIPs...
JIRA issue: CORE-19360
- Add implementation to
  UIComposition class.
2024-02-23 11:18:52 +09:00
Hermès Bélusca-Maïto
14d3b53cc6 [NTFS] Typo fix: "Steam" -> "Stream" 2024-02-22 22:43:40 +01:00
Hermès Bélusca-Maïto
59f8611321 [WINSRV] Delay-load psapi.dll
Note that it is used only in debug builds in order to display the list
of processes being terminated in the debug log.
2024-02-22 22:41:06 +01:00
Hermès Bélusca-Maïto
2c0af91ba1 [WINSRV] Use ARRAYSIZE() instead of hardcoding buffer size in GetProcessImageFileNameW call 2024-02-22 22:41:05 +01:00
Hermès Bélusca-Maïto
e5db85276e [PSAPI] Don't make the dll depend on MSVCRT
psapi.dll can also used by low-level DLLs, such as winsrv.dll,
therefore it is better to reduce its dependencies.
2024-02-22 22:41:04 +01:00
Hermès Bélusca-Maïto
047f1c3d55 [USETUP] Exchange SetupStartPage and LanguagePage 2024-02-22 22:41:03 +01:00
Katayama Hirofumi MZ
9262df661e [MSCTFIME] Implement CModeBias (#6515)
Supporting TIPs...
JIRA issue: CORE-19360
- Rename compartment.cpp as
  misc.cpp.
- Implement CModeBias class.
2024-02-22 18:43:08 +09:00
Katayama Hirofumi MZ
7d0b5482f6 [MSCTFIME] Implement CicBridge::OnSetOpenStatus (#6514)
Supporting TIPs...
JIRA issue: CORE-19360
- Add CicInputContext::EscbCompComplete
  method (stub).
- Implement CicBridge::OnSetOpenStatus
  method.
2024-02-22 17:28:40 +09:00
Katayama Hirofumi MZ
f53f1334ed [MSCTFIME][CICERO] Implement CFnDocFeed (#6513)
Supporting TIPs...
JIRA issue: CORE-19360
- Add missing CicInputContext methods.
- Implement CFnDocFeed class.
2024-02-22 15:46:05 +09:00
Serge Gautherie
0086d05007 [EXT2FS] Ext2Read(): Complete request on VCB_VOLUME_LOCKED case (#4770)
CORE-10645

Co-authored-by: Victor Martinez Calvo <vicmarcal@gmail.com>
2024-02-21 07:31:09 -08:00
Katayama Hirofumi MZ
a55345be29 [MSCTFIME][CICERO] Implement CDefCompFrameWindow (#6512)
Supporting TIPs...
JIRA issue: CORE-19360
- Add delay link to uxtheme.dll.
- Implement CDefCompFrameGripper,
  CCompFinalizeButton,
  CCompButtonFrameWindow, and
  CDefCompFrameWindow classes.
2024-02-21 10:36:32 +09:00
Hermès Bélusca-Maïto
b7ad4a2298 [SETUPLIB][USETUP] Some cleanup for partition code.
- Make the Create*Partition helpers take a size in bytes, not in sectors.

  This allows them to be easier to use by the caller, alleviating the
  need for making the size conversion into sectors. Instead it is done
  internally by the helpers.

- Introduce helper macros to easily retrieve the size of a partition
  entry or a disk in bytes, from their internal representation in number
  of sectors.

- The 'AutoCreate' variable being USETUP-specific, remove it from the
  PARTENTRY structure and use instead a flag set into the 'New' member.

- Rename IsDiskSizeValid to IsPartitionLargeEnough, to better describe
  what the function is for.
2024-02-20 15:52:37 +01:00
Katayama Hirofumi MZ
b2ec78673d [MSCTFIME] Restructuring (#6505)
Improve code flexibility. 3700+
lines of msctfime.cpp was too long.
JIRA issue: CORE-19360
- Split msctfime.cpp code to some
  source files and header files.
2024-02-20 21:11:08 +09:00
Jérôme Gardou
0610bcb3f9 [DBGHELP] Avoid call of wine_get_dos_file_name
CORE-19444
2024-02-20 08:56:53 +01:00
Jérôme Gardou
e706083d50 [LIBWINE] Return empty path when given a UNIX path
CORE-19444
2024-02-20 08:56:53 +01:00
Katayama Hirofumi MZ
6bc40d36f8 [CTFMON][MSCTFIME][MSCTF][MSUTB][CICERO] Fix TFUninitLib (#6504)
Supporting the Language bar...
JIRA issue: CORE-19363
- Delete TFInitLib and TFUninitLib
  calls from ctfmon.exe.
- Delete TFUninitLib from Cicero
  library.
- Implement InitDisplayAttrbuteLib
  in msctfime.ime.
- Improve CIC_LIBTHREAD structure.
2024-02-20 14:36:24 +09:00
Joachim Henze
6f91b6c0fe [SHELL32] Tweak formatting and logging
Some style-improvements I wanted to apply before a planned backport.
E.g. The biggest source-file CDefView.cpp in [SHELL32] can be shrinked considerably by stripping some outdated
comments from 10 and more years ago, when this class was still non-OOP and named ShellView.
Less excessive line-lengths also here and there.

In case it is not obvious when reviewing: In the beginning of CDevView.cpp in the declaration-part I just
reduced the indentation-level by 4 spaces for a big block.

Some shell classes were touched during 0.4.15-dev'ing for fixes like the 'unkown'-typo in
0.4.15-dev-6323-g 3854a5d8e9 for example
or missing \n were added to dbgprints like in
0.4.15-dev-4492-g 03422451b3
Touched again here, because I want to port those improvements back,
but don't intend to increase the size in older releases.

The commit looks big, but does consist solely of trivialities.
There is no functional change in this commit, aside the logging ofc.
2024-02-20 02:08:56 +01:00
Hermès Bélusca-Maïto
b02dd8eb22 [SETUPLIB] Make the settings' Process* functions take an actual value instead of a GENERIC_LIST
The reason is to avoid enforcing the usage of a specific list
container by the users of the setup library. This is a departure
of what I originally thought would be the best, in commits
92692eae3 (r74553), 8f2c4f7a6 (r75700)

This should actually make some parts of the GUI setup code simpler
(e.g. using the win32 comboboxes to store the list contents).
2024-02-18 16:30:46 +01:00
Katayama Hirofumi MZ
fc3eeb61f3 [SDK:LIB] Introduce Cicero static library (#6492)
Refactoring and reduce binary size.
JIRA issue: CORE-19268
- Add cicero static library in sdk/lib/cicero folder.
- Delete sdk/include/reactos/cicero folder.
- Adapt the dependencies to these changes.
- Make ctfmon, msutb, and msctf modules UNICODE.
2024-02-17 09:53:50 +09:00
Oleg Dubinskiy
21e139d1d1 [UXTHEME] Add Ukrainian (uk-UA) translation (#6502)
Addendum to d11582f0e. CORE-5991
2024-02-16 22:50:13 +03:00
Stanislav Motylkov
d8adb84641 [UXTHEME] Add Russian (ru-RU) translation
Addendum to d11582f0e. CORE-5991
2024-02-16 21:10:32 +03:00
Stanislav Motylkov
d11582f0e2 [UXTHEME] Localize string resources
- Adapt SetWindowResourceText() function from
  `msconfig_new/utils.c` LoadResourceStringEx() function.
- Drop `version.rc` in favor of `uxtheme.rc` since we have forked uxtheme.

Addendum to 118869f69. CORE-5991
2024-02-16 21:10:21 +03:00
Dmitry Borisov
e6cd9de3f1 [DC21X4] Recognize all ports emulated by VPC 2007 (#6501) 2024-02-16 16:56:07 +01:00
Adam Słaboń
20efea8fa4 [USBSTOR] Fix PdoHandleQueryInstanceId and increase serial number descriptor size to MAXIMUM_USB_STRING_LENGTH (#6413)
Serial number on some USB devices might exceed the number of 100 characters
(e.g. 120 characters on "SanDisk Ultra 3.2Gen1" pendrive) and cause buffer
overflow, resulting in usbstor.sys crash.

- Use pool allocation for instance ID generation.
  Fixes stack overflow on USB storage devices with large serial number.
- Print the LUN number as a hexadecimal, not as a character.
- Verify the serial number descriptor before using it.
- Increase the max descriptor size for serial number to
  MAXIMUM_USB_STRING_LENGTH. This fixes serial number string truncation.

Based on suggestions by disean and ThFabba.

CORE-17625
2024-02-16 18:48:33 +03:00
Katayama Hirofumi MZ
398201dca4 [NTUSER] Relax condition for IntImmProcessKey (#6500)
* [NTUSER] Loose condition for IntImmProcessKey

* key up

* improve

* improve 2

* improve 3
2024-02-16 21:31:13 +09:00
Katayama Hirofumi MZ
e0b67a2990 [MSVIDC32] Keep using CRAM_MAGIC for info structure validation (#6498)
CRAM_MAGIC is being used to validate the info context structure contents
when the driver routines are being called, so partially revert 8be912147.

Just report "MSVC" as the main FourCC handler in CRAM_GetInfo() instead.

CORE-19453 CORE-15382
2024-02-15 17:08:47 +04:00
Stanislav Motylkov
fa29a61271 [UXTHEME] nonclient.c: Formatting only 2024-02-15 14:22:02 +03:00
Ethan Rodensky
118869f69c [UXTHEME] Implement the rest of DrawNCPreview 2024-02-13 21:20:49 +01:00
Katayama Hirofumi MZ
8ea93d2ab2 [REACTOS] Standardize <imm.h> and <immdev.h> (#6493)
Improve header compatibility and
code quality.
JIRA issue: CORE-19268
- Improve <imm.h> and <immdev.h>
  compatibility by correctly choosing
  the items.
- Use <immdev.h> instead of
  <ddk/immdev.h>.
- Move INPUTCONTEXTDX, IMEINFOEX,
  IMEDPI, and CLIENTIMC into
  <imm32_undoc.h>.
- Adapt to these changes.
2024-02-13 20:33:14 +09:00
Andrei Miloiu
bdcfc6bc8e [CRYPTUI] Update Romanian (ro-RO) translation (#6487) 2024-02-12 18:10:25 +01:00
Andrei Miloiu
d8d4d8fa4e [CMD] Update Romanian (ro-RO) translation (#6488) 2024-02-12 17:59:02 +01:00
Andrei Miloiu
16c6f9ecb9 [RAPPS] Improve Romanian (ro-RO) translation (#6489) 2024-02-12 17:58:43 +01:00
Andrei Miloiu
64f0423904 [RASDLG] Update Romanian (ro-RO) translation (#6483) 2024-02-12 17:58:22 +01:00
Andrei Miloiu
61abe81c2e [FC] Update Romanian translation (#6491) 2024-02-12 17:56:09 +01:00
Katayama Hirofumi MZ
0ac79d7c45 [MSUTB] Improve English (#6473)
Follow-up to #6472. Improve UI/UX.
JIRA issue: CORE-19363
- Improve English text in resource.
- Reduce earth.ico icon file size.
2024-02-12 17:40:57 +09:00
Katayama Hirofumi MZ
019872dd12 [SDK] cicuif.h: Implement CUIFMenuItemSeparator::OnPaintO10 (#6490)
Supporting the Language bar...
JIRA issue: CORE-19363
- Implement CUIFMenuItemSeparator::OnPaintO10
  method.
- Implement CUIFSchemeDef::GetCtrlFaceOffset
  method.
- Implement CUIFWindow::PaintObject method.
- Implement cicDrawMaskBmpOnDC function.
2024-02-12 17:40:09 +09:00
Andrei Miloiu
a7ef18303a [COMDLG32] Update Romanian (ro-RO) translation (#6485) 2024-02-11 23:30:42 +01:00
Andrei Miloiu
e7ac792b11 [EXPLORER_OLD] Update Romanian (ro-RO) translation (#6482) 2024-02-11 23:25:55 +01:00
Andrei Miloiu
179c29dc08 [FLTMC] Update Romanian (ro-RO) translation (#6481) 2024-02-11 23:22:06 +01:00
Andrei Miloiu
b4217c1db4 [BROWSEUI] Update Romanian (ro-RO) translation (#6480) 2024-02-11 23:20:29 +01:00
Andrei Miloiu
7d7ea3d43c [REACTOS] Update Romanian (ro-RO) translation (#6479) 2024-02-11 23:16:51 +01:00
Andrei Miloiu
0a4ed87751 [SYSSETUP] Update Romanian (ro-RO) translation (#6475) 2024-02-11 23:15:44 +01:00
Andrei Miloiu
8ceb3e6d33 [USETUP] Update Romanian (ro-RO) translation (#6474) 2024-02-11 23:14:33 +01:00
Andrei Miloiu
0e933b7e71 [SYSTEMINFO] Update Romanian (ro-RO) translation (#6460) 2024-02-11 23:14:11 +01:00
Andrei Miloiu
c8fbd6d303 [SHUTDOWN] Update Romanian (ro-RO) translation (#6459) 2024-02-11 23:13:27 +01:00
Andrei Miloiu
cb3b5272a0 [CACLS] Update Romanian (ro-RO) translation (#6458) 2024-02-11 23:13:10 +01:00
Andrei Miloiu
07ec501d69 [NEWDEV] Update Romanian (ro-RO) translation (#6457) 2024-02-11 23:12:49 +01:00
Andrei Miloiu
2f1c6c02c1 [INTL] Update Romanian (ro-RO) translation (#6455) 2024-02-11 23:12:31 +01:00
Andrei Miloiu
9caa57b81c [MAIN] Update Romanian (ro-RO) translation (#6454) 2024-02-11 23:12:02 +01:00
Andrei Miloiu
f65bb1fbf2 [ZIPFLDR] Update Romanian (ro-RO) translation (#6453) 2024-02-11 23:11:26 +01:00
Andrei Miloiu
753f812477 [MYDOCS] Update Romanian (ro-RO) translation (#6442) 2024-02-11 23:10:23 +01:00
Andrei Miloiu
feabd323a2 [SHELL32] Update Romanian (ro-RO) translation (#6441) 2024-02-11 23:09:32 +01:00
Andrei Miloiu
027bd7a0e3 [EXPLORER] Update Romanian (ro-RO) translation (#6440) 2024-02-11 23:08:58 +01:00
Andrei Miloiu
0dedd17da0 [TASKMGR] Update Romanian (ro-RO) translation (#6439) 2024-02-11 23:08:23 +01:00
Andrei Miloiu
ac72fa9d0d [OLEACC] Update Romanian (ro-RO) translation (#6438) 2024-02-11 22:59:02 +01:00
Andrei Miloiu
c33cbb2d51 [CONSOLE] Update Romanian (ro-RO) translation (#6437) 2024-02-11 22:57:49 +01:00
Andrei Miloiu
17a7e8bb7c [DISKPART] Update Romanian (ro-RO) translation (#6436) 2024-02-11 22:56:56 +01:00
Andrei Miloiu
8ad62af971 [SNDREC32] Update Romanian (ro-RO) translation (#6435) 2024-02-11 22:56:35 +01:00
Andrei Miloiu
3fa8e4ca82 [SNDVOL32] Update Romanian (ro-RO) translation (#6434) 2024-02-11 22:54:59 +01:00
Andrei Miloiu
8f0657a33b [OSK] Update Romanian (ro-RO) translation (#6433) 2024-02-11 22:54:41 +01:00
Andrei Miloiu
21587a0e32 [INF] Update Romanian (ro-RO) translation (#6432) 2024-02-11 22:53:47 +01:00
Andrei Miloiu
1ea13606c4 [FRAGINATOR] Update Romanian (ro-RO) translation (#6431) 2024-02-11 22:53:04 +01:00
Andrei Miloiu
3ed8b90e47 [VDCCONTROLTOOL] Update Romanian (ro-RO) translation (#6430) 2024-02-11 22:52:17 +01:00
Joachim Henze
874b5a4e00 [NETSHELL] Trivial tweaks (#6484)
Some trivial tweaks that I saw while backporting other stuff:
- es-ES.rc/pt-PT.rc: undesired spaces at the end of groupboxes, which were used as a historic workaround ~ 10 years ago
- zh-TW.rc: wrong indentation (tabs instead of spaces)
- shfldr_netconnect.cpp: superfluous GPL duplication, unneeded exclamation-marks in dbg-prints, undesired double-space formatting

saves a few bytes
2024-02-11 22:51:54 +01:00
Andrei Miloiu
edf3cc7a7a [MSI] Update Romanian (ro-RO) translation (#6429) 2024-02-11 22:51:15 +01:00
Andrei Miloiu
a1756b347e [USETUP] Update Romanian (ro-RO) translation (#6428) 2024-02-11 22:50:49 +01:00
Hermès Bélusca-Maïto
46831c537f [HAL] HalInitializeBios() should not explicitly call HalpBiosDisplayReset().
While the BIOS support for INT10h emulation has been set up, any
modification of the display should wait until the kernel requests
video initialization with INBV/bootvid.
The latter will call HalResetDisplay() (that calls HalpBiosDisplayReset())
at the correct time.
This avoids an useless video mode change and reset when booting ReactOS.
2024-02-11 18:51:40 +01:00
Dmitry Borisov
adf534b284 [NTOS:IO] Initialize InterruptObject to NULL on failure
Fixes a pool corruption when trying to handle IRP_MN_REMOVE_DEVICE in the driver

CORE-17256
2024-02-11 20:24:15 +03:00
Dmitry Borisov
f4a38a05ec [KMTESTS:NTOS_IO] Add a simple test for IoConnectInterrupt
CORE-17256
2024-02-11 20:24:15 +03:00
Katayama Hirofumi MZ
f8cb6458e4 [MSUTB][SDK] Add CTipbarWnd Part 4 (#6478)
Supporting the Language bar...
JIRA issue: CORE-19363
- Add implementation to CTipbarWnd.
- Implement GetLibTls function.
2024-02-11 17:21:14 +09:00
Katayama Hirofumi MZ
23db429e42 [MSCTF][MSUTB][SDK] Add CTipbarItem and CTipbarThread (#6477)
Supporting the Language bar...
JIRA issue: CORE-19363
- Modify msctf.spec.
- Add CTipbarThread and
  CTipbarItem classes.
2024-02-11 13:24:41 +09:00
Serge Gautherie
eb55d984c0 [GITHUB] build.yml: Re-enable 'build-msbuild-i386' (#6470)
Something fixed it in the meantime.

Revert 0.4.15-dev-6069-g 56a45014. CORE-18911
2024-02-10 13:36:38 +03:00
Serge Gautherie
24dea07c3c [GITHUB] build.yml: Use all matrix values to restore Linux build cache (#5595)
Do not mix different build configurations. Extend cache key.

Addendum to 0.4.15-dev-2996-g f777e6bd and 0.4.15-dev-6472-g 732f223c.
2024-02-10 13:32:27 +03:00
Katayama Hirofumi MZ
b548b05e89 [MSUTB] Disable Desk Band (#6472)
Supporting Language Bar...
JIRA issue: CORE-19363
- Add IDD_CLOSELANGBARNOBAND and 
  IDD_MINIMIZELANGBARNOBAND resource dialogs.
- Add IDB_BITMAP154 and IDB_BITMAP155 resource
  bitmaps.
- Disable Desk Band by using g_bEnableDeskBand
  global variable.
2024-02-10 18:12:45 +09:00
Katayama Hirofumi MZ
152af475b1 [MSUTB][SDK] Implement SetRegisterLangBand (#6471)
Supporting Language Bar...
JIRA issue: CORE-19363
- Add some helper functions.
- Implement SetRegisterLangBand
  function.
2024-02-10 16:04:33 +09:00
Katayama Hirofumi MZ
463fec0503 [MSUTB] Implement GetPopupTipbar (#6469)
Supporting Language Bar...
JIRA issue: CORE-19363
- Add GetTipbarInternal helper function.
- Implement GetPopupTipbar function.
2024-02-10 15:14:21 +09:00
Katayama Hirofumi MZ
a6ab8ca780 [MSUTB] Implement ClosePopupTipbar (#6468)
Supporting Language Bar...
JIRA issue: CORE-19363
- Implement ClosePopupTipbar function.
2024-02-10 14:25:12 +09:00
Katayama Hirofumi MZ
c6ceae3440 [MSUTB] Add CTipbarWnd Part 3 (#6467)
Supporting Language Bar...
JIRA issue: CORE-19363
- Add implementation to
  CTipbarWnd class.
- Add delay link to imm32.dll.
2024-02-10 13:04:37 +09:00
Maj Soklič
5974982d9c [GITHUB] Update Actions for Node.js 16 deprecation preparation (#5819)
GitHub started to show deprecation warnings for all Node.js 16 based Actions:
https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/

In order to resolve this:
- build.yml: Update cache to v4
- labeler.yml:
  - Remove the now optional 'repo-token' argument
  - Add 'sync-labels' to remove non-actual labels on PR updates
- stale.yml: Remove useless issue permission since we don't have issues enabled
2024-02-10 02:50:59 +03:00
Stanislav Motylkov
6f874a4656 [GITHUB] Fix Labeler rule for 'drivers'
Addendum to d18b6fc4.
2024-02-10 02:08:04 +03:00
Stanislav Motylkov
d18b6fc437 [GITHUB] Upgrade Labeler rules for v5
Addendum to 51f3ef04.
2024-02-10 01:42:13 +03:00
Hermès Bélusca-Maïto
88891d2ce7 [SETUPLIB][USETUP] Convert MUI_LANGUAGE GeoID values to numbers. 2024-02-09 22:33:30 +01:00
Hermès Bélusca-Maïto
c26a2e89eb [SETUPLIB][USETUP] Convert MUI_LANGUAGE codepages to numbers. 2024-02-09 22:06:39 +01:00
Hermès Bélusca-Maïto
f0a1d766f1 [SETUPLIB][USETUP] Convert internal MUI_LAYOUTS data to numbers.
LangID is a LANGID and LayoutID is a KLID: keyboard layout ID.
See terminology at http://archives.miloush.net/michkap/archive/2004/11/27/270931.html

These tables of MUI_LAYOUTS for each language, correspond to the
intl.inf LCID map:
```
; List of locales.
; <LCID> = <Description>,<OEMCP>,<Language Group>,<langID:HKL pair>,<langID:HKL pair>,...
```
where:
- each MUI_LANGUAGE entry corresponds to one such locale description;
- each MUI_LAYOUTS entry corresponds to a <langID:HKL pair>.

See http://archives.miloush.net/michkap/archive/2006/10/14/825404.html
for some details.
2024-02-09 21:28:23 +01:00
Adam Stachowicz
51a446f966 [GITHUB] build.yml: Update actions to latest versions (#6327) 2024-02-09 22:54:15 +03:00
Adam Stachowicz
51f3ef04f2 [GITHUB] labeler.yml: Update to v5 (#6326)
Release notes: https://github.com/actions/labeler/releases
2024-02-09 22:52:12 +03:00
Adam Stachowicz
f0faa45159 [GITHUB] stale.yml: Update to v9 (#6325)
Release notes: https://github.com/actions/stale/releases
2024-02-09 22:50:40 +03:00
Hermès Bélusca-Maïto
475098c8b1 [NTOS:IO] Don't uppercase the ServiceName in IopDisplayLoadingMessage().
Problematic behaviour was added in commit a97f262ed (r26067), and
commit c39812d1b (r46193) converted to RtlUpcaseUnicodeString() call.

This was modifying the caller's given string. This is not really
a good practice to do so just to make display fancier.

For example, IopInitializeBuiltinDriver(), that calls the display
function, also uses the passed ServiceName later after.

Because IopDisplayLoadingMessage() executes only in SOS mode,
uppercasing the ServiceName in one case but not the other would
implicitly modify the observable OS behaviour.

IopSuffixUnicodeString() is adapted to be similar to RtlPrefixUnicodeString().
2024-02-09 17:16:20 +01:00
Hermès Bélusca-Maïto
3b60f4fa13 [NTOS:IO] Fix a count in characters vs. bytes mismatch. 2024-02-09 17:14:19 +01:00
Hermès Bélusca-Maïto
d1b3115afa [NTOS:IO] IopDisplayLoadingMessage(): Display the loading messages only in SOS mode.
- Make the boolean SosEnabled from ex/init.c visible globally so that
  it can be checked against by IopDisplayLoadingMessage().

- Also use RtlString* function to construct the string.
2024-02-09 17:13:30 +01:00
Hermès Bélusca-Maïto
17c59456cd [NTOS:IO] Minor formatting for IopSuffixUnicodeString and IopDisplayLoadingMessage.
- Doxygen comments;
- SAL annotations;
- These two functions are local to driver.c file only -> static'ify them.
- 2 -> sizeof(WCHAR);
- Rename Length to NumChars;
- static const'ify the L".SYS" string.
2024-02-09 17:00:25 +01:00
Hermès Bélusca-Maïto
08afb1f4b4 [NTOS:INBV] Don't include the fancy splashscreen logo as well
CORE-19449
2024-02-09 12:00:01 +01:00
Hermès Bélusca-Maïto
ee2e256ebf [NTOS:INBV] Disable fancy boot splashscreen features
CORE-19449
2024-02-09 11:52:23 +01:00
Katayama Hirofumi MZ
afaa05e366 [MSUTB][SDK] Add CTipbarWnd Part 2 (#6466)
Supporting Language Bar...
JIRA issue: CORE-19363
- Add implementation to
  CTipbarWnd class.
- Add delay link to uxtheme.dll.
2024-02-09 18:28:24 +09:00
Katayama Hirofumi MZ
f8b62abf16 [MSUTB][SDK] Add CTipbarWnd (stub) (#6465)
Supporting Language Bar...
JIRA issue: CORE-19363
- Add CTipbarWnd class (stub;
  empty implementation).
2024-02-09 15:04:45 +09:00
Hermès Bélusca-Maïto
87df3b548e [SETUP:REACTOS] Temporarily use USETUP file/cabinet extraction routines.
Do this until Wine's setupapi cabinet extraction becomes faster...
2024-02-08 19:08:46 +01:00
Hermès Bélusca-Maïto
bff31569e6 [USETUP] Make the "SpApiSup" files usable from e.g. the GUI setup. 2024-02-08 19:08:39 +01:00
Hermès Bélusca-Maïto
864aed6bcd [SDK:CRT] malloc.h: Use MS PSDK-compatible guard name instead of MinGW one.
Use the MS PSDK-compatible name _INC_MALLOC, instead of the MinGW one
_MALLOC_H_, so that code that may depend on this to determine whether
malloc.h functions are defined, can compile without problems.
2024-02-08 17:48:58 +01:00
Katayama Hirofumi MZ
362804169d [MSUTB] Add CShellWndThread (#6463)
Supporting Language Bar...
JIRA issue: CORE-19363
- Implement CShellWndThread class.
2024-02-08 22:13:44 +09:00
Katayama Hirofumi MZ
5901716c07 [MSUTB] Add CTipbarGripper (#6462)
Supporting Language Bar...
JIRA issue: CORE-19363
- Half-implement CTipbarGripper class.
2024-02-08 20:31:01 +09:00
Katayama Hirofumi MZ
3581a79ebf [SDK] cicutf.h: s/OnPointingEnded/OnMouseOutFromWindow/ (#6461)
Supporting Language Bar...
JIRA issue: CORE-19363
Renaming method.
2024-02-08 14:13:59 +09:00
Adam Słaboń
1f28f715ba [NTOS:FSTUB] Pack the MASTER_BOOT_RECORD structure (#6416)
Otherwise the USHORT members are aligned to 4-byte boundary space
which overflows the disk sector buffer and ultimately results in crash.
This can be reproduced by trying to format the USB drive with Rufus.

Also put some additional C_ASSERT checks for extra safety.
2024-02-08 01:02:19 +03:00
Katayama Hirofumi MZ
7dd3308828 [MSUTB][SDK] Add CUTBContextMenu (#6452)
Supporting Language Bar...
JIRA issue: CORE-19363
- Add some resource strings.
- Half-implement CUTBContextMenu
  class.
2024-02-07 16:47:10 +09:00
Katayama Hirofumi MZ
c9c5b3d3ae [MSUTB][SDK] Add CModalMenu (#6451)
Supporting Language Bar...
JIRA issue: CORE-19363
- Fix the return value type of
  CUIFObject::Initialize method.
- Implement CModalMenu class.
2024-02-07 14:11:21 +09:00
Doug Lyons
2bc44bf95c [MSI] Don't write past end of string when selecting parent directory (#6335)
Import Wine commit: bbce5d014d

Since there's not really something sensible to do in the
"path contains no backslashes" case (adding a backslash seems pointless),
move PathAddBackslashW call inside the if condition to avoid the crash.
Fix suggested by Thomas Faber.

This fixes heap assert in msi/dialog.c when installing Tortoise GIT.
CORE-16693

Co-authored-by: Thomas Faber <thomas.faber@reactos.org>
Co-authored-by: Fabian Maurer <dark.shadow4@web.de>
2024-02-06 23:20:57 +03:00
Katayama Hirofumi MZ
0bce79a50b [MSCTF][MSUTB][SDK] Add CLBarInatItem (#6447)
Supporting Language Bar...
JIRA issue: CORE-19363
- Modify msctf.spec.
- Add some helper functions.
- Half-implement CLBarInatItem class.
- Add some TF_... function prototypes
  to "msctf.idl".
2024-02-06 21:39:32 +09:00
Katayama Hirofumi MZ
8bf0854c8e [MSUTB] Add CLBarItemButtonBase (#6446)
Supporting Language Bar...
JIRA issue: CORE-19363
- Implement CLBarItemButtonBase class.
- Improve CLBarItemBase class.
2024-02-06 15:58:16 +09:00
Katayama Hirofumi MZ
8bfebdf444 [MSUTB] Add CUTBLBarMenu (#6445)
Supporting Language Bar...
JIRA issue: CORE-19363
- Implement CUTBLBarMenu class.
2024-02-06 13:34:34 +09:00
Katayama Hirofumi MZ
34705d1a5d [MSUTB][SDK] Add CLBarItemBase (#6444)
Supporting Language Bar...
JIRA issue: CORE-19363
- Implement CLBarItemBase class.
- Add TF_E_... flags to "msctf.idl".
2024-02-06 12:21:46 +09:00
Hervé Poussineau
9e43518da5 [NTOS:PO] Set SystemBatteriesPresent when having a battery device in the system
This is (at least) used by powercfg.cpl to know if it needs to display some additional pages.
2024-02-05 18:04:02 +01:00
Hervé Poussineau
dff8b93ee2 [NTOS:PO] Give the power device type to PopAddRemoveSysCapsCallback function 2024-02-05 18:04:02 +01:00
Hervé Poussineau
0be4e4aa6d [CMBATT] Correctly print UNICODE_STRING 2024-02-05 18:04:01 +01:00
Katayama Hirofumi MZ
c858429fb1 [COMCTL32] ToolTips: Don't set text on default LPSTR_TEXTCALLBACK (#6412)
Based on KRosUser's tooltip_fix.patch.
JIRA issue: CORE-19309
Don't set text on default processing
of LPSTR_TEXTCALLBACK.
2024-02-05 08:08:33 +09:00
Oleg Dubinskiy
290221ef5b [SHELL32] Sync HCR_RegGetIconW() function to Wine 9.1 (#6418)
Import the following fixes:
- Use the number of bytes instead of the number of characters in the length
  passed to RegQueryValueExW. Calculate this by multiplying the number of
  characters on the size of one wide character in bytes, since only length
  of characters is passed to the function. This fixes ERROR_MORE_DATA
  returned from RegQueryValueExW, because the passed number of bytes was
  less than the actual length of the output buffer, since it was calculated
  incorrectly, so the function failed even when it received the correct
  number of wide characters.
  This partially imports Wine commit:
  32584bb521.
- Limit the number of characters in registry icon index buffer from 7 to 5,
  as it done in ANSI version of this function, since registry index number
  can contain up to 4 digits + space for the null-terminator.

This fixes problems when loading custom (user-defined) icons from registry,
like icons defined by the current user or for all users, instead of just
default icons from the root classes.

CORE-14758

Co-authored-by: Zhiyi Zhang <zzhang@codeweavers.com>
2024-02-02 18:10:36 +03:00
Hervé Poussineau
913235952c [ACPI] Return success even if AcpiInterfaceNotificationsRegister is not implemented
Drivers calling this function still won't be notified in case of event,
but they will at least succeed their initialization.

CORE-18309
2024-02-01 10:08:58 +01:00
Hervé Poussineau
7f1025dcce [CMBATT] Send correct tag on IoAcquireRemoveLock
This prevents an assert in IoReleaseRemoveLock in debug builds, which
already receives the 'Irp' tag.
2024-02-01 10:08:58 +01:00
Hervé Poussineau
6b5ee5ccc7 [BATTC] Make input buffer on IOCTL_BATTERY_QUERY_TAG optional
In that case, don't wait to get battery tag.
2024-02-01 10:08:51 +01:00
Hervé Poussineau
385ac5d4d2 [DEVMGR] Fix diagnostic message when device is failing with CM_PROB_FAILED_ADD
In this specific case, we don't have more information to show.
This prevents using "FIXME" string as a placeholder for device details.

CORE-18309
2024-02-01 09:57:02 +01:00
Katayama Hirofumi MZ
c1dfd580ab [MSUTB][SDK] Add InitFromReg (#6425)
Supporting Language Bar...
JIRA issue: CORE-19363
- Add many global variables
  to add UTB settings.
- Add IsSkipRedrawHKL, IsBiDiLocalizedSystem,
  InitSkipRedrawHKLArray helper functions.
- Add InitFromReg helper function to
  load the settings from registry.
- Add CicRegKey::EnumValue method.
2024-01-31 20:32:21 +09:00
Katayama Hirofumi MZ
5e4fe2cf40 [MSCTF][MSUTB][SDK] Add CTrayIconWnd and CMainIconItem (#6424)
Supporting Language Bar...
JIRA issue: CORE-19363
- Add CTrayIconWnd, CMainIconItem,
  and CButtonIconItem classes.
- Modify msctf.spec for TF_GetLangIcon
  function.
- Add main icon IDI_MAINICON
  ("res/earth.ico").
2024-01-31 16:52:02 +09:00
Katayama Hirofumi MZ
1311537435 [MSUTB][SDK] Implement DoCloseLangbar (#6423)
Supporting Language Bar...
JIRA issue: CORE-19363
- Implement GetGlobalCompartment function.
- Implement GetGlobalCompartmentDWORD and
  SetGlobalCompartmentDWORD helper functions.
- Implement TurnOffSpeechIfItsOn and
  DoCloseLangbar functions.
2024-01-31 12:21:09 +09:00
Katayama Hirofumi MZ
934cd46df5 [MSUTB][SDK] Add Language Bar dialogs (#6422)
Supporting Language Bar...
JIRA issue: CORE-19363
- Add IDD_CLOSELANGBAR and
  IDD_MINIMIZELANGBAR
  resource dialogs.
- Implement CUTBLangBarDlg class.
- Implement CUTBCloseLangBarDlg
  and CUTBMinimizeLangBarDlg
  classes.
2024-01-30 15:38:53 +09:00
Katayama Hirofumi MZ
1001b59a06 [MSUTB][SDK] Add CUTBMenuWnd and CUTBMenuItem (#6420)
Supporting Language Bar...
JIRA issue: CORE-19363
- Implement CUTBMenuWnd and
  CUTBMenuItem classes.
- Add IDS_MENUWND and
  IDS_LEFTCLICK resource strings.
2024-01-29 18:38:59 +09:00
Katayama Hirofumi MZ
c0020b6821 [MSUTB] Add CTipbarAccessible (#6417)
Supporting Language Bar...
JIRA issue: CORE-19363
- Implement CTipbarAccessible class.
- Add delay link to oleacc.dll.
2024-01-28 11:35:44 +09:00
Stanislav Motylkov
b50dfbcee4 [DESK][SHELL32] Improve French (fr-FR) translation
Make "My Network Places" translation consistent.
Fix suggested by Hermès Bélusca-Maïto.
2024-01-27 15:06:12 +03:00
Katayama Hirofumi MZ
883863fa50 [MSUTB] Add CTipbarAccItem (#6415)
Supporting Language Bar...
JIRA issue: CORE-19363
Half-implement CTipbarAccItem class.
2024-01-27 19:25:17 +09:00
Katayama Hirofumi MZ
d6caac3056 [MSUTB] Add CCicLibMenu and CCicLibMenuItem (#6414)
Supporting Language Bar...
JIRA issue: CORE-19363
- Implement CCicLibMenu and
  CCicLibMenuItem classes.
2024-01-27 14:06:25 +09:00
Stanislav Motylkov
deee8aaec1 [REGEDIT] edit.c: Display bus number as signed (it can be -1) 2024-01-26 01:18:20 +03:00
Stanislav Motylkov
c9985e48d3 [REGEDIT] Update Russian (ru-RU) translation 2024-01-26 01:08:43 +03:00
Stanislav Motylkov
889cfee653 [FORMAT] Fix translation headers (+ miscellaneous fixes) 2024-01-26 00:02:38 +03:00
Stanislav Motylkov
e480a7d17c [INF] Shortcuts: Remove remaining trailing dots. Addendum to 92a36b3613. 2024-01-25 21:58:40 +03:00
Katayama Hirofumi MZ
6b0ee735c7 [SDK] cicuif.h: Add CUIFMenuItemSeparator (#6411)
Supporting Language Bar...
JIRA issue: CORE-19363
- Add CUIFMenuItemSeparator class.
- Implement CUIFMenu::InsertSeparator
  method.
2024-01-25 12:35:04 +09:00
Katayama Hirofumi MZ
a88c85259b [SDK] cicuif.h: Fix CUIFMenuItem::OnPaintO10 (#6410)
Supporting Language Bar...
JIRA issue: CORE-19363
Implement CUIFMenuItem::OnPaintO10 method.
2024-01-25 12:09:56 +09:00
Katayama Hirofumi MZ
6634f66e0e [SDK] cicuif.h: Fix CUIFMenuItem::OnPaintDef (#6409)
Supporting Language Bar...
JIRA issue: CORE-19363
Implement CUIFMenuItem::OnPaintDef method.
2024-01-25 12:09:02 +09:00
Oleg Dubinskiy
5abf0c76b7 [NTOS:KE/x86/arm] Use a better boot process affinity value (#6399)
Use a value that is independent of the CPU bitness.
Addendum to commit 96d5b6281
2024-01-24 17:52:56 +01:00
Katayama Hirofumi MZ
927b183aa9 [SDK] cicuif.h: Fix CUIFMenuItem::DrawUnderline (#6406)
Supporting Language Bar...
JIRA issue: CORE-19363
Implement CUIFMenuItem::DrawUnderline
method.
2024-01-24 19:13:24 +09:00
Katayama Hirofumi MZ
3ac5de4102 [SDK] cicuif.h: Fix CUIFMenu::OnKeyDown (#6408)
Supporting Language Bar...
JIRA issue: CORE-19363
Implement CUIFMenu::OnKeyDown
method.
2024-01-24 17:52:36 +09:00
Katayama Hirofumi MZ
76c898ca8e [SDK] cicuif.h: Fix CUIFMenuItem::InitMenuExtent (#6407)
Supporting Language Bar...
JIRA issue: CORE-19363
Implement CUIFMenuItem::InitMenuExtent
method.
2024-01-24 17:51:59 +09:00
Katayama Hirofumi MZ
3056f253e4 [SDK] cicuif.h: Fix CUIFMenu::SetMenuFont (#6403)
Supporting Language Bar...
JIRA issue: CORE-19363
Implement CUIFMenu::SetMenuFont
method.
2024-01-24 15:57:45 +09:00
Katayama Hirofumi MZ
f465035cd9 [SDK] cicuif.h: Fix CUIFMenuItem::Init (#6405)
Supporting Language Bar...
JIRA issue: CORE-19363
Implement CUIFMenuItem::Init method.
2024-01-24 14:42:17 +09:00
Katayama Hirofumi MZ
21e759735e [SDK] cicuif.h: Fix CUIFMenuItem::DrawBitmapProc (#6404)
Supporting Language Bar...
JIRA issue: CORE-19363
Implement CUIFMenuItem::DrawBitmapProc
method.
2024-01-24 14:41:46 +09:00
Katayama Hirofumi MZ
f170276fd2 [SDK] cicuif.h: Fix CUIFMenu::InitShow (#6402)
Supporting Language Bar...
JIRA issue: CORE-19363
Implement CUIFMenu::InitShow method.
2024-01-24 14:41:04 +09:00
Katayama Hirofumi MZ
f3ae595df9 [SDK] cicuif.h: Fix CUIFBalloonWindow::CreateRegion (#6401)
Implementing Language Bar...
JIRA issue: CORE-19363
- Implement CUIFBalloonWindow::CreateRegion
  method.
2024-01-24 14:40:31 +09:00
Katayama Hirofumi MZ
062890ac5f [SDK] cicuif.h: Add CUIFMenu and CUIFMenuItem (#6400)
Supporting Language Bar...
JIRA issue: CORE-19363
- Half-implement CUIFMenu
  and CUIFMenuItem.
- Reduce lines.
2024-01-23 20:33:43 +09:00
Andrei Miloiu
e4344ad152 [DOC] Update Romanian translation notes.txt (#6239) 2024-01-21 22:53:35 +01:00
Andrei Miloiu
62f645b753 [SYSSETUP] Update Romanian (ro-RO) translation (#6344) 2024-01-21 22:44:42 +01:00
Andrei Miloiu
7d77a9713e [CHKSDK] Update Romanian (ro-RO) translation (#6354) 2024-01-21 22:42:41 +01:00
Eric Kohl
d3d67bf5bd [SERVICES] Separate the start tag and the service tag of the manages services
This fixes two winetest errors.
2024-01-21 22:42:26 +01:00
Andrei Miloiu
835942fbf6 [FORMAT] Update Romanian (ro-RO) translation (#6355) 2024-01-21 22:30:00 +01:00
Andrei Miloiu
85ad46099c [TREE] Update Romanian (ro-RO) translation (#6358) 2024-01-21 22:25:20 +01:00
Andrei Miloiu
92a36b3613 [INF] Update Romanian (ro-RO) translation (#6359) 2024-01-21 22:25:00 +01:00
Andrei Miloiu
15beb9d754 [NOTEPAD] Update Romanian (ro-RO) translation (#6372) 2024-01-21 22:22:46 +01:00
Andrei Miloiu
189e81d131 [MPLAY32] Update Romanian (ro-RO) translation (#6373) 2024-01-21 22:13:19 +01:00
Andrei Miloiu
735b06bf0a [CHARMAP] Improve Romanian (ro-RO) translation (#6374) 2024-01-21 22:12:15 +01:00
Andrei Miloiu
bc326b966a [SERVMAN] Update Romanian (ro-RO) translation (#6375) 2024-01-21 22:11:41 +01:00
Andrei Miloiu
9e03f07a71 [WINMM] Update Romanian (ro-RO) translation (#6376) 2024-01-21 22:11:26 +01:00
Andrei Miloiu
46edca2036 [MORE] Update Romanian (ro-RO) translation (#6377) 2024-01-21 22:10:54 +01:00
Andrei Miloiu
0b22bf25fc [BROWSEUI] Update Romanian translation (#6378) 2024-01-21 22:10:39 +01:00
Andrei Miloiu
bff61ed75f [SYSDM] Update Romanian (ro-RO) translation (#6379) 2024-01-21 22:10:20 +01:00
Andrei Miloiu
f805438e70 [LSASRV] Update Romanian (ro-RO) translation (#6380) 2024-01-21 22:08:19 +01:00
Andrei Miloiu
aa8069b0f8 [SAMSRV] Update Romanian (ro-RO) translation (#6381) 2024-01-21 22:07:35 +01:00
Andrei Miloiu
b9de02ceec [DISKPART][MC] Update Romanian (ro-RO) translation for message table (#6382) 2024-01-21 22:05:38 +01:00
Andrei Miloiu
a62cc5f9da [EXPLORER_OLD] Update Romanian (ro-RO) translation (#6388) 2024-01-21 22:05:11 +01:00
Andrei Miloiu
846980f299 [USERENV] Update Romanian (ro-RO) translation (#6389) 2024-01-21 21:56:37 +01:00
Andrei Miloiu
cb97d8eaef [COMDLG32] Update Romanian (ro-RO) translation (#6390) 2024-01-21 21:56:11 +01:00
Andrei Miloiu
559933d6de [LABEL] Update Romanian (ro-RO) translation (#6392) 2024-01-21 21:32:41 +01:00
Andrei Miloiu
1c5b5ce8a4 [NETPLWIZ] Update Romanian (ro-RO) translation (#6393) 2024-01-21 21:32:09 +01:00
Andrei Miloiu
a0d7030a06 [ACPPAGE] Update Romanian (ro-RO) translation (#6394) 2024-01-21 21:28:27 +01:00
Andrei Miloiu
82e6688e4d [SUBST] Update Romanian (ro-RO) translation (#6395) 2024-01-21 21:26:30 +01:00
Andrei Miloiu
34d63501ba [SETUPAPI] Update Romanian (ro-RO) translation (#6396) 2024-01-21 21:07:06 +01:00
Justin Miller
748a2e1655 [NTOS] Fix boot on UP build - PrcbLocks are not used on UP (#6391)
On the uniprocessor kernel KiAcquirePrcbLock is a stub that doesn't modify the current Prcb's PrcbLock value.
Quickly protect this assert around CONFIG_SMP
2024-01-20 08:59:13 -08:00
Oleg Dubinskiy
ab528ac6ae [NTOS:KE] Acquire PRCB lock before marking thread ready for execution in dispatch interrupt routine (#6387)
Fixed in x86 and ARM (this was already done in x64).

This is needed because thread preparation routine KxQueueReadyThread()
releases PRCB lock, but does not acquire it, so that the locking must
always be done outside the function, same as in all its other usage cases.
This fixes an assert from release PRCB routine, when booting x86 ReactOS
in SMP mode, because it attempts to release the lock when it is not
actually acquired.

Addendum to commit a011d19ed.

+ Add an assert in KxQueueReadyThread() to ensure the PRCB lock is actually acquired.
2024-01-20 15:58:39 +01:00
Oleg Dubinskiy
f72d6dd4c5 [NTOS:KE] Set IRQL to SYNCH_LEVEL when exiting from idle after the thread is ready for execution (#6386)
CORE-1697

Raise IRQL to SYNCH_LEVEL when exiting from the idle thread in the
idle loop, in case it is scheduled for execution. Then restore it
back to DISPATCH_LEVEL, after this is done.
This behaviour is a bit similar to the way it's done on x64.

This IRQL raise is necessary only in SMP builds.
Calls are placed in CONFIG_SMP ifdef: this avoids unnecessary IRQL
changes on UP, since SYNCH_LEVEL and DISPATCH_LEVEL are identical
there, unlike in MP, where SYNCH_LEVEL is IPI_LEVEL - 2 actually.

This prevents bugcheck DRIVER_IRQL_NOT_LESS_OR_EQUAL when booting
SMP x86 ReactOS, in KiTimerExpiration when calling it 2nd time.
The BSOD happened due to IRQL levels mismatch.
2024-01-20 15:55:20 +01:00
Justin Miller
3306a16e84 [HALX86] Fix SYNCH_LEVEL differences between UP and SMP in HAL (#5874)
First step to fixing the multiprocessor kernel when booting on a single core.
2024-01-20 06:26:59 -08:00
Timo Kreuzer
9c1cfe0587 [NTOS:KE] Fix initialization of node block for application processors
- Initialize KeNodeBlock[0] statically
- Update Prcb->ParentNode->ProcessorMask for all processors
2024-01-18 22:41:46 +01:00
Doug Lyons
619ff7c429 [WS2_32_WINETEST] Patch ws2_32:sock wine test to run on ReactOS (#5609)
Disable ReactOS specific tests which are not implemented yet.
ROSTESTS-385

- Bypass part of test that uses MEM_WRITE_WATCH.
- Bypass three tests that are unimplemented: 1) WSPAcceptEx, 2) WSPConnectEx, and 3) WSPDisconnectEx
2024-01-18 12:11:25 +01:00
Katayama Hirofumi MZ
73ba03add1 [SDK] cicuif.h: Add CUIFBalloonButton and CUIFBalloonWindow (#6384)
Supporting TIPs...
JIRA issue: CORE-19360
- Implement CUIFBalloonButton class.
- Half-implement CUIFBalloonWindow class.
2024-01-18 19:25:46 +09:00
Hermès Bélusca-Maïto
feb67576dd [NTOS:CM][CMLIB] In PE mode, allow registry hives (except system ones) to use read/write access.
+ Improve related comments.

Registry hives are opened in shared read access when NT is loaded in PE
mode (MININT) or from network (the hives residing on a network share).
This is true in particular for the main system hives (SYSTEM, SOFTWARE,
DEFAULT, ...).

However, in PE mode, we can allow other hives, e.g. those loaded by the
user (with NtLoadKey) to be loaded with full read/write access, since we
boot from a local computer.
2024-01-17 22:13:03 +01:00
Hermès Bélusca-Maïto
793ee786cd [NTOS:CM] Initially start the registry in read-only mode.
Disable registry hive writes, until the IO subsystem is initialized
and disk access is enabled (when the SM signals so after AUTOCHK).
2024-01-17 22:09:45 +01:00
Hermès Bélusca-Maïto
76f1da5631 [NTOS:CM][CMLIB] Minor code styling
In particular remove some extra-parentheses around single code tokens,
and replace few "DPRINT1 + while (TRUE);" by UNIMPLEMENTED_DBGBREAK.

+ Improve some comments.
2024-01-17 22:09:37 +01:00
Whindmar Saksit
d41dec2e07 [SHELL32][CONTROL] Added basic IOpenControlPanel support (#6248)
Add a basic IOpenControlPanel implementation that supports Vista canonical registry names.

Implements `control.exe /name company.name [/page id]` and `IOpenControlPanel`
handling of Vista-style canonical registry names.

The documented `Microsoft.*` names don't work because they are simply not
in our registry but "[Executable Control Panel Items](https://learn.microsoft.com/en-us/windows/win32/shell/how-to-register-an-executable-control-panel-item-registration-)" registered by 3rd-party ISVs
will function correctly in control.exe and the COM API.

Notes:

- `IOpenControlPanel` is implemented in CControlPanelFolder.cpp because
  it is supposed to have tighter integration with that shell folder than
  it does in this PR.

- `IOpenControlPanel` is also supposed to handle .cpl files with canonical
  names registered under [`Extended Properties`](https://learn.microsoft.com/en-us/windows/win32/shell/how-to-register-dll-control-panel-item-registration-#step-3) but the control panel folder
  does not implement `IShellFolder2::GetDetailsEx` yet, so it will have to wait.

- These "Executable Control Panel Items" are also supposed to be displayed
  in the control panel itself but this PR does not address that. The
  `ITEMIDLIST` format for those needs investigation...

- The Wow64 handling is perhaps not correct but it does not matter,
  `ShellExecuteEx` gets to deal with whatever is in the `...\shell\open\command` key.
  `CControlPanelFolder` would have to take more care when it starts
  reading those keys so it knows when to append "(32-bit)" to the display name.

- `%s%s` because .cpl canonical names don't have the `::` prefix according
  to Geoff Chappell.

- Always returns `CPVIEW_CLASSIC` because our `CControlPanelFolder` does
  not support the category view.
2024-01-17 17:07:21 +01:00
Doug Lyons
fb43301bad Fix Cursor Position in "...file name:" box when opening from Explorer 'Search' toolbar (#6333)
Original patch by @I_Kill_Bugs.
Fix Cursor being in middle of '...file name:' edit box when using 'Search' from the Explorer toolbar.

JIRA issue: CORE-19407
2024-01-17 07:42:18 -08:00
Serge Gautherie
2505489d29 [MKISOFS] CMakeLists.txt: Add a check for Clang and its version (#6369)
GCC 8.4 and Clang 13.0.1:
`cc1: note: unrecognized command-line option ‘-Wno-deprecated-non-prototype’ may have been intended to silence earlier diagnostics`

Addendum to commit 4e3bf252d
2024-01-17 16:32:46 +01:00
Jose Carlos Jesus
d4a453ca2e [TRANSLATION] Improve Portuguese (pt-PT) translation (#6171)
Updates for DESK.CPL, INPUT.CPL, EXPLORER.EXE, SHELL32.DLL
2024-01-17 16:07:21 +01:00
Katayama Hirofumi MZ
89d8b472af [MSUTB] Add CTrayIconItem (#6371)
Supporting Language Bar...
JIRA issue: CORE-19363
- Implement CTrayIconItem class.
- Add delay link to shell32.dll.
2024-01-17 12:42:54 +09:00
Katayama Hirofumi MZ
ae54529024 [SDK] cicuif.h: Add CUIFWndFrame (#6370)
Supporting TIPs...
JIRA issue: CORE-19360
Implement CUIFWndFrame class.
2024-01-17 12:42:18 +09:00
Adam Słaboń
823fdb19d7 [SDK][VIRTIO][NETKVM] Make VirtIO a separate library (#6280)
* [SDK][VIRTIO][NETKVM] Make VirtIO a separate library

This is to avoid code duplication when more VirtIO drivers are brought in. This will also be used on development of a VirtIO XDDM GPU Driver.

* [VIRTIO] Sync with upstream
2024-01-16 17:55:35 -08:00
Timo Kreuzer
96d5b6281d [NTOS:KE/x64] Fix boot process affinity 2024-01-16 08:15:53 +01:00
Timo Kreuzer
1ee23d33ac [NTOS:KE] Fix some KAFFINITYs 2024-01-16 08:15:53 +01:00
Andrei Miloiu
a175a88fcb [DESK] Update Romanian (ro-RO) translation (#6350) 2024-01-15 22:25:11 +01:00
Andrei Miloiu
e084cbc7c3 [CMD] Update Romanian (ro-RO) translation (#6366) 2024-01-15 22:23:07 +01:00
Andrei Miloiu
d1097a2b16 [CALCULATOR] Update Romanian (ro-RO) translation (#6362) 2024-01-15 22:20:50 +01:00
Andrei Miloiu
fe4a7918d3 [WINMINE] Update Romanian (ro-RO) translation (#6363) 2024-01-15 22:20:27 +01:00
Andrei Miloiu
bfe233912d [SHIMGVW] Update Romanian (ro-RO) translation (#6356) 2024-01-15 22:19:09 +01:00
Andrei Miloiu
cb53a0df1b [SHDOCLC] Update Romanian (ro-RO) translation (#6357) 2024-01-15 22:15:57 +01:00
Andrei Miloiu
cd4c1c563b [SOLITAIRE] Update Romanian (ro-RO) translation (#6361) 2024-01-15 22:13:04 +01:00
Andrei Miloiu
7cf14d6d34 [SPIDER] Update Romanian (ro-RO) translation (#6360) 2024-01-15 22:08:26 +01:00
Andrei Miloiu
ea06bf8cb1 [RASDLG] Update Romanian (ro-RO) translation (#6345) 2024-01-15 22:07:35 +01:00
Andrei Miloiu
d089dccdde [EXPLORER] Update Romanian (ro-RO) translation (#6351) 2024-01-15 22:06:54 +01:00
Andrei Miloiu
fd573dee26 [SHELL32] Update Romanian (ro-RO) translation (#6352) 2024-01-15 22:06:16 +01:00
Andrei Miloiu
c54f935918 [MSPAINT] Update Romanian (ro-RO) translation (#6364) 2024-01-15 22:05:02 +01:00
Andrei Miloiu
10e6061bb9 [SENDMAIL] Update Romanian (ro-RO) translation (#6353) 2024-01-15 21:59:19 +01:00
Andrei Miloiu
703e2cd1bb [SYSDM] Update Romanian (ro-RO) translation (#6367) 2024-01-15 21:58:35 +01:00
Andrei Miloiu
6f90b43f8a [APPWIZ] Improve Romanian (ro-RO) translation (#6343) 2024-01-15 21:57:52 +01:00
Andrei Miloiu
293aa53c62 [HDWWIZ] Update Romanian (ro-RO) translation (#6342) 2024-01-15 21:56:51 +01:00
Andrei Miloiu
0830e7a445 [REACTOS] Update Romanian (ro-RO) translation (#6341) 2024-01-15 21:56:32 +01:00
Andrei Miloiu
744c1395fd [USERINIT] Update Romanian (ro-RO) translation (#6340) 2024-01-15 21:55:34 +01:00
Andrei Miloiu
12056e88eb [WINLOGON] Update Romanian (ro-RO) translation (#6261) 2024-01-15 21:54:11 +01:00
Andrei Miloiu
8080492b39 [MORE] Update Romanian (ro-RO) translation (#6259) 2024-01-15 21:53:42 +01:00
Katayama Hirofumi MZ
6294f5b3ff [SDK] cicuif.h: Fix CUIFSchemeDef::DrawCtrlEdge (#6347)
Supporting TIPs...
JIRA issue: CORE-19360
Implement CUIFSchemeDef::DrawCtrlEdge method.
2024-01-15 10:36:42 +09:00
Katayama Hirofumi MZ
1156249d63 [SDK] cicuif.h: Fix CUIFSchemeDef::DrawCtrlBitmap (#6348)
Supporting TIPs...
JIRA issue: CORE-19360
Implement CUIFSchemeDef::DrawCtrlBitmap method.
2024-01-15 10:36:12 +09:00
Hervé Poussineau
922757e2e3 [FREELDR:UI] Update display after restoring screen contents
JIRA issue: CORE-18186
2024-01-14 19:12:11 +01:00
Serge Gautherie
2c895c986f [CMAKE][WIN32U_APITEST] Remove 3 useless 'set_module_type(... IMAGEBASE default)' (#6328)
And add an explicit documentation comment.

Addendum to commit 2b7246fd3.
2024-01-14 16:07:00 +01:00
Katayama Hirofumi MZ
cbc3ee2287 [JOY] Add IDCANCEL action to MainPageProc (#6346)
Based on KRosUser's joycancel.patch. Enable Esc key and Close button.
JIRA issue: CORE-19424
Insert a line of "case IDCANCEL:".
2024-01-14 20:48:34 +09:00
Timo Kreuzer
92db51883a [MSVCRT] Add asm wrapper around RtlUnwind for Wine code
This is needed, because Wine code expects RtlUnwind to restore the non-volatile registers, before returning, but ours / the native one doesn't do that.
Should fix CORE-19392 and CORE-19397
2024-01-13 19:39:23 +02:00
Timo Kreuzer
d52b70a73e [NTDLL_APITEST] Add test for x86 RtlUnwind 2024-01-13 19:39:23 +02:00
Hervé Poussineau
382836f087 [TCPIP] Remove code duplication to get max link speed, MTU and max packet size
This is already done when link goes up, in ReconfigureAdapter() function.
2024-01-13 15:23:46 +01:00
Hervé Poussineau
89b685007a [TCPIP] Call netif_set_link_up/netif_set_link_down after link status change
- Update TCP cached information only after updating adapter information
  (so that TCPUpdateInterfaceIPInformation/TCPUpdateInterfaceLinkStatus
  gets new status)
- Call netif_set_link_up/netif_set_link_down in TCPUpdateInterfaceLinkStatus

This fixes a lwIP requirement:
  2007-07-13 Jared Grubb (integrated by Frédéric Bernon)
  * [...] Be carefull for port maintainers to add the NETIF_FLAG_LINK_UP
    flag (like in ethernetif.c) if you want to be sure to be compatible with
    future changes...
2024-01-13 15:23:46 +01:00
Hervé Poussineau
3e3d34d97b [TCPIP] Get max link speed, MTU and max packet size when adapter is connected 2024-01-13 15:23:46 +01:00
Timo Kreuzer
4c9037fff1 [CRT_APITEST] Fix some Vista+ tests 2024-01-13 15:15:47 +02:00
Katayama Hirofumi MZ
d6b5c19233 [SDK] cicuif.h: Add CUIFToolbarButton (#6338)
Supporting TIPs...
JIRA issue: CORE-19360
- Add CUIFToolbarButton class.
2024-01-13 18:21:03 +09:00
Katayama Hirofumi MZ
fa2715fb6b [SDK] cicuif.h: Add CUIFToolbarMenuButton (#6336)
Supporting TIPs...
JIRA issue: CORE-19360
- Add CUIFToolbarMenuButton class.
- Add CUIFToolbarButtonElement class.
2024-01-13 16:02:36 +09:00
Thomas Faber
286d460b45 [CRTDLL_APITEST] Oops. Fix that other compiler. CORE-16933 2024-01-12 12:58:27 -05:00
Thomas Faber
c8aba5a172 [CRT_APITEST] Add tests for _mbsncmp and _mbsstr. CORE-16933 2024-01-12 12:36:43 -05:00
Katayama Hirofumi MZ
4490a053d0 [SHELL32] Improve error message on copying files (#6290)
Based on KRosUser's copyerrorfix.patch.
JIRA issue: CORE-19414
- If feFrom->szFilename was empty,
  then use feFrom->szFullPath instead.
2024-01-12 16:01:21 +09:00
Katayama Hirofumi MZ
f51258ae51 [SDK] cicuif.h: Reduce magic numbers (#6334)
Improve human readability.
JIRA issue: CORE-19360
- Define some flags of m_style.
- Define some flags of dwDrawFlags.
- Reduce some magic numbers.
2024-01-12 13:40:28 +09:00
Katayama Hirofumi MZ
4287f07c75 [SDK] cicuif.h: Add CUIFGripper (#6332)
Supporting TIPs...
JIRA issue: CORE-19360
- Add CUIFGripper class.
2024-01-11 22:09:19 +09:00
Muhammad Faathin Abdurrahman
5391eaadff [KERNEL32] OpenFile(): Use InitializeObjectAttributes (#6323)
Use InitializeObjectAttributes macro instead of initializing the members manually.
2024-01-11 12:31:12 +01:00
Adam Słaboń
8d1beca119 [NTOSKRNL_VISTA] IoQueueWorkItemEx: Pass new context for the queue (#6276)
Passing parameter-provided context results in missing WorkerRoutine and WorkItem when callback is executed.
2024-01-11 12:29:53 +01:00
Jose Carlos Jesus
2f2167abb0 [BOOTDATA] Add Portuguese (pt-PT) translation to hivecls.inf (#6218) 2024-01-11 11:59:11 +01:00
Katayama Hirofumi MZ
74ff3844cc [SDK] cicuif.h: Add CUIFButton2 (#6331)
Supporting TIPs...
JIRA issue: CORE-19360
- Improve CUIFScheme class.
- Add CUIFButton2 class.
2024-01-11 18:44:43 +09:00
Katayama Hirofumi MZ
5719896650 [SDK] cicuif.h: Refactoring Part 2 (#6330)
Supporting TIPs...
JIRA issue: CORE-19360
- Fix some mistakes of
  CUIFButton::OnMouseIn and
  CUIFButton::OnMouseOut.
- Fix some mistakes of CUIFObject
  and CUIFWindow.
2024-01-10 13:13:21 +09:00
Katayama Hirofumi MZ
e694e24720 [RAPPS] Don't download database at startup if appwiz mode (#6319)
Providing quick access of Control
Panel "Add/Remove Programs".
JIRA issue: CORE-19419
- Don't download the database if
  bAppwizMode in ParseCmdAndExecute
  function.
- Add CAppDB::GetAvailableCount method.
- Add CMainWindow::CheckAvailable method.
- Use CMainWindow::CheckAvailable in
  some cases of TVN_SELCHANGED handling.
2024-01-10 11:36:30 +09:00
Katayama Hirofumi MZ
d3ae8258c2 [SDK] cicuif.h: Add CUIFSchemeDef (#6329)
Supporting TIPs...
JIRA issue: CORE-19360
- Add CUIFSchemeDef class.
- Improve CUIFWindow class.
2024-01-10 11:25:59 +09:00
Katayama Hirofumi MZ
9a9b22aac1 [NTUSER] Check class name existence on IntGetAtomFromStringOrAtom (#6184)
Based on I_Kill_Bugs' class_error.patch.
JIRA issue: CORE-13422, CORE-7531, CORE-18639
2024-01-10 08:01:37 +09:00
Katayama Hirofumi MZ
8b5c5fb913 [SDK] cicuif.h: Refactoring (#6321)
Improve readability and reduce code.
JIRA issue: CORE-19268
- Delete cicSetLayout function and
  use gdi32!SetLayout function directly.
- Don't use ::SetRect and ::SetRectEmpty.
- s/CUIFButton::m_dwUnknown10/CUIFButton::m_bPressed/.
- Reduce lines.
2024-01-10 03:05:38 +09:00
Katayama Hirofumi MZ
3299e96e91 [SHELL32] SHFileOperation: Fail elegantly if source doesn't exist (#6318)
Based on KRosUser's dragdropfixpart2.patch.
JIRA issue: CORE-19417, CORE-19211
- Check source file existence.
2024-01-09 19:38:34 +09:00
Andrei Miloiu
f105b50c4f [ZIPFLDR] Update Romanian (ro-RO) translation (#6271) 2024-01-09 11:12:01 +01:00
Andrei Miloiu
22ca537be3 [WLDAP32] Improve Romanian (ro-RO) translation (#6275) 2024-01-09 11:11:04 +01:00
Andrei Miloiu
114ef5f14a [CMD] Update Romanian (ro-RO) translation (#6277) 2024-01-09 11:10:35 +01:00
Andrei Miloiu
fe2f718bf2 [NEWDEV] Update Romanian (ro-RO) translation (#6278) 2024-01-09 11:09:37 +01:00
Andrei Miloiu
30ded664fc [RAPPS] Improve Romanian (ro-RO) translation (#6279) 2024-01-09 11:08:53 +01:00
Andrei Miloiu
7aa48a3824 [TASKKILL] Update Romanian (ro-RO) translation (#6282) 2024-01-09 11:07:31 +01:00
Andrei Miloiu
290f6a5ad0 [FORMAT] Update Romanian (ro-RO) translation (#6283) 2024-01-09 11:07:08 +01:00
Andrei Miloiu
8f62437352 [CRYPTUI] Update Romanian (ro-RO) translation (#6292) 2024-01-09 11:05:54 +01:00
Andrei Miloiu
ba7c50edce [OLEDLG] Update Romanian (ro-RO) translation (#6293) 2024-01-09 11:05:31 +01:00
Andrei Miloiu
cf2c1e93a5 [IPCONFIG] Update Romanian (ro-RO) translation (#6294) 2024-01-09 11:05:01 +01:00
Andrei Miloiu
97e45e2ad1 [ACPPAGE] Update Romanian (ro-RO) translation (#6296) 2024-01-09 11:04:41 +01:00
Andrei Miloiu
5bc6fe88e8 [RASDLG] Update Romanian (ro-RO) translation (#6298) 2024-01-09 11:04:05 +01:00
Andrei Miloiu
3f6c57279d [MSCONFIG_NEW] Update Romanian (ro-RO) translation (#6299) 2024-01-09 11:03:37 +01:00
Andrei Miloiu
25ca5ea537 [MODEMUI] Update Romanian (ro-RO) translation (#6300) 2024-01-09 11:03:12 +01:00
Andrei Miloiu
22719c8097 [DESK] Update Romanian (ro-RO) translation (#6301) 2024-01-09 11:02:41 +01:00
Andrei Miloiu
9b2627f4ba [DISKPART] Update Romanian (ro-RO) translation (#6303) 2024-01-09 11:01:59 +01:00
Andrei Miloiu
5adb252fea [OPENGLCFG] Update Romanian (ro-RO) translation (#6304) 2024-01-09 11:01:30 +01:00
Andrei Miloiu
84de569349 [WINMM] Update Romanian (ro-RO) translation (#6309) 2024-01-09 11:00:42 +01:00
Andrei Miloiu
4d0080db9b [INF] Update Romanian (ro-RO) translation (#6310) 2024-01-09 11:00:25 +01:00
Andrei Miloiu
8a5fe3818e [MSCONFIG_NEW] Update Romanian (ro-RO) translation (#6311) 2024-01-09 10:58:40 +01:00
Katayama Hirofumi MZ
0b3756044f [MSCTFIME][MSUTB][SDK] cicuif.h: Add CUIFButton (#6320)
Supporing TIPs...
JIRA issue: CORE-19268
- Add CUIFButton, CUIFSolidBrush, and CUIFIcon classes.
2024-01-09 16:57:30 +09:00
Whindmar Saksit
55a5d7a177 [SHELL32] RegFolder must correctly handle GetDisplayNameOf parsing paths (#6265) 2024-01-08 17:02:59 +01:00
Whindmar Saksit
7c2e8c67f1 [CONSRV] Don't blink cursor if the console window is not active (#5601)
Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
2024-01-08 13:49:28 +01:00
Katayama Hirofumi MZ
710df1361c [COMCTL32] ToolTip: Expand tabs (#6315)
Based on KRosUser's tooltip_tabfix.patch.
ToolTip should expand tabs.
JIRA issue: CORE-5635, CORE-13651
- Add DT_EXPANDTABS flag for DrawText.
2024-01-08 19:51:42 +09:00
Katayama Hirofumi MZ
4ee54e2519 [SDK] cicuif.h: Add CUIFToolTip (#6317)
Supporting TIPs...
JIRA issue: CORE-19360
- Half-implement CUIFToolTip.
- Strengthen some classes.
2024-01-08 16:44:38 +09:00
Katayama Hirofumi MZ
7898297c53 [SDK] cicuif.h: Add CUIFShadow (#6316)
Supporting TIPs...
JIRA issue: CORE-19360
- Half-implement CUIFShadow class.
2024-01-08 12:52:37 +09:00
Timo Kreuzer
9be24a9d51 [CMAKE] Add GCC options to make a long double 64 bits
This adds -mlong-double-64 to make the size of a long double 64 bits in GCC builds to match MSVC builds.
2024-01-07 11:03:08 +02:00
Katayama Hirofumi MZ
469e7c6d4e [SDK] cicuif.h: Add CUIFWindow (#6313)
Supporting TIPs...
JIRA issue: CORE-19360
- Strengthen CUIFObject.
- Add CUIFWindow.
2024-01-07 16:49:31 +09:00
Andrei Miloiu
55bc06fa7a [LABEL] Update Romanian (ro-RO) translation (#6258) 2024-01-06 23:01:23 +01:00
Andrei Miloiu
0103c55fa8 [IPCONFIG] Update Romanian (ro-RO) translation (#6281) 2024-01-06 22:58:31 +01:00
Andrei Miloiu
d882d57046 [APPWIZ] Improve Romanian (ro-RO) translation (#6272) 2024-01-06 22:56:56 +01:00
Andrei Miloiu
048ea61adb [SHUTDOWN] Update Romanian (ro-RO) translation (#6264) 2024-01-06 22:47:08 +01:00
Andrei Miloiu
f320804f24 [MSI] Update Romanian (ro-RO) translation (#6260) 2024-01-06 22:46:33 +01:00
Andrei Miloiu
166d9c8ac1 [DESKMON] Update Romanian (ro-RO) translation (#6257) 2024-01-06 22:27:19 +01:00
Andrei Miloiu
eba2a77baf [MSPORTS] Update Romanian (ro-RO) translation (#6256) 2024-01-06 22:26:42 +01:00
Andrei Miloiu
7ce3f91993 [ACCESS] Update Romanian (ro-RO) translation (#6255) 2024-01-06 22:25:32 +01:00
Andrei Miloiu
37344a6dfc [INTL] Update Romanian (ro-RO) translation (#6247) 2024-01-06 22:25:04 +01:00
Andrei Miloiu
4a68b08198 [FONTVIEW] Update Romanian (ro-RO) translation (#6245) 2024-01-06 22:24:12 +01:00
Andrei Miloiu
acf170c95d [MSPAINT] Update Romanian (ro-RO) translation (#6241) 2024-01-06 22:22:43 +01:00
Andrei Miloiu
44fa14b337 [NETSHELL] Update Romanian (ro-RO) translation (#6246) 2024-01-06 22:19:00 +01:00
Andrei Miloiu
7c5204b9b2 [REGEDIT] Update Romanian (ro-RO) translation (#6223) 2024-01-06 22:18:17 +01:00
Katayama Hirofumi MZ
bf92fa2386 [MSCTFIME][MSUTB][SDK] Add cicInitUIFLib and cicDoneUIFLib (#6307)
Supporting TIPs...
JIRA issue: CORE-19360
- Implement cicInitUIFLib and cicDoneUIFLib functions.
- Use them in msctfime and msutb.
- Add CUIFSystemInfo class in <cicero/cicuif.h>.
2024-01-06 19:21:37 +09:00
Katayama Hirofumi MZ
afb132a90b [SDK] cicuif.h: Add CUIFBitmapDC (#6306)
Supporting TIPs...
JIRA issue: CORE-19360
- Add CUIFBitmapDC class.
- Add cicInitUIFUtil and
  cicDoneUIFUtil functions.
- Add cicSetLayout, cicMirrorBitmap,
  cicCreateDitherBrush,
  cicCreateDisabledBitmap,
  and cicCreateShadowMaskBmp
  utility functions.
2024-01-06 17:44:57 +09:00
Katayama Hirofumi MZ
46cf45414c [SDK] cicuif.h: Add CUIFColorTable (#6305)
Supporting TIPs...
JIRA issue: CORE-19360
- Improve cicGetFN function.
- Add CUIFColorTable, CUIFColorTableSys,
  and CUIFColorTableOff10 classes.
- Implement cicInitUIFScheme,
  cicUpdateUIFScheme, and
  cicDoneUIFScheme functions.
2024-01-06 14:45:23 +09:00
Katayama Hirofumi MZ
d689cfe158 [SHELL32] Don't crash on Control Panel item D&D (#6289)
Based on @douglyons 's control-panel-copy-to-desktop-fix.patch.
JIRA issue: CORE-19210
- Delete needless #ifdef __REACTOS__ guards because
  shlfileop.cpp is a forked file.
- Do NULL check against feFrom->szFilename.
2024-01-06 11:00:36 +09:00
Katayama Hirofumi MZ
8d7a8f0ec1 [DESK] Find best display settings (#6288)
Based on KRosUser's desk.patch.
JIRA issue: CORE-18187, CORE-16878
- Add FindBestElement helper function.
- Use FindBestElement to find the best
  display settings.
2024-01-06 10:59:05 +09:00
Katayama Hirofumi MZ
267a1c9cda [MSCTFIME] Reduce comment lines (#6297)
Improve readability.
JIRA issue: CORE-19360
- Reduce the lines of comments
  by using C++ comments.
2024-01-05 18:36:30 +09:00
Katayama Hirofumi MZ
6df2af2610 [SDK] Add CUIFObject and CUIFObjectArray (#6295)
Supporting TIPs...
JIRA issue: CORE-19360
- Add CUIFObjectArray and CUIFObject classes.
- Strenthen CicArray and CUIFTheme classes.
2024-01-05 17:43:06 +09:00
Thamatip Chitpong
90ed686209 [NTUSER] Use UserHMGetHandle macro (#6244)
Use UserHMGetHandle macro everywhere instead of obj->head.h for consistency.
2024-01-05 07:16:44 +07:00
Katayama Hirofumi MZ
90432c1a4c [COMCTL32][USER32] EDIT & ListView & TreeView: Fix HRGN leaks (#6268)
Based on KRosUser's memleak_comctl32.patch.
JIRA issue: CORE-19405
Fix HRGN handle leaks.
2024-01-04 18:05:39 +09:00
Katayama Hirofumi MZ
77c5aea41f [MSCTFIME][SDK] Add <cicero/cicuif.h> (#6291)
Supporting TIPs...
JIRA issue: CORE-19360
- Add cicGetFN helper function
  in <cicero/cicbase.h>.
- Add <cicero/cicuif.h>.
- Add CUIFTheme class in
  <cicero/cicuif.h>.
2024-01-04 17:32:43 +09:00
Katayama Hirofumi MZ
35f83286c5 [MSCTFIME][SDK] Implement CicCaret class (#6287)
Supporting TIPs... UIComposition class requires a caret class.
JIRA issue: CORE-19360
- Add <cicero/ciccaret.h> header.
- Add CicCaret class for displaying a caret.
2024-01-03 19:55:14 +09:00
Katayama Hirofumi MZ
b48e77e15b [CTFMON][MSCTFIME][SDK] Define new(cicNoThrow) and use it (#6286)
Use new(cicNoThrow) instead of plain operator new.
JIRA issue: CORE-19360
- Define CicNoThrow structure and
  cicNoThrow macro in <cicero/cicbase.h>.
- Use new(cicNoThrow) instead of
  plain operator new.
2024-01-03 16:45:23 +09:00
Katayama Hirofumi MZ
6cde331a89 [MSCTFIME] Half-implement UIWndProc (#6285)
Supporting TIPs...
JIRA issue: CORE-19360
- Add UIComposition and UI classes.
- Add CIMEUIWindowHandler structure.
- Half-implement UIWndProc by using them.
2024-01-03 13:52:54 +09:00
Katayama Hirofumi MZ
0e9939bd42 [MSCTFIME] Implement CTextEventSink::_Advise and _Unadvise (#6284)
Supporting TIPs...
JIRA issue: CORE-19360
2024-01-03 10:50:48 +09:00
Katayama Hirofumi MZ
b59bf8a3f4 [COMCTL32][USER32] ComboBox: Don't close listbox on letter type (#6227)
Based on KRosUser's combo_v3.patch.
JIRA issue: CORE-16376
- Set CBF_NOROLLUP flag on (WM_CHAR or
  WM_IME_CHAR) and CBF_DROPPED state.
2024-01-03 08:45:24 +09:00
Katayama Hirofumi MZ
006bdfa234 [MSCTFIME][SDK] Half-implement CTextEventSink (#6274)
Supporting TIPs...
JIRA issue: CORE-19360
- Add CTextEventSink class.
- Add ITfTextLayoutSink interface
  into "msctf.idl".
2024-01-02 19:45:03 +09:00
Katayama Hirofumi MZ
f9489f4876 [MSCTFIME] Strengthen CicInputContext (#6273)
Supporting Text Input Processors (TIPs)...
JIRA issue: CORE-19360
2024-01-02 15:33:37 +09:00
Katayama Hirofumi MZ
88107adc92 [MSCTFIME][SDK] Implement CFunctionProvider (#6269)
Supporting TIPs...
JIRA issue: CORE-19360
Define CFunctionProviderBase class.
Define CFunctionProvider class.
Strengthen <cicero/cictf.h>.
2024-01-01 16:36:49 +09:00
Katayama Hirofumi MZ
e5548aa501 [MSCTFIME][SDK] Improve human readability (#6240)
Improve code quality.
JIRA issue: CORE-19360
- Add some SAL annotations.
- Add readable comments more.
- Rename some member variables.
2024-01-01 11:05:49 +09:00
Katayama Hirofumi MZ
d6c70f0864 [COMCTL32][USER32] RadioButton: Notify BN_CLICKED on WM_SETFOCUS (#6266)
Based on KRosUser's button_fixnotif.patch.
JIRA issue: CORE-6542, CORE-19384
Notify BN_CLICKED to the parent on WM_SETFOCUS message
handling if the button type was either BS_RADIOBUTTON or
BS_AUTORADIOBUTTON, and if the button was unchecked.
2024-01-01 11:01:59 +09:00
Katayama Hirofumi MZ
a842a92260 [RAPPS] Don't ask for 'remote from registry' when no selection (#6267)
Based on KRosUser's RAPPS.patch.
JIRA issue: CORE-19409
If m_ApplicationView->GetFocusedItemData was NULL, then do not ask for removal.
2024-01-01 10:12:51 +09:00
Hermès Bélusca-Maïto
a70ce994f0 🎊 🍾 🥳 Happy New Year 2024 to the ReactOS Community! 🎆 ⚛️ ☢️
.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:.██████╗  ██████╗ ██████╗ ██╗  ██╗
 __,  ,__)            __,  ,__)       __, ,__)         ╚════██╗██╔═████╗╚════██╗██║  ██║
(--|__| _ ,_ ,_      (--|\ | _       (--\ | _  _ ,_     █████╔╝██║██╔██║ █████╔╝███████║
  _|  |(_||_)|_)(_|    _| \|(/_(_|_)     \|(/_(_||     ██╔═══╝ ████╔╝██║██╔═══╝ ╚════██║
 (        |  |  ,_|   (                (__|            ███████╗╚██████╔╝███████╗     ██║
.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:.╚══════╝ ╚═════╝ ╚══════╝     ╚═╝
2024-01-01 00:00:00 +01:00
Eric Kohl
f5346cbc1b [ADVAPI32][IDL][SERVICES] Implement I_ScValidatePnPService
This is actually a Vista+ function, but we need it enable umpnpmgr.dll to notify services of device events. Up until WinXP it was possible to make direct calls to the service manager by umpnpmgr.dll because umpnpmgr.dll was loaded into the service manager process. From Vista onwards umpnpmgr.dll is run as a separate service host process. And since ReactOS always ran umpnpmgr.dll as a separate process, we have to use the Vista RPC functions to notify services.
2023-12-31 15:33:19 +01:00
Timo Kreuzer
10bb50b456 [HAL] Fix SMP initialization
- Don't use CONFIG_SMP, this isn't handled in (most of) hal
- Add a dummy HalpSetupProcessorsTable for UP
- Call HalpRegisterKdSupportFunctions only for processor 0
2023-12-30 12:53:18 +02:00
Timo Kreuzer
86b82e4ce7 [CRT] Sync $I10_OUTPUT and test with wine head
Both were broken on MSVC builds, where a long double is 64 bits and not 80 bits like on GCC. The new code works on MSVC builds, too.
2023-12-30 12:51:22 +02:00
Katayama Hirofumi MZ
40131fd1ca [WINHLP32] Don't show file path in title (#6250)
Based on KRosUser's winhlp.patch. This PR will supersede #5401.
JIRA issue: CORE-18679
Just copy help file title.
2023-12-29 21:16:20 +09:00
hpoussin
9cfd8dd918 [LWIP] Correctly synchronize to lwIP 1.4.1 (#6123)
* [TCPIP] Rename lwip library to lwipcore

* [TCPIP] Remove ReactOS-specific code from LWIP library

* [TCPIP] Synchronize LWIP code to 1.4.1

Update to LWIP 1.4.1 should have been done by bd3b0e8ef4
However, I was unable to find the exact revision used in this commit.

So, do the following
- take code from STABLE-1_4_1 commit on https://git.savannah.gnu.org/git/lwip.git
- cherry-pick LWIP 32aa9a41e2013e5ee6eee09317a848647e37badf (CORE-8978)
- cherry-pick LWIP c0b534e5318baf870e2152c70d4d11a3a86181f3
- add a ReactOS-specific change in src/api/tcpip.c (missing include)
- add ReactOS specific file CMakeLists.txt

NOTE: Changes are mostly in unit test files (not used) and CHANGELOG file.

CORE-7140
2023-12-29 13:05:41 +01:00
Katayama Hirofumi MZ
d8108a64a4 [COMDLG32] Color Picker: Fix black cross (#6242)
JIRA issue: CORE-19403, CORE-19405
- Fix HRGN handle leak.
- Fix black cross coordinates.
2023-12-29 20:58:51 +09:00
Katayama Hirofumi MZ
8e01ab830b [IMM32] Disable some annoying logging (#6249)
@HBelusca said in ReactOS Chat:

> hi, is it possible to disable those two dprints?
> err:(../dll/win32/imm32/imm.c:949) pIMC was NULL
> err:(../dll/win32/imm32/imm.c:849) pClientImc was NULL
> they come out every other second of usage of any app in ReactOS.

JIRA issue: CORE-19268
Disable logging on two points by not using IS_NULL_UNEXPECTEDLY macro.
2023-12-29 20:57:27 +09:00
Katayama Hirofumi MZ
1aeac0bf24 [REGEDIT] Fix condition of enabling load/unload hive menu item (#6251)
Based on KRosUser's regedit_loadfix.patch.
JIRA issue: CORE-19298
Fix the condition of enabling/disabling the
"Load Hive" and Unload Hive menu items.
2023-12-29 20:56:01 +09:00
Katayama Hirofumi MZ
d46d3167a3 [SHELL32] Fix status bar part sizes (#6243)
Based on KRosUser's cdefview_fixstatus.patch.
JIRA issue: CORE-19406
In CDefView::OnSize, call _ForceStatusBarResize function
instead of _HandleStatusBarResize function.
2023-12-29 13:34:23 +09:00
Hermès Bélusca-Maïto
b5f9e1c2dc [PSDK] ntddvdeo.h: Add missing GUIDs.
References:
- MS WDK from Windows 2k3, 7, 10.
- https://naughter.wordpress.com/2016/08/20/changes-in-the-windows-v10-0-14393-sdk-compared-to-windows-v10-0-10240-sdk-part-one/
2023-12-28 22:11:05 +01:00
Hermès Bélusca-Maïto
6c93f3ca6b [MSI_WINETEST][BASEADDRESS] Rename the 'custom' and 'selfreg' build targets.
They are renamed to 'msi_custom' and 'msi_selfreg', respectively.
This is to avoid any future build target name collisions with other
tests that would also use similarly-named targets. (For example, a
future setupapi wine-synced commit.)
2023-12-27 21:50:32 +01:00
Katayama Hirofumi MZ
73a1c9d418 [MSCTFIME][SDK] Implement CtfImeSelectEx (#6238)
Supporting TIPs...
JIRA issue: CORE-19360
- Add GetCharsetFromLangId and
  InternalSelectEx helper functions.
- Add CicBridge::GetInputContext
  and CicBridge::SelectEx.
- Implement CtfImeSelectEx function.
- CTFIMECONTEXT structure moved
  into <cicero/cicimc.h>.
2023-12-27 20:29:02 +09:00
Katayama Hirofumi MZ
d528cc4013 [MSCTFIME][SDK] Implement CicBridge::ActivateIMMX etc. (#6237)
Supporting TIPs...
JIRA issue: CORE-19360
- Implement CicBridge::ActivateIMMX and
  CicBridge::DeactivateIMMX functions.
2023-12-27 16:19:47 +09:00
Katayama Hirofumi MZ
b9e8fb9ea4 [MSCTFIME][SDK] Implement CtfImeProcessCicHotkey (#6236)
Supporting TIPs...
JIRA issue: CORE-19360
- Define ITfSysHookSink and IID_ITfThreadMgr_P
  interfaces in <cicero/cictf.h>.
- Implement CtfImeProcessCicHotkey function.
2023-12-27 15:08:17 +09:00
Katayama Hirofumi MZ
cfff2dbd12 [MSCTF] Implement InitCUASFlag (#6235)
Implementing TIPs and Language Bar...
JIRA issue: CORE-19361
- Add InitCUASFlag function.
- Use it in ProcessAttach function.
2023-12-27 12:32:01 +09:00
Katayama Hirofumi MZ
ec0695c26b [MSCTF][SDK] Implement InitLangChangeHotKey (#6234)
Supporting TIPs and Language Bar...
JIRA issue: CORE-19361
- Implement InitLangChangeHotKey function.
- Add some global variables about hot-keys.
- Fix CicRegKey in <cicero/cicreg.h>.
2023-12-27 11:43:01 +09:00
Katayama Hirofumi MZ
7f1df040ed [COMDLG32] Color Picker: Limit value by maxval (#6225)
Set maximum value to value if
value was beyond maximum value.
CORE-19402
2023-12-26 21:50:41 +09:00
Katayama Hirofumi MZ
6e5fde7ebb [COMCTL32] Property Sheet: Use PROPSHEET_IsDialogMessage in message loop (#6226)
Fix Ctrl+Tab and Shift+Ctrl+Tab key
combination action in property sheet.
JIRA issue: CORE-17941
Use PROPSHEET_IsDialogMessage in
the message loop of PropertySheetA/W
function, instead of IsDialogMessage.
2023-12-26 21:49:04 +09:00
Katayama Hirofumi MZ
449a08a6a8 [COMDLG32] Fix IDC_TOOLBARPLACES size (#6228)
Based on KRosUser's comdlg_resbug.patch.
Change IDC_TOOLBARPLACES control
extent of NEWFILEOPENV2ORD
resource dialog.
CORE-16925
2023-12-26 21:46:35 +09:00
Katayama Hirofumi MZ
07a22af58b [MSCTF][SDK] Implement TF_IsCtfmonRunning (#6233)
- Add many global variables.
- Add GetUserSIDString, InitUserSidString,
  InitUniqueString, and
  GetDesktopUniqueName helper functions.
- Implement TF_IsCtfmonRunning function.
- Fix CicFileMapping class in
  <cicero/cicfmap.h>.
- Modify msctf.spec.
- Half-implement ProcessAttach and
  ProcessDetach functions.
CORE-19361
2023-12-26 16:17:06 +09:00
Katayama Hirofumi MZ
4293704ecb [CTFMON] Unlink RegNotifyChangeKeyValue (#6232)
Dynamic load advapi32!RegNotifyChangeKeyValue function.
Output log if RegNotifyChangeKeyValue failed.
CORE-19362
2023-12-26 15:21:39 +09:00
Katayama Hirofumi MZ
69a925cae8 [MSCTF] Implement TF_RunInputCPL (#6231)
- Add FullPathExec, and RunCPLSetting
  helper functions.
- Implement TF_RunInputCPL function
  by using them.
- Modify msctf.spec.
CORE-19361
2023-12-26 13:39:56 +09:00
Katayama Hirofumi MZ
bfa3e554d4 [CTFMON][MSCTFIME][MSCTF][MSUTB][SDK] Cicero is ANSI, not Unicode (#6230)
Cicero interface is not Unicode (W)
but ANSI (A).
- ctfmon.exe is ANSI, not Unicode.
- msutb.dll is ANSI, not Unicode.
- Apply generic text mapping to the
  cicero headers.
- Include <tchar.h> to use generic
  text mapping.
CORE-19361, CORE-19362, CORE-19363
2023-12-26 12:07:01 +09:00
Katayama Hirofumi MZ
a8a4703699 [MSCTF][SDK] Implement TF_RegisterLangBarAddIn etc. (#6229)
- Add dll/win32/msctf/utils.cpp.
- Implement TF_RegisterLangBarAddIn
  and TF_UnregisterLangBarAddIn.
- Strengthen <cicero/cicreg.h>.
- Modify msctf.spec.
CORE-19361
2023-12-26 10:31:53 +09:00
Hermès Bélusca-Maïto
434ac241df [NTOS:INBV:PO] Consolidate shutdown logo routines where all the boot theming is implemented.
And it's late now, but... Merry Christmas 2023 as well! 🎄
Logo design by contributor 'TheCustomFHD'

"From ReactOS with Love" ;^)
2023-12-25 21:43:20 +01:00
Katayama Hirofumi MZ
f4460c3fcd [CTFMON][MSCTF][MSUTB][SDK] Add msutb.dll (stub) (#6222)
msutb.dll is the GUI back-end
of Language Bar (Tipbar).
- Add msutb.dll module at
  dll/win32/msutb/.
- The implementation of
  msutb.dll is currently stub.
- Modify msctf.spec and msctf.idl.
- Add <cicero/cicutb.h>.
- Adapt ctfmon.exe to these changes.
CORE-19362, CORE-19363
2023-12-25 22:29:57 +09:00
Katayama Hirofumi MZ
5d9f622eeb [SHLWAPI] Fix SHCreateMemStream corner case (#6224)
When the system run out of memory,
check NULL and fail elegantly if
necessary.
This doesn't fix CORE-19229 but I
think it needs a fix.
CORE-19229
2023-12-25 08:22:08 +09:00
Hermès Bélusca-Maïto
6d265d1fd8 [NTOS:INBV] Isolate the bitmap resources pertaining to the boot theme/animation into their resource sub-file. 2023-12-24 22:39:36 +01:00
Hermès Bélusca-Maïto
0f3da97456 [NTOS:KE:EX] Fix comment typo. 2023-12-24 22:39:35 +01:00
Hermès Bélusca-Maïto
7b410fb8ca [NTOS:INBV] Don't hardcode the off-screen rot-bar-bits buffer size. 2023-12-24 21:54:24 +01:00
Hermès Bélusca-Maïto
81dc30a434 [NTOS:INBV] Improve comment & define name. 2023-12-24 21:54:23 +01:00
Hermès Bélusca-Maïto
7aec73a76c [NTOS:INBV] Minor code style. 2023-12-24 21:54:16 +01:00
Hermès Bélusca-Maïto
7b956a0a1f [BOOTVID] Fix definition of GetFontPtr(). 2023-12-24 21:41:09 +01:00
Hermès Bélusca-Maïto
3812996042 [NTOS:INBV] Fix build when INBV_ROTBAR_IMPLEMENTED is not defined. 2023-12-24 21:40:36 +01:00
Thamatip Chitpong
f74a2aac8c [NTUSER] Add UserHMSetHandle macro (#6164) 2023-12-24 23:42:15 +07:00
Katayama Hirofumi MZ
758fff284d [COMDLG32] Color Picker: Fix cursor clipping (#6219)
- ClipCursor(NULL) for WM_LBUTTONUP
  and WM_NCDESTROY.
- ClipCursor(...) for WM_LBUTTONDOWN.
CORE-17002
2023-12-24 22:10:26 +09:00
Katayama Hirofumi MZ
4a3a78857f [SDK] Add <cicero/cicfmap.h> for File Mapping
CORE-19361
2023-12-24 11:50:11 +09:00
Elliot Killick
932aef40f7 [LDR][NDK] Fix inconsistent Cookie type (#6188)
Make LdrUnlockLoaderLock Cookie type consistent with LdrLockLoaderLock
and LdrpMakeCookie functions.

In addition:
* Adjustment of the formatting string for ULONG_PTR;
* ntdll.spec: specify ptr for 2nd parameter of LdrUnlockLoaderLock:
  This is a parameter whose length is pointer-like, platform-dependent.

Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2023-12-23 22:13:47 +01:00
Adam Słaboń
fcaa38c705 [NETKVM] Don't restrict driver setup to x86 builds (#6221) 2023-12-23 22:00:34 +01:00
Whindmar Saksit
83bc98f96a [DESK] Remember icon picker custom colors between invocations (#6215)
This makes editing a theme slightly less annoying, if you can define custom colors.
2023-12-23 22:00:11 +01:00
Serge Gautherie
48909364db [REGEDIT] *.rc: Fix 3 caption copy-pastas (#6212)
Addendum to commit 54adb5e45
2023-12-23 21:53:17 +01:00
Serge Gautherie
df81dadd9c [UMPNPMGR] PNP_RegisterNotification(): Fix a string format (#6211)
Type was changed from DWORD to DWORD_PTR (as handle).
Addendum to commit 71df39b02
2023-12-23 21:50:47 +01:00
Serge Gautherie
ffc99d08e8 [SETUPAPI] CMP_RegisterNotification(): Remove useless/broken check (#6210)
Revert new broken check from commit  b0a73746c,
and even remove initial a6eabc004 (r73394) useless check.
2023-12-23 21:49:47 +01:00
Serge Gautherie
8943354d17 [SETUPAPI] cfgmgr.c: Remove 5 useless '= NULL' initializations (#6209) 2023-12-23 21:38:36 +01:00
Serge Gautherie
74a82c831b [SETUPAPI] CMP_RegisterNotification(): Remove duplicated code (#6207)
Addendum to commit 9277f5352
2023-12-23 21:38:09 +01:00
Ratin Gao
ffb20d3330 [REACTOS] Fix typos (#6198)
- Adress -> Address
- Currupted -> Corrupted

3rd-party files are not modified.
2023-12-23 21:37:08 +01:00
Whindmar Saksit
f380a51040 [WSHOM.OCX] WshShell::Run intWindowStyle parameter is optional (#6180)
The last two parameters are optional, see
https://learn.microsoft.com/en-us/previous-versions/d5fk67ky(v=vs.85)

Test case:
```
' test.vbs
Set objShell = Wscript.CreateObject("Wscript.Shell")
objShell.Run "calc.exe" ' Should work because the arguments are optional
objShell.Run "winver.exe", invalidnumber ' Windows treats this as SW_HIDE because it can convert VT_EMPTY
objShell.Run "notepad.exe", "invalidnumber" ' Windows fails with error
```
2023-12-23 21:27:00 +01:00
Serge Gautherie
3558b7b985 [VFATFS] FATGetNextDirEntry(): Fix 1 MSVC 'warning C4267' (#6179)
Fix `warning C4267: '=': conversion from 'size_t' to 'USHORT', possible loss of data`
by explicitly casting to USHORT.
This is OK as the line immediately before NULL-terminates the buffer within boundary.

Addendum to commit 096a69471 (r6279).
2023-12-23 21:24:51 +01:00
Carl J. Bialorucki
77653462a9 [EXPLORER] Notification area icon improvements (#6169)
Automatically adjusts the spacing of the tray icons according to the small
or large taskbar icons setting. Also, a minor bug fix to the clock spacing
when switching between taskbar icon sizes.

CORE-19380

Update the ROS-specific CompactTrayIcons registry value from a binary
yes/no to have three states. The three states are as follows:

  0 (default) - Automatic. When small taskbar icons are used, the
  notification area will use compact tray icon spacing. When large
  taskbar icons are used, the notification area will use larger tray
  icon spacing. While no version of Windows behaves this way, I believe
  this is a smart default choice for ReactOS since users wanting large
  taskbar icons will generally expect larger tray icon spacing, while
  users with small taskbar icons may want more compact spacing.

  1 - Never Compact. Regardless of the taskbar icon size setting, the
  notification area will always use the larger spacing. This follows
  the behavior of Windows 7 and newer versions.

  2 - Always Compact. Regardless of the taskbar icon size setting, the
  notification area will always use the compact spacing. This follows
  the behavior of Windows Vista and older versions.

Fix a clock spacing bug that occurs when changing the taskbar size
before advancing to the next minute. The taskbar clock now adjusts
its spacing when the size of the taskbar changes.
2023-12-23 21:21:12 +01:00
Katayama Hirofumi MZ
f2d34ab4c9 [SDK] Add cicRealCoCreateInstance into <cicero/cicbase.h>
It looks like Cicero wants to hook CoCreateInstance.
CORE-19363
2023-12-23 11:02:40 +09:00
Katayama Hirofumi MZ
eb72347672 [CTFMON][MSCTFIME][SDK] Refactoring on Cicero design
CORE-19362
2023-12-23 09:34:41 +09:00
Katayama Hirofumi MZ
50755684cf [CTFMON][SDK] Move ClosePopupTipbar and GetPopupTipbar
Refactoring. CORE-19362
2023-12-23 08:27:47 +09:00
Katayama Hirofumi MZ
ac1a96477b [BROWSEUI] Clear pidlLastParsed on CAddressEditBox::Execute (#6183)
Based on KRosUser's gopidlparsed.patch.
Clear pidlLastParsed if necessary.
CORE-19019
2023-12-23 08:16:01 +09:00
Katayama Hirofumi MZ
19f3d6bd8d [MSCTFIME] Delay-import msctf, oleaut32, and imm32 (#6220)
Reduce DLL initialization cost.
- Delay-import msctf.dll, oleaut32.dll, and imm32.dll.
- Unlink comctl32.dll.
CORE-19360
2023-12-22 20:21:25 +09:00
Katayama Hirofumi MZ
1726ee83e7 [MSCTFIME][SDK] s/IMCCLock/CicIMCCLock/ and s/IMCLock/CicIMCLock/
Refactoring. CORE-19360
2023-12-22 14:52:49 +09:00
Katayama Hirofumi MZ
91b740f900 [SDK] Add <cicero/cicevent.h>
CORE-19361
2023-12-22 12:26:43 +09:00
Katayama Hirofumi MZ
eaa975c54e [SDK] Add <cicero/cicmutex.h>
CORE-19361
2023-12-22 12:13:27 +09:00
Katayama Hirofumi MZ
c4308d1e49 [CTFMON][MSCTFIME][SDK] Improve cicGetOSInfo
and s/OSINFO_/CIC_OSINFO/.
Adapt ctfmon and msctfime to these changes.
CORE-19360
2023-12-22 11:52:06 +09:00
Katayama Hirofumi MZ
96d525959b [BROWSEUI] Load settings on CInternetToolbar::OnContextMenu (#6182)
Based on KRosUser's go.patch.
CORE-19145
2023-12-22 06:57:33 +09:00
Thamatip Chitpong
986809c719 [NTUSER] menu.c: Fix readability after commit 1df52257
Add comments for default return value.
2023-12-22 00:22:07 +07:00
Николай Димитров
4514e91dd6 [TRANSLATION] Update and fix Bulgarian (bg-BG) translation (#5581)
NOTE: IDS_ADMINISTRATOR_NAME translation excluded for the time being.

It should be "Администратор", but bg-BG translation missing in samsrv.dll,
therefore don't translate it because otherwise this would introduce a mismatch
(samsrv falls back into english when translation is missing).

Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2023-12-21 18:09:34 +01:00
Thamatip Chitpong
979551e33e [NTUSER] accelerator.c: Fix readability after commit 95657698
Add comments for default return value.
2023-12-22 00:01:02 +07:00
Thamatip Chitpong
26f8b97886 [NTUSER] window.c: Fix readability after commit 3f5fd1d0
Add comments for default return value.
2023-12-21 23:49:03 +07:00
Katayama Hirofumi MZ
34068456a5 [COMCTL32][USER32] EDIT control: Check bCaptureState on WM_CHAR (#6206)
Based on KRosUser's edit_v2.patch.
Edit control should stop processing
characters when left mouse button
is down.
If es->bCaptureState is set, then
ignore WM_CHAR message.
CORE-10259
2023-12-21 20:24:44 +09:00
Katayama Hirofumi MZ
df9c535542 [MSCTFIME][SDK] Improve CicArray (#6217)
- Add template type parameter.
- Use size_t for indexing instead of INT.
- Protect CicArray members.
- Adapt msctfime to new CicArray.
CORE-19360
2023-12-21 20:17:35 +09:00
Katayama Hirofumi MZ
7d6fc57ec9 [CTFMON][MSCTFIME][SDK] Renaming for Cicero (#6216)
Keep consistency with Cicero naming rule.
- s/CModulePath/CicSystemModulePath/.
- s/GetOSInfo/cicGetOSInfo/.
- s/IsWow64/cicIsWow64/.
- s/GetSystemModuleHandle/cicGetSystemModuleHandle/.
- s/LoadSystemLibrary/cicLoadSystemLibrary/.
- Move cicGetOSInfo and cicIsWow64
  to <cicero/cicbase.h>.
- Delete some Cicero headers.
- Adapt ctfmon and msctfime to
  these changes.
CORE-19360
2023-12-21 19:05:33 +09:00
Katayama Hirofumi MZ
814cb188c6 [MSCTFIME][SDK] Implement CicInputContext::OnCleanupContext (#6213)
- Strengthen CicInputContext class.
- Modify <cicero/imclock.h>.
- add __cxa_pure_virtual function.
CORE-19360
2023-12-21 16:23:23 +09:00
Thamatip Chitpong
533d877aaf [NTUSER] Remove RETURN() macro (#6194)
Remove macro definition and the remaining uses.
RETURN() macro is just a wrapper for goto, most of the time it makes the code more complicated than using goto directly.
2023-12-21 11:10:46 +07:00
Katayama Hirofumi MZ
f5b0c66a05 [SDK] msctf.idl: Add ITfCleanupContextSink
CORE-19360
2023-12-21 12:44:07 +09:00
Katayama Hirofumi MZ
3401a99e0f [MSCTFIME] Half-implement CicBridge::ActivateIMMX/DeactivateIMMX
CORE-19360
2023-12-21 12:02:21 +09:00
Katayama Hirofumi MZ
e6cb6d257a [MSCTFIME] Implement CicInputContext::GetGuidAtom
CORE-19360
2023-12-21 11:04:02 +09:00
Katayama Hirofumi MZ
ee73267db8 [MSCTFIME] Fix compartment code
Fix some mistakes. CORE-19360
2023-12-21 10:42:06 +09:00
Eric Kohl
9277f5352a [SETUPAPI] CMP_RegisterNotification: Do not fail if we cannot retrieve a window title 2023-12-20 15:20:01 +01:00
Eric Kohl
92942fbbd8 [IDL] Revert commit c03899fc 2023-12-20 15:13:40 +01:00
Eric Kohl
c03899fc7f [IDL] Add missing PNP_VETO_TYPE 2023-12-20 15:09:03 +01:00
Eric Kohl
71df39b027 [IDL][SETUPAPI][UMPNPMGR] Improve PNP_RegisterNotification
- The 2nd parameter is the handle to the recipient.
- The 8th parameter is the callers process id.
2023-12-20 14:49:30 +01:00
Katayama Hirofumi MZ
954598037f [MSCTFIME][SDK] Implement CCompartmentEventSink (#6205)
- Modify <cicero/cicbase.h> and
  <cicero/cicarray.h>.
- Add CCompartmentEventSink class.
CORE-19360
2023-12-20 22:01:39 +09:00
Katayama Hirofumi MZ
209e9a7c1d [SDK] Add <cicero/cicarray.h> and <cicero/cicreg.h>
CORE-19360
2023-12-20 20:49:21 +09:00
Katayama Hirofumi MZ
9d495475f0 [MSCTFIME][MSCTF][SDK] Add compartment helper functions (#6202)
- Implement GetCompartment,
  SetCompartmentDWORD,
  GetCompartmentDWORD,
  SetCompartmentUnknown, and
  ClearCompartment helper functions.
- Add TF_DllDetachInOther prototype
  to "msctf.idl".
CORE-19360
2023-12-20 17:51:37 +09:00
Katayama Hirofumi MZ
0d8e6e781c [MSCTFIME] Implemenet CicBridge::InitIMMX/UnInitIMMX (#6201)
- Define LIBTHREAD structure.
- Add InitDisplayAttrbuteLib and
  UninitDisplayAttrbuteLib helper functions.
- Define CThreadMgrEventSink class.
- Strengthen CicBridge class.
CORE-19360
2023-12-20 16:12:57 +09:00
Katayama Hirofumi MZ
0b7405abf2 [MSCTFIME] Implement CActiveLanguageProfileNotifySink (#6200)
- Add link to msctf.dll.
- Implement CActiveLanguageProfileNotifySink class.
- Strengthen CicProfile class.
CORE-19360
2023-12-20 12:29:03 +09:00
Katayama Hirofumi MZ
f889c29af6 [MSCTFIME] Fix build of #6197 (6c438e4) Part 2
Add link to oleaut32.dll.
CORE-19360
2023-12-19 20:10:53 +09:00
Katayama Hirofumi MZ
a449125692 [MSCTFIME] Fix build of #6197 (6c438e4)
CORE-19360
2023-12-19 19:36:53 +09:00
Katayama Hirofumi MZ
6c438e4530 [MSCTFIME] Implement ImeConfigure (#6197)
Add code to CicInputContext and CicBridge classes.
Implement ImeConfigure function by using them.
CORE-19360
2023-12-19 19:23:52 +09:00
Katayama Hirofumi MZ
dfd6d7f32a [MSCTFIME] Add TLS::PeekTLS and use it
Refactoring. CORE-19360
2023-12-19 18:34:08 +09:00
Katayama Hirofumi MZ
e0eab48aee [MSCTFIME] Implement CtfImeDestroyInputContext
CORE-19360
2023-12-19 16:40:03 +09:00
Katayama Hirofumi MZ
5197d36839 [MSCTFIME] Refactor on IMC/IMCC locking
- Rename _IMCCLock as IMCCLOCK.
- Rename InternalIMCCLock as IMCCLock.
- Rename _IMCLock as IMCLOCK.
- Add get() pointer accessor of IMCCLock and IMCLOCK.
- Protect the pointer of IMCCLOCK and IMCLOCK.
CORE-19360
2023-12-19 16:12:12 +09:00
Katayama Hirofumi MZ
52bd0c0c18 [MSCTFIME][SDK] Implement CtfImeGuidAtom (#6196)
- Add CTFIMECONTEXT structure.
- Add CicInputContext class.
- Rename INPUTCONTEXTDX.dwUnknown5 as
  hCtfImeContext and retype it as HIMCC.
- Implement CtfImeGetGuidAtom by using them.
CORE-19360
2023-12-19 15:46:13 +09:00
Katayama Hirofumi MZ
6d100d5b29 [MSCTFIME][SDK] Implement CtfImeIsGuidMapEnable (#6195)
- Add link to imm32.dll.
- Add <cicero/imclock.h>.
- Add INIT_GUIDMAP constant to <immdev.h>.
- Implement CtfImeIsGuidMapEnable by using them.
CORE-19360
2023-12-19 15:23:12 +09:00
Katayama Hirofumi MZ
64378a88ba [MSCTFIME] Implement CtfImeDispatchDefImeMessage (#6193)
and add IsMsImeMessage helper funciton.
CORE-19360
2023-12-19 14:24:48 +09:00
Katayama Hirofumi MZ
084fae1eb4 [SHIMGVW] Add 'rotate and save image' buttons (#6186)
- Add IDC_ROT_CWSAVE and IDC_ROT_CCWSAVE buttons.
- Add Preview_pSaveImage helper function.
- Use it in IDC_ROT_CWSAVE and IDC_ROT_CCWSAVE
  command handling.
CORE-19358, CORE-19387
2023-12-19 13:22:53 +09:00
Hermès Bélusca-Maïto
53cc92613f [WINESYNC] Support improvements for staging patches (#5898)
- Simplify patch directory usage;
- Fix the path shown in the warning message.

The staging patch path in the warning message didn't show the correct
sub-directory where the patch resides.
2023-12-18 22:21:41 +01:00
Hermès Bélusca-Maïto
32b81a9157 [WINESYNC] When initially reverting wine-staging patches, ignore whitespace.
This fixes in particular problems when reverting created new files (i.e.
they are deleted). I suspect this is due to an endline-format "expectation"
from the git apply command.
2023-12-18 22:21:40 +01:00
Hermès Bélusca-Maïto
1d92196d2a [WINESYNC] Use the same 'winesync' author as for all the other commits the script generates.
This now correctly sets the commit author as 'winesync' (before it was
the committer's developer name) for the following types of commits:

`[WINESYNC]: revert wine-staging patchset for <MODULE_NAME>`

and

`[WINESYNC]: <MODULE_NAME> is now in sync with wine-staging <WINE_TAG>`
2023-12-18 22:21:39 +01:00
Hermès Bélusca-Maïto
f8569465ce [WINESYNC] Make the wine-staging tag optional, in which case Wine-Staging is not used. 2023-12-18 22:21:38 +01:00
Hermès Bélusca-Maïto
7f8d2d14b7 [WINESYNC] Elegantly handle empty 'files' and 'directories' lists.
Expand on Timo's commit 4b5a55516.
We may encounter cases where either the 'directories' or 'files' lists
in the .cfg YAML files are empty, and we don't want the script to throw
an exception in that case.

Furthermore, explicitly check for such empty lists when calling PyGit2
index.add_all(...) function, because if it's called on a None or empty
list, _all_ untracked files in the selected git repository get added,
which is not what we want there.
2023-12-18 22:21:37 +01:00
Hermès Bélusca-Maïto
67ca439d06 [WINESYNC] Allow using the "new" Wine-Staging patchinstall.py script.
Wine-Staging switched to staging/patchinstall.py , removing the
deprecated patches/patchinstall.sh in Feb.16, 2023 commit
c1b4af92f7
just before the v8.2 release.

In order to maintain interoperability between older and newer
Wine-Staging versions, try to run first the new script; if it fails,
fall back to the older script.
2023-12-18 22:21:36 +01:00
Hermès Bélusca-Maïto
454901ab0b [WINESYNC] Explicitly use posix paths for git file manipulations.
Whenever using git, be it on Windows CMD, git-bash on Windows, or in
*nix systems, git appears to always use posix-like paths internally.
So, enforce them with posixpath when building/concatenating paths that
are going to be passed to pygit2 functions.

Otherwise, exceptions like the following one happens:

```
  File "./winesync.py", line 296, in revert_staged_patchset
    self.reactos_index.remove(os.path.join(self.staged_patch_dir, patch_file_name))
[... skipped ...]
OSError: index does not contain sdk\tools\winesync\setupapi_staging\0002-wine-staging-4.0-setupapi_winetest.patch at stage 0
```

(The git index actually contains the specified path, but in "posix" form
with slash-separators.)

On *nix platforms, these changes should not matter.
2023-12-18 22:21:35 +01:00
Hermès Bélusca-Maïto
e638ff59d1 [WINESYNC] Fix some apparent problems with commits manipulation with pygit2. 2023-12-18 22:21:34 +01:00
Hermès Bélusca-Maïto
d566273583 [WINESYNC] Minor formatting. 2023-12-18 22:21:33 +01:00
Timo Kreuzer
1831bc6add [NTOS:KE/x64] Implement initial IPI code 2023-12-18 23:16:39 +02:00
Timo Kreuzer
e6201ea61e [USERENV] Use RegCopyTreeW from advapi32_vista 2023-12-18 23:14:14 +02:00
Timo Kreuzer
0db5d8a388 [SERVICES] Use RegCopyTreeW from advapi32_vista 2023-12-18 23:14:14 +02:00
Timo Kreuzer
eef22cc036 [ADVAPI32] Unify source for vista registry functions
- In advapi32_vista compile the code from advapi32/reg/reg.c
- Export RegCopyTreeW from advapi32_vista
2023-12-18 23:14:14 +02:00
Timo Kreuzer
d28bbf458a [ADVAPI32] Fix bugs in RegpCopyTree 2023-12-18 23:14:14 +02:00
Katayama Hirofumi MZ
a3288862e1 [MSCTFIME] Implement ImeDestroy and CtfImeDestroyThreadMgr (#6189)
- Define ITfSysHookSink interface.
- Add implementation to CicBridge class.
- Implement ImeDestroy and CtfImeDestroyThreadMgr functions.
- Implement CtfImeCreateThreadMgr function.
CORE-19360
2023-12-18 21:56:21 +09:00
Eric Kohl
ec0a300f2b [UMPNPMGR] Broadcast a WM_DEVICECHANGE message after a device install was queued 2023-12-18 11:17:08 +01:00
Katayama Hirofumi MZ
8f8db4ddb6 [MSCTFIME][IMM32][SDK] Implement CtfImeInquireExW (#6187)
- Use C++.
- Adapt INPUTCONTEXTDX to C++.
- Add some global variables.
- Add DllShutDownInProgress function.
- Add TLS class.
- Modify CtfImeInquireExW prototype.
- Modify Imm32InquireIme for
  CtfImeInquireExW.
CORE-19360
2023-12-18 19:11:17 +09:00
Eric Kohl
54adb5e45c [REGEDIT] Display REG_RESOURCES_REQUIREMENTS_LIST 2023-12-18 09:08:27 +01:00
Joachim Henze
1061ed4d28 [SHELL32] *.rc 640x480-ify IDD_FOLDER_OPTIONS_* (#6165) CORE-1762
This makes the 3 dlgs fit the screen in y for 640x480 desktop resolution like their MS role-models.

Beside that also fixes:
- the wrong vertical position of IDC_FOLDER_OPTIONS_TASKICON and wrong horizontal position of ICON IDI_SHELL_PROGRAMS_FOLDER2 for all translations
- fix some accelerator collisions for de-DE and place many FIXMEs for other translations that still have some
- improve the distance on the lower end (height) of the 3 groupboxes to look much better than before in IDD_FOLDER_OPTIONS_GENERAL for all langs
- bg-BC.rc in 1st dlg IDD_FOLDER_OPTIONS_GENERAL the text of the radiobuttons was historically shifted to the left (as part of an ancient workaround for the too long strings) and as a consquence the text was at the same area where the icons are. Fixed now.
- en-US: text truncation for IDC_FOLDER_OPTIONS_DOUBLECLICK string (affected also many other langs)
- es-ES: fix text truncation on button IDC_FOLDER_OPTIONS_RESTORE
- id-ID: BS_MULTILINE in IDC_FOLDER_OPTIONS_ULBROWSER and IDC_FOLDER_OPTIONS_ULPOINT. Added missing spacing between IDC_VIEW_APPLY_TO_ALL and IDC_VIEW_RESET_ALL buttons
- it-IT.rc fix text truncation in IDC_FOLDER_OPTIONS_RESTORE
- ro-RO.rc fix text truncation in IDC_FOLDER_OPTIONS_RESTORE
- uk-UA.rc lacked the ICON IDI_SHELL_PROGRAMS_FOLDER2 entirely (as a consequence of a historic workaround)
- fix text truncation for many languages for the radiobuttons in IDD_FOLDER_OPTIONS_GENERAL (1st dlg)
- fix text truncation for all languages for the "Opens with:" text in IDD_FOLDER_OPTIONS_FILETYPES (3rd dlg)
- strip unneeded dummy texts for IDC_FILETYPES_APPNAME
- take over "Free Space" instead of "Size available" for IDS_SHV_COLUMN_DISK_AVAILABLE which was done for en-US.rc some years ago, but was forgotten to do as well for other languages back then
- ... and so on

CORE-1762
2023-12-18 07:05:07 +01:00
Thamatip Chitpong
1df5225708 [NTUSER] menu.c: Don't use RETURN() macro (#6185)
Also remove parentheses around return value.
2023-12-18 12:04:57 +07:00
Katayama Hirofumi MZ
b6274fdde1 [SHIMGVW] Unlock file (#6181)
- Add m_pMemStream to PREVIEW_DATA structure.
- Add Preview_pFreeImage helper function.
- Add MemStreamFromFile helper function to make
  a memory stream.
- Avoid file locking by using a memory stream and
  GdipLoadImageFromStream.
CORE-19183
2023-12-18 12:37:50 +09:00
Mark Jansen
e8f9564c20 [NTDLL_APITEST] Add test for RtlGetProcessHeaps 2023-12-17 22:28:40 +01:00
Mark Jansen
b8cdd1a879 [RTL] Implement RtlGetProcessHeaps 2023-12-17 22:28:24 +01:00
Serge Gautherie
0ba94c83b5 [SHELL32] AddStaticContextMenusToMenu(): Fix 3 MSVC 'warning C4805' (#6177)
- Use 'bool' type.
- Do not abuse '|=' operator.

Addendum to commit 7fb91d98f
2023-12-17 22:20:06 +01:00
Serge Gautherie
e1c68dcba0 [APISETS] Forward _seh_longjmp_unwind4() to msvcrt (#6176)
Addendum to commit 1a6b6a27b
2023-12-17 22:19:00 +01:00
Whindmar Saksit
c1f9ea10aa [REGEDIT] Fix inverted case matching when searching value data (#6159) 2023-12-17 22:16:34 +01:00
Whindmar Saksit
5be53f553c [BROWSEUI] Don't call SHOpenFolderAndSelectItems with full pidls and don't leak them (#6153)
- The children passed to SHOpenFolderAndSelectItems are not supposed to be full pidls.
- Don't leak the array from IShellFolderView::GetSelectedObjects.
2023-12-17 22:16:19 +01:00
Whindmar Saksit
7ffc31554d [CSCRIPT][WSCRIPT] Implement Sleep (#6146) 2023-12-17 22:14:45 +01:00
Serge Gautherie
bf7e7c2383 [WIN32SS:GDI] eng/error.c: Minor code tweaks (#6128)
- Remove a useless debug.h include.
- Use the initialized pTeb pointer.
- Remove a useless else.
- Add a SAL2 annotation.
2023-12-17 22:13:45 +01:00
Serge Gautherie
91d291f766 [SDK:CMAKE] writing_CmakeLists_for_ReactOS.txt: Fix typos (#6105) 2023-12-17 22:12:25 +01:00
Whindmar Saksit
82c07abf1a [USER32] Support loading icons from data file module (#6065)
GetModuleFileName() fails on LOAD_LIBRARY_AS_DATAFILE causing LoadImage to fail.
Use a fake filename for LR_SHARED (with same format as Windows).
This may not be a good design, but it does match Windows' behaviour.

+ Added test.
2023-12-17 22:11:50 +01:00
Eric Kohl
8f349ab3c2 [NETCFGX] Create only one "Alternative Configuration" tab
- Check for the presence of the second tab.
- Remove unnecessary checks for checked radiobuttons.

CORE-19328
2023-12-17 21:50:20 +01:00
Hermès Bélusca-Maïto
bb7661312e [SETUP:REACTOS] Fix identical expression in treelist.c
Supersedes PRs #3226 and #5199 by Kyle_Katarn.
CORE-16036
2023-12-17 20:58:32 +01:00
Hermès Bélusca-Maïto
63d5423853 [SETUP:REACTOS] Simplify CONTROL "ComboBox" to COMBOBOX resource declaration. 2023-12-17 20:57:11 +01:00
Hermès Bélusca-Maïto
bd51cd14d6 [SETUP:REACTOS] Fix layout of the Restart-page. 2023-12-17 20:57:10 +01:00
Mark Jansen
474a8ea46b Remove liberapay 2023-12-17 16:27:45 +01:00
Andrew Shelkovenko
44c7d9ad42 [DXHALTEST] Correct some typos (#5737)
I.e. translate GreatLordish into proper English :)

Reviewed-by: Robert Naumann <gonzomdx@gmail.com>
Reviewed-by: Joachim Henze <joachim.henze@reactos.org>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Carl J. Bialorucki <cbialo2@outlook.com>
2023-12-17 15:56:39 +03:00
Whindmar Saksit
19a0f14bb1 [SHELL32] ShellDispatch::ShellExecute must default to displaying the window (#6143)
SW_HIDE is not the correct default show mode.

This can be reproduced by simple script:
WScript.CreateObject("Shell.Application").ShellExecute("calc.exe");
2023-12-17 15:48:24 +03:00
Thamatip Chitpong
95657698e7 [NTUSER] accelerator.c: Don't use RETURN() macro (#6166) 2023-12-17 17:22:58 +07:00
Dmitry Borisov
bbe6b07612 [DC21X4] Fix minor issues (#6161)
- The return value got lost when refactoring the setup function
- The check against 0xFFFFFFFF was meant to reject an empty EEPROM image
- Add missing PAGED_CODE(); macros

CORE-8724
2023-12-17 12:00:25 +03:00
Serge Gautherie
f7d612f3e3 [BASESRV][CSRLIB][NTVDM] Add missing \n to DPRINT() calls (#5951)
and promote 1 DPRINT().
2023-12-16 23:57:35 +01:00
Jose Carlos Jesus
80751952ba [USETUP] Shorten the Portuguese translation to fit on one line (#6174) 2023-12-16 20:58:08 +00:00
Hermès Bélusca-Maïto
231ac99414 [BROWSEUI] Fix item deletion in CExplorerBand::OnTreeItemDeleted().
Addendum to commit 1b634b38e (r73706)
CORE-10838

The TVN_DELETEITEM notification sends the info about the item to be
deleted in the itemOld member of the NMTREEVIEW structure, and not in
the itemNew one!
2023-12-16 15:25:52 +01:00
Timo Kreuzer
835438f614 [NDK] Sync KUSER_SHARED_DATA with XDK 2023-12-16 14:04:36 +02:00
Timo Kreuzer
5f0e98ea3c [XDK] Add offsets to KUSER_SHARED_DATA and improve structure
Offsets taken from vergiliusproject.com.
2023-12-16 14:04:36 +02:00
Timo Kreuzer
aafe33ca85 [XDK] Remove obsolete _ANONYMOUS_STRUCT/UNION 2023-12-16 14:04:36 +02:00
Timo Kreuzer
f42e9029f7 [XDK] Apply standard formatting to KUSER_SHARED_DATA 2023-12-16 14:04:36 +02:00
Timo Kreuzer
766a093f70 [XDK][NDK] Update XSTATE definitions 2023-12-16 14:04:36 +02:00
Timo Kreuzer
1a6b6a27b2 [MSVCRT] Initialize exception support in DllMain 2023-12-16 13:52:15 +02:00
Timo Kreuzer
86f2d4cd4e [NTDLL] Initialize keyed event for condition variables 2023-12-16 13:52:15 +02:00
Katayama Hirofumi MZ
fed7ee70a6 [SHIMGVW] Enable middle button dragging (#6173) 2023-12-16 20:46:40 +09:00
Katayama Hirofumi MZ
e62d12b140 [SHIMGVW] Enable scrolling (#6172)
- Add m_xScrollOffset and m_yScrollOffset to
  PREVIEW_DATA structure.
- Add ZoomWnd_UpdateScroll helper function.
- Handle WM_HSCROLL and WM_VSCROLL messages.
- Enable mouse wheel scrolling.
CORE-19358
2023-12-16 19:45:37 +09:00
Katayama Hirofumi MZ
69fb160a48 [SHELL32] Improve Japanese (ja-JP) translation
CORE-18706
2023-12-16 12:57:17 +09:00
Katayama Hirofumi MZ
de7f1ceeef [BOOTDATA][INF] hivecls.inf: Add Japanese (ja-JP) translation
CORE-18706
2023-12-16 12:55:01 +09:00
Katayama Hirofumi MZ
e320346e9e [EVENTVWR] Improve Japanese (ja-JP) translation
CORE-18706
2023-12-16 12:42:58 +09:00
Katayama Hirofumi MZ
98b2451dfe [CHARMAP] BM_CLICK's wParam must be zero 2023-12-16 10:33:03 +09:00
Katayama Hirofumi MZ
d55add359c [COMCTL32][USER32] Button: Fix DLGC_... handling (#6168)
Based on KRosUser's button.patch.
- Fix DLGC_... handling by using & operator
  in BUTTON_CheckAutoRadioButton
  in button.c.
- Fix DLGC_... handling by using & operator
  in IsDialogMessageW in dialog.c.
- BM_CLICK's wParam must be zero.
CORE-17210
2023-12-16 09:29:13 +09:00
Andrei Miloiu
8ab2e5a28a [REG] Update Romanian (ro-RO) translation (#6137) 2023-12-15 11:39:56 +01:00
Andrei Miloiu
40f17bc9f2 [HDWWIZ] Update Romanian (ro-RO) translation (#6080) 2023-12-15 11:38:38 +01:00
Katayama Hirofumi MZ
f0179741d1 [SHIMGVW] Fix and improve zooming (#6167)
- Add WC_ZOOM window class and
  use it for zooming.
- Add ZoomWnd_OnDraw function
  and use it in ZoomWnd_OnPaint.
- Use memory bitmap to reduce flickering.
- Make rendering pixel-perfect.
CORE-19220
2023-12-15 15:16:50 +09:00
Serge Gautherie
ae534e8cee [USER32] GetNextDlgGroupItem(): Remove WineSync copy-pasta (#6162)
Improve WineSync.
Addendum to 61fb8a2 (r19831).
2023-12-14 14:41:58 +00:00
Thamatip Chitpong
3f5fd1d09e [NTUSER] window.c: Don't use RETURN() macro (#6150) 2023-12-14 14:36:38 +00:00
Joachim Henze
d387c799ed [SHELL32] 640x480-ify four dialogs (#6004)
IDD_DRIVE_PROPERTIES
IDD_DRIVE_TOOLS
IDD_DRIVE_HARDWARE
IDD_FOLDER_CUSTOMIZE

Afterwards all 4 dialogs do display fine even with 640x480 screen resolution. Same as their MS role-models do.

I also fixed some accelerator collisions FCIDM_SHVIEW_CUT and synced some forgotten syncs for IDM_CUT accel.
I also moved checkboxes further to the left in the checkdisk dialog, as it was done for en-US and some other languages before, but it was forgotten in other languages (AUTOCHECKBOX.*14000 and AUTOCHECKBOX.*14001)

the french accelerator-changes were
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2023-12-14 13:54:11 +00:00
Serge Gautherie
1244659d4c [NTOSKRNL] Remove remnant internal/arm/asmmacro.S (#6052)
Addendum to 6212c82 (r67715).
2023-12-14 13:48:31 +00:00
Katayama Hirofumi MZ
946b906ec8 [SHIMGVW] Initial implementation of Slide Show (#6163)
Add Slide Show feature.
- Add Preview_StartSlideShow and Preview_EndSlideShow functions.
- Add g_hMainWnd and g_hwndFullscreen global variables.
- Modify ZoomWnd_OnPaint to display Slide Show correctly.
- Add a timer to proceed Slide Show.
CORE-19358
2023-12-14 17:38:08 +09:00
Katayama Hirofumi MZ
079b36542c [CTFMON][SDK] Add ctfmon.exe (#6149)
ctfmon.exe will be a replacement of our
kbswitch.exe in the future. That is the
front-end of Language Bar. It is needed
to support TIPs.
- Add ctfmon.exe at base/applications/ctfmon.
- Add <cicero/cicbase.h>,
  <cicero/CModulePath.h>, and
  <cicero/osinfo.h> headers and use them.
CORE-19362
2023-12-13 21:37:15 +09:00
Katayama Hirofumi MZ
a19ba4760e [MSCTF] Add ADD_IMPORTLIB to CMakeLists.txt spec2def
CORE-19361
2023-12-13 11:10:06 +09:00
Katayama Hirofumi MZ
bfd5d37fe6 [MSCTF][SDK][UUID] Strengthen msctf.idl and msctf.spec (#6158)
- Add some function prototypes to
  sdk/include/psdk/msctf.idl.
- Modify dll/win32/msctf/msctf.spec.
- Modify uuid.
CORE-19362
2023-12-13 07:37:45 +09:00
Katayama Hirofumi MZ
3a2c2cbe60 [SDK][UUID] Add ctffunc.idl (#6157)
- Add ctffunc.idl to sdk/include/psdk.
- Modify uuid.
CORE-19362
2023-12-13 07:36:20 +09:00
Katayama Hirofumi MZ
db10ce0f9f [USER32] Skip STATIC controls on arrow keys (#6142)
- Skip DLGC_STATIC controls on array keys.
- Avoid infinite loop by using hwndFirst variable.
CORE-6127
2023-12-13 07:04:52 +09:00
Katayama Hirofumi MZ
be8e4c691d [MSCTFIME] Implement ImeRegisterWord etc. (#6160)
- Implement ImeRegisterWord, ImeUnregisterWord,
  ImeGetRegisterWordStyle, ImeEnumRegisterWord,
  ImeConversionList, ImeEscape, ImeSelect, and
  ImeSetActiveContext functions.
- These functions in MSCTFIME basically do
  nothing.
CORE-19360
2023-12-12 22:43:36 +09:00
Katayama Hirofumi MZ
9b8a5fc5f0 [COMCTL32] Tab control: Use InvalidateRect in TAB_SetItemT update (#6154)
Based on KRosUser's tab.patch.
- In TAB_SetItemT function, use
  InvalidateRect instead of
  TAB_InvalidateTabArea.
CORE-11454
2023-12-12 06:27:46 +09:00
Katayama Hirofumi MZ
17617221ce [MSCTFIME][SDK][USER32] Add msctfime.ime (stub) (#6141)
## Overview
1. msctfime.ime is an IME file interface
  for new-style IMEs a.k.a. "Text Input
  Processors" (TIPs).
2. msctfime.ime is loaded as old-style
  IME file at ImmLoadLayout in specific
  condition.
3. msctfime.ime communicates with
  the current TIP (This feature is not
  implemented yet).

## Proposed changes
- Add msctfime module at dll/ime/msctfime.
- The functions in this module are currently
  stub.
- Move IME file interface declarations from
  <imm.h> to <ddk/immdev.h>.
- Modify ImmNotifyIME, NotifyIME, and
  ImeProcessKey prototypes for x64
  compliance.
CORE-19360
2023-12-11 22:37:25 +09:00
Katayama Hirofumi MZ
04b1e8945b [COMCTL32][USER32] ComboBox: Do default processing on WM_SYSKEYDOWN (#6152)
Based on KRosUser's combo.patch. Enable Alt+F4 on ComboBox.
Do default processing on WM_SYSKEYDOWN if necessary.
CORE-18231
2023-12-11 22:04:18 +09:00
Katayama Hirofumi MZ
ea59e93e31 [FONTS] Make Arial gender glyphs +66% larger (#6156)
Make U+2642 and U+2640 glyphs +66% larger in
ReactOS "Arial" font.

- Modify arial.ttf, ariali.ttf, arialbd.ttf, and
  arialbi.ttf font files by FontForge.
- Modify media/fonts/doc/Arial/ChangeLog.txt.
- Underline values are hacked to do workaround on
  FontForge's bug.

Copyright text:
Digitized data copyright (c) 2010 Google Corporation.
Copyright (c) 2012 Red Hat, Inc.
Copyright (c) 2019-2023 Katayama Hirofumi MZ.

License: SIL Open Font License, Version 1.1
Font File Version: 2.00.1
CORE-19346
2023-12-11 20:53:45 +09:00
Katayama Hirofumi MZ
e2b1ee9a53 [SETUP][BOOTDATA][INF] Add font substitute ('Segoe UI Symbol' to 'Arial') (#6155)
Based on CORE-19346 "segoe-ui-symbo.patch".
In order to display gender glyphs (U+2642 and
U+2640; ♂ and ♀), we add a font substitute from
"Segoe UI Symbol" to "Arial".

ReactOS Arial has many symbol glyphs, so I think
we can use it for "Segoe UI Symbol" font substitute.

The glyph size problem will be fixed in #6156.
CORE-19346
2023-12-11 20:51:04 +09:00
Katayama Hirofumi MZ
a837138dfc [SHIMGVW] Destroy window to exit app in Preview_Edit
CORE-19358
2023-12-11 15:51:55 +09:00
Katayama Hirofumi MZ
2de6e7559e [SHIMGVW] Refactor Part 3 (#6148)
Improve code flexibility.
- Remove g_fnPrevProc, g_hDispWnd, g_hToolBar, and g_Anime global variables.
- Declare PREVIEW_DATA structure and use it.
- Encapsulate preview window by using user data.
CORE-19358
2023-12-11 07:52:18 +09:00
Katayama Hirofumi MZ
045e9dee58 [SDK][UUID] Strengthen <ctfutb.h> (#6135)
For supporting Text Input Processors (TIPs).
Add many TSF interfaces and definitions into "ctfutb.idl".
CORE-19268
2023-12-11 07:51:17 +09:00
Katayama Hirofumi MZ
dc2d2232f4 [SHIMGVW] Use HeapAlloc/HeapFree instead of malloc/calloc/free
malloc/free are slow. CORE-19358
2023-12-10 18:09:59 +09:00
Katayama Hirofumi MZ
468a5492a9 [SHIMGVW] Support Drag & Drop
- Use DragAcceptFiles and WM_DROPFILES.
CORE-19358
2023-12-10 16:55:34 +09:00
Katayama Hirofumi MZ
0b1d6d6b20 [SHIMGVW] Refactoring Part 2 (#6147)
- Move Anime_GetFrameDelay and Anime_Step.
- Remove one parameter from ImageView_SaveSettings.
- Rename some preview-window functions as "Preview_...".
- Rename ImageView_CreateWindow as ImageView_Main.
- Use lParam of WM_CREATE.
CORE-19358
2023-12-10 16:42:22 +09:00
Katayama Hirofumi MZ
0fe0b40ee1 [SHIMGVW] Split animation code to anime.c (#6144)
Improve code flexibility.
Add anime.c and move animation code to anime.c.
CORE-19358
2023-12-10 14:07:46 +09:00
Katayama Hirofumi MZ
5a2c451696 [SHIMGVW] Some minor refactoring (#6139)
Improve human readability. Reduce code amount.
CORE-19358
2023-12-10 08:20:17 +09:00
Katayama Hirofumi MZ
8be912147b [ICCVID][MSRLE32][MSVIDC32] Add VfW codecs version info (#6118)
Based on KRosUser's vfw.patch.
CORE-15382
2023-12-10 06:50:58 +09:00
Andrei Miloiu
623e857a43 [MAIN] Update Romanian (ro-RO) translation (#6013) 2023-12-09 20:24:42 +01:00
Andrei Miloiu
63276e6343 [MYEVENTPROVIDER_DLL][MC] Update Romanian (ro-RO) translation to message table (#6075) 2023-12-09 20:23:30 +01:00
Andrei Miloiu
3c2e1c182e [LSASRV] Update Romanian (ro-RO) translation (#6078) 2023-12-09 20:23:03 +01:00
Andrei Miloiu
053caa1dff [NEWDEV] Update Romanian (ro-RO) translation (#6084) 2023-12-09 20:21:36 +01:00
Andrei Miloiu
8fe995f978 [DXDIAG] Update Romanian (ro-RO) translation (#6085) 2023-12-09 20:21:06 +01:00
Andrei Miloiu
0be73e7253 [RAPPS] Improve Romanian (ro-RO) translation (#6086) 2023-12-09 20:20:31 +01:00
Andrei Miloiu
ec0e51a265 [SHELL32] Update Romanian (ro-RO) translation (#6087) 2023-12-09 20:20:12 +01:00
Andrei Miloiu
9ecf552fe4 [DRIVERS][INF] Update Romanian (ro-RO) translation (#6088) 2023-12-09 20:19:54 +01:00
Andrei Miloiu
28dcfe246d [APPWIZ] Improve Romanian (ro-RO) translation (#6090) 2023-12-09 20:19:09 +01:00
Andrei Miloiu
512715bd89 [LABEL] Update Romanian (ro-RO) translation (#6091) 2023-12-09 20:18:34 +01:00
Andrei Miloiu
8f0885d069 [AT] Update Romanian (ro-RO) translation (#6092) 2023-12-09 20:18:05 +01:00
Andrei Miloiu
ec2465218f [CTM] Update Romanian (ro-RO) translation (#6093) 2023-12-09 20:17:44 +01:00
Andrei Miloiu
2c427f647a [EXPLORER] Update Romanian (ro-RO) translation (#6094) 2023-12-09 20:17:06 +01:00
Andrei Miloiu
5cdee40fa4 [MAGNIFY] Update Romanian (ro-RO) translation (#6095) 2023-12-09 20:15:19 +01:00
Andrei Miloiu
2498935acd [COMCTL32] Update Romanian (ro-RO) translation (#6096) 2023-12-09 20:14:55 +01:00
Andrei Miloiu
e198f54624 [RUNONCE] Update Romanian (ro-RO) translation (#6098) 2023-12-09 20:14:32 +01:00
Andrei Miloiu
814b9e3f2c [DEVMGR] Update Romanian (ro-RO) translation (#6099) 2023-12-09 20:13:43 +01:00
Andrei Miloiu
5c77620c17 [SYSSETUP] Update Romanian (ro-RO) translation (#6100) 2023-12-09 20:13:20 +01:00
Andrei Miloiu
3d75fddb25 [ZIPFLDR] Update Romanian (ro-RO) translation (#6101) 2023-12-09 20:12:47 +01:00
Andrei Miloiu
ea858b3d98 [STOBJECT] Update Romanian (ro-RO) translation (#6102) 2023-12-09 20:12:07 +01:00
Andrei Miloiu
a4f4a2b199 [HDWWIZ] Update Romanian (ro-RO) translation (#6103) 2023-12-09 20:11:19 +01:00
Andrei Miloiu
9b69ef3692 [NTVDM] Update Romanian (ro-RO) translation (#6104) 2023-12-09 20:10:47 +01:00
Andrei Miloiu
75de397181 [ACCESS] Update Romanian (ro-RO) translation (#6111) 2023-12-09 20:09:58 +01:00
Andrei Miloiu
787b41680c [NETSHELL] Update Romanian (ro-RO) translation (#6112) 2023-12-09 20:09:25 +01:00
Andrei Miloiu
5d57e0d81b [NETID] Update Romanian (ro-RO) translation (#6113) 2023-12-09 20:07:23 +01:00
Andrei Miloiu
bd04ddc294 [SYSDM] Update Romanian (ro-RO) translation (#6114) 2023-12-09 20:06:46 +01:00
Andrei Miloiu
2d8e4911a2 [RASDLG] Update Romanian (ro-RO) translation (#6115) 2023-12-09 20:06:04 +01:00
Andrei Miloiu
ffb7f0ea1b [PCICLASS][MC] Update Romanian (ro-RO) translation (#6116) 2023-12-09 20:04:43 +01:00
Andrei Miloiu
6b82ed575c [CMD] Update Romanian (ro-RO) translation (#6117) 2023-12-09 20:04:09 +01:00
Andrei Miloiu
39ac6187db [OPENGLCFG] Update Romanian (ro-RO) translation (#6119) 2023-12-09 20:03:38 +01:00
Andrei Miloiu
53b195f49f [HELP] Update Romanian (ro-RO) translation (#6120) 2023-12-09 20:03:12 +01:00
Andrei Miloiu
3c5bbd4e95 [DISKPART] Update Romanian translation (#6121) 2023-12-09 20:02:34 +01:00
Andrei Miloiu
4c9c49aa64 [TAPIUI] Improve Romanian (ro-RO) translation (#6124) 2023-12-09 20:01:57 +01:00
Andrei Miloiu
35f386bf0c [WINMM] Update Romanian (ro-RO) translation (#6125) 2023-12-09 20:01:09 +01:00
Andrei Miloiu
48e276b180 [IERNONCE] Update Romanian (ro-RO) translation (#6126) 2023-12-09 20:00:40 +01:00
Andrei Miloiu
d7e4bda3ed [TIMEDATE] Update Romanian (ro-RO) translation (#6136) 2023-12-09 20:00:11 +01:00
Katayama Hirofumi MZ
b7dcc1024b [IMM32] Rewrite ImmLoadLayout (#6138)
ImmLoadLayout was buggy.
- Don't do zero fill pImeInfoEx.
- Simplify registry handling.
- Don't reset pImeInfoEx->fLoadFlag if failed early.
CORE-19268
2023-12-09 09:49:57 +09:00
Katayama Hirofumi MZ
414f3da7a6 [COMCTL32] IP Address control: Fix background drawing (#6133)
Based on KRosUser's suggestion.
bgCol is a COLORREF value, not a color index.
Create a brush from bgCol.
CORE-9853
2023-12-09 05:00:39 +09:00
Timo Kreuzer
e5c5efe2ad [NTOS:KE/x64] Set the idle thread's IdealProcessor for application processors 2023-12-08 20:16:51 +02:00
Timo Kreuzer
b1a9e72e92 [NTOS:KE/x64] Do not call HalInitSystem from application processors 2023-12-08 20:16:51 +02:00
Timo Kreuzer
d0f6874d92 [NTOS:KE/x64] Factor out KiIntializeProcessorBootStructures 2023-12-08 20:16:51 +02:00
Timo Kreuzer
8c466c3e36 [NTOS:KE/x64] Improve KiInitializePcr 2023-12-08 20:16:51 +02:00
Timo Kreuzer
d2a3b1c791 [NTOS:KE/x64] Factor out KiInitializeP0BootStructures 2023-12-08 20:16:51 +02:00
Timo Kreuzer
e655594609 [NTOS:KE/x64] (Re)move initialization of IRQL and TR 2023-12-08 20:16:51 +02:00
Timo Kreuzer
0a7255e4bf [NTOS:KE/x64] Move Initialization of TSS 2023-12-08 20:16:51 +02:00
Timo Kreuzer
160980aba1 [NTOS:KE/x64] Move initialization of PCR 2023-12-08 20:16:51 +02:00
Timo Kreuzer
ba62dd0aaa [NTOS:KE/x64] Move initialization of KeLoaderBlock 2023-12-08 20:16:51 +02:00
Timo Kreuzer
e1497d43d7 [NTOS:KE/x64] Improve KiInitializeTss 2023-12-08 20:16:51 +02:00
Timo Kreuzer
bbe16859b5 [NTOS:KE/x64] Rename P0 boot stacks 2023-12-08 20:16:51 +02:00
Timo Kreuzer
6c5b3f203d [NTOS:KE/x64] Add back a stubs.c file 2023-12-08 19:38:59 +02:00
Timo Kreuzer
57c7f06004 [NTOS:KE/x64] Rename stubs.c to traphandler.c 2023-12-08 19:38:59 +02:00
Timo Kreuzer
230f7c7f3c [HALX86] Some improvements / bugfixes for IPI support functions 2023-12-08 19:28:57 +02:00
Timo Kreuzer
d8d46a00c3 [HALX86] Use InterlockedBitTestAndSetAffinity instead of InterlockedBitTestAndSet 2023-12-08 19:28:57 +02:00
Timo Kreuzer
d87b45bee7 [NDK] Add Affinity helper inline functions 2023-12-08 19:28:57 +02:00
Katayama Hirofumi MZ
57e7f0b321 [SHIMGVW] Add g_ or s_ prefix to global variables (#6134)
Renaming global variables:
- s/hInstance/g_hInstance/
- s/shiSettings/g_Settings/
- s/currentFile/g_pCurrentFile/
- s/image/g_pImage/
- s/PrevProc/g_fnPrevProc/
- s/hDispWnd/g_hDispWnd/
- s/hToolBar/g_hToolBar/
- s/ZoomPercents/s_nZoomPercents/
- s/ZoomSteps/s_ZoomSteps/
- s/Buttons/s_Buttons/
- s/BtnConfig/s_ButtonConfig/
CORE-19358
2023-12-08 21:35:43 +09:00
Katayama Hirofumi MZ
e7f6b473e6 [SHIMGVW] Implement ImageView_Delete (#6132)
- Call SHFileOperation to delete.
- Rebuild the file list and load the
  next file.
CORE-19358
2023-12-08 15:30:55 +09:00
Katayama Hirofumi MZ
0faa1561a6 [SHIMGVW] Check VK_CONTROL on ImageView_OnMouseWheel
CORE-19358
2023-12-08 15:03:18 +09:00
Katayama Hirofumi MZ
77ab709b61 [SHIMGVW] Improve window size handling
CORE-19358
2023-12-08 14:56:12 +09:00
Katayama Hirofumi MZ
a500b513b0 [SHIMGVW] Use WM_GETMINMAXINFO instead of WM_SIZING
to limit window size. CORE-19358
2023-12-08 14:30:35 +09:00
Katayama Hirofumi MZ
d178e6bb41 [SHIMGVW] Add VK_OEM_PLUS and VK_OEM_MINUS to IDR_ACCELERATOR
Improve keyboard usability. CORE-19358
2023-12-08 14:22:56 +09:00
Katayama Hirofumi MZ
0f519a783c [SHIMGVW] Implement IDC_BEST_FIT
- Add two parameters to UpdateZoom.
- Enable/disable IDC_BEST_FIT and IDC_REAL_SIZE
  buttons in UpdateZoom.
- Call ResetZoom on IDC_BEST_FIT.
CORE-19358
2023-12-08 11:44:03 +09:00
Katayama Hirofumi MZ
02312c7bf1 [SHIMGVW] Main window class must be "ShImgVw:CPreviewWnd"
and window style is (WS_VISIBLE | WS_CLIPSIBLINGS | WS_OVERLAPPEDWINDOW).
CORE-19358
2023-12-08 11:01:00 +09:00
Whindmar Saksit
e4d03f471b [REGEDIT][REG] Limit registry type to 8 hex digits when importing (#6063)
Matches Windows and lets the Wine13i test in regedit_winetest pass.
2023-12-04 16:46:06 +01:00
Serge Gautherie
0c568c0c90 [XDK] kefuncs.h: Unduplicate 2 function definitions (#6057) 2023-12-04 13:49:57 +01:00
Hermès Bélusca-Maïto
1797566d73 [IMM32] Include ldrfuncs.h for RtlDllShutdownInProgress (#6071) 2023-12-04 13:47:39 +01:00
Hermès Bélusca-Maïto
48456d9108 [NDK] ldrfuncs.h: Add RtlDllShutdownInProgress; make the header C++-compatible (#6071)
The function is added here, because it is loader-related
and thus making sense there, instead of in rtlfuncs.h.
2023-12-04 13:47:33 +01:00
Thamatip Chitpong
2dd0c6c32b [ACPI] Add acpi.rc to CMakeLists (#6089)
Fix missing version info.
2023-12-04 07:17:08 +07:00
Joachim Henze
a6341b49d8 [NETSHELL] 640x480-ify complete that module (#6109)
Addendum to (#5899)

The change in sk-SK.rc
IDD_NETPROPERTIES DIALOGEX 0, 0, 246, 246
to
IDD_NETPROPERTIES DIALOGEX 0, 0, 246, 216
is an addendum to (#5899). In sk-SK.rc that line was accidentally forgotten to be changed.

The change to "all" rc's:
IDD_STATUS DIALOGEX 0, 0, 200, 280
to
IDD_STATUS DIALOGEX 0, 0, 200, 180
changes the last dialog, that had a greater value here than 220 (which is the max we can use for 640x480-ability).
I decided to use 180 for 2 reasons:
1.) bg-BG.rc already used IDD_STATUS DIALOGEX 0, 0, 200, 180 here, so we can sync all langs to that.
2.) We have some dialogs nearby which do use that same dimension for all langs, e.g.:
IDD_LAN_NETSTATUS DIALOGEX 0, 0, 200, 180
IDD_LAN_NETSTATUSADVANCED DIALOGEX 0, 0, 200, 180
2023-12-03 21:35:57 +00:00
Joachim Henze
471cceb14f [TASKMGR] RC trivia el-GR.rc pt-BR.rc pt-PT.rc ru-RU.rc sv-SE.rc (#6097)
As the title says: Just some trivia
2023-12-03 21:35:01 +00:00
Joachim Henze
6a7315228c [NETCFGX] IDD_TCPIP_ALTCF_DLG Fix radiobutton (#6083)
Do to the 2nd dialog the same what (#6049) did for the first dialog:
- Flip the controls

- move vertical position of the groupbox from 55 to 57 to make it look better
- sync vertical position of 2 more controls for fr-FR.rc
2023-12-03 21:34:29 +00:00
Stanislav Motylkov
7c5f93a582 [HOTPLUG] Update Russian (ru-RU) translation 2023-12-04 00:20:40 +03:00
Stanislav Motylkov
0fd51c9fe3 [STOBJECT] Update Russian (ru-RU) translation 2023-12-03 23:56:07 +03:00
Stanislav Motylkov
8bc6c8fa56 [USETUP] Update Russian (ru-RU) translation
- Translate one untranslated string
- Fix some "е" -> "ё" occurences and punctuation.
2023-12-03 23:40:45 +03:00
Stanislav Motylkov
6295c61f3f [SHELL32] Update resource file headers
Only update files that already have a non-standard header.
There are still resource files that just don't have it.

Dedicated to Joachim Henze - PR #6004 commit 273a6e2575.
2023-12-03 22:42:10 +03:00
Stanislav Motylkov
51f9b86cbc [REACTOS] Omit "aka" for the authors' nicknames
Based on grep query: https://git.reactos.org/?p=reactos.git&a=search&h=c00d41d91c181746563e689d3390228f703053f5&st=grep&s=+%28aka+
Dedicated to Joachim Henze - PR #5978 commit 4c7222bab3.
2023-12-03 22:08:20 +03:00
Hermès Bélusca-Maïto
2f0a5e546f [NTOS:KE] Don't hardcode pool tag and TSS flag values (#6051)
Co-authored-by: Serge Gautherie <32623169+SergeGautherie@users.noreply.github.com>
2023-12-03 17:33:10 +01:00
Katayama Hirofumi MZ
6e449d47e8 [IMM32][KERNEL32][SDK] Half-implement BaseCheckAppcompatCache (#6069)
- And add it to <compat_undoc.h>.
- Use <compat_undoc.h> in IMM32.
- Modify kernel32.spec.
CORE-19268
2023-12-03 23:40:49 +09:00
Eric Kohl
d8ba5920a2 [NTOS:PNP][UMPNPMGR] GUID_DEVICE_ENUMERATED should be a DeviceInstallEvent
- Move the GUID_DEVICE_ENUMERATED event from the TargetDeviceChangeEvent category to the DeviceInstallEvent category
- Create a new function that handles DeviceInstallEvent category events
2023-12-03 14:00:34 +01:00
Eric Kohl
30b9be047f [UMPNPMGR] Split the notification code by event category
- Move the TargetDeviceChangeEvent code into a separate function.
- Add a new function for the DeviceClassChangeEvent category.
2023-12-03 11:08:57 +01:00
Katayama Hirofumi MZ
75cf6920bc [IMM32][SDK][NTUSER] Implement ImmProcessKey for Cicero (#6106)
Complete CTF IMM.
- Add CtfImeProcessCicHotkey and CtfImeSetActiveContextAlways
  to access CTF IMEs.
- Check whether Cicero is started in the current thread in ImmProcessKey.
- Call CtfImeProcessCicHotkey if necessary in ImmProcessKey.
- Modify <CtfImeTable.h>.
- Add CI_CICERO_STARTED flag to "ntuser.h".
- Fix Imm32JCloseOpen.
CORE-19268
2023-12-03 17:33:22 +09:00
Thamatip Chitpong
9ea2222967 [HH] Check LoadLibrary and GetProcAddress return value (#6082)
Handle failure cases.
2023-12-03 08:15:08 +07:00
Katayama Hirofumi MZ
d795021a75 [IMM32][SDK] Implement GetKeyboardLayoutCP (#6068)
- Add IMM32!GetKeyboardLayoutCP function.
- Add it to <imm32_undoc.h>.
- Delete ImmDisableLegacyIME and
  ImmSendMessageToActiveDefImeWndW functions
  (2k3/xp IMM32 doesn't have such functions).
- Modify imm32.spec.
- Refer ntdll!RtlDllShutdownInProgress function (that is WinXP+).
CORE-19268
2023-12-03 07:46:35 +09:00
Timo Kreuzer
40b6b1dab3 [HAL] Implement IPI support functions 2023-12-03 00:07:53 +02:00
Katayama Hirofumi MZ
4bccb6e6c9 [SHELL32][SDK][SHELL32_APITEST] Add PathIsTemporaryA/W (#6067)
- Implement PathIsTemporaryA and
  PathIsTemporaryW functions.
- Add them to <undocshell.h>.
- Add PathIsTemporary testcase.
CORE-19278
2023-12-02 23:07:28 +09:00
Whindmar Saksit
f31f9facc9 [URL] Add icon resource for .url files (#6081)
Otherwise, the registration for .url files and the http/https protocols point to a missing icon in url.dll.
2023-12-02 12:38:09 +01:00
Andrei Miloiu
1cf6ce6b5a [CRYPTUI] Update Romanian (ro-RO) translation (#6077) 2023-12-01 15:43:58 +01:00
Andrei Miloiu
2c1dacc0c6 [OPENGLCFG] Update Romanian (ro-RO) translation (#6073)
Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
2023-12-01 15:40:13 +01:00
Andrei Miloiu
0e42ffb716 [WINMM] Update Romanian (ro-RO) translation (#6074) 2023-12-01 15:39:23 +01:00
Andrei Miloiu
98d652e6b7 [REACTOS] Update Romanian (ro-RO) translation (#6079) 2023-12-01 15:38:01 +01:00
Andrei Miloiu
bb97f0d1c3 [RASDLG] Update Romanian (ro-RO) translation (#6059) 2023-12-01 15:35:23 +01:00
Andrei Miloiu
77ed2e2fb0 [EVENTVWR] Update Romanian (ro-RO) translation (#6060) 2023-12-01 15:34:22 +01:00
Andrei Miloiu
64fe3347e9 [DESK] Update Romanian (ro-RO) translation (#5958) (#6061) 2023-12-01 15:33:35 +01:00
Andrei Miloiu
212f3eaf00 [MSGINA] Update Romanian (ro-RO) translation (#6062) 2023-12-01 15:32:38 +01:00
Andrei Miloiu
8ed370c86e [COMDLG32] Update Romanian (ro-RO) translation (#6076) 2023-12-01 15:27:36 +01:00
Joachim Henze
5012c6a2b0 [NETCFGX] IDD_TCPIP_BASIC_DLG Radiobuttons need 2 arrow-down-presses instead of one (#6049)
We do have to reorder the controls.
We do have to add some missing WS_TABSTOP in some languages.
We do have to strip some dots in some languages.
2023-12-01 14:19:32 +00:00
Thamatip Chitpong
e0c17c3f46 [DXG] Don't repeat "DXG" module name in version info 2023-12-01 08:23:13 +07:00
Katayama Hirofumi MZ
84e8ea0dd5 [USER32] Fix IsWindow by not using WNDS2_INDESTROY (#6066)
Based on I_Kill_Bugs' IsWinodw.patch.
CORE-11722, CORE-16432
2023-12-01 09:08:58 +09:00
Timo Kreuzer
f92c44b217 [NTOS:KE] Remove KiMask32Array
It's useless and also broken in the way it is used. Replace it with a simple shift and make it correct for 64 bit.
2023-11-30 13:03:52 +02:00
Timo Kreuzer
642c795531 [KERNEL32] Fix 64-bit bug in SetProcessAffinityMask 2023-11-30 13:01:14 +02:00
Katayama Hirofumi MZ
931224fbe1 [IMM32][SDK][NTUSER] Implement CtfImmTIMActivate (#6041)
- Add Imm32InitTLS, Imm32AllocateTLS, Imm32GetTLS,
  Imm32GetCoInitCountSkip, Imm32IncCoInitCountSkip, and
  Imm32DecCoInitCountSkip helper functions to
  control the TLS data.
- Introduce "CoInitialize Spy" (ISPY) to manage COM
  initialization status.
- Implement CtfImmCoInitialize and CtfImmCoUninitialize.
- Implement CtfImmEnterCoInitCountSkipMode and
  CtfImmLeaveCoInitCountSkipMode.
- Implement CtfImmLastEnabledWndDestroy,
  ImmDisableTextFrameService, and CtfImmTIMActivate.
CORE-19268
2023-11-30 17:22:50 +09:00
Eric Kohl
01a8288d28 [UMPNPMGR] Move the pnp event thread to a separate file 2023-11-29 23:03:00 +01:00
Hermès Bélusca-Maïto
8ed5151d33 [BOOTDATA] Add explicit value types as we do for the others.
Addendum to commit fce106ab2.
2023-11-29 19:02:38 +01:00
Whindmar Saksit
fce106ab25 [BOOTDATA] hivesft: Fix URL Protocol registry value (#6058)
"URL Protocol" is a registry value, not a key!

IEFrame later comes along and adds the value covering up the issue for everyone except poor gopher.
2023-11-29 20:40:19 +03:00
Katayama Hirofumi MZ
2aeda3dc15 [SHELL32][SHELL32_APITEST][SDK] Implement PathIsEqualOrSubFolder (#5714)
Implement PathIsEqualOrSubFolder function.
- Add it to <undocshell.h>.
- Add PathIsEqualOrSubFolder testcase.
- Add SHGetPathCchFromIDListW as an
  extension of SHGetPathFromIDListW.
CORE-19278
2023-11-29 22:50:01 +09:00
Thamatip Chitpong
ea8a49d81f [PORTCLS] Don't repeat "PORTCLS" module name in version info 2023-11-29 10:31:14 +07:00
Thamatip Chitpong
82e81b2342 [WS2HELP] Add ws2help.rc to CMakeLists (#6055)
Fix missing dll version info
2023-11-29 07:03:28 +07:00
Thamatip Chitpong
a79bd4d0cc [SETUPAPI] Add dll version info (#6050) 2023-11-28 19:30:34 +07:00
Hermès Bélusca-Maïto
8c3f7b1027 [HALARM] HalpActiveProcessors is a KAFFINITY (see headers) 2023-11-28 12:17:48 +01:00
Eric Kohl
12a5971b7a [NTOS:PNP] Queue a device change event on interface enable or disable 2023-11-27 22:36:52 +01:00
Timo Kreuzer
a64a674980 [TASKMGR] Fix 64-bit bugs 2023-11-27 23:30:51 +02:00
Serge Gautherie
b386ea728f [NTOSKRNL] Remove unused internal/amd64/asmmacro.S
Added, but never(?) used.

Addendum to 99e6ad7 (r46620).
2023-11-27 22:51:51 +02:00
Joachim Henze
628d4a92e9 [TASKMGR] Fix text cutoff statusbar2 CPU%, improve statusbar3 Mem (#5978)
ReactOS taskmgr writes a bit more *useful* dynamically
generated strings in the status-bar field 3 with the memory
than MS Windows XP taskmgr does for example.
Available space in the statusbar is very limited,
therefore we use the following trick to get as much as possible of that helpful text visible
for the majority of the translations:
- We do shrink the CPU% column a bit in width and static text lengths, as it is the one which
has very little variety in length of its dynamic part: 0% to 100%

This improves the display for all languages, and for some languages it also fixes
text-cutoff that we even had with the wider width in the CPU% column already.

also fix an accelerator collision in nl-NL.rc
2023-11-27 17:53:34 +00:00
Doug Lyons
75c67f9b51 [USER32] Fix F1'97 Demo icon not showing in explorer (#5268)
Fixes the F1'97 Demo program (a racing game) not showing an icon in explorer.
This fixes a very special kind of icons which are embedded into the
executable by ancient Watcom C/C++ compilers.
Windows XP/2k3sp2 can show that icon.
Windows Vista/7 cannot show that icon.

Due to the different behavior of the various Windows versions, we
also added a testcase for our bots to protect that functionality in the future,
we committed that test by 0.4.15-dev-7076-g c00d41d91c (#6020)

JIRA issue: CORE-10726
2023-11-27 17:02:08 +00:00
Katayama Hirofumi MZ
f630bbce0a [IEXPLORE][INF] Follow-up of 76b25a7
Adapt icon location to ReactOS. CORE-18625
2023-11-27 21:19:05 +09:00
Katayama Hirofumi MZ
76b25a747a [IEXPLORE][INF] Fix 'Internet Browser' registry settings
HKCR\CLSID\%CLSID_Internet%\ShellFolder" was wrong.
CORE-18625
2023-11-27 21:07:54 +09:00
Katayama Hirofumi MZ
f7a4c26322 [INPUT] Fix exception on SPI_SETDEFALTINPUTLANG (#6043)
Follow-up to #4666. Fix an abnormal termination at setting the default language.
- pCurrent was NULL at the scene. Don't use it there for SPI_SETDEFALTINPUTLANG.
- Save the default keyboard layout. Use it.
CORE-11700, CORE-13244, CORE-18364
2023-11-27 20:25:58 +09:00
Katayama Hirofumi MZ
fb642f727f [IMM32] s/CopyMemory/RtlCopyMemory/
CORE-19268
2023-11-27 16:21:34 +09:00
Doug Lyons
c00d41d91c [USER32_APITEST] Add test for bad 'Icon Groups' but good 'Icons' such as F1'97 (#6020)
Add test for bad 'Icon Groups' but good 'Icons' such as created
by old versions of Watcom C/C++
That icon shows fine in Windows Explorer WinXP/Win2K3,
but does not show in WinVista/Win7 anymore.
A very special corner case.

We will commit the proposed fix shortly after committing the new test.
2023-11-26 15:26:05 +00:00
Andrei Miloiu
e3d97d7dde [PING] Update Romanian (ro-RO) translation (#6010)
Co-authored-by: Joachim Henze <joachim.henze@reactos.org>
Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
2023-11-26 14:11:45 +00:00
Andrei Miloiu
624b36ad59 [WINLOGON] Update Romanian (ro-RO) translation (#6011)
Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
2023-11-26 14:10:12 +00:00
Hermès Bélusca-Maïto
d0e1d36009 [SDK:LIB] Import PathCch* functions from Wine (#5842)
CORE-12686

Isolate PathCch* functions from Wine implementation in kernelbase
(which are mixed with a ton of unrelated stuff).

These functions are compiled into a pathcch.lib library, similarly
to the one in the official MS PSDK. Excepting that here, their actual
implementation is in the library. This contrasts with the one in the
MS PSDK, which is an import library to an apiset DLL.

The pathcch.h header is an original one, that contains SAL annotations
and descriptive parameter names, based on the MinGW and MS PSDK headers.
Wine's header was not used as it is poor and incomplete.

Co-authored-by: Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
2023-11-26 13:43:15 +01:00
Whindmar Saksit
c7777f5963 [ZIPFLDR] Fix off-by-one count error during enumeration (#6040)
CORE-19342
2023-11-26 13:41:02 +01:00
Katayama Hirofumi MZ
af7defb556 [KERNEL32] Implement SetComPlusPackageInstallStatus 2023-11-26 21:30:00 +09:00
Katayama Hirofumi MZ
f3bd8ffb20 [GDI32_APITEST] Strengthen PatBlt with negative values
CORE-19334
2023-11-26 15:31:00 +09:00
Katayama Hirofumi MZ
0bfa0cd0d2 [NTGDI] Fix PatBlt with negative values (#6038)
When I am implementing the IME soft keyboard (#6021 and #6036),
I noticed an issue with PatBlt function.

- Fix the rectangle coordinates when the value was
  negative in NtGdiPatBlt function.
- Fix NC_DrawFrame function.
- Fix UserDrawWindowFrame function.

CORE-19334
2023-11-26 11:46:42 +09:00
Katayama Hirofumi MZ
90e17817fe [IMM32] Implement CtfImmTIMCreateInputContext
CORE-19268
2023-11-26 09:20:07 +09:00
Katayama Hirofumi MZ
9d0b6f3185 [IMM32][SDK] Implement CtfImmSetCiceroStartInThread
- Add CtfImmSetCiceroStartInThread function.
- Add its prototype to <imm32_undoc.h>
- Modify imm32.spec.

CORE-19268
2023-11-26 08:58:59 +09:00
Katayama Hirofumi MZ
d74d4e0395 [NETCFGX] Fix TCP/IP alternate radiobutton behaviour (#6039)
Based on KRosUser's netaltconf_fix.patch.
CORE-19336
2023-11-25 22:47:46 +09:00
Katayama Hirofumi MZ
3b2fdc56bd [IMM32][SDK][NTUSER][IMM32_WINETEST] Add CtfImmGenerateMessage (#6037)
Implementing advanced text service...

- Add CtfImmGenerateMessage function.
- Modify imm32.spec.
- Move TRANSMSG, TRANSMSGLIST etc. in
  win32ss/include/ntuser.h to <immdev.h>.
- Move win32ss/include/imetable.h to
  sdk/include/reactos/imetable.h.
- Move dll/win32/imm32/CtfImeTable.h to
  sdk/include/reactos/CtfImeTable.h.
- Fix build failure of imm32_winetest due
  to TRANSMSG redefinition.

CORE-19268
2023-11-25 22:46:00 +09:00
Katayama Hirofumi MZ
6783061894 [IMM32] Implement Soft Keyboard Type C1 (#6036)
Follow-up to #6021. This PR will finish ImmCreateSoftKeyboard implementation.

- Add c1key.h to define C1 internal codes.
- The tests are done, using FreeCJ2004 on Chinese/Taiwanese system.

FreeCJ2004: https://web.archive.org/web/20061208204431/http://input.foruto.com/download/Forum/freecj2004.exe

CORE-19268
2023-11-25 18:56:33 +09:00
Katayama Hirofumi MZ
3799d37a48 [MSPAINT] mouse.cpp: Renaming some items for human readability
CORE-19094
2023-11-25 14:14:14 +09:00
Katayama Hirofumi MZ
fd38a6f788 [MSPAINT] mouse.cpp: Erase type warnings of SIZE_T vs. INT
CORE-19094
2023-11-25 14:09:20 +09:00
Katayama Hirofumi MZ
b8598e095d [MSPAINT] Improve Undo/Redo handling of selection (#6035)
Consistent behavior of the application.
- Add ShiftPtStack and BuildMaskFromPtStack
  helper functions.
- Move some codes of selectionModel to
  mouse.cpp.
CORE-19226
2023-11-25 13:44:31 +09:00
Thamatip Chitpong
ab0119c61f [SETUPAPI] cfgmgr.c: Minor debug strings fix 2023-11-25 07:50:23 +07:00
Katayama Hirofumi MZ
bd06299059 [IMM32][SDK] Implement IME Soft Keyboard Type T1 (#6021)
- Rename version.rc as imm32.rc.
- Add resource.h and t1keys.h.
- Add some resource bitmaps.
- Modify <immdev.h>.

Test:
Press Ctrl+Alt+comma on FreeCJ2004.

NOTE: There's a visual bug in PatBlt with negative values.
CORE-19268
2023-11-24 23:02:19 +09:00
Katayama Hirofumi MZ
f710e5a260 [MSPAINT] Define SelectionBaseTool and use it (#6034)
Refactoring and arrangement for selection handling.
- Move some selection-related codes in canvas.cpp to mouse.cpp.
- Add SelectionBaseTool structure for FreeSelTool and RectSelTool.
CORE-19094
2023-11-24 15:44:16 +09:00
Katayama Hirofumi MZ
898fb5f414 [MSPAINT] Move CHECKED_IF and ENABLED_IF macros and improve
Refactoring. CORE-19094
2023-11-24 10:39:16 +09:00
Katayama Hirofumi MZ
e52379a61c [MSPAINT] Delete redundant comments
Refactoring. CORE-19094
2023-11-24 10:34:39 +09:00
Katayama Hirofumi MZ
2d5bb5ffbf [MSPAINT] Delete common.h and move code to precomp.h
Refactoring. CORE-19094
2023-11-24 10:25:47 +09:00
Katayama Hirofumi MZ
470d86f1e5 [MSPAINT] Delete globalvar.h and move code to precomp.h
Refactoring. CORE-19094
2023-11-24 10:12:37 +09:00
Thamatip Chitpong
40bc5bf489 [SETUPAPI] CM_Request_Device_Eject_ExW: Allow ulNameLength to be zero when pszVetoName is not NULL (#6031)
Addendum to 7f346b1aa (#5943)
2023-11-24 07:47:01 +07:00
Hermès Bélusca-Maïto
c77a5ff99b Revert my last commits that break build.
Revert "[PSDK][AFD][VGADDI] Further build and MS PSDK compatibility fixes."
This reverts commit 99efc2ae50.

Revert "[PSDK] Sync winresrc.h with wine-8.20"
This reverts commit 3e83562aa7.

Revert "[OSK][PROGMAN] Fix resource file build."
This reverts commit 84e4ad0a82.

Revert "[PSDK] Use the new .rh files in winresrc.h"
This reverts commit f6fb7c48c9.
2023-11-23 17:20:47 +01:00
Hermès Bélusca-Maïto
99efc2ae50 [PSDK][AFD][VGADDI] Further build and MS PSDK compatibility fixes.
- windows.h:
  * should define _WINDOWS_ and _INC_WINDOWS instead of _WINDOWS_H
  * include winresrc.h if RC_INVOKED and not NOWINRES (Wine also agrees
    with that)
  * also, some .h included from there should _not_ be included if their
    respective NO*** flags are defined.

- batclass.h: Use correct _WINDOWS_ guard.

- winsnmp.h:
  * should define _INC_WINSNMP instead of _WINSNMP_H
  * use _INC_WINDOWS instead of _WINDOWS_H

- afd.h, vgaddi.h: Use the correct guards.

- winnt.rh: Define the (SUB)LANG_* exactly as they are in the winnt.h,
  otherwise we get macro redefinition compile errors.

NOTE: Ideally these .rh files should be auto-generated from their
corresponding .h files.

- afxres.h: Do not include the whole windows.h, but instead, only
  the winres.h file, and only if RC_INVOKED is defined.

NOTE: Both afxres.h and winres.h do not really belong to the PSDK,
but belong instead to MFC. The reason why we have them here is twofold:

1. Wine used to have also winres.h (from where we got ours). This is
   because the .rc resource files of some non-MFC modules were generated
   with Visual Studio, which always includes afxres.h for these, and the
   solution was to use a slightly less MFC-specific header: winres.h
   (Wine commit cb08c82244673f26842e7a0766de90f091b5a493).
   However, this winres.h has been since removed from Wine tree
   (Wine commit 197f4059ab2af5f13f9c56faa26e3b4af902f869).

2. Few of our modules either use afxres.h or winres.h in their resource
   files, and we still want to be able to compile them.
2023-11-23 16:26:30 +01:00
Hermès Bélusca-Maïto
3e83562aa7 [PSDK] Sync winresrc.h with wine-8.20
It is also compatible with MS PSDK file.

NOTE: I have observed that at least one .rh file (commctrl.rh) we have
from Wine, is not yet fully compatible with its MS PSDK counterpart
(for example it misses the TBSTYLE_* defines).
2023-11-23 16:25:35 +01:00
Hermès Bélusca-Maïto
84e4ad0a82 [OSK][PROGMAN] Fix resource file build. 2023-11-23 16:25:33 +01:00
Hermès Bélusca-Maïto
f6fb7c48c9 [PSDK] Use the new .rh files in winresrc.h 2023-11-23 13:04:32 +01:00
Hermès Bélusca-Maïto
9384e742eb [PSDK] Import commctrl.rh, dde.rh, winnt.rh from wine-8.20 2023-11-23 12:45:55 +01:00
Hermès Bélusca-Maïto
1a3c479b62 [PSDK] Make winuser.rh more compatible with the one from MS PSDK
Note that this file is already in sync with wine-8.20

NOWINMESSAGES, NOWINSTYLES, NOCLIPBOARD, NOMENUS, NOSYSCOMMANDS,
OEMRESOURCE and NOICONS #ifndef guards should not be present in the
.rh file, contrary to the .h file.

However, #ifndef NONCMESSAGES guard should be present.

Finally, remove the useless SC_SIZE redefinition
("At least HP-UX defines it in /usr/include/sys/signal.h" -- like,
what the hell, we are developing ReactOS...)
2023-11-23 12:44:50 +01:00
Hermès Bélusca-Maïto
0c2827a3f3 [USER32] Fix OEM resources compilation due to missing OBM_, OIC_, OCR_ defines...
... addendum to commits 072965eb0 and 6cdaad13b.

Due to the wrapping of these defines within an #ifdef OEMRESOURCE block
in winuser.h (for MS PSDK compatibility), these defines became unavailable
in user32.rc resource file. Thus, during user32 resources compilation,
the resource compiler fell back to the behaviour of considering these
resource IDs as literal string IDs (not numerical ones).

Thus, whenever code was trying to refer to these resources via their
numerical IDs, these resources could not be found now, rendering ReactOS
unusuable.
2023-11-23 11:39:57 +01:00
Katayama Hirofumi MZ
bf13ebda44 [MSPAINT] Delete winproc.cpp and move code to main.cpp
Refactoring. This will reduce build time a little.
CORE-19094
2023-11-23 17:14:32 +09:00
Katayama Hirofumi MZ
af4a3fac7d [MSPAINT] Rename winproc.h as main.h
Refactoring. CORE-19094
2023-11-23 17:06:32 +09:00
Katayama Hirofumi MZ
c20b4ca29e [MSPAINT] Simplify mouse.cpp with deleting ctors
Refactoring. CORE-19094
2023-11-23 16:46:40 +09:00
Katayama Hirofumi MZ
96e48dcd01 [MSPAINT] ToolBase::m_tool is not used. Delete it
Refactoring. CORE-19094
2023-11-23 16:37:13 +09:00
Katayama Hirofumi MZ
1aeebfdacb [MSPAINT] Simplify RECT/CRect handling
Refactoring. CORE-19094
2023-11-23 15:19:50 +09:00
Katayama Hirofumi MZ
f935132fbe [MSPAINT] Add selectionModel.moveSelection and use it
Refactoring. CORE-19094
2023-11-23 14:44:27 +09:00
Katayama Hirofumi MZ
58c26d3fe6 [MSPAINT] Simplify CanvasToImage
Refactoring. CORE-19094
2023-11-23 14:22:40 +09:00
Katayama Hirofumi MZ
4a52a4b04c [MSPAINT] Add selectionModel.drawFrameOnCanvas and use it
Refactoring. CORE-19094
2023-11-23 11:03:10 +09:00
Katayama Hirofumi MZ
c2bb5aa01d [MSPAINT] Add selectionModel.hitTest and use it
Refactoring. CORE-19094
2023-11-23 10:31:24 +09:00
Katayama Hirofumi MZ
df54fb01fd [VGAFONTEDIT] Fix exception on New
Based on KRosUser's vgafont.patch. CORE-19192
2023-11-23 08:34:56 +09:00
Katayama Hirofumi MZ
e579220098 [MSPAINT] Introduce partial image history, Part 2 (#6005)
Follow-up to #5994. Reduce the lag and the
cost of drawing on large image.
- Introduce partial image history on
  SmoothDrawTool and ShapeTool.
- We can draw with pen smoothly even
  when the image is huge (10000x10000).
CORE-19237
2023-11-23 07:14:57 +09:00
Serge Gautherie
5b5aaf6687 [SETUPAPI] cfgmgr.c: Do not debugstr_*(pszVetoName) (#6027)
which is an _Out_ parameter. Fixes "uninitialized" data read.
2023-11-22 22:35:00 +01:00
Hermès Bélusca-Maïto
6cdaad13bd Add missing OEMRESOURCE for using the OBM_, OIC_, OCR_ defines from winuser.h
Fix build by commit 072965eb0 for modules:
EXPLORER, COMCTL32, IERNONCE, URLMON, USER32_(API|WINE)TESTS

Note that some of these modules (from Wine) already have the OEMRESOURCE
defined; however, only in one of their files. But we have added
precompiled headers for them where we have included either windows.h
or winuser.h in them, without OEMRESOURCE. The result is, that when
compiling these modules with PCH support, the OEMRESOURCE define was
_not_ satisfied and thus, compile errors arose.

Fix this by adding #define OEMRESOURCE before the windows headers also
in the precompiled headers we have added for these modules.
2023-11-22 17:02:45 +01:00
Hermès Bélusca-Maïto
072965eb0a [PSDK] winuser.h: Enclose the OBM/OCR/OIC defines in OEMRESOURCE guard (see also winuser.rh) 2023-11-22 15:46:19 +01:00
Hermès Bélusca-Maïto
0e88f0485c [PSDK][WIN32SS] Fix WINNT in ddraw.h; remove NT_BUILD_ENVIRONMENT usage
Keep compatibility with MS PSDK ddraw.h file by using WINNT instead of
_WINNT_ in the preprocessor conditional test.
Incidentally this allows also removing those #define NT_BUILD_ENVIRONMENT
in the win32ss modules.

See commit 5fcfaf2e1 (r42346).
2023-11-22 15:46:06 +01:00
Hermès Bélusca-Maïto
f5563ad22c [WIN32SS:REACTX] Remove INTERNAL_CALL, deprecated since commit 24abf1b22 (r53467) 2023-11-22 15:46:05 +01:00
Hermès Bélusca-Maïto
6ddfe7e5dd [WIN32K] Re-order some of the includes in pch.h
First the C headers, then the DDK followed by the Win32 PSDK ones,
only then the NDK headers, and finally the rest.
2023-11-22 15:46:00 +01:00
Thamatip Chitpong
7f346b1aa3 [SETUPAPI] CM_Request_Device_Eject_ExA/W: Fix pszVetoName buffer size validation (#5943)
- Return CR_INVALID_POINTER if pszVetoName is NULL and ulNameLength is not zero
- CM_Request_Device_Eject_ExA: Allow ulNameLength to be zero when pszVetoName is not NULL

Verified with Windows 2003 SP2.
2023-11-22 08:58:27 +07:00
Hermès Bélusca-Maïto
9578bae858 [PSDK] Minor cleanup and fixes in headers
- Remove nonsensical XFree86 stuff;
- Add missing #ifndef NORESOURCE around RT_* defines.
2023-11-21 22:23:55 +01:00
Hermès Bélusca-Maïto
16b4c9ff3c [NTDLL] Fix long vs. ptr in some Ldr* exports 2023-11-21 22:23:54 +01:00
Katayama Hirofumi MZ
60c770db67 [SHELL32] Improve Japanese (ja-JP) translation
Just fix IDS_ANY_FILE. CORE-18706
2023-11-21 10:46:57 +09:00
Katayama Hirofumi MZ
a95863b132 [NETCFGX] Half-implement TCP/IP alternate configuration (#6009)
Based on KRosUser's netcfx_alt.patch.
- Remove WS_GROUP flag of IDC_NODHCP control.
- Fix the extent of a groupbox.
- Half-implement TcpipAltConfDlg function.
CORE-19331
2023-11-21 06:16:39 +09:00
Whindmar Saksit
51a89791c1 [RAPPS] Validate DisplayIcon value and support icon index (#5664)
- If the DisplayIcon value points to an invalid path, ExtractIconW()
  can return 1! ExtractIconExW() does not have this problem nor the -1 issue.
  Reference: https://devblogs.microsoft.com/oldnewthing/20050526-07/?p=35533
- Use the icon index from PathParseIconLocationW().

Addendum to c6c7fc1. CORE-19317

Test to reproduce:

```
@echo off
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Ex1 /v DisplayName /d "Ex1 Normal" /f
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Ex1 /v DisplayIcon /d "%windir%\explorer.exe" /f
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Ex1 /v UninstallString /d "calc.exe" /f
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Ex2 /v DisplayName /d "Ex2 Bad icon path" /f
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Ex2 /v DisplayIcon /d "%windir%\DoesNotExist.exe" /f
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Ex2 /v UninstallString /d "calc.exe" /f
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Ex3 /v DisplayName /d "Ex3 Resource index" /f
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Ex3 /v DisplayIcon /d "%windir%\explorer.exe,4" /f
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Ex3 /v UninstallString /d "calc.exe" /f
start appwiz.cpl
```
2023-11-20 20:50:42 +03:00
Stanislav Motylkov
4add3fd482 [REACTOS] Revert commit 32bdd85b7f (incorrectly formatted) 2023-11-20 20:50:06 +03:00
Whindmar Saksit
32bdd85b7f DisplayIcon needs to validate the result and support icon index (#5664)
Test:

@echo off
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Ex1 /v DisplayName /d "Ex1 Normal" /f
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Ex1 /v DisplayIcon /d "%windir%\explorer.exe" /f
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Ex1 /v UnstallString /d "calc.exe" /f
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Ex2 /v DisplayName /d "Ex2 Bad icon path" /f
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Ex2 /v DisplayIcon /d "%windir%\DoesNotExist.exe" /f
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Ex2 /v UnstallString /d "calc.exe" /f
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Ex3 /v DisplayName /d "Ex3 Resource index" /f
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Ex3 /v DisplayIcon /d "%windir%\explorer.exe,4" /f
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Ex3 /v UnstallString /d "calc.exe" /f
start appwiz.cpl
2023-11-20 16:41:31 +00:00
Serge Gautherie
5a0cd3743e [WIDL] CMakeLists.txt: Remove an obsolete comment (#6016)
Addendum to 8184186 (r55855).
2023-11-20 16:07:46 +01:00
Katayama Hirofumi MZ
cbc60aa07a [NETSHELL] Double click on component should open properties (#6008)
Based on KRosUser's lanprop.patch. Add NM_DBLCLK handling.
CORE-19330
2023-11-20 21:48:18 +09:00
Katayama Hirofumi MZ
edaeef9418 [SHELL32] Fix exception on modifying deleted file type (#5996)
Based on KRosUser's filetypes.patch. Check NULL for pEntry.
CORE-19324
2023-11-20 09:27:06 +09:00
Justin Miller
516ccad340 [NTOS:KE][HALX86] Implement AP startup code (#5879)
Co-authored-by: Victor Perevertkin <victor.perevertkin@reactos.org>

Introduce the initial changes needed to get other processors up and into kernel mode. 
This only supports x86 as of now but is the first real step towards using other system processors.
2023-11-19 15:51:33 -08:00
Katayama Hirofumi MZ
9e42809fc1 [NETCFGX] Use CheckDlgButton/IsDlgButtonChecked instead of BM_GETCHECK/BM_SETCHECK
CORE-19331
2023-11-20 07:58:58 +09:00
George Bișoc
f3141fb29e [NTOS:CM] Implement support for alternate registry hives
Sometimes repairing a broken hive with a hive log does not always guarantee the hive
in question has fully recovered. In worst cases it could happen the LOG itself is even
corrupt too and that would certainly lead to a total unbootable system. This is most likely
if the victim hive is the SYSTEM hive.

This can be anyhow solved by the help of a mirror hive, or also called an "alternate hive".
Alternate hives serve the purpose as backup hives for primary hives of which there is still
a risk that is not worth taking. For now only the SYSTEM hive is granted the right to have
a backup alternate hive.

=== NOTE ===

Currently the SYSTEM hive can only base upon the alternate SYSTEM.ALT hive, which means the
corresponding LOG file never gets updated. When time comes the existing code must be adapted
to allow the possibility to use .ALT and .LOG hives simultaneously.
2023-11-19 20:44:29 +01:00
George Bișoc
279f8f8864 [CMLIB] Fix the bin during hive initialization from memory if it's corrupt
As we iterate over the chunk hive data pointer for hive bins that we are going
to enlist, we might encounter one or several bins that would get corrupted
during a premature abortion of a registry writing operation such as due to
a power outage of the system, hardware malfunction, etc.

Corruption at the level of hive bins is nasty because they contain actual cell
data of registry information such as keys, values etc. Assuming a bin is corrupt
in part we can fix it by recovering some of the bin properties that, theoretically,
could be fixed -- namely the signature, size and offset.

For size and offset we are more or less safe because a bin typically has a size
of a block, and the offset is the coordinate index of where a hive bin should lay at.
2023-11-19 20:44:29 +01:00
George Bișoc
27917c14ed [NTOS:CM] Flush the dirty data to disk if the SYSTEM hive has been recovered by FreeLdr
If FreeLdr performed recovery against the SYSTEM hive with a log, all of its data is only present in volatile memory thus dirty. So the kernel is responsible to flush all the data that's been recovered within the SYSTEM hive into the backing storage.
2023-11-19 20:44:29 +01:00
George Bișoc
fa80176a62 [FREELDR][HACK] Temporarily disable registry recovery code for AMD64
The newly implemented code for registry recovery makes the FreeLdr binary to grow
in size, to the point that it would BSOD because the PE image is too big.

For now we have to temporarily disable any of the newly added code, until
either FreeLdr is split into a basic PE bootloader image itself and a
"FreeLdrlib" that is used by the PE image to access various bootloader APIs
or another proper solution is found.
2023-11-19 20:44:28 +01:00
George Bișoc
7983b65e10 [FREELDR] Implement SYSTEM hive recovery at bootloader level & use CmCheckRegistry for registry validation
Validate the SYSTEM hive with CmCheckRegistry and purge volatile data with the same function when initializing a hive descriptor for SYSTEM.
Also implement SYSTEM recovery code that takes use of SYSTEM log in case something is fishy with the hive. If hive repair doesn't have fully recovered the SYSTEM hive, FreeLdr will load the alternate variant of the SYSTEM hive, aka SYSTEM.ALT.

If FreeLdr repairs the hive with a LOG, it will mark it with HBOOT_BOOT_RECOVERED_BY_HIVE_LOG on BootRecover field of the header. All the recovered data that is present as dirty in memory will have to be flushed by the kernel once it is in charge of the system.
Otherwise if the system boot occurred by loading SYSTEM.ALT instead, FreeLdr will mark HBOOT_BOOT_RECOVERED_BY_ALTERNATE_HIVE, the kernel will start recovering the main hive as soon as it does any I/O activity into it.
2023-11-19 20:44:28 +01:00
George Bișoc
cce399e772 [ROSLOAD] Use CmCheckRegistry to purge volatile data 2023-11-19 20:44:28 +01:00
George Bișoc
4db1b0fb62 [SDK][CMLIB] Purge volatile data of registry in a proper way with CmCheckRegistry
Thanks to CmCheckRegistry, the function can perform volatile data purging upon boot which this removes old hacky CmPrepareHive code. This also slightly refactors HvInitialize making it more proper.
2023-11-19 20:44:28 +01:00
George Bișoc
cc63d8f4a2 [SDK][CMLIB] Implement log transaction writes & Resuscitation
=== DOCUMENTATION REMARKS ===

This implements (also enables some parts of code been decayed for years) the transacted writing of the registry. Transacted writing (or writing into registry in a transactional way) is an operation that ensures the successfulness can be achieved by monitoring two main points.
In CMLIB, such points are what we internally call them the primary and secondary sequences. A sequence is a numeric field that is incremented each time a writing operation (namely done with the FileWrite function and such) has successfully completed.

The primary sequence is incremented to suggest that the initial work of syncing the registry is in progress. During this phase, the base block header is written into the primary hive file and registry data is being written to said file in form of blocks. Afterwards the seconady sequence
is increment to report completion of the transactional writing of the registry. This operation occurs in HvpWriteHive function (invoked by HvSyncHive for syncing). If the transactional writing fails or if the lazy flushing of the registry fails, LOG files come into play.

Like HvpWriteHive, LOGs are updated by the HvpWriteLog which writes dirty data (base block header included) to the LOG themselves. These files serve for recovery and emergency purposes in case the primary machine hive has been damaged due to previous forced interruption of writing stuff into
the registry hive. With specific recovery algorithms, the data that's been gathered from a LOG will be applied to the primary hive, salvaging it. But if a LOG file is corrupt as well, then the system will perform resuscitation techniques by reconstructing the base block header to reasonable values,
reset the registry signature and whatnot.

This work is an inspiration from PR #3932 by mrmks04 (aka Max Korostil). I have continued his work by doing some more tweaks and whatnot. In addition to that, the whole transaction writing code is documented.

=== IMPORTANT NOTES ===

HvpWriteLog -- Currently this function lacks the ability to grow the log file size since we pretty much lack the necessary code that deals with hive shrinking and log shrinking/growing as well. This part is not super critical for us so this shall be left as a TODO for future.

HvLoadHive -- Currently there's a hack that prevents us from refactoring this function in a proper way. That is, we should not be reading the whole and prepare the hive storage using HvpInitializeMemoryHive which is strictly used for HINIT_MEMORY but rather we must read the hive file block by block
and deconstruct the read buffer from the file so that we can get the bins that we read from the file. With the hive bins we got the hive storage will be prepared based on such bins. If one of the bins is corrupt, self healing is applied in such scenario.

For this matter, if in any case the hive we'll be reading is corrupt we could potentially read corrupt data and lead the system into failure. So we have to perform header and data recovery as well before reading the whole hive.
2023-11-19 20:44:27 +01:00
George Bișoc
d2b8b9ec96 [NTOS:CM] Use the appropriate flags on functions that will call CmCheckRegistry & add missing CmCheckRegistry calls
In addition to that, in some functions like CmFlushKey, CmSaveKey and CmSaveMergedKeys we must validate the underlying hives as a matter of precaution that everything is alright and we don't fuck all the shit up.
2023-11-19 20:44:27 +01:00
George Bișoc
f33da480af [SDK][CMLIB] Implement CmCheckRegistry and validation private helpers
CmCheckRegistry is a function that provides the necessary validation checks for a registry hive. This function usually comes into action when logs have been replayed for example, or when a registry hive internals have changed such as when saving a key, loading a key, etc.

This commit implements the whole Check Registry infrastructure (cmcheck.c) in CMLIB library for ease of usage and wide accessibility across parts of the OS. In addition, two more functions for registry checks are also implemented -- HvValidateHive and HvValidateBin.

Instead of having the CmCheckRegistry implementation in the kernel, it's better to have it in the Configuration Manager library instead (aka CMLIB). The benefits of having it in the library are the following:

- CmCheckRegistry can be used in FreeLdr to fix the SYSTEM hive
- It can be used on-demand in the kernel
- It can be used for offline registry repair tools
- It makes the underlying CmCheckRegistry implementation code debug-able in user mode

CORE-9195
CORE-6762
2023-11-19 20:44:27 +01:00
George Bișoc
54c552392f [SDK][CMLIB] Implement self-heal registry helpers
This implements cmheal.c file which provides the basic registry self-heal infrastructure needed by the public CmCheckRegistry function. The infrastructure provides a range of various self-heal helpers for the hive, such as subkey, class, values and node healing functions.
2023-11-19 20:44:27 +01:00
George Bișoc
586bea138e [CMLIB] Add STATUS_INVALID_PARAMETER and STATUS_REGISTRY_IO_FAILED status codes
Add these NTSTATUS codes in the CMLIB library. STATUS_INVALID_PARAMETER will be used mostly for HvInitialize function, STATUS_REGISTRY_IO_FAILED for whatever routines that deal with reading or writing into a hive file.
2023-11-19 20:44:26 +01:00
George Bișoc
bfcb28787d [NTOS:CM] Disable hard errors when setting up a new size for a hive file / annotate CmpFileSetSize parameters with SAL
During a I/O failure of whatever kind the upper-level driver, namely a FSD, can raise a hard error and a deadlock can occur. We wouldn't want that to happen for particular files like hives or logs so in such cases we must disable hard errors before toying with hives until we're done.

In addition to that, annotate the CmpFileSetSize function's parameters with SAL.
2023-11-19 20:44:26 +01:00
George Bișoc
0d776beac9 [NTOS:CM] Ignore syncing/flushing requests after registry shutdown
When shutting down the registry of the system we don't want that the registry in question gets poked again, such as flushing the hives or syncing the hives and respective logs for example. The reasoning behind this is very simple, during a complete shutdown the system does final check-ups and stuff until the computer
shuts down.

Any writing operations done to the registry can lead to erratic behaviors. CmShutdownSystem call already invokes a final flushing of all the hives on the backing storage which is more than enough to ensure consistency of the last session configuration. So after that final flushing, mark HvShutdownComplete as TRUE indicating
that any eventual flushing or syncying (in the case where HvSyncHive gets called) request is outright ignored.
2023-11-19 20:44:26 +01:00
George Bișoc
99fab7b905 [SDK][CMLIB] Declare some BootType and BootRecover identifiers & Miscellaneous Stuff
=== DOCUMENTATION REMARKS ===

HBOOT_TYPE_REGULAR and HBOOT_TYPE_SELF_HEAL are boot type values set up by the CMLIB library (for the BootType field respectively). HBOOT_TYPE_REGULAR indicates a normal system boot whereas HBOOT_TYPE_SELF_HEAL indicates the system boot is assisted within self healing mode.

Whether the former or the latter value is set it's governed by both the kernel and the bootloader. The bootloader and the kernel negotiate together to determine if any of the registry properties (the hive, the base block, the registry base, etc) are so severed from corruption or not. In extreme cases where
registry healing is possible, the specific base block of the damaged hive will have its flags marked with HBOOT_TYPE_SELF_HEAL. At this point the boot phase procedure is orchestrated since the boot phase no longer goes on the default path but it's assisted, as I have already said above.

HBOOT_NO_BOOT_RECOVER, HBOOT_BOOT_RECOVERED_BY_HIVE_LOG and HBOOT_BOOT_RECOVERED_BY_ALTERNATE_HIVE on the other hand are identifiers for the BootRecover field of the BASE_BLOCK header structure. These are used exclusively by FreeLdr to tell the kernel if the bootloader recovered the SYSTEM hive or not. In case where the bootloader did recover the SYSTEM hive,
the kernel will perform a flush request on the dirty data down to disk. The (almost) worse case FreeLdr could not repair the main hive by applying log data, it will load the alternate mirror version of the hive.

In addition to that, declare other miscellaneous CMLIB identifiers for log transaction writes purposes.
2023-11-19 20:44:23 +01:00
Serge Gautherie
2cc7eeb939 [HALX86] Add missing \n to DPRINT() calls (#5993)
And promote some DPRINT() to DPRINT1().
2023-11-19 19:44:46 +01:00
Serge Gautherie
d27ec14822 [PSDK][SHELLBTRFS] Get rid of FILE_INFO_BY_HANDLE_CLASS.MaximumFileInfoByHandlesClass (#6003)
Follow-up to commit 455f330 (see PR #5802).
'MaximumFileInfoByHandlesClass' was our typo.
2023-11-19 19:42:18 +01:00
Hermès Bélusca-Maïto
5ee1dc6113 [USETUP] Don't error out in case one tries to "delete" empty partition space.
Just... don't delete it ¯\_(ツ)_/¯
2023-11-19 16:44:34 +01:00
Andrei Miloiu
b578846d82 [DOC] Update Romanian translation notes (#5908) 2023-11-19 16:40:18 +01:00
Andrei Miloiu
84216a9ebc [MMSYS] Update Romanian (ro-RO) translation (#6001) 2023-11-19 16:39:10 +01:00
Andrei Miloiu
d6b7b7adad [COMDLG32] Update Romanian (ro-RO) translation (#6000) 2023-11-19 16:38:22 +01:00
Andrei Miloiu
a96573c4e5 [MSACM32] Update Romanian (ro-RO) translation (#5999) 2023-11-19 16:37:43 +01:00
Andrei Miloiu
fddc83ef9a [SHIMGVW] Update Romanian (ro-RO) translation (#5998) 2023-11-19 16:37:08 +01:00
Andrei Miloiu
af5a3ffedb [SHDOCLC] Update Romanian (ro-RO) translation (#5997) 2023-11-19 16:36:07 +01:00
Joachim Henze
4939936165 [NETCFGX] Strip 2x wrong WS_DISABLED style on dlgs (#5987)
I checked: those are not present in german XPSP3 for those dlgs.
I noticed that subtle thing just by the fact that the de-DE.rc had one
less of those compared to all other languages.
I don't know why those were added, but it is like that since eternity already,
e.g. see ebc7599c6d from ancient 2008 SVN r36325 times had them already.
2023-11-19 14:37:29 +00:00
Timo Kreuzer
aff1666356 [ADVAPI32] Improve handling of unaligned key name in RegOpenKeyExW
Check for unaligned buffer before calling NtOpenKey instead of checking the result for STATUS_DATATYPE_MISALIGNMENT.
2023-11-19 15:32:39 +02:00
Katayama Hirofumi MZ
f95c789f2b [SHELL32] Select 1st item after deletion of file type (#6007)
Based on KRosUser's filestypedel.patch.
- Select the first item after the user deleted a
  file type.
CORE-19325
2023-11-19 22:16:03 +09:00
Katayama Hirofumi MZ
ede60035f4 [CALC] Adapt to <strsafe.h> (#5894)
Use safer string functions of  <strsafe.h>.
Use StringCbPrintf instead of _stprintf.
Use StringCbCopy insteaad of _tcscpy.
Use StringCbCat instead of _tcscat.
CORE-19306
2023-11-19 21:46:00 +09:00
Katayama Hirofumi MZ
80c4856bba [INPUT] Implement advanced settings (#5864)
Allow the user to turn off "Advanced Text Service".
[HKEY_CURRENT_USER\Software\Microsoft\CTF]
"Disable Thread Input Manager"=dword:00000001
Implement AdvancedSettingsPageProc procedure.
Modify IDS_REBOOT_NOW resource string.
CORE-19268
2023-11-19 21:39:06 +09:00
Katayama Hirofumi MZ
b6a0ef10d2 [STOBJECT] Remove #if 0 and #endif in Volume_IsMute (#5973)
Based on KRosUser's volume.patch.
The pair of #if 0 and #endif was added in 180b6fb.
CORE-18583
2023-11-19 21:28:37 +09:00
Katayama Hirofumi MZ
d5cfd83789 [HOTPLUG] Update Japanese (ja-JP) translation
CORE-18706
2023-11-19 20:51:59 +09:00
Katayama Hirofumi MZ
6a63d4a3c1 [DEVCPUX] Add Japanese (ja-JP) translation
CORE-18706
2023-11-19 20:44:25 +09:00
Katayama Hirofumi MZ
e2988b537a [DESKADP] Add Japanese (ja-JP) translation
CORE-18706
2023-11-19 20:39:30 +09:00
Katayama Hirofumi MZ
4aeaf747d1 [CRYPTEXT] Add Japanese (ja-JP) translation
CORE-18706
2023-11-19 20:34:39 +09:00
Katayama Hirofumi MZ
ef754b121a [ACPPAGE] Add Japanese (ja-JP) translation
CORE-18706
2023-11-19 20:29:56 +09:00
Katayama Hirofumi MZ
69d7adbebc [DESKMON] Add Japanese (ja-JP) translation
CORE-18706
2023-11-19 20:17:25 +09:00
Katayama Hirofumi MZ
da18e2893b [NETPLWIZ] Add Japanese (ja-JP) translation
CORE-18706
2023-11-19 20:12:17 +09:00
Katayama Hirofumi MZ
c9295fbeeb [STOBJECT] Add Japanese (ja-JP) translation
CORE-18706
2023-11-19 20:06:50 +09:00
Timo Kreuzer
e3f204e228 [CMAKE] Remove "/Gy" option from ML
Reason: VS solution builds pass the compiler options to the assembler. These are usually ignored and result in a warning only, but ML of the latest VS supports /Gy (function level linking), but that requires all functions to be declared with "PROC" and otherwise results in an error.
2023-11-19 09:19:33 +02:00
Katayama Hirofumi MZ
72081168fb [MSPAINT] Introduce partial image history (#5994)
- Add IMAGE_PART structure and use as history items.
- Overload ImageModel::PushImageForUndo(const RECT& rcPartial).
- Add ToolsModel::GetToolSize.
- Implement partial image history on TwoPointDrawTool.
CORE-19094
2023-11-19 12:59:39 +09:00
Katayama Hirofumi MZ
416d63026e [ACCESS] Improve IDC_RESET_COMBO selection (#5893)
Based on KRosUser's access.patch. CORE-19303
2023-11-19 10:33:18 +09:00
Andrei Miloiu
0a7a2824cf [WININET] Update Romanian (ro-RO) translation (#5992) 2023-11-18 22:41:25 +01:00
Andrei Miloiu
a6a617f96c [VGAFONTEDIT] Update Romanian (ro-RO) translation (#5991) 2023-11-18 22:40:18 +01:00
Andrei Miloiu
a9445f5ff6 [MPR] Update Romanian (ro-RO) translation (#5990) 2023-11-18 22:39:02 +01:00
Andrei Miloiu
444cff7b10 [NEWDEV] Update Romanian (ro-RO) translation (#5989) 2023-11-18 22:37:56 +01:00
Timo Kreuzer
455f330775 [KERNEL32_VISTA] Sync GetFileInformationByHandleEx with wine head 2023-11-18 17:53:42 +02:00
Timo Kreuzer
908cda5ee4 [KMTEST] Fix duplicated test names to stop testman from blowing up 2023-11-18 15:01:06 +02:00
Katayama Hirofumi MZ
764e5505a7 [MSPAINT] Add get/putSubImage in dib.cpp and use them
CORE-19094
2023-11-18 14:25:19 +09:00
Katayama Hirofumi MZ
a65ebc8a71 [MSPAINT] Fix PushImageForUndo (follow-up of 7c0615f)
CORE-19226, CORE-19237
2023-11-18 11:37:43 +09:00
Katayama Hirofumi MZ
a58aee5f5b [MSPAINT] Use Swap in RegistrySettings::SetMostRecentFile
CORE-19237
2023-11-18 11:23:13 +09:00
Katayama Hirofumi MZ
7c0615fa05 [MSPAINT] Split master image from history items
CORE-19237
2023-11-18 11:19:38 +09:00
Timo Kreuzer
bf95b7e8e5 [NTOS:CC] Do not access VACB after decrementing it's reference count
It might already be deleted by a different thread.
2023-11-17 20:07:55 +02:00
Katayama Hirofumi MZ
a2a063a282 [INETCPL] Let image list be automatically deleted (#5892)
Based on KRosUser's inetsec.patch.
Don't delete the image list because the image list will be automatically deleted by the list view.
CORE-19301
2023-11-17 10:11:41 +09:00
Katayama Hirofumi MZ
8860dc5393 [BOOTDATA] LiveCD: Enable Toggle key (Alt+Shift etc.) (#5985) 2023-11-16 22:23:11 +00:00
Serge Gautherie
780c2a0375 [SERVICES][SETUPLIB][UMANDLG][USETUP] Add missing \n to DPRINT() calls (#5983)
And promote 1 DPRINT() to DPRINT1.
2023-11-16 22:22:12 +00:00
Hermès Bélusca-Maïto
98353cdb37 [CMD] Use correct console input mode in ConInString()
ENABLE_PROCESSED_INPUT is necessary to correctly deal with CR-LF
and display it only when necessary. Fixes cmd:batch winetests.

Addendum to commit db219e45c
2023-11-16 21:58:54 +01:00
Serge Gautherie
a5c3bb5bce [WIN32KNT_APITEST] 2 minor code improvements and a first fix (#5980)
- Update .rc filename; addendum to 7ad21a4 (r70458).
- Move one '#include "resource.h"' around to where it is needed.
  Addendum to e1b2e7a (r29284) then ec5e0ea (r48103).
- Adjust all '#include <win32nt.h>'
2023-11-16 21:57:10 +01:00
George Bișoc
1d8ce79080 [NTDLL_APITEST] Write some tests for NtSetDefaultLocale 2023-11-16 21:09:08 +01:00
George Bișoc
6438b85605 [NTOS:EX] Bail out on an invalid locale or language ID
NtSetDefaultLocale and ExpSetCurrentUserUILanguage do not probe the given locale or language ID,
and as a result of that these functions would happily take any given argument. This is problematic
because overwriting NLS data (specifically the Default registry key value as its gets set by the
NtSetDefaultLocale syscall itself) with garbage stuff, rendering the system completely unbootable.

In addition to that, these functions do not check the captured language/locale ID against pre-determined
locales or languages pre-installed in the system. This basically means an ID of 1, for example, is still
valid because it is not bogus albeit there is no such a locale of an ID of 1. That value would get passed
to the Default value key and that renders the system unbootable as well.

CORE-18100
2023-11-16 21:09:05 +01:00
Hermès Bélusca-Maïto
db219e45c0 [CMD] Fix missing/misplaced newlines at end of displayed errors and prompts.
ConInString() should display a newline when it encounters the terminating
carriage-return pressed by the user for ending string output.
+ Remove the extra \n hacks in FilePromptYN[A].

Improve outputted strings from DATE and TIME commands.
+ Rename some STRING_***_ERROR defines.

CORE-18489
2023-11-16 17:06:40 +01:00
Hermès Bélusca-Maïto
cef9f5c4a6 [RTL] Minor formatting, remove redundant 'return'. 2023-11-16 17:06:40 +01:00
Andrei Miloiu
6a6b5ec22c [INF] Update Romanian (ro-RO) translation (#5969) 2023-11-16 13:34:43 +01:00
Andrei Miloiu
f61f3b0b00 [TASKKILL] Update Romanian (ro-RO) translation (#5954) 2023-11-16 13:33:55 +01:00
Katayama Hirofumi MZ
157739a658 [MSPAINT] s/AirBrushWidth/AirBrushRadius/
Fix logical error. CORE-19094
2023-11-16 15:45:06 +09:00
Katayama Hirofumi MZ
3faa56d2c7 [CRYPTUI] Let image list be automatically deleted (#5891)
Based on KRosUser's cryptui.patch.
- Don't delete the image list because the list view will delete the image list automatically.
CORE-17290
2023-11-16 14:58:49 +09:00
Serge Gautherie
24757e30e9 [NTDDRAW][NTGDI][VGADDI] Add missing \n to DPRINT() calls (#5952)
Add missing \n to DPRINT() calls and demote some DPRINT1().
2023-11-15 21:07:27 +01:00
Ratin Gao
bd0a5498b0 [NTDLL:LDR] Little fixes about SAL annotation and behavior (#5793)
- Uniform function declarations in .c and .h with fixes and SAL2 improvements.
- Use LDR_[UN]LOCK_LOADER_LOCK_FLAG_XXX correctly.
- Fix incorrect UsedSize calculation in LdrQueryProcessModuleInformationEx (caught by ThFabba).
- Whatever the callback request stop the enumeration or not in LdrEnumerateLoadedModules, the following operations should be the same.
- Fix 2 incorrect DPRINT1 that printed incorrect parameter.
- Return error if RtlAllocateHeap failed in LdrpGetProcedureAddress, and add comments about NT6.2 new changes.
2023-11-15 20:59:32 +01:00
Andrei Miloiu
bd9e2d6beb [FIND] Update Romanian (ro-RO) translation (#5965) 2023-11-15 11:27:09 +01:00
Whindmar Saksit
51ba3b1fb4 [SHELL32] Don't display missing applications in "Open with..." (#5587)
Don't display applications that don't exist. In Windows XP, Exe files that no longer exist are hidden but their registry entry is not deleted.

JIRA issue: CORE-19117
2023-11-15 11:20:04 +01:00
Whindmar Saksit
8025785730 [ADVAPI32] RegEnumKeyExW on HKCR keys must work with just KEY_ENUMERATE_SUB_KEYS access (#5872)
This fixes Windows RegEdit when the same HKCR key exists in HKCU and HKLM.
2023-11-15 11:07:28 +01:00
Andrei Miloiu
2414a21a38 [MSCONFIG_NEW] Update Romanian (ro-RO) translation (#5968) 2023-11-15 11:02:12 +01:00
Andrei Miloiu
08820b747e [EVENTVWR] Update Romanian (ro-RO) translation (#5979) 2023-11-15 11:01:46 +01:00
Andrei Miloiu
4ada65e875 [MSCONFIG] Update Romanian (ro-RO) translation (#5967) 2023-11-15 11:00:40 +01:00
Andrei Miloiu
1313179a32 [DEVMGR] Update Romanian (ro-RO) translation (#5960) 2023-11-15 10:59:48 +01:00
Andrei Miloiu
03dc2ef724 [REGEDIT] Update Romanian (ro-RO) translation (#5961) 2023-11-15 10:59:01 +01:00
Andrei Miloiu
86b6d9dff9 [FLTMC] Update Romanian (ro-RO) translation (#5956) 2023-11-15 10:57:50 +01:00
Andrei Miloiu
3b25db2f8e [DXDIAG] Update Romanian (ro-RO) translation (#5955) 2023-11-15 10:57:15 +01:00
Andrei Miloiu
f13a7de30c [MAGNIFY] Update Romanian (ro-RO) translation (#5964) 2023-11-15 10:56:39 +01:00
Andrei Miloiu
473cb2fe50 [SYSSETUP] Update Romanian (ro-RO) translation (#5957) 2023-11-15 10:55:37 +01:00
Andrei Miloiu
146d3f0bfe [SHELL32] Update Romanian (ro-RO) translation (#5962) 2023-11-15 10:52:26 +01:00
Andrei Miloiu
095791663d [SERVMAN] Update Romanian (ro-RO) translation (#5982) 2023-11-15 10:51:59 +01:00
Andrei Miloiu
5f25a55d64 [NOTEPAD] Update Romanian (ro-RO) translation (#5981) 2023-11-15 10:51:38 +01:00
Andrei Miloiu
e038927dd4 [MORE] Update Romanian (ro-RO) translation (#5966) 2023-11-15 10:51:21 +01:00
Andrew Shelkovenko
85ab39507f [TRANSLATION] Update Russian (ru-RU) translation (#5953)
- [CALC] Update Russian (ru-RU) translation
- [CHARMAP] Update Russian (ru-RU) translation
- [AT] Update Russian (ru-RU) translation
- [ATTRIB] Update Russian (ru-RU) translation
- [COMP] Improve Russian (ru-RU) translation
- [FC] Improve Russian (ru-RU) translation
- [FIND] Update Russian (ru-RU) translation
- [XCOPY] Update Russian (ru-RU) translation
- [FLTMC] Update Russian (ru-RU) translation

Reviewed-by: Oleg Dubinskiy <oleg.dubinskij30@gmail.com>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2023-11-15 02:00:36 +03:00
Andrei Miloiu
1c56c9cd5f [MSTSC] Update Romanian (ro-RO) translation (#5959) 2023-11-14 14:00:32 +00:00
Andrei Miloiu
3ce9e3b669 [DESK] Update Romanian (ro-RO) translation (#5958) 2023-11-14 13:59:17 +00:00
Joachim Henze
b693eddd74 [TASKMGR] Harmonize and beautify the borders in performance tab (#5949)
- When I started I actually just wanted to make the 2 red lines the same length. see PR-pic
- Ultimately I was able to harmonize all ctrls sizes and position for all rc's.
- This does also fix text truncation and overflows in several rc's.
- Also this prevents the numbers (actual data) in some rc's to be cut off much earlier than in others,
  e.g. hu-HU.rc had IDC_KERNEL_MEMORY_PAGED width just 33 which is very small and will lead to quick truncation.
  Now all languages use width 45 for all data fields and width 57 for all text fields,
  which means if truncation would ever happen with very large numbers in the 64bit era,
  we will see that happen in all rc's at the same moment and not arbitrarily scattered over a century.
  It will happen later after this PR is applied.
- After this PR the two red lines do have the same length. see PR-pic
- After this PR the two green lines do have the same length. see PR-pic
- After this PR the two yellow lines do have the same length. see PR-pic
- After this PR the four brown lines do have the same length. see PR-pic
- After this PR the five cyan lines do have the same length. see PR-pic
2023-11-14 13:57:17 +00:00
Hermès Bélusca-Maïto
161eb5d375 [CRT] dbgrpt.cpp: Fix buffer sizes in the *nprintf functions (#5678)
Sizes are in number of chars; use _countof() instead of hardcoding
them in the functions.
2023-11-14 12:24:00 +01:00
Hermès Bélusca-Maïto
f49e213943 [CRT][MSVCRT] Implement _CrtDbgReport(W)V and redefine _CrtDbgReport(W) around those (#5678)
Also add the internal _VCrtDbgReportA and _VCrtDbgReportW functions listed in
https://learn.microsoft.com/en-us/cpp/c-runtime-library/internal-crt-globals-and-functions?view=msvc-170

CORE-11835, CORE-15517
2023-11-14 12:23:51 +01:00
Serge Gautherie
7901a4c8fe [WIN32KNT_APITEST] w32knapi.c: Update dll name (#5977)
Addendum to commits 7ad21a4 (r70458) and bed6d00 (r76026).
2023-11-14 12:14:39 +01:00
Katayama Hirofumi MZ
91adec683d [SHIMGVW] Add file extension on file save (#5975)
In order to add a filename extension if necessary,
set "png" to OPENFILENAME.lpstrDefExt.
CORE-19222
2023-11-14 19:48:18 +09:00
Serge Gautherie
3fb5957de1 [NTOS:EX][CSRSRV][WIN32K] Make a few #define more explicit/strict (#5907)
- Add parentheses around macro parameters.
- Add casts on return value for the Interlocked*UL ("Unsigned Long") macros.
2023-11-13 20:55:48 +01:00
Whindmar Saksit
e07dbf782c [NETSHELL] Display component icons in list (#5904)
Display the class icons for the installed network components.
Also fixes a bug where the selection change whacked the checkbox of the first item.

Use 0x7fffffff to append the item at the end of the list, as optimization.
2023-11-13 20:51:52 +01:00
Dmitry Borisov
8d7153c8ba [FREELDR] Implement NOSERIALMICE and FASTDETECT options (#5886)
Enable FASTDETECT by default, as done in NT 5+. This is because
the serial mouse is recognized by the serial stack since NT 5.x.
2023-11-13 19:49:41 +01:00
Hermès Bélusca-Maïto
10e7643c80 [FREELDR:NTLDR] Pass boot-time detection options to HwDetect routines.
Will be used for supporting /NOSERIALMICE, /FASTDETECT (NT 5+) switches
(see PR #5886), as well as the undocumented /PCIENUM option.
2023-11-13 19:19:40 +01:00
Whindmar Saksit
413b5a0827 [ADVAPI32] Handle HKEY_CLASSES_ROOT in RegQueryInfoKeyW (#5870)
CORE-8582 , CORE-14676

This fixes the bug where Regedit is unable to show all the keys in HKCR when a key exists in both HKCU and HKLM.
2023-11-13 18:02:41 +01:00
Whindmar Saksit
6eb8a1d0c7 [ADVPACK] Handle ADN_DEL_IF_EMPTY in DelNodeW and DelNodeRunDLL32 (#5821)
- Handling ADN_DEL_IF_EMPTY is critical to avoid data loss.
- SetFileAttributesW failing is not fatal, the delete might still succeed.

NOTE: Not in Wine yet.
2023-11-13 16:42:26 +01:00
Whindmar Saksit
f283a3f9ae [SHELL32][SHELLEXT] IEnumIDList::Next must handle pceltFetched and memory errors correctly (#5820)
- pceltFetched can be NULL if the caller is not requesting multiple items.
- All entries returned in rgelt must be valid, they cannot be NULL.
2023-11-13 16:31:37 +01:00
Hermès Bélusca-Maïto
b4b1c5b9aa [DEVMGR] Fix some bugs spotted by Thomas Faber in PR #5775 (#5790)
- Fix TCHAR/WCHAR mis-usage,
- Fix as a result, a buffer overflow (GlobalAlloc takes the size in
  bytes, but a number of characters was passed to it instead).
- Remove usage of unsafe string function. Now the item text is directly
  retrieved within the allocated buffer.
2023-11-13 16:26:00 +01:00
Whindmar Saksit
7fb91d98f9 [SHELL32] Add support for more registry verb flags and CMF flags (#5785)
- Adds support for registry controlled menu separators and the documented
  values to turn off verbs.
- Adds support for CMF_OPTIMIZEFORINVOKE, CMF_NODEFAULT, CMF_DONOTPICKDEFAULT,
  CMF_EXPLORE and CMF_DISABLEDVERBS.

Bugs fixed:

- A verb with "Extended" set in the registry could cause the menu to invoke
  the incorrect command! This happened because skipping InsertMenuItemW
  caused InvokeCommand to use the wrong index with m_StaticEntries.
- Uses IS_INTRESOURCE instead of HIWORD to check if something is a string
  (only matters on 64-bit).
- TryToBrowse leaking a PIDL when calling ILCombine.

Notes:

- This PR introduces the RosGetProcessEffectiveVersion() helper function
  discussed in chat.
- Relaxed FAILED_UNEXPECTEDLY to FAILED in two places because IContextMenu
  cannot assume that it has a site that leads to IShellBrowser.
2023-11-13 16:21:13 +01:00
Whindmar Saksit
23f31cf7b4 [SHELL32] Support more FOLDERFLAGS in DefView (#5760)
This adds support for more of the FOLDERSETTINGS FOLDERFLAGS.

- Turned on LVS_EX_DOUBLEBUFFER even though there is no setting for it.
  XP has it on for folders but not the desktop and this matches that.
  Vista might turn it on for its shadow labels on the desktop, further
  investigation required.

- Fixes a bug where LVS_EX_SNAPTOGRID was incorrectly assigned where
  the WS_EX flags go.

- LVS_AUTOARRANGE seems to be incorrectly forced on but for compatibility
  I decided to leave it but added a comment. The existing code already
  has the check for FWF_AUTOARRANGE.
2023-11-13 16:13:21 +01:00
Serge Gautherie
bac646f9fe [VMX_SVGA] Demote 3 DPRINT1() and define NDEBUG (#5843)
Addendum to 486e587 (r45778).
2023-11-13 11:11:10 +01:00
Whindmar Saksit
c6ec8d924e [ATL] Added CComPtr.CoCreateInstance helper methods (#5905) 2023-11-13 11:03:05 +01:00
Serge Gautherie
8d54c2d433 [WIN32U_VISTA] .def: Delete this obsolete file (#5931) 2023-11-13 11:01:31 +01:00
Jose Carlos Jesus
357189bdea [USETUP][SHELL32][ACCESS] Improve Portuguese (pt-PT) Translation (#5897) 2023-11-13 10:59:05 +01:00
Andrei Miloiu
6d7cc0d8ad [MORE] Update Romanian (ro-RO) translation (#5941) 2023-11-13 10:57:36 +01:00
Andrei Miloiu
cb8c554c4c [LABEL] Update Romanian (ro-RO) translation (#5939) 2023-11-13 10:55:16 +01:00
Andrei Miloiu
39bec4df92 [ATTRIB] Update Romanian (ro-RO) translation (#5936) 2023-11-13 10:53:36 +01:00
Andrei Miloiu
1d12f6135a [POWERCFG] Update Romanian (ro-RO) translation (#5934) 2023-11-13 10:53:03 +01:00
Andrei Miloiu
e743146a10 [FIND] Update Romanian (ro-RO) translation (#5937) 2023-11-13 10:51:38 +01:00
Joachim Henze
1997c12252 [NETCFGX] 640x480-ify (#5946)
This finishes the 640x480-ification within [NETCFGX]. All dlgs addressed now.

- Allows the final 3 property sheets IDD_TCPIP_ADVIP_DLG, IDD_TCPIP_ADVDNS_DLG and IDD_TCPIP_ADVOPT_DLG to be displayed fine in 640x480 screen resolution by limiting their dlg unit height to 220
- tweaks a bit of the controls vertical positions to look better, e.g. LTEXT "interface metric:" was moved one pix upwards relative to IDC_METRIC to make that look more vertically centered
- IDC_AUTOMETRIC checkbox was moved slightly upwards in relation to the groupbox it was embedded into, which does it make look slightly better
- width of IDC_SUFFIX was enlarged for all languages to the value that was historically chosen for uk-UA.rc. (Only ru-RU.rc continues to do that differently, as it uses even longer text and therefore has to shift 2 controls towards the left to make that fit into the dlg. That part was there also before this PR)
2023-11-13 01:56:38 +00:00
Hermès Bélusca-Maïto
ee11747527 [CRT] Fix "wcsat_s" typo... 2023-11-11 21:30:09 +01:00
Timo Kreuzer
83e1193fb2 [WIN32K] Fix alignment checks in NtUserSetInformationThread
Fixes random failures on x64.
2023-11-10 19:42:13 +02:00
Timo Kreuzer
6ca8eb5c1e [CMAKE] Update baseaddress cmake files 2023-11-10 19:20:24 +02:00
Timo Kreuzer
7377f14339 [GEN_BASEADDRESS] Add handling of 64 bit builds 2023-11-10 19:20:24 +02:00
Timo Kreuzer
9cc4d8994b [CMAKE] Use baseaddress64.cmake for all 64 bit builds
- Rename baseaddress_msvc_x64.cmake to baseaddress64.cmake
- Include it for all compilers and 64 bit architectures
2023-11-10 19:20:24 +02:00
Timo Kreuzer
2b7246fd3c [CMAKE] Add support for "IMAGEBASE default" and use it for test/sample dlls 2023-11-10 19:20:24 +02:00
Timo Kreuzer
58f1201eae [FUSION] Provide baseaddress for fusion_1_1 and fusion_2_0
These DLLs are also named fusion.dll. Give them the same baseaddress as fusion.dll
2023-11-10 19:20:24 +02:00
Timo Kreuzer
2245dd78f5 [ASMPP] Improve handling of rip relative addressing 2023-11-10 19:20:24 +02:00
Timo Kreuzer
a34f1ed03c [CRT] Make ML based asm code GAS compatible
Our transpiler asmpp cannot handle rip relative addressing for "[symbol]".
2023-11-10 19:20:24 +02:00
Timo Kreuzer
d4993c67cd [CRT] Fix parameter check for _memicmp on NT 6+
Fixes a crash in msvcrt_winetest:string
2023-11-10 19:19:22 +02:00
Timo Kreuzer
840dfdc3a1 [CRT] Add parameter check to _mbscmp
Fixes crash in msvcrt_winetest::string
2023-11-10 19:19:22 +02:00
Timo Kreuzer
86f98baaf8 [CRT][MSVCRT] Import _gcvt and _gcvt_s from wine and export _gcvt_s on Vista+
Fixes a crash in msvcrt_winetest string
2023-11-10 19:19:22 +02:00
Timo Kreuzer
a3d22bba1a [RTL_APITEST] Move RtlIntSafe test from kmtest to rtl_apitest 2023-11-10 19:00:41 +02:00
Timo Kreuzer
bdf52a9868 [RTL_APITEST] Add rtl_unittest
First test is RtlCaptureContext
2023-11-10 19:00:41 +02:00
Timo Kreuzer
51b5d846e9 [CRT] Define _NTSYSTEM_ in 2 files to force using import-stubs
This prevents the code from linking to __imp_*, which would pull in the symbol from the import library (e.g. kernel32), which creates problems with the GNU linker, which doesn't like to have the import and a static definition at the same time.
2023-11-10 19:00:41 +02:00
Timo Kreuzer
520cf2294d [APITESTS] Share ok_eq_* macros between apitests and kmtests
This makes it possible to share sources between kmtest and apitests, e.g. for rtl.
2023-11-10 19:00:41 +02:00
Timo Kreuzer
5ecead80e3 [RTL] Add object library rtl_um 2023-11-10 19:00:41 +02:00
Timo Kreuzer
4bd1e81998 [RTL] Get rid of x86 asm version of RtlpGetStackLimits
There is no point in writing this function in asm.
2023-11-10 19:00:41 +02:00
Joachim Henze
393a88a372 [POWERCFG] 640x480-ify and overhaul (#5933)
Main goal was making the dlg display well in 640x480 resolution.
Since the dialogs in that propsheet had very different sizes between the languages
that was a lot of work. Now all of the propsheet-dlgs are harmonized in size to 252x220.
Also I found a way to align some controls in a way that they are more immune
to differing languages lengths for specific strings, so we can currently
to 100% use the same controls dimensions and positions also,
which is a very nice trait. I double-checked all dialogs visually in ResHacker
for all languages (except no-NO.rc for technical reasons), and they do look all
very well like that. The slider for the alarms dlg I enlarged in x,
it has 100 distinct positions, so a larger slider helps the user
not having to position the mouse extremely accurate.
I also fixed various typos, and several places where text cutoff occurred for many languages,
too many to name them all.
Some dummy-strings "unknown" I changed to "?" instead.
That still allows to see its position in a previewer,
but does not lure all the translators into translating that nonsense,
and therefore keeps the rcs better in sync. It also shrinks binary size.
2023-11-09 23:33:17 +00:00
Andrei Miloiu
565bf9e340 [CMD] Update Romanian (ro-RO) translation (#5918) 2023-11-08 20:11:03 +01:00
Andrei Miloiu
3666f2bdbc [IEFRAME] Update Romanian (ro-RO) translation (#5923) 2023-11-08 20:07:04 +01:00
Andrei Miloiu
a575921e93 [LOCALMON] Update Romanian (ro-RO) translation (#5925) 2023-11-08 20:06:16 +01:00
Andrei Miloiu
df24297a10 [INPUT] Update Romanian (ro-RO) translation (#5930) 2023-11-08 20:05:17 +01:00
Andrei Miloiu
dd8029fd0e [SNDREC32] Update Romanian (ro-RO) translation (#5916) 2023-11-08 20:04:46 +01:00
Andrei Miloiu
f1e1ca4ad7 [WORDPAD] Update Romanian (ro-RO) translation (#5917) 2023-11-08 20:04:18 +01:00
Andrei Miloiu
51cc0019f7 [CLIPBRD] Update Romanian (ro-RO) translation (#5909) 2023-11-08 20:01:58 +01:00
Andrei Miloiu
3285d2c769 [MSPAINT] Update Romanian (ro-RO) translation (#5913) 2023-11-08 20:01:21 +01:00
Andrei Miloiu
aca3f92a47 [CONSOLE] Update Romanian (ro-RO) translation (#5919) 2023-11-08 19:59:07 +01:00
Andrei Miloiu
5ee25ee392 [DXDIAG] Update Romanian (ro-RO) translation (#5910) 2023-11-08 19:58:21 +01:00
Andrei Miloiu
328a5d87b0 [HDWWIZ] Update Romanian (ro-RO) translation (#5921) 2023-11-08 19:57:40 +01:00
Andrei Miloiu
c6ed289383 [RASDLG] Update Romanian (ro-RO) translation (#5924) 2023-11-08 19:57:02 +01:00
Joachim Henze
7cd1e606df [OPENGLCFG] 640x480-ify (#5906)
A simple one
2023-11-08 14:44:31 +01:00
Andrei Miloiu
416e6ef814 [MYEVENTPROVIDER_DLL][MC] Update MyEventProvider.mc (#5929) 2023-11-08 11:18:07 +00:00
Andrei Miloiu
d7b7d36721 [NETEVENT][MC] Update neteventmsg.mc (#5928) 2023-11-08 11:16:58 +00:00
Andrei Miloiu
6e9d798833 [NETMSG][MC] Update net_msg.mc (#5927) 2023-11-08 11:14:59 +00:00
Andrei Miloiu
46f67b1970 Update net_msg.mc (#5926) 2023-11-08 11:13:17 +00:00
Andrei Miloiu
ff0b63ff2e [INETCPL] Update Romanian (ro-RO) translation (#5922) 2023-11-08 11:05:06 +00:00
Katayama Hirofumi MZ
c6c7fc1182 [RAPPS] Fix item icons (#5896)
Based on KRosUser's rapps_v2.patch.
ExtractIconW can return (HICON)1.
We check this invalid value.
CORE-19317
2023-11-08 19:53:02 +09:00
Andrei Miloiu
97bf53eeb8 [DESK] Update Romanian (ro-RO) translation (#5920) 2023-11-08 10:43:14 +00:00
Andrei Miloiu
2b910fc1b3 [NOTEPAD] Update Romanian (ro-RO) translation (#5915) 2023-11-08 10:34:25 +00:00
Andrei Miloiu
1795049341 [MSTSC] Update Romanian (ro-RO) translation (#5914) 2023-11-08 10:32:38 +00:00
Andrei Miloiu
692c0141d3 [MMC] Update Romanian (ro-RO) translation (#5912) 2023-11-08 10:26:33 +00:00
Andrei Miloiu
1e1b176493 [SOLITAIRE] Update Romanian (ro-RO) translation (#5911) 2023-11-08 10:24:05 +00:00
Timo Kreuzer
dfcf07b825 [NTOS:KE/x64] Remove GCC vs ML hack 2023-11-07 23:16:50 +02:00
Joachim Henze
adeaba1604 [ACCESS] 640x480-ify (#5903)
The first dlg IDD_PROPPAGEKEYBOARD is the toughest.
All others had plenty of space left.
2023-11-07 12:25:44 +00:00
Joachim Henze
0177b1af45 [NETCFGX] *.rc 640x480-ify IDD_TCPIP_BASIC_DLG and IDD_TCPIP_ALTCF_DLG (#5902)
Both dialogs can easily fit 640x480, like their twins from XPSP3 and 2k3sp2

For IDD_TCPIP_BASIC_DLG we can achieve that by just shrinking the upper groupbox in height by 10 units, and then move all controls below that by 10 units upwards. That doesn't require much brain, only diligence.

For IDD_TCPIP_ALTCF_DLG it is even easier, because the dlgs contents are small enough yet to still fit 640x480, so only the dlg itself must be shrinked for now. Later if more stuff will be added, we can perform pretty easy still by just moving everything a bit upwards. But we can leave that for later.

Fix a common typo in a 3rd dlg regarding a missing space before "(in order)". I decided to put that into this PR, because I didn't touch that dlgs dimensions yet. So the change is not mixed with position changes and therefore the review remains simple.

For ja-JP.rc fix a
-FONT 8, "MS Shell Dlg"
to
+FONT 9, "MS UI Gothic"
2023-11-07 03:17:01 +00:00
Joachim Henze
55563fa891 [NETSHELL] IDD_NETPROPERTIES must fit 640x480 CORE-19284 (#5899)
- adds 3 missing accelerators for zh-CN.rc, zh-HK.rc, zh-TW.rc for IDC_SHOWTASKBAR
- shrinks the dialog in y to fit on a 640x480 screen, like the XPSP3 and 2k3sp2 dlgs do
- for that some controls positions have to be slightly moved up (which cannot lead to text truncation here, guaranteed)
- only 3 controls change in size:
  - IDC_COMPONENTSLIST gets 3 units smaller in height, but is still larger than in XPSP3/2k3sp2. So it is still large enough
  - IDC_NETCARDNAME shrinks a bit in width, but is still larger than in XPSP3/2k3sp2, so what fits there will also fit for us
  - pushbutton IDC_CONFIGURE is slightly increased in width for all languages because that looks better
     except ru-RU.rc (which had the largest width) it is slightly smaller now, but still large enough.
     We can use the same width here now for all rcs!

- strip the lorem ipsum text from IDC_DESCRIPTION, which is never supposed to be displayed. That syncs all rcs in that line and slightly shrinks the binary size and fixes CORE-19284.

- add a FIXME comment for a missing accelerator in sv-SE.rc

*as a consequence all rcs do now use the exact same positions and sizes for all controls again, YIPPIE!*
The only exception that the dlg had before from that rule, was the ru-RU.rc IDC_CONFIGURE was larger in x.
But now that is not needed anymore.
2023-11-06 23:31:37 +00:00
Joachim Henze
561ad3c1d6 [ADVAPI32] Mute frequent taskmgr logspam CORE-18521 (#5888)
George explained that this is supposed to fail like that,
aka "works as designed". So let's at least mute this now,
as it is spammed with every taskmgr refresh cycle
and allows me to reduce logfile-sizes from ~50MB back to ~2MB
when building ros on ros.

err:(dll/win32/advapi32/wine/security.c:309) NtOpenProcessToken failed! Status c0000022.

Fixes CORE-18521

Also strip some EOL-whitespace in the file, and slightly improve the header.
2023-11-05 18:32:13 +01:00
Katayama Hirofumi MZ
0ae6a509b0 [SHLWAPI][SDK] Implement IContextMenu_Invoke (#5856)
- Modify shlwapi.spec.
- Add dll/win32/shlwapi/utils.cpp.
- Implement IContextMenu_Invoke function.
- Add it to <shlwapi_undoc.h>.
CORE-19278
2023-11-05 21:45:08 +09:00
Katayama Hirofumi MZ
43d6fdf2be [ACLUI] Let image list be automatically deleted (#5890)
Based on KRosUser's aclui.patch. The list view will automatically delete the image list.
Don't delete the image list in DestroySecurityPage function.
CORE-19187
2023-11-05 21:36:05 +09:00
Joachim Henze
7f80d5ee79 [CMLIB] Revert previous commit to avoid future merges of other devs
because George is having an open Draft PR since July 2022,
which might also touch this file on master in some years.
And it ofc is easier for me to revert my work now, then for him to
go through the great lengths of merging his work then.
2023-11-05 09:55:03 +01:00
Katayama Hirofumi MZ
1ae6cb7a96 [CALC] Use <winuser.rh> instead of <winuser.h> in resource.rc 2023-11-05 17:21:33 +09:00
Katayama Hirofumi MZ
6691cbe889 [REGEDIT] Use <winuser.rh> instead of <winuser.h> in regedit.rc
CORE-18876
2023-11-05 17:18:07 +09:00
Joachim Henze
f6de3881ca [CMLIB] UNIMPLEMENTED_ONCE less hand-knitted (#5889)
allows to get rid of static var PrintCount, at least visually in the code
2023-11-05 09:12:49 +01:00
Katayama Hirofumi MZ
efb9128c24 [NOTEPAD] Use <winuser.rh> instead of <winuser.h> in rsrc.rc
CORE-18837
2023-11-05 17:11:06 +09:00
Thamatip Chitpong
81ba804b55 [HOTPLUG] Trivial fixes (#5887)
- Update files header and copyright information
- Minor code formatting
2023-11-05 07:02:22 +07:00
Whindmar Saksit
4b03981846 [RAPPS] Improve LicenseType handling (#5809)
Tries now to map the "License" text set to "Freeware" to the
LICENSE_FREEWARE "LicenseType" so it is translated correctly (LoadString).

Fixes the following:

- If only the "License" field is set in the DB, nothing will change
  (this applies to 99% of the current entries in the DB).

- If both "LicenseType" and "License" are set, both will be used
  (no observable change in behavior): "Open Source (GPL v2)" etc.

- If only "LicenseType" is set, it will now display just the type
  "Freeware" instead of "Freeware ()".
  This is done only for "Freeware", because the others (the open source ones)
  have many variations. "OpenSource", "Open Source", "Open Source (GPL)" etc.
2023-11-04 22:08:10 +01:00
Whindmar Saksit
b3c1f652ec [NETSHELL] Register folder attributes as SFGAO_FOLDER, not SFGAO_CANDELETE (#5880)
On Windows the Network connections folder uses a binary value
and someone forgot about Little Endian when converting it to a DWORD.

Addendum to 7eb3fcf1d (r66485). CORE-9276

This issue has not been very visible because of bugs in CRegFolderEnum.
2023-11-04 17:40:22 +03:00
Whindmar Saksit
a6c838299c [NETSHELL] Call ReleaseWriteLock. Fixes CORE-18349 (#5881) 2023-11-04 15:19:10 +01:00
Katayama Hirofumi MZ
fa4b38d902 [MSPAINT] Localize g_ptStart and g_ptEnd into mouse.cpp
And move some ToolsModel code into mouse.cpp
CORE-19094
2023-11-04 23:00:43 +09:00
Katayama Hirofumi MZ
56828b82d9 [MSPAINT] Distinguish between icons and cursors (#5884)
- Convert icons/*_cur.ico to the cursor files (*.cur).
- The hot spot is (16, 16) (default).
- Rename icons/ folder as img/.
- Use LoadCursorW instead of LoadIconW
  for cursors.
- Use CURSOR statements for cursor files
  instead of ICON statements in rsrc.rc.
- I used GIMP to convert the icon files to the PNG files.
- I used RealWorld Cursor Editor to convert the PNG files to the cursor files.
CORE-19297
2023-11-04 22:15:43 +09:00
Katayama Hirofumi MZ
a938d19714 [SHELL32] Commonize CCopyToMenu and CMoveToMenu (#5873)
Reduce code. And correctly do the filename check.
CORE-18909
2023-11-04 21:56:15 +09:00
Katayama Hirofumi MZ
d21def4819 [MSPAINT] Use <winuser.rh> instead of <winuser.h> in rsrc.rc (#5883)
CORE-19094
2023-11-04 21:53:04 +09:00
Thamatip Chitpong
119057800e [HOTPLUG] Add device removal support (#5836) 2023-11-04 13:31:26 +01:00
Katayama Hirofumi MZ
b69a7460db [MSPAINT] Fix filter string UNICODE_NULL problem
Follow-up to #5882.
Some ATL CString do not append the string if there is
a UNICODE_NULL in the middle.
CORE-19094
2023-11-04 19:50:36 +09:00
Katayama Hirofumi MZ
640d67d12a [MSPAINT] Adapt to Unicode and <strsafe.h> (#5882)
- TCHAR --> WCHAR
- LPTSTR --> LPWSTR
- LPCTSTR --> LPCWSTR
- CString --> CStringW
- TEXT("...") --> L"..."
- _T("...") --> L"..."
- ::SendMessage( --> ::SendMessageW(
- ::GetWindowText( --> ::GetWindowTextW(
- ::SetWindowText( --> ::SetWindowTextW(
- Replace _tcscat with StringCchCatW.
- Replace _tcslen with wcslen.
etc. CORE-19094
2023-11-04 19:25:45 +09:00
Katayama Hirofumi MZ
d7e1bd2705 [IMM32] Sort imm32.spec
CORE-19268
2023-11-04 05:59:53 +09:00
Katayama Hirofumi MZ
4aa1bcb72b [IMM32][SDK] Implement software keyboard, Part 1 (#5865)
- Add dll/win32/imm32/softkbd.c source file.
- Half-implement ImmCreateSoftKeyboard function.
- Move ImmShowSoftKeyboard, and ImmDestroySoftKeyboard functions.
- Modify ImmCreateSoftKeyboard prototype.
CORE-19268
2023-11-04 05:58:17 +09:00
Katayama Hirofumi MZ
d7ece626cb [MSPAINT] Fix Copy-To-File feature (#5877)
The Copy-To-File feature had some bugs that the user couldn't save.
- Modify SelectionModel::GetSelectionContents.
- Delete SelectionModel::CopyBitmap, SelectionModel::LockBitmap,
  and SelectionModel::UnlockBitmap functions.
CORE-19186
2023-11-04 05:56:10 +09:00
Katayama Hirofumi MZ
e627c3b00e [W32TIME] Remember date/time sync settings (#5866)
Based on KRosUser's patch.
- In the W32TmServiceMain function, the
  time check loop does check the registry value.
CORE-19292
2023-11-03 22:56:58 +09:00
Katayama Hirofumi MZ
eb4d13c823 [IMM32][SDK] Implement CtfImm(Hide,Restore)ToolbarWnd (#5863)
- Add Imm32GetFn helper function.
- Implement CtfImmHideToolbarWnd and
  CtfImmRestoreToolbarWnd functions.
- Add them to <imm32_undoc.h>.
CORE-19268
2023-11-03 22:45:51 +09:00
Katayama Hirofumi MZ
a114169c4d [MSPAINT] Refactor mouse moving code on canvas (#5878)
Move some mouse moving code to toolsModel.
CORE-19094
2023-11-03 22:41:06 +09:00
Katayama Hirofumi MZ
a6418c848c [MSPAINT] Simplify tool creation (#5876)
Reduce code and binary size. This will reduce 512 bytes in binary.
- Don't use cache for tool creation.
CORE-19094
2023-11-03 16:49:13 +09:00
Katayama Hirofumi MZ
37f56d2448 [MSPAINT] Commonize OnFinishDraw and OnCancelDraw (#5875)
Reduce code and binary size a bit. This will reduce 1024 bytes in binary.
Unify ToolBase::OnFinishDraw and ToolBase::OnCancelDraw to ToolBase::OnEndDraw.
CORE-19094
2023-11-03 16:20:03 +09:00
Joachim Henze
32b883ef2f [NOTEPAD] de-DE.rc: Fix CMD_HELP_ABOUT_NOTEPAD, all rc: strip bloat-spaces before \n and ? 2023-11-03 02:19:34 +01:00
Katayama Hirofumi MZ
17530af261 [MMSYS] Improve Japanese (ja-JP) translation
CORE-18706
2023-11-03 08:53:36 +09:00
Serge Gautherie
c6c6c62cb5 [PORTCLS] Remove meaningless YDEBUG (#5858)
Addendum to b77ebc4 (r54584).
Follow-up of #5818.
2023-11-02 13:14:12 +01:00
Katayama Hirofumi MZ
dabb3f4d61 [IMM32][SDK] Add CtfAImmIsIME, CtfImmSetAppCompatFlags etc. (#5862)
- Add CtfAImmIsIME, CtfImmIsCiceroStartedInThread and CtfImmSetAppCompatFlags functions.
- Implement CtfImmDispatchDefImeMessage function.
- Modify imm32.spec.
- Add the prototypes of ImmGetAppCompatFlags, CtfAImmIsIME, CtfImmIsCiceroStartedInThread,
  CtfImmSetAppCompatFlags, and CtfImmDispatchDefImeMessage into <imm32_undoc.h>.
CORE-19268
2023-11-02 08:16:12 +09:00
Egor Ananyin
64997887eb [NTUSER] Fix system menu mouse handing (#5822)
Add a check for the system menu opened from the app icon.
Fixes CORE-19258
2023-11-01 23:11:46 +00:00
Andrei Miloiu
c1b12b3f46 [SHELL32] Update Romanian (ro-RO) translation (#5838) 2023-11-01 16:56:50 +01:00
Justin Miller
0a951f1112 [BOOTDATA] Add SMP Entry (#5859)
[HALX86] Enable SMP Hal for x86
[BOOTDATA] add livecd and set entrys
2023-11-01 06:43:44 -07:00
Whindmar Saksit
5d1be078f8 [TASKMGR] Hold Shift to bypass MessageBox confirmation (#5845)
Allow the user to hold shift to automatically answer IDYES when killing/debugging a process or changing the priority.
2023-11-01 13:43:33 +01:00
Serge Gautherie
31876ba8c2 [DSOUND_NEW][HDAUDBUS] Replace meaningless YDEBUG (#5857)
and move debug.h after all includes. Addendum to 60b0afc3a (PR #5818)

dsound_new: Addendum to 5974fe1 (r45584).
hdaudbus: Addendum to cf7fc81 (r68311).
2023-11-01 13:39:05 +01:00
Katayama Hirofumi MZ
b3194e320c [IMM32][SDK] Add CtfAImmActivate/Deactivate functions (#5835)
- Add dll/win32/imm32/CtfImeTable.h for CTF
  IME functions.
- Implementing Imm32CheckAndApplyAppCompat,
  Imm32LoadCtfIme, and
  Imm32EnumCreateCtfICProc helper functions.
- Add CtfAImmActivate and CtfAImmDeactivate
  functions.
- s/CI_TFSDISABLED/CI_TSFDISABLED/
CORE-19268
2023-10-31 22:45:28 +09:00
Katayama Hirofumi MZ
25b7447818 [SETUPLIB][NTUSER] Toggle input language/layout on Alt+Shift / Ctrl+Shift (#5839)
- Respect the toggle key settings.
- Change the hot key settings in 
  base/setup/lib/mui.c.
- Revert IntDefWindowProc function about
  Alt+Shift handling.
- Delete some code in
  co_IntProcessKeyboardMessage for Alt+Shift
  handling.
- Add IntGetNextKL, IntLanguageToggle, and
  IntCheckLanguageToggle helper functions.
- Modify ProcessKeyEvent and
  UserGetLanguageToggle functions to
  support [Left Alt]+Shift and Ctrl+Shift.
- Improve WM_INPUTLANGCHANGEREQUEST
  handling.
- Message handling shouldn't access kbswitch
  directly.
CORE-10667
2023-10-31 22:37:49 +09:00
Katayama Hirofumi MZ
8a049d0b68 [SHELL32][SDK] Implement CopyStreamUI (#5848)
- Modify shell32.spec.
- Add CopyStreamUI prototype to <undocshell.h>.
CORE-19278
2023-10-31 22:32:02 +09:00
Serge Gautherie
60b0afc3af [BDASUP][KMIXER][MMIXER][STREAM] Replace meaningless YDEBUG (#5818)
bdasup: Addendum to 40c15ec (r46632).
kmixer: Addendum to 3e489bf (r42143).
mmixer: Addendum to c42d9f2 (r44872).
stream: Addendum to 4a0debf (r41662).
Serge plans a follow up that will remove all other remaining YDEBUG in the source tree.
The ones covered here he considered to be the most trivial ones.
2023-10-31 12:04:24 +00:00
Katayama Hirofumi MZ
6d7aaaade0 [MSPAINT] Delete needless ImageModel::ResetToPrevious
CORE-19094
2023-10-31 11:13:54 +09:00
Katayama Hirofumi MZ
ad12c6cdea [NTUSER] Disable SC_MOVE if WS_MAXIMIZE or WS_MINIMIZE (#5855)
Based on KRosUser's scmove.patch.
- Check also WS_MINIMIZE window style to
  determine to disable SC_MOVE system command.
CORE-19272
2023-10-31 06:50:00 +09:00
Katayama Hirofumi MZ
00f192fa94 [SHELL32] Improve file properties dialog (#5852)
Based on KRosUser's patches.
- Add missing version strings "Comments" and
  "LegalTrademarks".
- Add version strings "PrivateBuild" and
  "SpecialBuild" if necessary.
- Trim the version string for pretty display.
CORE-19270, CORE-19114, CORE-19275
2023-10-30 15:34:03 +09:00
Katayama Hirofumi MZ
87f94aa10c [KBSWITCH] Update layout list on WM_NOTIFYICONMSG
The layout list was not updated correctly.
CORE-10667
2023-10-30 10:40:27 +09:00
Katayama Hirofumi MZ
aed376e00f [MSPAINT] Fix ImageModel::PushImageForUndo bug
CORE-19274
2023-10-30 07:41:57 +09:00
Hermès Bélusca-Maïto
bdae8cf966 [SHLWAPI_APITEST] Fix MSVC compilation warning C4309
SHPropertyBag.cpp(161): warning C4309: 'initializing': truncation of constant value

See https://stackoverflow.com/questions/33333448/warning-c4309-what-does-it-mean-and-can-it-be-ignored-in-this-case
for some details.
2023-10-28 18:19:04 +02:00
Hermès Bélusca-Maïto
46ab34662d [BROWSEUI] Some parenthesizing clarification around "xxx & YYY" expressions in conditionals 2023-10-28 17:56:55 +02:00
Hermès Bélusca-Maïto
64f40e7f30 [BROWSEUI] Fix MSVC compilation warning C4805
internettoolbar.cpp(714): warning C4805: '!=': unsafe mix of type 'bool' and type 'BOOL' in operation
2023-10-28 17:50:26 +02:00
Hermès Bélusca-Maïto
c9c6902f08 [USETUP] Further simplify partition creation UI code (#5837)
- Use the same keypress 'C' to create either primary or logical partitions.
  Their type is automatically determined, whether they are created in
  general unpartitioned space, or space within an extended partition.

- Extensively adapt the translations to reflect these changes.
2023-10-28 17:08:42 +02:00
Hermès Bélusca-Maïto
ebcf3cf38e [USETUP] Blur the boundaries between MBR "Primary" and "Logical" partitions (#5837)
Do not do that yet for extended partitions (containers).

This is possible, because when creating partitions, we do that on
unpartitioned space that is already "tagged" as either being "logical"
or not, and the partition style is inherited from that.

The resulting code is simpler, yet working as it should.
This will also help in the future for supporting other platforms, where
the concept of "primary", "extended" and "logical" partitions do not
exist (basically all platforms except BIOS-based PC-AT).
2023-10-28 17:08:41 +02:00
Hermès Bélusca-Maïto
9ed4bf1ed7 [USETUP] Show the partition description (and its disk) being formatted and checked (#5837)
And improve some strings -- Translations need to be rechecked!
2023-10-28 17:08:40 +02:00
Hermès Bélusca-Maïto
06e4f13653 [USETUP] Simplify partition creation UI code (#5837)
Unify CREATE_{PRIMARY,EXTENDED,LOGICAL}_PARTITION_PAGE
(i.e. Create{Primary,Extended,Logical}PartitionPage() functions)
into a single CREATE_PARTITION_PAGE (i.e. CreatePartitionPage()).

A lot of code was duplicated there (display, size input, etc.) just
for calling ultimately the Create{Primary,Extended,Logical}Partition()
helper functions.

This will also help in the future for supporting other platforms, where
the concept of "primary", "extended" and "logical" partitions do not
exist (basically all platforms except BIOS-based PC-AT).
2023-10-28 17:08:39 +02:00
Hermès Bélusca-Maïto
1899a09399 [USETUP] Simplify display of partitions being formatted (#5837) 2023-10-28 17:08:39 +02:00
Hermès Bélusca-Maïto
3d4f001084 [USETUP] Rename some MUI string identifiers (#5837)
STRING_CHOOSENEWPARTITION --> STRING_CHOOSE_NEW_PARTITION
STRING_FORMATTINGDISK     --> STRING_FORMATTINGPART
STRING_HDDSIZE            --> STRING_HDPARTSIZE
STRING_HDINFOPARTCREATE_1 --> STRING_HDDISK1
STRING_HDINFOPARTDELETE_1 --> STRING_HDDISK2
STRING_HDDINFO_{1,2}      --> STRING_HDDINFO{1,2}

Move STRING_NEWPARTITION just before STRING_PARTFORMAT
and renumber the STRING_* identifiers.
2023-10-28 17:08:38 +02:00
Katayama Hirofumi MZ
128e7f5aea [SHELL32][SDK] Implement SHStartNetConnectionDialogA (#5847)
and add SHStartNetConnectionDialog prototype to <shlobj.h>.
2023-10-28 22:29:05 +09:00
Katayama Hirofumi MZ
a52c713755 [SHELL32][SDK] Follow-up of #5840 (ad5df2d)
Fix the parameters of Activate_RunDLL.
2023-10-28 21:31:11 +09:00
Katayama Hirofumi MZ
ad5df2d199 [SHELL32][SDK] Implement Activate_RunDLL (#5840)
- Add Activate_RunDLL function implementation.
- Add Activate_RunDLL prototype to <undocshell.h>.
2023-10-28 14:56:27 +09:00
Katayama Hirofumi MZ
2ccdd87809 [SHELL32][SDK] Implement ShortSizeFormatW (#5829)
- Implement ShortSizeFormatW.
- Add ShortSizeFormatW prototype into <undocshell.h>.
- Modify shell32.spec.
2023-10-28 14:55:25 +09:00
Katayama Hirofumi MZ
81e936486e [SHELL32] Implement ExtractIconResInfoA (#5846)
- Add ExtractIconResInfoA implementation.
- Add ExtractIconResInfo prototype to <undocshell.h>.
2023-10-28 11:38:29 +09:00
Katayama Hirofumi MZ
9dfb3e8e05 [SHELL32][SDK] Implement PathIsSlowA and SHSetFolderPathA (#5841)
- Implement PathIsSlowA and SHSetFolderPathA functions.
- Add PathIsSlow and SHSetFolderPath prototypes to <shlobj.h>.
- Fix some <shlobj.h>'s bugs.
- Improve SHOpenPropSheetA function.
2023-10-28 09:59:12 +09:00
Katayama Hirofumi MZ
dcc9a2d8f3 [SHELL32][SDK] Implement SHOpenPropSheetA (#5830)
- Add SHOpenPropSheetA and
  SHOpenPropSheetW prototypes to <shlobj.h>.
- Implement SHOpenPropSheetA function.
2023-10-27 19:34:02 +09:00
Katayama Hirofumi MZ
8f6b016963 [SHELL32] Fix copyto/moveto actions of Search Results (#5816)
- Extend CDefView::InvokeContextMenuCommand 2nd parameter to LPCSTR.
- Add CDefView::_DoCopyToMoveToFolder method.
- Use CDefView::_DoCopyToMoveToFolder for FCIDM_SHVIEW_COPYTO
  and FCIDM_SHVIEW_MOVETO command actions.
CORE-18426
2023-10-27 12:34:51 +09:00
Doug Lyons
4eace8d762 [IPHLPAPI] Silence obsolete FIXME in GetAdaptersAddresses (#5834) 2023-10-26 16:45:44 +00:00
Katayama Hirofumi MZ
995f56d1d3 [SHELL32][SDK] Implement IsSuspendAllowed (#5831)
- Add IsShutdownAllowed helper function.
- Add IsSuspendAllowed prototype to
  <undocshell.h>.
- Implement IsSuspendAllowed function.
2023-10-26 23:27:45 +09:00
Katayama Hirofumi MZ
be8a6f8af1 [REGEDIT] Improve error handling (#5833)
- Don't exit the main program on error.
- Improve output_message function.
- Use output_message instead of some
  error_exit function calls.
CORE-19188
2023-10-26 19:57:42 +09:00
Katayama Hirofumi MZ
fea414b9ed [REGEDIT] Use <strsafe.h> functions strictly Part 2 (#5832)
Follow-up to #5825. Use StringCchPrintfW instead of swprintf.
CORE-18876
2023-10-26 10:39:12 +09:00
Katayama Hirofumi MZ
8cef980ab9 [REGEDIT] Use <strsafe.h> functions strictly (#5825)
Use safer functions for buffer manipulation to avoid buffer overflow/overrun.
CORE-18876
2023-10-26 10:09:31 +09:00
Joachim Henze
9360423cc2 [SYSSETUP] syssetup.rc improve URLs (#5810)
Reformat those URLs in a way that allows new lines to be added, or
existing lines to be removed or changed,
without the need to touch any neighbor line.
This will also allow git blame to work much better in the future.

Fix outdated URLs:
http://www.icu-project.org -> http://icu.unicode.org
https://fedorahosted.org/liberation-fonts -> http://pagure.io/liberation-fonts

I checked: all of the URLs do still work as good as before.

* Update ext2fsd links in syssetup.rc and media/doc
2023-10-24 20:59:28 +00:00
Timo Kreuzer
d831bc4fab [NTOS:MM] Add ASSERTs for VAD table locking 2023-10-24 21:45:27 +03:00
Timo Kreuzer
23589e9bf1 [NTOS:MM] Lock kernel address space in MiInitSystemMemoryAreas
This is required to satisfy VAD locking rules.
2023-10-24 21:45:27 +03:00
Timo Kreuzer
07ad8c4c11 [NTOS:MM] Attach to the target process in MmMapViewOfSection
This is required to satisfy VAD locking rules.
2023-10-24 21:45:27 +03:00
Timo Kreuzer
601bb49c0d [NTOS:MM] Fix MmFreeMemoryArea
- Stay attached while deleting the VAD node
- Acquire the appropriate working set lock when deleting a VAD node
- Both are needed for locking correctness
2023-10-24 21:45:27 +03:00
Timo Kreuzer
de3958dc2b Revert "[NTOS:MM/x64] Temporarily release AddressCreationLock in MmCreateVirtualMappingUnsafeEx"
This reverts commit e685b25e35.
2023-10-24 21:45:27 +03:00
Timo Kreuzer
a662bedab8 [NTOS:MM] Fix bugs in MmAccessFault
- Acquire the appropriate working set lock when calling MmLocateMemoryAreaByAddress
- Do not access MemoryArea without holding the lock (otherwise it can be pulled away under our feet)
- Fix range check for paged pool
2023-10-24 21:45:27 +03:00
Timo Kreuzer
84d0586ca4 [NTOS:MM] Handle page table faults in MmArmAccessFault
These faults are handled by ARM³ and we don't need to check for a memory area. They can be recursive faults (e.g. from MiDeleteSystemPageableVm), so we might be holding the WS lock already. Passing it straight to ARM³ allows to acquire the WS lock below to look up the memory area.
2023-10-24 21:45:27 +03:00
Timo Kreuzer
a8b57f0a6b [NTOS:MM] Fix address space locking in MiProtectVirtualMemory 2023-10-24 21:45:27 +03:00
Timo Kreuzer
6d701b4b05 [NTOS:MM] Add ASSERTS to MmLockAddressSpace to guarantee lock ordering 2023-10-24 21:45:27 +03:00
Katayama Hirofumi MZ
ab199cc147 [MSPAINT] Show out-of-memory message (#5817)
- Improve ImageModel::PushImageForUndo.
- Use FormatMessage in newly added
  ShowOutOfMemory function.
- Call ShowOutOfMemory() when out of memory.
CORE-19227, CORE-19094
2023-10-25 02:35:49 +09:00
Hermès Bélusca-Maïto
501c2bdd63 [NTOS:LPC] Fix input parameter for ProbeAndCaptureUnicodeString (#5815)
Addendum to commit b3c55b9e6 (PR #4399).

Passing &CapturedObjectName as pointer to be probed and captured would
fail if e.g. PreviousMode == UserMode, since that pointer is always in
kernel space. Instead, pass the original user-mode pointer.

Bug caught by Timo Kreuzer ;)
2023-10-23 18:18:45 +02:00
Serge Gautherie
5b54477d47 [BDASUP][PORTCLS][SYSAUDIO][USB] Use ExAllocatePoolZero() and ExFreePoolWithTag() (#5811) 2023-10-23 18:16:59 +02:00
Thamatip Chitpong
7f5c59a0b3 [HOTPLUG] Add device properties dialog support (#5812)
Clicking at "Properties" button or right-click menu now opens properties dialog for the selected device.
2023-10-23 18:53:08 +07:00
Katayama Hirofumi MZ
6f86e11aa2 [SHELL32] Revert CDefView change at bc70af4
CORE-18426
2023-10-23 08:13:29 +09:00
Katayama Hirofumi MZ
bc70af4c13 [SHELL32] Use IS_INTRESOURCE in CCopyToMenu/CMoveToMenu::InvokeCommand
CORE-18426
2023-10-23 07:55:24 +09:00
Jesús Sanz del Rey
855008d97b [COMCTL32] Invalidate LVIS_CUT selected items too (#4218)
This fixes icons that should be drawn transparently not showing as such until window gets repainted.
For example, hidden shell folders that are not drawn transparently until the filebrowser window is resized...

CORE-16722
2023-10-21 18:51:54 +02:00
Serge Gautherie
c03b2ed9be [HDAUDBUS][KS][WDMAUD] Use ExAllocatePoolZero() and ExFreePoolWithTag() (#5792)
And promote/fix 2 DPRINTs as well.
2023-10-20 18:09:03 +02:00
Serge Gautherie
1fed9475cc [BOOTDATA] vfatfs.sys is packaged for xbox only (#5805)
Addendum to 14c3936 (0.4.15-dev-5090).
CORE-16373
2023-10-20 13:19:41 +02:00
Joachim Henze
ddd1d19b3f [TASKMGR] Get rid of cplusplus extern c (#5808)
The others in graphctrl.h and graph.h are being handled in the yet-uncommitted PR #5343.
2023-10-20 13:03:59 +02:00
Whindmar Saksit
ded91e310a [SHELL32] Enable Apply button when shortcut show mode is changed (#5807)
Basically this happens when the combobox selection changes.
2023-10-20 13:02:14 +02:00
Joachim Henze
63eaf2bd52 [TASKMGR] *.rc Deduplicate dynamic menu strings (#5772)
Some of the Menu-controls are just dummies in the RC,
because those controls are dynamically replaced at runtime
based on which tab/propsheet is active in taskmgr.
They are replaced by the IDS_MENU_* strings then.

Deduplicating them has many advantages:
1.) It shrinks binary size:
    master taskmgr.exe RosBEWin2.2.2 GCC8.4.0dbg  708.608 -> 696.832 bytes
2.) Translators don't get lured into translating dead stuff,
    assuming they translated the menu properly, while in fact they did not.
    This is *real*. Happened even to me multiple times already, although
    I am actually aware of the design.
3.) Some of them were offsync already between the dummy and the real thing.
4.) It reduces diff between en-US and other rc's.


* Aside of that improve alignment in some languages rcs in the "Shutdown"-menu-section,
* and improve a translation in de-DE, sq-AL, and zh-CN.
* [TASKMGR] id-ID.rc 2 accelerators in the same string is definitely wrong
* [TASKMGR] *.rc, make sure that warning is in all 30 langs, especially in en-US.rc
* [TASKMGR] for several translations add FIXME-comments regarding accelerator collisions
2023-10-19 10:19:20 +00:00
Hermès Bélusca-Maïto
171941ad18 [DESK] Add the current screensaver in the list if it isn't already present (#5766)
- Introduce AddScreenSaver[Item] helpers for adding screensavers in
  the list (either given by file path or by item structure).

- Rename "AddScreenSavers" to "EnumScreenSavers", and
  "ScreenSaverItem" type to "SCREEN_SAVER_ITEM".

- Ensure the stored "SCRNSAVE.EXE" value is NULL-terminated.

- Add the current screensaver, specified by the "SCRNSAVE.EXE" registry
  value, in the list if it isn't already present; otherwise select it
  in the list.

- Make the filename comparison case-insensitive.
2023-10-18 21:46:15 +02:00
Hermès Bélusca-Maïto
b3a25bcf8b [DESK] Reimplement InstallScreenSaverW to behave similarly to Windows' one (#5766)
CORE-6812 ; see also commit ff0951356 (r66688)

This function "just" changes the per-user SCRNSAVE.EXE registry value
to point to the new specified file, changes the SPI values and opens
the desk.cpl "Screensaver" property tab for letting the user change
the new selected screensaver properties.

In particular, it does *NOT* copy the specified file to System32 or
anything else (and doesn't verify that it is a valid PE executable).

Our previous implementation did none of that, and was also relying on
some private setupapi functions.

We now behave closer to Windows' desk.cpl.

Additionally:

- ReactOS-specific feature (compile-time define) disabled by default:
  Verify that the specified file actually exists, before changing
  the screensaver.
- Use NDEBUG, disabling DPRINT by default;
- Improve InstallScreenSaver[A,W] spec entries;
- Remove NUM_APPLETS define and use _countof() instead.
2023-10-18 21:45:39 +02:00
Hermès Bélusca-Maïto
fd1e5d53a5 [DESK] Cleanup some functions. 2023-10-18 21:30:10 +02:00
Stanislav Motylkov
0af84ce12d [NVNET] Remove NdisEqualMemory hack by linking with memcmp library
Fix suggested by Hermès Bélusca-Maïto. CORE-15872
2023-10-18 20:18:02 +03:00
Dmitry Borisov
59d8a77df6 [DC21X4] Add driver for DECchip 21x4-compatible network adapters (#5614)
These adapters were common in DEC Alpha boxes and they are really rare
nowadays. The 21140 chip is emulated in Connectix / Microsoft Virtual PC
and Hyper-V Gen 1 VM.

This is an experimental driver, not yet tested on real hardware.

CORE-8724
2023-10-18 20:12:36 +03:00
Timo Kreuzer
a8e8add0c0 [KERNEL32] Export more Vista functions 2023-10-18 15:55:41 +03:00
Timo Kreuzer
e0545dab15 [CMAKE] Improve configure script to work with newer CMake versions (#5742)
This change allows to properly pass parameters to newer CMake versions. Currently the script passes "VSSolution" and similar on to CMake, which are ignored, but newer CMake will complain. Allows to configure a VSSolution with CMake 3.27.4.
2023-10-17 13:17:35 +03:00
Timo Kreuzer
d9cb169920 [XDK] Fix / improve some definitions 2023-10-17 13:02:30 +03:00
Timo Kreuzer
7b38f80119 [STLPORT] Make stl thread-safe
Define _STLP_THREADS to make stl thread safe.
Also remove defined(__BUILDING_STLPORT) from the preprocessor conditions for which STLPInterlockedExchangePointer is defined, because that function is used in _threads.h, which can get included by apps using the stl through stl headers.
2023-10-17 13:01:24 +03:00
Katayama Hirofumi MZ
97e53c6963 [MSPAINT] Implement mouse middle button dragging (#5804)
- Handle WM_MBUTTONDOWN and
  WM_MBUTTONUP messages.
- Implement dragging by mouse middle button.
- Add IDC_HANDDRAG cursor resource.
CORE-19094
2023-10-17 15:58:34 +09:00
Timo Kreuzer
40d444919e [SDK] Move definition of MyInt128 into stubs.h 2023-10-17 09:41:18 +03:00
Timo Kreuzer
a27b8009e0 [SDK] Do not include windef.h into stubs.h
This prevents pulling in function declarations that are incompatible with the generated stubs.
2023-10-17 09:41:18 +03:00
Timo Kreuzer
3b7c7d8e68 [CMAKE] Don't use precompiled headers for autogenerated stub files 2023-10-17 09:41:18 +03:00
Katayama Hirofumi MZ
f49919ce5d [MSPAINT] Simplify canvas mouse message handling (#5803)
- Unify some mouse message handlers of
  CCanvasWindow.
- Add CCanvasWindow::m_nMouseDownMsg 
  member.
CORE-19094
2023-10-17 13:48:19 +09:00
Katayama Hirofumi MZ
8f1eb03ad2 [MSPAINT] Improve Zoom tool (#5798)
- Delete global zoomTo function.
- Add CCanvasWindow::zoomTo and
  CCanvasWindow::getNewZoomRect functions.
- Rename CCanvasWindow::updateScrollInfo as
  CCanvasWindow::updateScrollRange.
- Rename CCanvasWindow::resetScrollPos as
  CCanvasWindow::updateScrollPos.
- Draw the proper zoom rectangle on mouse move.
- Revert the active tool on click when the tool
  was Zoom.
CORE-19094
2023-10-17 07:25:50 +09:00
Egor Ananyin
e2d3aa7f4a [NTUSER] Remove a wrong check in MENU_MouseMove (#5736)
This check doesn't seem to be correct in modern ReactOS. Furthermore, it
actually hadn't been working for a long time until it was uncovered by
the recent system menu changes.

Reverts a hack introduced in 17a315285 (r72517), fixes CORE-19170.
The initial bug described in CORE-2338 is not observed.
2023-10-16 19:10:52 +03:00
Serge Gautherie
13a145b6d8 [USERENV] SetUserEnvironmentVariable(): Remove use of uninit' ShortName
Addendum to 96fe018 (r72066).
2023-10-16 19:02:27 +03:00
Katayama Hirofumi MZ
8669679499 [ATL][ATL_APITEST] Add some missing CRect methods (#5800)
- Strengthen "atltest.h".
- Strengthen atl_apitest:atltypes testcase.
- Implement some missing CRect methods.
2023-10-16 21:57:57 +09:00
Katayama Hirofumi MZ
d955b9321b [ATL] s/throw()/noexcept/ (#5799)
Mechanically replace throw() with noexcept.
2023-10-16 15:40:17 +09:00
Katayama Hirofumi MZ
fd1e158480 [MSPAINT] Calculate intersection to reduce bits transfer (#5795)
Drawing lines smoothly on big image.
- In CCanvasWindow::DoDraw, calculate the
  intersection to reduce bits transfer.
- Improve SmoothDrawTool in handling Shift key.
CORE-19094, CORE-19237
2023-10-16 09:09:40 +09:00
Hermès Bélusca-Maïto
5c2ec83fa7 [USETUP] Decouple bootloader install choice page from its actual installation (#5786)
This allows to move this choice sooner in the process, thus having all
the user key presses at first, then all the actual installation going
without any key presses needed anymore... (that is, unless you wanted
to install the bootloader on a removable device. Then it will prompt
you there!)

- Additional "cosmetic"/future-proof changes: Rename all instances
  of "floppy" in the bootloader install variables to "RemovableDisk"
  because it would be great to have this install choice later.

- Layout adjustments in the translated bootloader pages.

- Skip bootloader installation on upgrades. The idea here is that if
  we were able to find a ReactOS installation to upgrade, this means
  we were able to find a valid bootloader + boot entry.
  See also PR #5633.

  This logic may be slightly improved in the future to detect whether
  the underlying bootloader is FreeLdr and if so, only update its files.
  But this is for the future.
2023-10-14 16:29:43 +02:00
Katayama Hirofumi MZ
1c4bf2d702 [MSPAINT] Don't include useless <mapicode.h>
CORE-19094
2023-10-13 18:07:55 +09:00
Katayama Hirofumi MZ
1183e797b4 [MSPAINT] Reset scroll position in some situations (#5789)
In some situations, the scroll position should be reset.
- Add CCanvasWindow::resetScrollPos method.
- Reset the scroll position on loading a file.
- Reset the scroll position on mirroring/rotating
  the image.
CORE-19094
2023-10-12 22:59:17 +09:00
Katayama Hirofumi MZ
9a51c8e6c6 [MSPAINT][NOTEPAD][REGEDIT] Don't use CRTDBG for these apps (#5788)
Don't include <crtdbg.h>.
Don't use _CrtSetDbgFlag.
2023-10-12 22:53:02 +09:00
Katayama Hirofumi MZ
70d5c864bc [MSPAINT] Do type-cast (float) for xDpi and yDpi
CORE-19094
2023-10-12 19:43:29 +09:00
Katayama Hirofumi MZ
409df2355e [MSPAINT] Do type-cast (BYTE) for lfItalic and lfUnderline
CORE-19094
2023-10-12 19:38:41 +09:00
Katayama Hirofumi MZ
4306e261ee [MSPAINT] Do type-cast (BOOL) for TB_ISBUTTONCHECKED return
CORE-19094
2023-10-12 19:31:22 +09:00
Katayama Hirofumi MZ
bc28675a44 [MSPAINT] s/WINBOOL/BOOL/
CORE-19094
2023-10-12 19:13:20 +09:00
Justin Miller
ff3dadf89d [FREELDR] Enable UEFI boot for x86 and amd64 (#5267)
Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>

- Allow to boot NT kernel on UEFI systems with our 2 primary supported architectures
- Implement remaining code needed to pass execution to x86 and amd64 kernels

CORE-11954
2023-10-11 12:45:08 -07:00
Oleg Dubinskiy
a6b281c228 [KS] KsRead/WriteFile: finish IRP initialization and properly setup I/O stack location for it (#5784)
- Initialize the rest of IRP data which is not initialized by IoBuildSynchronousFsdRequest.
- Setup an IO_STACK_LOCATION structure for the IRP before calling the driver's read/write routine.
- Do this for both KsReadFile and KsWriteFile functions in our Kernel Streaming driver (ks.sys).
This fixes several problems when calling these functions from outside, so now they are working correctly, as expected.
Discovered during my audio investigations.
CORE-19232
2023-10-10 13:30:00 -07:00
Alexey Strukov
8451230753 [DEVMGR] Allow to copy text from Details page of device properties (#5775)
In driver properties, in details tab, add a "Copy" popup menu for listview.
This will allow to copy driver's information to buffer.
2023-10-10 21:22:54 +02:00
Katayama Hirofumi MZ
62eeb158a5 [MSPAINT] Improve Zoom tool (#5781)
- Delete CCanvasWindow::drawZoomFrame.
- Invalidate the canvas on mouse move when
  the active tool is Zoom tool.
- Add ZoomTool::OnDrawOverlayOnCanvas to
  draw the zoom rectangle without flickering.
- Improve the zoom trackbar position.
- Display the zoom rate on changing the value
  of the zoom trackbar.
- Reverse the direction of the zoom trackbar.
- Don't draw the focus rectangle.
CORE-19215, CORE-19216
2023-10-10 10:59:29 +09:00
Katayama Hirofumi MZ
0c164f081a [MSPAINT] Check out of image in updating status bar (#5779)
Check out of the image by using ::PtInRect and CCanvasWindow::GetImageRect.
If out, then don't show the status bar text.
CORE-19219
2023-10-09 08:39:31 +09:00
Katayama Hirofumi MZ
611d89eb8b [MSPAINT] Add border width to tool box (#5780)
Make tool box pixel-perfect. Add two border widths to the tool box.
CORE-19217
2023-10-09 08:37:31 +09:00
Timo Kreuzer
63aef3e1fc [T2EMBED] Improve spec file
- Only export stdcall annotated functions on x86
- Turn annotated stubs / forwarders into normal exports
- Note: MSVC removes decorated exports / forwarders, as soon as the undecorated version is exported, even when _declspec(dllexport) is used, no idea how to fix that.
2023-10-09 02:34:30 +03:00
Katayama Hirofumi MZ
8d8f4d328c [MSPAINT] Zoom tool shouldn't use undo buffer (#5778)
Remove PushImageForUndo call in Zoom tool. CORE-19214
2023-10-09 08:07:02 +09:00
Hermès Bélusca-Maïto
11b706429c [WSHTCPIP] Remove unneeded headers + Fix bugs.
- Mismatch NTSTATUS/DWORD for win32 errors;
- Close handle returned from openTcpFile() with closeTcpFile().
2023-10-08 17:11:26 +02:00
Hermès Bélusca-Maïto
9021a14f4a [NDK] Fix weird "ntstatus.s" statement (#5771)
Spotted by Serge Gautherie.
2023-10-08 17:11:25 +02:00
Joachim Henze
42c93e3cbb [TASKMGR] *.rc: Fix accelerator collisions &Priority <-> &Properties (#5758)
We had collisions in many languages.
For most languages (which are derived from en-US) we should use
&Priority
P&roperties

We introduced the collisions during 0.4.15-dev'ing when
MENUITEM ID_PROCESS_PAGE_PROPERTIES
and
MENUITEM ID_PROCESS_PAGE_OPENFILELOCATION
were added.


We verified Win7-en and Win2k3-en to behave as proposed in this PR (R for properties, P for priority).
But *french* Windows (I believe Hermes picture was from WinVista-fr or Win7-fr or Win10-fr maybe) does it differently.

the existing de-DE also has been double-checked to exactly match MS with the accelerators in that menu.
2023-10-07 23:03:47 +00:00
Hermès Bélusca-Maïto
ce08851758 [DESK] Use MultiByteToWideChar instead of the private pSetupMultiByteToUnicode function (#5765)
This avoids having desk.cpl depend on a private function that may change
or disappear, and increase the probability of being able to use that CPL
across different Windows versions.

(Note: this pSetupMultiByteToUnicode was one of those whose name changed
between Windows 2000 and XP+)
2023-10-07 22:17:58 +02:00
Hermès Bélusca-Maïto
e4608f7450 [DESK][SHELLBTRFS] Fix typo in WIN32_NO_STATUS 2023-10-07 22:15:12 +02:00
Hermès Bélusca-Maïto
d0b43a399f [NETID] Simplify IsUserAdmin() helper implementation (#5763)
Addendum to commit 8c4b0c914.

Base ourselves on pSetupIsUserAdmin() and other similar functions in our
codebase. Note that what we are actually interested here, is whether the
current thread runs with Administrator privileges.

(As noticed by contributor 'whindsaks', "Not only is this code simpler,
it now will correctly handle deny-only SIDs in the token!")
2023-10-07 21:52:36 +02:00
Timo Kreuzer
e685b25e35 [NTOS:MM/x64] Temporarily release AddressCreationLock in MmCreateVirtualMappingUnsafeEx
This is a hack, because the kernel mode path can incur a recursive page fault with the AddressCreationLock acquired, which would lead to a recursive acquisition, once we do proper locking in MmAccessFault.
To properly fix this the PDE must be made valid, similar to the user mode path, but that is not that simple...
2023-10-07 10:58:30 +03:00
Oleg Dubinskiy
d96b3cd45c [KS] Fix bug in KsStreamIo (#4663)
Properly set output buffer length in IO Stack Location of the current IRP, since it is passed to KsProbeStreamIrp when calling KsStreamIo, so it fails if the length isn't set properly.

Don't set an input buffer length and the buffer itself, since it isn't passed anywhere, so setting it makes no sense. Moreover, MSDN says that for IOCTL_KS_READ/WRITE_STREAM, only output buffer (and its length) is needed to be set, but not an input one. So it indeed is more correct.

It fixes buffer overflow in KsProbeStreamIrp when attempting to perform the streaming via KsStreamIo. I discovered this bug during my audio refactoring from PR #4660.
2023-10-06 12:36:09 +02:00
Hermès Bélusca-Maïto
2a5fd78f1b [APPHELP_APITEST] Fix build, addendum to commit a8755711b 2023-10-05 21:32:38 +02:00
Hermès Bélusca-Maïto
a8755711b9 [APPHELP_APITEST] Deduplicate the IsUserAdmin() helper. 2023-10-05 20:58:57 +02:00
Hermès Bélusca-Maïto
f1cff6ef27 [DESK] Remove deprecated code.
This mostly reverts commit 221f21c62 (r29328), that was a hack for
building with MSVC. We can nowadays correctly link with the shell32
SHCreatePropSheetExtArrayEx() export.
2023-10-05 20:58:28 +02:00
Katayama Hirofumi MZ
1a90009bb9 [MSPAINT] Update scroll info on loading file (#5761)
The scroll info was not updated when the file is loading.
- Rename CCanvasWindow::Update as CCanvasWindow::updateScrollInfo.
- Update scroll info on ImageModel::NotifyImageChanged.
- Improve ImageModel::ClearHistory.
CORE-19094
2023-10-05 20:01:41 +09:00
Katayama Hirofumi MZ
3579ea7888 [MSPAINT] Fix assertion failure on text tool (#5762)
Kill the assertion failure on choosing text tool.
Check whether textEditWindow is not null by using IsWindowVisible.
CORE-19094
2023-10-05 19:51:36 +09:00
George Bișoc
d72025649b [NTOS:SE] Mute the access denied DPRINTs
They can be spammy. Also clarify these debug prints, because some people
think that "failed to grant access rights" means there's something wrong
in the core access check functions.
2023-10-04 18:04:30 +02:00
George Bișoc
09bfd96f3b [NTOS:SE] HACK: Temporarily add the Local group SID to the system token
Temporarily add the local group to the system token so that Virtualbox
GA services can properly set up network drives for shared folders.

What happens is that a security descriptor has a DACL with only one ACE
that grants access to Local SID (presumably coming from Vbox?)
but the client token is that of the service which is a SYSTEM token.
Perhaps we are not impersonating the right user or whatever else.

This is only a temporary placebo, until a proper solution is found.

CORE-18250
2023-10-04 18:04:30 +02:00
George Bișoc
fefb1b7745 [NTDLL_APITEST] Write NtAccessCheck testcase that tests for empty generic mapping scenario
See b79aadd50bb7d5d6f08532284941c0334514c477 for further information.
2023-10-04 18:04:29 +02:00
George Bișoc
4b4638dc55 [NTOS:SE] HACK: Temporarily grant access to the client if empty generic mapping was passed
Certain apps such as AIM installer passes an empty generic mapping (this can
be understood with their generic masks set to 0) and our code tries to map
the access right from an ACE with the mapping provided by AccessCheck.

This can lead to a bug where we would not be able to decode the generic right
from an ACE as we need a proper generic mapping in order to do so. A mask
right that is not decoded it cannot be used to mask out the remaining rights,
further resulting into a denied access right.

What Windows does instead is they are mapping the ACE's rights in another place,
presumably when setting security data to an object, and they are using the
generic mapping passed by the kernel.

What we can do for the time being is to temporarily grant access to the client,
but only if they are an administrator.

CORE-18576
2023-10-04 18:04:29 +02:00
George Bișoc
95c104f29a [TCPIP] Setup a security descriptor for the IP and TCP device objects
Grant access to such objects to system, admins and network services.
2023-10-04 18:04:17 +02:00
Ratin Gao
be5c889cdf [NTDLL:LDR] SAL improvements and fixes
- Convert some notations to SAL2
- "Name" parameter in LdrGetProcedureAddress/LdrpGetProcedureAddress should be optional
- "DllCharacteristics" parameter in LdrGetDllHandle should be optional
2023-10-04 12:26:18 +03:00
Joachim Henze
46b4b5581d [TASKMGR] Favor _countof(), no functional change intended (#5757)
Taskmgr used a mixture: Sometimes _countof(), sometimes ARRAYSIZE()
and sometimes it calculated the count plain by sizeof(var)/sizeof(TYPE).
Harmonize everywhere to _countof() as it is the shortest solution.

Fix some formatting sins, like placing comments before else-statement.
Shorten the length of some very long line
intentionally *without introducing additional linebreaks* !

Shorten vertical length of some functions to increase their chance to
fit on the screen without scrolling.

Fix wrong indentation level in TaskManagerWndProc().

*.rc: Remove superfluous and redundant comment in all langs

No functional change intended.
2023-10-03 21:00:10 +02:00
Timo Kreuzer
410b1030c0 [NTOS:KE/x64] Implement detection of more KF_* feature flags
- Detect KF_SSSE3, KF_SSE4_1, KF_SSE4_2, KF_RDRAND, KF_BRANCH, KF_SLAT, KF_GENUINE_INTEL, KF_AUTHENTICAMD, KF_ACNT2, KF_SMEP, KF_SMAP, KF_RDWRFSGSBASE, KF_XSAVEOPT, KF_XSAVES, KF_HUGEPAGE, KF_RDTSCP
2023-10-03 19:45:44 +03:00
Timo Kreuzer
1a7ab2fe68 [NTOS:KE/x64] Use structures for CPUID 2023-10-03 19:45:44 +03:00
Timo Kreuzer
6048ebeff9 [SDK] Add CPUID and MSR definitions for x86/x64
- Import definitions from edk2 (see https://github.com/tianocore/edk2/tree/master/MdePkg/Include/Register)
- Add additional unions as well as AMD SVM CPUID
2023-10-03 19:45:44 +03:00
Timo Kreuzer
70f6ed8ee3 [NTOS:KE/x64] Improve CPU feature detection
- Use 64 bit feature flags (with a hack in the PRCB)
- Improve setting up SharedUserData->ProcessorFeatures
2023-10-03 19:45:44 +03:00
Timo Kreuzer
47c1dcd023 [NDK] Update kernel feature bits constants
- Move them into architecture specific headers.
- Add missing constants based on https://www.geoffchappell.com/studies/windows/km/ntoskrnl/structs/kprcb/featurebits.htm
- Yes, they are 64 bits
2023-10-03 19:45:44 +03:00
Timo Kreuzer
b66441d581 [XDK] Add missing PF_* processor feature definitions 2023-10-03 19:45:44 +03:00
George Bișoc
50f367fa58 [NTOS:CM] Use COMPUTE_HASH_CHAR to compute the conv hash key
We have a dedicated macro definition for that so just use it.
2023-10-03 11:01:21 +02:00
Whindmar Saksit
34066e475a GetDetailsOf does not support column flags (#5755)
GetDetailsOf does not support the column flags used by CompareIDs.
As a side effect, also fixes LPARAM to UINT truncation on 64-bit.
2023-10-03 10:43:44 +02:00
Joachim Henze
6528ab8fcb [TASKMGR] de-DE.rc Update part 3
I spotted yet another flip:
translation of IDS_TAB_PFDELTA and IDS_TAB_VMSIZE were flipped.

I spotted that by toggling all columns off entirely
in the View-Options dialog where the columns can be selected
and then added only one column at a time. I did that for all options.

I do recommend translators of other langs to do the same test,
I was shocked about the amount of bugs I spotted for german.
And it is very subtle / easy to miss, if you enable/disable multiple columns
together!

Let's call it a day now!
2023-10-03 06:31:04 +02:00
Joachim Henze
65ce20896a [TASKMGR] *.rc Strip unused IDD_DEBUG_CHANNELS_DIALOG
This is an addendum to 0.4.15-dev-413-g ed7196d964

binary size shrinks slightly although that dlg was unused:
taskmgr.exe RosBEWin2.2.2 GCC8.4.0dbg  715.264 -> 708.608
2023-10-03 03:50:41 +02:00
Joachim Henze
142c35fcce [TASKMGR] de-DE.rc Update
GRAPH == 'Anzeige'. Addendum to last commit
2023-10-03 02:47:10 +02:00
Joachim Henze
e15d68ba5d [TASKMGR] de-DE German Update & bug-fixes
This fixes several issues:
- add a few missing translations, e.g. ID_PROCESS_PAGE_PROPERTIES & ID_PROCESS_PAGE_OPENFILELOCATION
- IDS_TAB_PEAKMEMUSAGE translation was flipped with IDS_TAB_MEMDELTA
- IDC_MEM_USAGE_FRAME had text truncation, fix that by structurally switching to "Speicher"
- waste less space for the listview headers in the Processes tab so user can display more columns conveniently without the headers unnecessarily being crippled to "..."
- Sync some controls sizes back to en-US in the performance tab
- Translation for ID_VIEW_CPUHISTORY_ONEGRAPHALL and ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU was swapped accidentally
- Strip comment lines in the end, which were outdated anyway
- avoid monsters that not even a german person can read like "Auslagerungsdateiauslastungs-Verlaufsanzeige" which is like "Donaudampfschifffahrtselektrizitätenhauptbetriebswerkbauunterbeamtengesellschaft"
2023-10-03 02:05:28 +02:00
Carl J. Bialorucki
3e46a8673d [EXPLORER][COMCTL32] Fix balloon tooltips and system pager alerts (#5559)
- [EXPLORER] Set maximum balloon width for notification area
- [COMCTL32] Fix balloon tooltip shape

- Limit balloon tooltips from extending past the edges of the monitor, not the edges of the work area.
- Instead of simply repositioning the main rectangle when the balloon is too far towards one edge of the screen,
  try flipping the balloon the other way. This is the same behavior as Windows Server 2003.
- Tweak some values used to draw the balloon tooltips to more closely follow the Windows balloon tooltip style.
- Removing trailing whitespace.
- While the new changes are guarded, consider cancelling our Wine sync for common controls.
  Our common controls are responsible for many graphical issues and lack of features throughout ReactOS.

CORE-19109
2023-10-03 01:08:45 +03:00
Stanislav Motylkov
f53be82158 [REACTOS] Revert badly formatted commits
This reverts commits ab1868c7bf and 1aa76275ac.
2023-10-03 01:00:07 +03:00
Carl J. Bialorucki
f744bb2994 [BROWSEUI] More settings and window refresh (#5584)
Adds the option to set the address edit box to use the display name or the full path. Also refreshes the window title and edit box in all open explorer windows when changing these settings using the folder options dialog.

## PROPOSED CHANGES ##
- Create a new CabinetStateSettings type that inherits from the CABINETSTATE type. This allows us to add additional cabinet state settings not exposed in the CABINETSTATE type as well as adding a Load() method to easily populate the cabinet state settings.

- Add a global cabinet state settings object. While most settings in browseui are stored independently in each shellbrowser window, cabinet state settings are global and apply to every shellbrowser window. This can be confirmed on Windows Server 2003 and Windows 7.

- When receiving the WM_SETTINGCHANGE window message from the folder options dialog, refresh the title of the window and the text in the address edit box. This is the same behavior as Windows Server 2003 and Windows 7.
Add a DWORD registry value to HKCU\...\Explorer\CabinetState\FullPathAddress to allow users to toggle this setting on or off in our folder options.

CORE-9277
2023-10-02 22:43:00 +02:00
Carl J. Bialorucki
1aa76275ac Fix balloon tooltip shape 2023-10-02 22:39:10 +02:00
Carl J. Bialorucki
ab1868c7bf Set maximum balloon width for notification area 2023-10-02 22:39:10 +02:00
Sarthak Roy
4ba8af9cae [CALC] Use pragma once for calc.h (#5754)
It's simpler and only needs to be included once at the beginning of the
header file. It generates an unique identifier for the file automatically,
so maintainers wouldn't need to choose unique names for the macros.
It will be helpful if any future refactoring takes place.

Signed-off-by: Sarthak Roy <sarthakroy2002@gmail.com>
2023-10-02 00:58:32 +03:00
George Bișoc
dd54cd32cf [NTDLL_WINETEST] Enable registry tests for KeyCachedInformation back 2023-10-01 20:06:03 +02:00
George Bișoc
c0ea1f96ef [NTOS:CM][DOCUMENTATION] Provide documentation for newly added functions 2023-10-01 20:06:03 +02:00
George Bișoc
f4de5ceb9e [NTOS:CM] Implement cache lookup and cleanup subkey information for cache consistency
During an open or create procedure of a registry key, the registry parser grabs
a key control block (KCB) from the parser object and uses its information to do the
necessary work in order to obtain a pointer to the newly created or opened registry key.

However, the registry parsers faces several issues. First, we don't do subkey cache cleaning
information against gathered KCBs so whenever we do a registry parse we end up with KCBs
that have cache inconsistencies. Moreover we don't do any locking of whatever KCB we
are grabing during a parse procedure.

=== PROPOSED CHANGES ===

* Implement CmpComputeHashValue and CmpLookInCache functions. With CmpComputeHashValue we can
compute the convkey hashes of each subkey in the path name of a key so we can lock them
with CmpBuildAndLockKcbArray. CmpLookInCache is a function that searches for the suitable
KCB in the cache. The factors that determine if a KCB is "suitable" are:

-- the currently found KCB in the hash list has the same levels as that of the
given KCB from the parse object;

-- The key names from the computed hash values match with the block name of
the KCB;

-- The currently found KCB is not deleted.

The KCB will be changed if the key path name points to a partial match name in
the cache. The KCB from the parse object will be used if we have a full match
of remaining levels.

* Add missing CMP_LOCK_HASHES_FOR_KCB flags on CmpCreateKeyControlBlock calls
that create KCBs during a parse procedure. Such lock has to be preserved until
we're done with the registry parsing.

* On CmpDoCreateChild, preserve the exclusive lock of the KCB when we are
enlisting the key body.

* On CmpDoCreate, make sure that the passed parent KCB is locked exclusively and
lock the hiver flusher as we don't want the flusher to kick in during a key
creation on the given hive. Cleanup the subkey info when we're creating a key
object. Also implement missing cleanup path codes. Furthermore, avoid key
object creation if the parent KCB is protected with a read-only switch.

* Soft rewrite the CmpDoOpen function, namely how we manage a direct open vs
create KCB on open scenario. When a KCB is found in cache avoid touching
the key node. If the symbolic link has been resolved (aka found) then lock
exclusively the symbolic KCB. Otherwise just give the cached KCB to the caller.

If it were for the caller to request a KCB creation, we must check the passed
KCB from the parser object is locked exclusively, unlike on the case above
the caller doesn't want to create a KCB because there's already one in the cache.
We don't want anybody to touch our KCB while we are still toying with it during
its birth. Furthermore, enlist the key body but mind the kind of lock it's been
used.

* On CmpCreateLinkNode, avoid creating a key object if the parent KCB is protected
with a read-only switch. In addition, add missing hive flusher locks for both
the target hive and its child. Cleanup the subkey information of the KCB when
creating a link node, this ensures our cached KCB data remains consistent.

* Do a direct open on CmpParseKey if no remaining subkey levels have been found
during hash computation and cache lookup, in this case the given KCB is the
block that points to the exact key. This happens when for example someone tried
to call RegOpenKeyExW but submitting NULL to the lpSubKey argument parameter.

CORE-10581
ROSTESTS-198
2023-10-01 20:06:02 +02:00
George Bișoc
8cb56e77a6 [NTOS:CM] Do not call CmpSecurityMethod when assigning a security descriptor
CmpSecurityMethod is a method used by the Object Manager and called by this
subsystem whenever a security operation has to be done against a key object.

As CmpSecurityMethod is a specific OB construct we should not make any direct
call attempts to CmpSecurityMethod, only OB is responsible for that. This fixes
a deadlock where CmpSecurityMethod acquires a push lock for exclusive access
even though such lock is already acquired by the same calling thread in
CmpDoCreateChild.
2023-10-01 20:06:02 +02:00
George Bișoc
7fd6f86803 [NTOS:CM] Do not acquire a KCB lock twice when deleting a key object
This prevents a deadlock in DelistKeyBodyFromKCB when we delete a key
object because of an access check failure during a open procedure of a
registry key, as we are already holding a lock against the target KCB of
the key body.
2023-10-01 20:06:02 +02:00
George Bișoc
697a52aa33 [NTOS:CM] Do not acquire the lock twice when the Object Manager calls CmpSecurityMethod
Whenever a security request is invoked into a key object, such as when requesting
information from its security descriptor, the Object Manager will execute
the CmpSecurityMethod method to do the job.

The problem is that CmpSecurityMethod is not aware if the key control block
of the key body already has a lock acquired which means the function will attempt
to acquire a lock again, leading to a deadlock. This happens if the same
calling thread locks the KCB but it also wants to acquire security information
with ObCheckObjectAccess in CmpDoOpen.

Windows has a hack in CmpSecurityMethod where the passed KCB pointer is ORed
with a bitfield mask to avoid locking in all cases. This is ugly because it negates
every thread to acquire a lock if at least one has it.
2023-10-01 20:06:02 +02:00
George Bișoc
08fcf0c58b [NTOS:CM] Implement locking/unlocking of KCBs in an array
The CmpUnLockKcbArray, CmpLockKcbArray and CmpBuildAndLockKcbArray routines
help us to lock KCBs within array so that information remains consistent when
we are doing a cache lookup during a parse procedure of the registry database.
2023-10-01 20:06:01 +02:00
George Bișoc
c6230ba255 [NTOS:CM] Add KCB array lock function prototypes & Other Stuff
Implement CmpBuildAndLockKcbArray and CmpUnLockKcbArray prototypes, we'll gonna need these
to do the locking/unlocking of KCBs stacked up in an array. In addition implement some CM
constructs specifically for cache lookup implementation (more at documentation remarks).

=== DOCUMENTATION REMARKS ===

CMP_SUBKEY_LEVELS_DEPTH_LIMIT -- This is the limit of up to 32 subkey levels
that the registry can permit. This is used in CmpComputeHashValue to ensure
that we don't compute more than the limit of subkeys we're allowed to.

CMP_KCBS_IN_ARRAY_LIMIT -- This is equal to CMP_SUBKEY_LEVELS_DEPTH_LIMIT
plus the addition by 2. This construct is used as a limit of KCB elements
the array can hold. 2 serves as an additional space for the array (one for
the root object and another one as extra space so we don't blow up the stack
array).

CMP_LOCK_KCB_ARRAY_EXCLUSIVE & CMP_LOCK_KCB_ARRAY_SHARED -- These flags are used exclusively
for CmpBuildAndLockKcbArray and CmpLockKcbArray. Their meaning are obvious.

CM_HASH_CACHE_STACK -- A structure used to store the hashes of KCBs for locking. It is named
"stack" because the way we store the hashes of KCBs is within an auxilliary "outer stack array".
2023-10-01 20:06:01 +02:00
George Bișoc
8a335a3141 [NTOS:CM] Implement the shared lock macro for use
CmpAcquireKcbLockSharedByKey can come in handy for use to lock KCBs by their convkey with a shared lock, specifically we would need this for cache lookup stuff.
2023-10-01 20:06:00 +02:00
George Bișoc
26fe3616fe [NTOS:CM] Implement COMPUTE_HASH_CHAR macro definition
Wrap the hash computation formula in a macro so that we don't have to copy
the logic over the places again and again.
2023-10-01 20:06:00 +02:00
George Bișoc
a4213d491d [NTOS:CM] Add surrounding parentheses to GET_HASH_INDEX definition 2023-10-01 20:05:57 +02:00
Timo Kreuzer
0e68e27ff6 [WINSPOOL] Add a number of missing NULL checks. 2023-10-01 13:05:51 +03:00
Timo Kreuzer
02df49ebd8 [WINSPOOL] Properly copy the DEVMODE in IntFixUpDevModeNames
Otherwise the size isn't set up correctly, leading to a crash.
Fixes crash in comdl32_winetest printdlg.
2023-10-01 13:05:51 +03:00
Joachim Henze
8c76870639 [NTOS:MM] Fix missing \n in unimplemented codepath DPRINT
We can hit that unimplemented code-path-line in NtQuerySection()
when browsing youtube.com with Chromium 49.
2023-09-30 19:06:30 +02:00
Katayama Hirofumi MZ
945ee4b2a4 [MSPAINT] Larger/smaller Rubber/AirBrush on Ctrl+Plus/Minus (#5740)
- Enable changing rubber/airbrush thickness by Ctrl+Plus / Ctrl+Minus
  key combination in TOOL_AIRBRUSH and TOOL_RUBBER.
CORE-19094
2023-09-28 21:54:32 +09:00
Katayama Hirofumi MZ
8a4787b384 [MSPAINT] Larger/smaller brush nib on Ctrl+Plus/Minus (#5739)
- Introduce the concept of "brush width" to the
  tools model.
- Enable changing the brush width by Ctrl+Plus/Minus
  key combination in TOOL_BRUSH.
- Re-define brush styles.
CORE-19094
2023-09-28 21:30:34 +09:00
Serge Gautherie
c84b5007d0 [NTOS:CM] Simplify CmpDelayAllocBucketLock code a bit (#5729)
- Remove duplicate CmpDelayAllocBucketLock definition.
- Remove an else.
2023-09-28 11:39:13 +02:00
Katayama Hirofumi MZ
f2a012240f [MSPAINT] Larger/smaller pen nib on Ctrl+Plus/Minus (#5738)
- Introduce the concept of pen width (not line width) to the tools model.
- Enable changing pen/line width by Ctrl+Plus/Minus key combination in TOOL_PEN,
  TOOL_LINE, TOOL_BEZIER, TOOL_RECT, TOOL_SHAPE, TOO_ELLIPSE, and
  TOOL_RRECT tools.
CORE-19094
2023-09-28 16:32:36 +09:00
Katayama Hirofumi MZ
cbc63d876c [MSPAINT] "Selection Clone" and "Selection Brush" (#5734)
- Stamp the image of the selection when the user clicks on
  the selection while holding down the Ctrl key.
- Draw the image of the selection continuously when the user
  starts dragging the selection while holding down the Shift key.
CORE-19094
2023-09-28 07:34:25 +09:00
Timo Kreuzer
03283371c1 [NTOS/Mm] Fix SWAPENTRY bit-check in MmCreatePageFileMapping
Test for the highest bit, not for bit 3 / 7.
2023-09-28 01:19:47 +03:00
Joachim Henze
058b746bbe [SHELL32] *.rc: AGAIN! 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.

Was done already during 0.4.15-dev for SHELL32, but we have to do it again,
since some recent translation PRs to match the en-US.rc again.
2023-09-27 22:23:31 +02:00
Joachim Henze
29c0e23fd4 [MAZESCR] Avoid (DLGPROC) cast, fix a typo (#5694)
May help a bit with x64.

Co-authored-by: Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
2023-09-27 17:37:44 +00:00
Joachim Henze
e69d2e8b89 [CMICONTROL] Fix MSVC 14.2 dbg x64 warning C4267 (#5696)
Can be observed on the buildbots:
2023-09-17T14:19:34.2051345Z [10663/14808] Building CXX object drivers\wdm\audio\drivers\CMIDriver\cmicontrol\CMakeFiles\cmicontrol.dir\main.cpp.obj
2023-09-17T14:19:34.2052611Z D:\a\reactos\reactos\src\drivers\wdm\audio\drivers\CMIDriver\cmicontrol\main.cpp(818): warning C4267: '=': conversion from 'size_t' to 'unsigned int', possible loss of data
2023-09-27 17:34:32 +00:00
Serge Gautherie
9ca88bef80 [NTOS:MM] Fix 'eanbled' typo in a comment (#5728) 2023-09-27 17:31:42 +00:00
Timo Kreuzer
8227c5d380 [NTOS] Implement support for opting out of NX policy
Fixes crash in ntdll_winetest info on x64.
2023-09-26 18:04:19 +03:00
Timo Kreuzer
6133cc016d [CRT/x64] Fix a bug in __C_specific_handler
Fixes crash of compiler_apitest pseh
2023-09-26 18:02:21 +03:00
Timo Kreuzer
cf4aa7ea9d [LSASRV] Fix usage of self-relative security descriptor in LsarQuerySecurityObject 2023-09-26 18:01:45 +03:00
Timo Kreuzer
5127433416 [SAMSRV] Fix usage of self-relative security descriptor in SamrQuerySecurityObject
Fixes crash of netapi32_winetest access
2023-09-26 18:01:45 +03:00
Timo Kreuzer
df053d4e43 [RTL] Improve usage of absolte vs self-relative security descriptors
- RtlpQuerySecurityDescriptor: Change argument type of first parameter from PISECURITY_DESCRIPTOR to PSECURITY_DESCRIPTOR, since it handles both absolute and self-relative SDs.
- RtlMakeSelfRelativeSD: rename first parameter from AbsoluteSD to SecurityDescriptor, since it handles both absolute and self-relative SDs.
- SepGetGroupFromDescriptor/SepGetOwnerFromDescriptor/SepGetDaclFromDescriptor/SepGetSaclFromDescriptor: Change parameter type from PVOID to PSECURITY_DESCRIPTOR for clarity.
2023-09-26 18:01:45 +03:00
Katayama Hirofumi MZ
389d04650f [MSPAINT] Restrict drawing direction on Shift key (#5726)
- While holding down the Shift key, drawing lines with the
  pen/brush is limited to either of 8 directions (horizontal/vertical/diagonal).
- s/abs/labs/
CORE-19094
2023-09-26 22:47:23 +09:00
Katayama Hirofumi MZ
d1e9fe13de [SHELL32][SDK] Implement SHTestTokenPrivilegeW (#5725)
and modify shell32.spec.
2023-09-26 07:36:07 +09:00
Doug Lyons
1b3eed58ca [SHELL32] Fix for shlexec.cpp regressions (#5282)
fixes CORE-18967 'Taskbar toolbar - Right click > Open folder fails'
by restoring the code-path we removed with the guilty 
0.4.15-dev-3847-g /9b716539182864bc077e362febcda74da50287ed 

and add test_sei_lpIDList to shell32:ShellExecuteEx apitest test to protect
that functionality on future attempts to simplify.
2023-09-24 20:35:28 +00:00
Katayama Hirofumi MZ
cc6e444ceb [SHELL32][SDK] Implement SHInvokePrivilegedFunctionW (#5718)
Add it to <undocshell.h>. Modify shell32.spec.
2023-09-24 07:11:38 +09:00
Timo Kreuzer
ed06c06dcb [NTOS:CM] Fix lock leak
Triggered by low available pool memory during kmtest ExPools.
2023-09-23 18:34:00 +03:00
Andrew Dent
aa84645bcc [THEMES] Optimize png for Lautus style (#5712)
Lossless optimization of new png Start button in Lautus style, original by @Splitwirez (ed134bf2, #5540).
Slimmed 464 bytes, ~20% saving. This png is encoded as a grayscale+alpha, so should be tested.
2023-09-23 15:54:39 +03:00
Timo Kreuzer
88808bad8a [RPCRT4] Fix x64 assembly code
movaps is a 128 bit aligned move, we need a 64 bit unaligned move, so use movsd.
Fixes a crash in oleaut32_winetest tmarshal.
Also add a comment about the use of movd instead of movq.
2023-09-23 11:06:24 +03:00
Katayama Hirofumi MZ
ed9973f876 [MSPAINT] Introduce Ctrl+Plus / Ctrl+Minus (#5717)
- Add Ctrl+Plus and Ctrl+Minus accelerators.
- Add IDM_CTRL_PLUS and IDM_CTRL_MINUS
  commands.
- Stretch the selection area on IDM_CTRL_PLUS
  and IDM_CTRL_MINUS actions.
CORE-19094
2023-09-23 09:26:11 +09:00
Katayama Hirofumi MZ
bbb33a6ed5 [MSPAINT] Don't show error message twice (#5715)
- Reduce display of error message on IDM_EDITCOPYTO and IDM_EDITPASTEFROM.
- Introduce LockBitmap/UnlockBitmap mechanism for ImageModel and SelectionModel.
CORE-19181, CORE-19182
2023-09-22 10:48:13 +09:00
Katayama Hirofumi MZ
98050f9139 [MSPAINT] Don't copy bits on resizing (#5716)
- Fix the graphical glitches on resizing and moving toolbars.
- Add SWP_NOCOPYBITS flag on positioning controls on resizing of main window.
CORE-19137
2023-09-22 07:35:03 +09:00
Timo Kreuzer
4661bc006d [WIN32K] Prevent dereferencing NULL pointer
Initialize a window's ThreadListEntry as an empty list on creation and only remove the window from the list on destruction, when the entry is not an empty list. Previously the window creation could fail before the list entry was initialized and the window would get destroyed after that, resulting in a NULL pointer dereference.
2023-09-21 23:45:31 +03:00
Timo Kreuzer
41c99aa60a [KERNEL32] Fix RaiseException to correctly copy the passed in parameters as ULONG_PTR
Fixes C++ exception handling on x64.
2023-09-21 21:33:47 +03:00
Katayama Hirofumi MZ
4407e0aefa [SHELL32][SDK] Implement SHOpenEffectiveToken and SHGetUserSessionId (#5713)
- Implement SHOpenEffectiveToken and
  SHGetUserSessionId functions.
- Add them to <undocshell.h>.
2023-09-21 22:44:20 +09:00
Hermès Bélusca-Maïto
4bdfee8e8b [NTOS:EX] Initialize ExpResourceTimeoutCount also via the "Session Manager/ResourceTimeoutCount" registry value (#4089)
For more details, see
http://systemmanager.ru/win2k_regestry.en/29859.htm
https://www.betaarchive.com/wiki/index.php/Microsoft_KB_Archive/102985#ResourceTimeoutCount_REG_DWORD
2023-09-21 13:33:28 +02:00
Hermès Bélusca-Maïto
56417bfb93 [RTL] Satisfy the RtlpTimeoutDisable condition when waiting for critical sections (#4089) 2023-09-21 13:33:28 +02:00
Hermès Bélusca-Maïto
dff55c9d33 [NTDLL][RTL] Move RtlpTimeoutDisable definition to the RTL (#4089) 2023-09-21 13:33:27 +02:00
Hermès Bélusca-Maïto
6f89a48349 [NTDLL:LDR] Fix process LoadConfig CS timeout conversion from ms to 100ns units (#4089)
For more details, see
https://forums.codeguru.com/showthread.php?370731-EnterCriticalSection-locking&p=1302399#post1302399
2023-09-21 13:33:26 +02:00
Hermès Bélusca-Maïto
b5c75ce506 [NTOS:EX] Minor header formatting. 2023-09-21 13:33:25 +02:00
Hermès Bélusca-Maïto
903a3dc622 [NTDLL][RTL] Fix english typo in (internal) function name. 2023-09-21 13:33:18 +02:00
Oleg Dubinskiy
f4d7cccd3c [DXGTHK] Export DriverEntry (#5607)
Export driver entry point function DriverEntry from our dxgthk.sys,
following Windows behaviur. It is exported on XP SP3 and Server 2003.
2023-09-21 14:25:21 +03:00
Katayama Hirofumi MZ
539123c62f [SHELL32] SHChangeRegistrationReceive just returns FALSE 2023-09-21 12:09:28 +09:00
Katayama Hirofumi MZ
29e1a41d07 [SHELL32][SDK] Implement SHGetShellStyleHInstance (#5707)
Co-authored-by: Oleg Dubinskiy <oleg.dubinskij30@gmail.com>
This PR supersedes PR #3851.
- Implement SHGetShellStyleHInstance function.
- Add SHGetShellStyleHInstance prototype to <shlobj.h>.
CORE-17707
2023-09-21 09:22:33 +09:00
Katayama Hirofumi MZ
6c55a3aa2a [SHELL32][SHELL32_APITEST][SDK] Implement Int64ToString (#5706)
- Implement Int64ToString and LargeIntegerToString functions.
- Add Int64ToString and LargeIntegerToString prototypes to <shellundoc.h>.
- Add Int64ToString testcase.
- I found a bug in GetNumberFormat.LeadingZero.

http://undoc.airesoft.co.uk/shell32.dll/Int64ToString.php
http://undoc.airesoft.co.uk/shell32.dll/LargeIntegerToString.php
2023-09-21 09:14:40 +09:00
Julio Carchi
4651faeaa2 [BOOTDATA] Add TEMP folder to livecd image (#5683)
Create the folder TEMP in X:\reactos so now we can match current livecd
environment variables TMP and TEMP
can be seen as a part of solving CORE-13041

The use-case for that is:
copying the livecd folder structure directly to writable media as USB sticks or memory cards,
will work then out-of-the-box without any other change.
2023-09-20 18:57:04 +00:00
Jose Carlos Jesus
02883d1c16 [SDK:RTL] RtlpCallQueryRegistryRoutine(): Correctly set SpareData and SpareLength (#5466)
SpareData and SpareLength need to be calculated correctly, as they are used
later in that function as well.
This allows to not overwrite Source UString when writing to Destination UString.

Fixes the problem described in the following JIRA issue, where services could
not start when installing ReactOS in a very-long-named directory.

CORE-18988
2023-09-20 18:06:06 +02:00
Katayama Hirofumi MZ
ebfec38cd1 [ATL][ATL_APITEST] Independent ReactOS ATL (RATL) support (#5657)
This is an attempt to make ReactOS ATL (RATL) independent.
https://github.com/katahiromz/RATL
CORE-19153
2023-09-20 12:02:33 +09:00
Johannes Thoma
490fbfb2c5 [DDK] wsk header: Add WSKAPI to exported functions. (#5687)
Names need decoration (stdcall) in order to be linked.

When using the wsk.h header functions exported therein should
be WSKAPI (which enforces the stdcall calling convention). Linking
would later fail because stdcall functions are named differently in
the object code.
2023-09-19 18:28:19 +03:00
Katayama Hirofumi MZ
8d74bc4b46 [ATL] CImage: Follow-up to #5702 (5da3ed6)
Fix the return value of CImage::Detach. CORE-19008
2023-09-20 00:04:45 +09:00
Katayama Hirofumi MZ
5da3ed638b [ATL] Fix CImage members (#5702)
- Delete m_ds and m_bm members from CImage.
- Add m_nWidth, m_nHeight, m_nPitch, m_nBPP,
  and m_pBits members.
CORE-19008
2023-09-19 22:19:03 +09:00
Katayama Hirofumi MZ
6911fab69a [COMDLG32] Implement CDM_SETDEFEXT (#5704)
- CDM_SETDEFEXT message handling was a 
  missing feature of COMDLG32.
- Make info->defext dynamic allocation.
- On CDM_SETDEFEXT handling, replace
  info->defext data.
CORE-15020
2023-09-19 22:17:48 +09:00
Katayama Hirofumi MZ
3fa90b539e [ATL] Default value of dwInitParam is zero instead of NULL (#5703)
Fix warnings when dwInitParam was omitted at CDialogImpl::Create and/or CDialogImpl::DoModal.
2023-09-19 17:28:33 +09:00
Katayama Hirofumi MZ
ff5ccb5948 [SHLWAPI][SHLWAPI_APITEST] Fix SHGetPerScreenResName (#5701)
Use HORZRES and VERTRES instead of SM_CXFULLSCREEN and SM_CYFULLSCREEN.
CORE-9283
2023-09-19 11:02:59 +09:00
Katayama Hirofumi MZ
08cc45eef9 [ATL_APITEST] atlconv: Disable corner case test of CWAEX 2023-09-19 10:45:46 +09:00
Justin Miller
6bbf09b6a5 [WINESYNC][SDK][DWMAPI] Import DWMAPI from WINE 8-14 (#5594) 2023-09-18 07:30:44 -07:00
Joachim Henze
0eecebb1cc [KBDLAYOUT] Avoid (DLGPROC) cast (#5698)
- Avoid DLGPROC-cast
- Bring header-section closer to our coding guidelines
- Strip inconsistent empty-lines
- Strip useless return at the end of void func

Co-authored-by: Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
2023-09-18 11:48:33 +00:00
Katayama Hirofumi MZ
1da71e2519 [SHDOCVW][SHDOCVW_APITEST] Implement MRU List for Shell Bag, Part 6 (#5699)
Follow-up to #5691. Strengthen shdocvw_apitest
testcase. Fix CLSID_MruPidlList class.
CORE-9283
2023-09-18 20:13:29 +09:00
Joachim Henze
1e06be778b [IMAGELISTVIEWER] Avoid (DLGPROC) cast (#5697) 2023-09-18 10:22:59 +00:00
Joachim Henze
8a54e4c9f6 [TEMPLATES] Avoid (DLGPROC) casts
The type-system is supposed to be our friend, not our enemy.
I pushed this without PR, because the buildbots don't
build the templates by default. That requires
configure -DENABLE_ROSAPPS=1 -DENABLE_ROSAPPS_TEMPLATES=1
So no gain in running them. Greta Thunberg will appreciate the saved CPU-cycles to fight global warming.

I verified it locally to compile without warnings on GCC8.4.0dbg x86
and it follows the same pattern as
0.4.15-dev-6626-g 806da4421c
which passed all the bots successfully. Also the x64 ones.
2023-09-17 20:50:04 +02:00
Joachim Henze
806da4421c [CMICONTROL] Avoid (DLGPROC) cast (#5693)
Yes, might slightly improve with x64,
but that wasn't even my main motivation.
(DLGPROC)-casts are nonsense even for x86 actually.
2023-09-17 17:47:23 +00:00
Katayama Hirofumi MZ
fd626dc163 [SHDOCVW] Implement MRU List for Shell Bag, Part 5 (#5691)
Follow-up to #5686. 
Implement CSafeMutex and CMruPidlList classes.
CORE-9283
2023-09-17 19:52:50 +09:00
Timo Kreuzer
8650eac76c [WIN32K] Do not try to free a unicode string that is an int-resource 2023-09-17 10:40:19 +03:00
Timo Kreuzer
26a64324e7 [NTOSKRNL/x64] Fix a bug in KeSwitchKernelStack
Don't safe anything in the callee's home space, because the callee can overwrite it. Use the functions home space instead.
2023-09-17 10:37:50 +03:00
Timo Kreuzer
d41a4030bc [CRT] Import parameter check for fclose from wine
Fixes advpack_apitest:DelNode crash.
2023-09-17 10:19:15 +03:00
Katayama Hirofumi MZ
7cbca9ad8a [SHDOCVW] Implement MRU List for Shell Bag, Part 4 (#5686)
Follow-up to #5646. Implement CMruNode class. CORE-9283
2023-09-15 07:50:20 +09:00
Ratin Gao
4c8a2a8815 [KERNEL32][KERNEL32_APITEST] Implement user-mode UEFI / Firmware API (#5149)
- Implement firmware environment variable read/write APIs
- Add, fix and improve related definitions and declarations
- Add kernel32:UEFIFirmware apitest

CORE-11954
2023-09-14 22:14:07 +03:00
Justin Miller
961893a712 Revert "[DDRAW] Sync the fix for swap_interval from Wine (#4831)" (#5690)
This reverts commit 6755921560.
2023-09-14 05:16:42 -07:00
Katayama Hirofumi MZ
5c7a5786fd [SHELL32] Check m_ListView on some methods (#5684)
- comdlg32:filedlg could encounter an assertion error in CWindow::SendMessage.
- Assert the existence of the listview control m_ListView in the CDefView::LV_... function.
- Actually check the existence of m_ListView outside the CDefView::LV_... function.
ROSTESTS-388
2023-09-13 22:41:00 +09:00
Katayama Hirofumi MZ
bcd916bd4e [NTUSER] Error of co_UserCreateWindowEx should display class name (#5682)
The error messsage of co_UserCreateWindowEx
was unfriendly to the debugger.
Show the window class name by using "%wZ" in
co_UserCreateWindowEx.
2023-09-12 06:16:05 +09:00
Katayama Hirofumi MZ
1961d708e7 [SHDOCVW][SHDOCVW_APITEST] Implement MRU List for Shell Bag, Part 3 (#5646)
Follow-up to #5634.
- Implement CMruBase::_UseEmptySlot.
- Implement CMruLongList and CMruShortList.
- Add CMruClassFactory class and modify
  DllGetClassObject function by using it.
- Add shdocvw_apitest.exe.
CORE-9283
2023-09-12 06:01:09 +09:00
Katayama Hirofumi MZ
2a16fc5e19 [NTGDI] GetPixel's return top byte is zero if valid (#5677)
According to the results of CImage testcase,
the top byte of the GetPixel() return value is
zero if the return is a valid color.
Do bitwise-AND operation if the color value is valid.
CORE-19008
2023-09-12 05:56:36 +09:00
Katayama Hirofumi MZ
ea5d2c5f7a [MSPAINT][SDK] Add <ui/CWaitCursor.h> (#5680)
CORE-19094
2023-09-12 05:39:08 +09:00
Joachim Henze
e13ebd44c6 [USER32] Pure Whitespace sync from comctl32/combo.c, no functional change
This will make future syncs between those files much easier,
and fixes tons of mixed tab-space-indentation.

Please no whitespace nitpicks when reviewing this commit, it is a SYNC!
2023-09-11 17:57:40 +02:00
Joachim Henze
d97313181e [USER32] Sync comctl32 combo.c code in context of CORE-17883 2023-09-11 17:57:40 +02:00
Katayama Hirofumi MZ
e4512e6af2 [MSPAINT] IDM_IMAGEROTATEMIRROR: Fix indent
Follow-up to #5660. CORE-19094
2023-09-11 07:44:39 +09:00
Katayama Hirofumi MZ
85377ee3db [SDK][CRT][MSVCRT] Implement _CrtSetReportMode and _CrtSetReportFile (#5662)
- Implement reporting to file.
CORE-11835, CORE-15517, ROSTESTS-386
2023-09-11 04:37:27 +09:00
Katayama Hirofumi MZ
993a45024e [MSPAINT] Use wait cursor (#5660)
- Implement CWaitCursor class in newly-added "waitcursor.h".
- Use CWaitCursor to manage the wait cursor.
- Improve WM_SETCURSOR handlings.
CORE-19094
2023-09-10 22:28:28 +09:00
Katayama Hirofumi MZ
0ef9cfb04e [NOTEPAD] Use wait cursor (#5659)
- Add WaitCursor helper function to display the wait cursor while
  heavy operation.
- Manage the wait cursor by using a lock count.
CORE-18837
2023-09-10 22:27:16 +09:00
Timo Kreuzer
7497f028f4 [KERNEL32_APITEST] Improve InitOnce test 2023-09-10 14:58:54 +03:00
Timo Kreuzer
6286475d71 [KERNEL32_APITEST] Fix stack corruption in InitOnce test on x64 2023-09-10 14:58:54 +03:00
Timo Kreuzer
4459b4f42b [GETUNAME] Build only english on DBG builds (#5670)
This massively cuts down build time on MSVC builds.

Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
2023-09-10 14:43:41 +03:00
Serge Gautherie
a1ee35bdb2 [NDK] mmtypes.h: Fix a copypasta in a comment 2023-09-10 13:30:11 +03:00
Thomas Faber
f9212e4a72 [WIN32K:NTUSER] Avoid TOCTOU in ProbeAndCaptureUnicodeStringOrAtom. 2023-09-09 17:50:49 -04:00
Belle Aerni
ce43bf6ba7 [MESA] Change reported OpenGL version to 1.1.0 (#5675)
Fixes failing opengl32:sw_extensions test.

The test expects version `1.1.0` which is what Windows reports,
and ReactOS Mesa3D was reporting just `1.1`.
2023-09-09 22:30:44 +03:00
Julio Carchi
4976fba59e [NTUSER] Reduce debug logging spam (#5661)
Silence two of the most debug log spammers in co_MsqSendMessage()
and in co_IntProcessMouseMessage() by demoting ERR to WARN.
2023-09-09 22:28:19 +03:00
Katayama Hirofumi MZ
6b69202016 [ATL] CImage: Simplify GetBits/GetPixelAddress (#5671)
CORE-19008
2023-09-09 20:20:22 +09:00
Timo Kreuzer
9666f00572 [WIN32K][NTOS] Fix parameter to MmMapViewOfSection
The code was passing 0 instead of SECTION_INHERIT::ViewUnmap (2). 0 isn't even a proper constant to be used here. It worked, because MmMapViewOfSection only compares against ViewShare (1) and treats everything else as ViewUnmap.
2023-09-09 12:15:24 +03:00
Katayama Hirofumi MZ
97b64c45c6 [ATL][ATL_APITEST] CImage testcase should cover all formats (#5653)
Strengthen CImage testcase and improve CImage class.
ROSTESTS-387, CORE-19008
2023-09-09 08:42:55 +09:00
Hermès Bélusca-Maïto
fdeb169a27 [PSDK] Add missing PNP_VETO_TYPE PNP_VetoInsufficientRights enumerator. 2023-09-07 20:28:03 +02:00
Timo Kreuzer
8f6aaa8af6 [RTL][NTDLL] Implement and export RtlInitializeCriticalSectionEx 2023-09-07 08:36:48 +03:00
Timo Kreuzer
1d59cf43af [NTDLL_APITEST] Add tests for critical sections 2023-09-07 08:36:48 +03:00
Ratin Gao
f491d7cc99 [KERNEL32][RTL] Implement One-Time initialization API and improve RTL support (#5046)
* [KERNEL32][RTL] Implement One-Time initialization API and improve RTL support
2023-09-06 15:40:53 -07:00
Timo Kreuzer
583be404dd [NTOSKRNL/x64] Fix bug in KiInitializeContextThread
The function set CtxSwitchFrame->ApcBypass to FALSE, preventing APCs (like when user mode sets the context while the thread is suspended) from being delivered as soon as the thread lowers IRQL to PASSIVE_LEVEL. This resulted in the SetContext APC to be delivered only after the user mode APC was initialized, overwriting the user mode APC context in the trap frame. This caused kernel32_winetest process to break.
2023-09-07 01:16:14 +03:00
Stanislav Motylkov
995d255962 [REACTOS] Fix various '% s' typos with a space
- [NOTEPAD][REGEDIT][SHELL32] were affected.
- Also while being here, fix headers.
2023-09-07 00:34:02 +03:00
Stanislav Motylkov
6a81e5f4d7 [SHELL32] Fix standard log off dialog layout
Make it consistent between translations and other misc fixes.
2023-09-07 00:16:08 +03:00
Doug Lyons
9ce81f6485 [WINHTTP_WINETEST] Skip wine_dbgstr_wn() call when returned text length is zero (#5656)
On receiving a zero length response, do not try to print returned text using wine_dbgstr_wn().
Instead check the returned string for zero length and skip the print in that case.

ROSTESTS-377
2023-09-07 00:02:48 +03:00
Joachim Henze
195c491880 [NTOSKRNL] Mute some good-path log-spam, no functional change
Now that the Memory Management is a bit more under control again,
and branching releases/0.4.15 is near,
do mute some frequent log-spam that got introduced during 0.4.15-dev'ing
regarding lazy-flushes and MM balancing.
It frequently logged even while being idle.
Slightly improve the headers of the two touched files.
No rocket-science.
2023-09-06 14:53:53 +02:00
Hermès BÉLUSCA - MAÏTO
d9cd760173 [TIMEDATE] Fix the way the current time-zone is found in the list. (#5649)
fies regression CORE-18666 'Wrong timezone saved/displayed'
which was introduced by 0.4.14-dev-1522-g aa69236646
2023-09-06 14:15:33 +02:00
Doug Lyons
2b14056600 [NTOS:CC][NTOS:MM] Add back CcRosTrimCache and add Delay for MM to work. (#5630)
MM/CC Add back CcRosTrimCache as suggested by Thomas Faber which was removed in 0.4.15-dev-1717-g 	d8cdb89fb0
and call it once in a while also during read-operations.

fixes JIRA issue: CORE-17624 'Cannot copy files > RAMsize anymore using TotalCommander'


1st testbot results on top of 0.4.15-dev-6526-g8d35887
VBox: https://reactos.org/testman/compare.php?ids=89111,89120 (additional random reboot in winhttp:winhttp)
KVM: https://reactos.org/testman/compare.php?ids=89110,89119
We do assume that reboot to be unrelated.

2nd testbot results on top of 0.4.15-dev-6526-g8d35887
VBox: https://reactos.org/testman/compare.php?ids=89111,89232
KVM: https://reactos.org/testman/compare.php?ids=89110,89233
2023-09-06 13:34:25 +02:00
Katayama Hirofumi MZ
289dec6c39 [NOTEPAD] Do type cast to kill C4244 warnings (#5655)
- Do type cast to int from SendMessage return value.
- Fix usage of EM_GETSEL and EM_LINEINDEX messages.
CORE-18837
2023-09-06 19:26:23 +09:00
William Kent
94e0c54c7d [MSVCRT] Officially implement _localtime32{,_s} (#5652)
required by the guest additions of an app called "UTM", which is a QEMU fork
2023-09-06 12:04:05 +02:00
Katayama Hirofumi MZ
3f921d1119 [NOTEPAD] Use StringCchPrintf instead (#5654)
Use preferred string functions. CORE-18837
2023-09-05 22:36:18 +09:00
Katayama Hirofumi MZ
eb6561bbc7 [ATL] atlimage.h: Replace throw() with noexcept
throw() is deprecated in C++17. CORE-19008
2023-09-05 09:12:01 +09:00
Katayama Hirofumi MZ
b68a3f329c [ATL][ATL_APITEST] Implement CImageDC class (#5643)
- Use reference count for CImage::GetDC / CImage::ReleaseDC.
- Add CImageDC class.
- Delete modules/rostests/apitests/atl/CImage_WIP.txt.
CORE-19008
2023-09-05 09:03:32 +09:00
Katayama Hirofumi MZ
d55e33d0f3 [COMDLG32] GetOpen/GetSaveFileName: Improve extension handling (#5640)
- Improve GetOpenFileName and GetSaveFileName
  functions.
- Add FILEDLG95_GetFallbackExtension and
  FILEDLG95_AddDotExtIfNeeded helper functions.
- Modify FILEDLG95_ValidatePathAction and
  FILEDLG95_OnOpen functions.
CORE-19148, CORE-15020
2023-09-04 21:11:24 +09:00
Carl J. Bialorucki
f0995dac58 [LOGON] Several improvements for screensaver (#5641)
- Currently the logo moves around every two seconds. This is not consistent
  with Windows Server 2003 (and other versions) and is very distracting.
  Increase the interval to every ten seconds, which matches Win2003.

- There are currently two identical copies of the logo bitmap in the
  screensaver. Use only one copy of the logo bitmap.

- Shrink the space around the logo bitmap. This should save some disk space
  but more importantly allow the logo to reach closer to the edges of the
  screen, similar to Win2003.

- Remove unneeded includes.
2023-09-03 21:18:23 +02:00
Tibor Lajos Füzi
3068422d51 [TRANSLATION] Update hungarian translation for mspaint, notepad, taskmgr, explorer, appwiz, browseui, msgina, shell32 (#5645) 2023-09-03 17:46:38 +02:00
Hermès Bélusca-Maïto
c66a1582ac [NTOS:EX] Add some missing PoNotifySystemTimeSet() calls. Stub out NtSetSystemTime() with NULL parameter.
- They notify, via the "\\Callback\\SetSystemTime" callback, components
  of a change of system time (for example, Win32k).
  Note, that our Win32k currently does not handle power callouts, so
  it isn't affected by these changes (yet).

- NtSetSystemTime(NULL, ...) means "update system time using the current
  time-zone information", which is something we don't implement yet.
  (And, nothing was previously protecting this call from a NULL parameter...)
2023-09-03 17:39:39 +02:00
Katayama Hirofumi MZ
4814dfea01 [BROWSEUI][SDK] Half-implement CShellBrowser::GetPropertyBag (#5635)
- Implement CShellBrowser::GetPropertyBag
  a little by using SHGetViewStatePropertyBag.
- Add SHGetPathFromIDListWrapW prototype to
<shlwapi_undoc.h>.
CORE-9283
2023-09-03 12:09:55 +09:00
Katayama Hirofumi MZ
8dbb800358 [SHDOCVW][SDK] Implement MRU List for Shell Bag, Part 2 (#5634)
Follow-up to #5626.
- Implement CMruBase class.
- Add delay import of shell32.
- Add RegCreateKeyExWrapW prototype to <shlobj_undoc.h>.
CORE-9283
2023-09-03 09:42:10 +09:00
Stanislav Motylkov
67645ab7a8 [SHELL32] Update Russian (ru-RU) translation 2023-09-02 22:56:38 +03:00
Hermès Bélusca-Maïto
df9c3de5ba [DXDIAG] Remove a "redundant" GetTimeZoneInformation() call.
Indeed, the next SystemTimeToTzSpecificLocalTime() call, when done with
a NULL TIME_ZONE_INFORMATION* 1st parameter, uses the currently active
time zone, which is exactly what the GetTimeZoneInformation() call was
doing.

And note that the original code was incorrectly validating the returned
value from GetTimeZoneInformation() -- the code was assuming the function
returns a boolean, instead of checking for TIME_ZONE_ID_INVALID.
2023-09-02 21:53:08 +02:00
Hermès Bélusca-Maïto
8a0e45031e [BOOTDATA] Fix Standard Time description for "Mountain Standard Time (Mexico)"
CORE-11855

It was erroneously forgotten while making the timezone names translatable
in commit f25d0ce42 (r74415).
2023-09-02 21:53:07 +02:00
Whindmar Saksit
ed9d2a06b0 [SHELL32] Handle HotKey and ShowCmd on the shortcut property page (#5638)
Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
Co-authored-by: Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
2023-09-02 21:16:22 +03:00
Andrei Miloiu
f1549bc251 [REGEDIT] Update Romanian (ro-RO) translation (#5632) 2023-09-02 15:44:10 +02:00
Andrei Miloiu
f86fdfb526 [MSGINA] Update Romanian (ro-RO) translation (#5636) 2023-09-02 15:43:38 +02:00
Katayama Hirofumi MZ
a93352fdaf [ATL] atlimage.h: Rename some members
Based on Doxygen analysis.
- s/m_hbmOld/m_hOldBitmap/
- s/m_hbm/m_hBitmap/
- s/m_bHasAlphaCh/m_bHasAlphaChannel/
- s/m_bIsDIBSec/m_bIsDIBSection/
- s/m_rgbTransColor/m_clrTransparentColor/
CORE-19008
2023-09-02 13:22:32 +09:00
Katayama Hirofumi MZ
c8a990845b [CLIPBRD] Add Japanese (ja-JP) translation
CORE-18706
2023-09-02 11:27:43 +09:00
Katayama Hirofumi MZ
1c254a535c [SHLWAPI] Implement IUnknown_QueryServicePropertyBag (#5628)
CORE-9283
2023-09-01 07:28:23 +09:00
Ethan Rodensky
ed134bf2af [THEMES] Add PNG Start button to Lautus style (#5540)
Use a PNG image with alpha channel transparency for the Start button when
compiling Lautus as Vista+ visual style. This serves both as a test case,
and improves appearance when using the taskbar with large icons.
2023-08-31 20:42:15 +03:00
Ethan Rodensky
e31031f603 [UXTHEME] Allow PNG images in visual styles (#5540)
This is prerequisite to supporting Vista+ iteration of the msstyles format,
and also for implementing GetThemeStream() later.

Visual styles compiled for Vista+ can now use PNG images in the IMAGE group.
This does not affect the ability to use BMP images, they can be mixed now.
2023-08-31 20:42:03 +03:00
Stanislav Motylkov
a0250607f2 [MSGINA] Update Russian (ru-RU) translation 2023-08-31 20:10:23 +03:00
Stanislav Motylkov
72b59e2459 [SHELL32] Update Russian (ru-RU) translation 2023-08-31 20:10:02 +03:00
Hermès Bélusca-Maïto
b2294b4c84 [NTOS:KD] Fix release builds. 2023-08-31 17:10:34 +02:00
Hermès Bélusca-Maïto
0d0ffb7d7d [NTOS:KD:KDBG] Integration into KD framework (Part 2/3)
Add redirections for KdSave/KdRestore and KdD0Transition/KdD3Transition.

Both KDBG and KD(TERM) need those since they will become external
transport DLLs later.
2023-08-31 16:09:49 +02:00
Hermès Bélusca-Maïto
2046a17ef4 [NTOS:KD:KDBG] Integration into KD framework (Part 1/3)
Split KdSendPacket and KdReceivePacket into those that manipulate the
KDBG state proper (reside in kdbg/kdbg.c), and those that deal only with
debug input/output that will reside in a KDTERM "KD Terminal Driver" DLL.

Based on some previous preparatory work by Hervé Poussineau in PR #4600.
(Equivalents of commits 5162bf106 and partly e9bcf7275.)
2023-08-31 16:07:51 +02:00
Katayama Hirofumi MZ
823b51558d [REGEDIT] Update Japanese (ja-JP) tranlation Part 2
CORE-18706
2023-08-31 21:01:56 +09:00
Katayama Hirofumi MZ
389377ce2a [REGEDIT] Update Japanese (ja-JP) translation
CORE-18706
2023-08-31 20:45:25 +09:00
Katayama Hirofumi MZ
294ec1e6f4 [SHELL32] Update Japanese (ja-JP) tranlation
CORE-18706
2023-08-31 20:21:45 +09:00
Katayama Hirofumi MZ
f23bb1ab76 [MSGINA] Update Japanese (ja-JP) translation
CORE-18706
2023-08-31 20:16:45 +09:00
Carl J. Bialorucki
2263547985 [WINLOGON][MSGINA] Add emergency restart and log off features (#5629)
CORE-18958

Introduce an emergency log-off and restart feature, available when holding
down the control key and selecting "Log Off" or "Shut down" in the MSGINA
Ctrl-Alt-Del security dialog, similar to Windows Server 2003 and newer
Windows versions.
2023-08-31 11:51:54 +02:00
Katayama Hirofumi MZ
58770200e7 [SHDOCVW][SDK][COM_APITEST] Implement MRU List for Shell Bag, Part 1 (#5626)
- Add mrulist.cpp source file.
- Add CMruBase, CMruLongList, CMruNode,
  and CMruPidlList classes with stub functions.
- Add CLSID_MruPidlList and CLSID_MruLongList.
- Add IMruDataList interface into <shlobj_undoc.h>.
- Add IID_IMruDataList and CLSID_MruLongList
  definitions into <shlguid_undoc.h>.
CORE-9283
2023-08-31 09:35:00 +09:00
Katayama Hirofumi MZ
28e771713f [COMCTL32] Fix Property Sheet initial position (#5631)
On WM_INITDIALOG handling of the property
sheet dialog procedure, move the dialog if
necessary. CORE-19141
2023-08-31 09:32:52 +09:00
Katayama Hirofumi MZ
c16f93c5f3 [REGEDIT] Support exporting registry to text file (#5619)
- Add txtproc.c source file.
- Add some resource strings.
- Add *.txt filter to export on a text file.
CORE-16910
2023-08-30 21:43:09 +09:00
Hermès Bélusca-Maïto
8c0c2e2be7 [NTOS:KDBG] Temporarily HACK-remove the duplicated kdb:> when displaying the interactive KDBG prompt. 2023-08-30 12:24:36 +02:00
Hermès Bélusca-Maïto
86e0d5e9b8 [NTOS:MM/PS] Remove code duplication between LookupEntryPoint/MiLocateExportName/MiFindExportedRoutineByName. (#4918)
As it turns out, those three functions were duplicating the same code
between each other. Reimplement these in terms of a common helper,
RtlFindExportedRoutineByName().
Indeed: MiFindExportedRoutineByName() was just MiLocateExportName()
but taking a PANSI_STRING instead of a NULL-terminated string.

A similar state of affairs also existed in Windows <= 2003, and the
MS guys also noticed it. Both routines have been then merged and renamed
to MiFindExportedRoutineByName() on Windows 8 (taking a PCSTR instead),
and finally renamed and exported as RtlFindExportedRoutineByName()
on Windows 10.
2023-08-29 17:26:57 +02:00
Hermès Bélusca-Maïto
d8695eee1e [NTOS:MM] Add missing validation of Ordinal in MiLocateExportName (#4918) 2023-08-29 17:26:57 +02:00
Hermès Bélusca-Maïto
4e55236662 [NTOS:MM/PS] De-duplicate export name-to-ordinal functionality (#4918)
It was implemented in psmgr.c but in a recursive way. That implementation
is replaced, in the NameToOrdinal() helper, by the better non-recursive one
found in the MiLocateExportName() and MiFindExportedRoutineByName() functions.

This NameToOrdinal() helper is then called in lieu of the duplicated code
in MiLocateExportName() and MiFindExportedRoutineByName(). In addition,
one block of code in MiSnapThunk() is simplified in a similar manner.
2023-08-29 17:26:56 +02:00
Hermès Bélusca-Maïto
e8b048a282 [NTOS:MM] Reformat MmCallDllInitialize and MiCallDllUnloadAndUnloadDll. 2023-08-29 17:26:55 +02:00
Katayama Hirofumi MZ
aa719b9989 [SHELL32] SHFileOperation: Confirm overwrite on moving files (#5618)
- Add move_file_to_file helper function.
- Modify move_to_dir and move_files helper 
  functions.
CORE-18910
2023-08-29 19:29:05 +09:00
William Kent
bea7848fa9 [SHELL32] Add two missing GlobalUnlock() calls (#5625)
* [SHELL32] Release DROPFILES structures
* [SHELL32] Release the STGMEDIUM when returning on error
2023-08-28 21:56:02 +02:00
Katayama Hirofumi MZ
29fbe60abe [SHLWAPI][SDK] Implement SHGetViewStatePropertyBag Part 3 (#5615)
Follow-up to #5610.
- Add _EnsureWriteBag, _PruneMRUTree, _GetMRUSize and
  _GetMRUSlots helper functions.
- Add code into _GetMRUSlot, _FindNearestInheritBag, and Write.
- Add CLSID_MruPidlList and IID_IMruPidlList definitions into
  <shlguid_undoc.h>.
- Add IMruPidlList interface into <shlobj_undoc.h>.
CORE-9283
2023-08-28 07:16:11 +09:00
Katayama Hirofumi MZ
ff63d06406 [BROWSEUI] Support mouse back and forward buttons (#5623)
Add WM_APPCOMMAND handling to the
shell browser. CORE-16776
2023-08-28 00:12:47 +09:00
Katayama Hirofumi MZ
d8a4eb3cc9 [SNDREC32] Improve Japanese (ja-JP) translation
CORE-18706
2023-08-27 21:45:03 +09:00
Katayama Hirofumi MZ
fc9baff5d7 [CALC] Use CW_USEDEFAULT16 for Dialog X (#5621)
- Use CW_USEDEFAULT16 (0x8000) for the X coordinate of IDD_DIALOG_SCIENTIFIC,
  IDD_DIALOG_STANDARD, and IDD_DIALOG_CONVERSION dialogs.
https://stackoverflow.com/a/76201122/4381493
BEFORE:
https://github.com/reactos/reactos/assets/2107452/e16ce819-05a9-483a-aacb-b93caaacff5a
The starting position wouldn't change from upper left corner (0, 0) of the screen.
AFTER:
https://github.com/reactos/reactos/assets/2107452/569ae41b-b545-4eb0-8848-d25dbc5d4699
The starting position is changing.
CORE-19141
2023-08-27 19:46:56 +09:00
Katayama Hirofumi MZ
f90a1956a5 [CLIPBRD] Support CF_HDROP format (#5622)
This allows to see what files are being copied into clipboard.
CORE-19140
2023-08-27 19:41:13 +09:00
Ratin Gao
657f728767 [KERNEL32] Little fixes for FindFirstFileExW() behavior (#5592)
- Don't forget to release RTL_RELATIVE_NAME_U before return
- Ignore lpSearchFilter correctly as on Windows

Fixes 6 failures in kernel32:FindFiles test in LiveCD.
2023-08-27 02:20:08 +03:00
Stanislav Motylkov
017004a0ac [KERNEL32_APITEST] FindFiles: Add tests for *Ex functions
Shows that `lpSearchFilter` pointer is being ignored on Windows.
This is for @RatinCN's PR #5592.
2023-08-27 00:48:26 +03:00
Katayama Hirofumi MZ
32669f6caa [SHLWAPI][SHLWAPI_APITEST][SDK] Implement SHGetPerScreenResName (#5616)
CORE-9283
2023-08-26 16:46:51 +09:00
George Bișoc
33e6490532 [ADVAPI32] Implement AccessCheckByType and AccessCheckByTypeResultList 2023-08-25 14:09:14 +02:00
Katayama Hirofumi MZ
a3e6ae2e8a [SHLWAPI] Implement SHGetViewStatePropertyBag Part 2 (#5610)
CORE-9283
2023-08-25 07:57:22 +09:00
Hermès Bélusca-Maïto
cdba812252 [TASKMGR] Simplify status-bar display when menus are shown (#5578)
CORE-19061

Following PR #5571 (commit 2d53e953c), it became apparent that the
management of the status-bar when showing the menu hints could be
simplified further.

Use "simple-text" status-bar display mode when showing menu hints.
The original status-bar panes state is "remembered" and are automatically
restored when the "simple-text" mode is disabled.
2023-08-24 16:47:32 +02:00
Egor Ananyin
3ae0ccdccb [NTUSER] Set correct lParam for WM_(UN)INITMENUPOPUP (#5573)
This is needed to allow apps to detect whether the opened menu is
a system menu or a user menu. CORE-19061
2023-08-24 16:33:03 +02:00
Egor Ananyin
26ffe2f826 [USER32_APITEST] Add a test for system menu messages (#5573)
Based on msg.c Wine test. CORE-19061
2023-08-24 16:33:03 +02:00
Timo Kreuzer
ce848e5c11 [CPPRT][CRT][MSVCRT] Move __CxxFrameHandler3 to crt and export it on NT6
Previously it was in cpprt, which is a support library for C++, containing functions that are not exported by msvcrt. But since Vista __CxxFrameHandler3 is exported by msvcrt. Therefore move it to crt, and to satisfy pre-Vista configurations, also add it to msvcrtex.
2023-08-23 20:43:53 +03:00
unknown
310563aece [NTOS:SE] Let SepGetSidFromAce figure out the ACE type
As the commit title says. Instead of having the caller figuring out what
the ACE type should be of the ACE.
2023-08-23 17:54:47 +02:00
Oleg Dubinskiy
a4b0899ca1 [DXGTHK] Fix EngCreateBitmap exported parameters (#5606)
Use two longs instead of one for the first parameter of EngCreateBitmap export. Make it same as win32k export.
MSDN documentation says that 1st parameter is SIZEL (SIZE) structure, which actually contains 2 longs inside. Sice it is passed by value, it needs to take enough memory when export in dxgthk and redirect to win32k (since it's actually a win32k function).
Fixes the compilation of our dxg.sys when calling dxgthk!EngCreateBitmap from it.
Found during my DirectX investigations.
2023-08-23 17:53:22 +02:00
William Kent
4e3bf252d8 [MKISOFS] Silence prototype warnings (#5603)
mkisofs and its components uses K&R-style function definitions
to support very old compilers. Modern compilers consider K&R syntax
to be deprecated. Clang therefore emits a large number of warnings
over this.
2023-08-23 14:37:15 +02:00
Katayama Hirofumi MZ
21925d935c [SHLWAPI][SDK] Implement SHGetViewStatePropertyBag Part 1 (#5605)
Follow-up to #5590.
- Add CViewStatePropertyBag class.
- Add SHGetViewStatePropertyBag definition.
- Add FreeViewStatePropertyBagCache function and
  use it in DllMain to free the cache.
CORE-9283
2023-08-23 15:00:07 +09:00
Andrei Miloiu
8d35887c02 [DISKPART][MC] Update Romanian (ro-RO) translation for message table (#5485) 2023-08-22 21:37:14 +02:00
George Bișoc
8a61e1c33c [NTDLL_APITEST] Write tests for NtAccessCheckByTypeResultList 2023-08-22 17:54:19 +02:00
George Bișoc
fd2e4437a8 [NTDLL_APITEST] Write tests for NtAccessCheckByType 2023-08-22 17:54:19 +02:00
George Bișoc
cad780e17c [SDK:RTL] Fix the ACE revision check in RtlpAddKnownObjectAce
Object ACEs are supported starting from Revision 4, the current code checks
if the revision is above Revision 4. An Object ACE has to be strictly set on that revision,
whereas Object ACLs can be of any revision starting from ACL_REVISION4.
2023-08-22 17:54:18 +02:00
George Bișoc
c175c4f47d [SDK:RTL] Implement object type ACE validation checks
Write the necessary ACL validation code for ACEs whose types are ACCESS_ALLOWED_OBJECT_ACE_TYPE
or ACCESS_DENIED_OBJECT_ACE_TYPE. This ensures each created object type ACL has valid ACE
contents.
2023-08-22 17:54:18 +02:00
George Bișoc
8289de6ef7 [NTOS:SE] Cast the ACE to known ACE type variants on SepGetSidFromAce
ACCESS_DENIED_ACE_TYPE, ACCESS_ALLOWED_ACE_TYPE, SYSTEM_AUDIT_ACE_TYPE and
SYSTEM_ALARM_ACE_TYPE belong to the same commonly internal ACE type, aka KNOWN_ACE,
as each of these ACEs have the same structure field offsets.

The only difference are ACCESS_DENIED_OBJECT_ACE_TYPE and ACCESS_ALLOWED_OBJECT_ACE_TYPE
as they have their own internal ACE type variant, the KNOWN_OBJECT_ACE structure.

The general guideline is that public ACE structure variants have to be used elsehwere
such as in UM whilst the kernel has to use the internal known ACE type variants when possible.
2023-08-22 17:54:18 +02:00
George Bișoc
a42f642ea1 [NTOS:SE] Implement access security checks by type
- Implement SepDenyAccessObjectTypeResultList, SepAllowAccessObjectTypeResultList,
SepDenyAccessObjectTypeList and SepAllowAccessObjectTypeList. These routines will
be used to grant or deny access to sub-objects of an object in the list.

- Refactor SepAnalyzeAcesFromDacl and SepAccessCheck to accomodate the newly
implemented access check by type mechanism.

- SepAccessCheck will now be SepAccessCheckWorker, a worker helper function that further
abstracts the access check mechanism in the kernel. Whereas the SepAccessCheck name will be
used as a centralized function used by the access check NT system calls.

- Deprecate SepGetSDOwner and SepGetSDGroup in favor of SepGetOwnerFromDescriptor and
SepGetGroupFromDescriptor. The former functions were buggy as they might potentially
return garbage data if either the owner or group were passed as NULL to a security
descriptor, hence a second chance exception fault. This was caught when writing tests
for NtAccessCheckByType.

- Shorten the debug prints by removing the name of the functions, the person who reads
the debugger output has to look at the source code anyway.
2023-08-22 17:54:17 +02:00
George Bișoc
e38f4c2b36 [NTOS:SE] Implement object type list utilities
This implements various private kernel routines for object type list management
needed for access check code infrastructure. In addition, update the code documentation
and add missing comments.
2023-08-22 17:54:17 +02:00
George Bișoc
5f3fab72a9 [NTOS:SE] Implement SepDumpAccessAndStatusList
This function will dump all the access status and granted access rights
of each object list of a list whenever an access check by type (or by type
result list) fails. This is for debugging purposes.
2023-08-22 17:54:17 +02:00
George Bișoc
5654ce7b9a [NTOS:SE] Declare function prototypes & add OBJECT_TYPE_LIST_INTERNAL
OBJECT_TYPE_LIST_INTERNAL will serve as an internal kernel data structure
to hold validated object type contents that are copied from UM.

The difference between the public and the internal one is that the internal structure has
an additional member for access check rights that have been granted on each
object element in the list.
2023-08-22 17:54:17 +02:00
George Bișoc
edcf3f5363 [NTOS:SE] Update the NT access check syscalls SAL2 annotations
The newly updated SAL2 annotations reflect those from Process Hacker.
Also these syscalls must have their function's status code checked, as
most of other Native syscalls have them checked.
2023-08-22 17:53:45 +02:00
Timo Kreuzer
08629037ea [KERNEL32] Improve a few NT6 stubs 2023-08-22 18:46:31 +03:00
Katayama Hirofumi MZ
fec935ec24 [COM_APITEST] shdocvw: Add CLSID_MruPidlList (#5602)
CORE-9283
2023-08-22 23:07:46 +09:00
Andriy Shevchenko
2ea03b5b22 [REACTOS] Fix typos in comments (#5591)
Fixing typos in code comments enhances code readability and comprehension for developers and collaborators.
2023-08-22 16:20:29 +03:00
Katayama Hirofumi MZ
a2d8e464c8 [SHLWAPI][SDK][SHELL32_APITEST][SHLWAPI_WINETEST] Property Bag on Desktop Upgrade (#5590)
- Add CDesktopUpgradePropertyBag class.
- Implement SHGetDesktopUpgradePropertyBag
  function.
CORE-9283
2023-08-22 12:01:20 +09:00
Timo Kreuzer
e7cb6f4920 [KMTEST:TcpIp] Use 10 second timeout value instead of INFINITE (#5586)
* [KMTEST:TcpIp] Use 10 second timeout value instead of INFINITE

On x64 the test sometimes fails to connect and then times out on the testbot, causing the system to be rebooted.

Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
2023-08-21 21:46:20 +03:00
Timo Kreuzer
3a0b53386c [KERNEL32] Add CompareStringOrdinal from wine-3.21 2023-08-20 15:17:41 +03:00
Stanislav Motylkov
dafa00b554 [MSPAINT] Sync translations between the main and popup menus
Also some minor corrections and fixes for mnemonic keys.
2023-08-20 12:06:08 +03:00
Katayama Hirofumi MZ
455c1fe1b9 [MSPAINT] Speed up for black and white (#5563)
Follow-up to #5554.
- Speed up ImageModel::PushBlackAndWhite
  by using GetDIBits and SetDIBits.
CORE-19094
2023-08-20 16:46:18 +09:00
Joachim Henze
49dbc8fbbb [NTUSER] Whitspace-fixes winpos.c
I just can't stand that whitespace-diff at those 2 if-conditions any longer,
which was introduced into co_WinPosSetWindowPos() by
0.4.13-dev-8-g cfdf36e442
Everytime I port something back, I don't know where to put that diff temporarily.
And I don't want to make the older branches worse as well.
So finally squeeze it out at right-hand-side in master head.
2023-08-20 01:41:28 +02:00
Timo Kreuzer
d00d883a21 [RTL][NTDLL] Implement and export RtlCompareUnicodeStrings 2023-08-19 23:52:21 +03:00
Timo Kreuzer
c332b917dc [CRT] Reduce diff to wine-5.0 2023-08-19 23:50:52 +03:00
Timo Kreuzer
e04b796534 [WINESYNC]: crt is now in sync with wine-staging wine-5.0 2023-08-19 23:50:52 +03:00
winesync
1f8eda7853 [WINESYNC] msvcrt: Fix handling tryblocks inside current catch block on nested exception.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48335
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6babdb5508bd2f1b659218483f5df76859898712 by Piotr Caban <piotr@codeweavers.com>
2023-08-19 23:50:52 +03:00
winesync
4df4baa391 [WINESYNC] msvcrt: Pass catch_func_nested_frame struct to call_catch_block.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 48a447c5eb238d673ce5db4eeacf3ba4c1a9da90 by Piotr Caban <piotr@codeweavers.com>
2023-08-19 23:50:52 +03:00
winesync
6c7dc46702 [WINESYNC] msvcrt: Pass catch_func_nested_frame struct to cxx_frame_handler.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ea20974cdd7457715bf4d758818d03bff664f62b by Piotr Caban <piotr@codeweavers.com>
2023-08-19 23:50:52 +03:00
Timo Kreuzer
4b5a555161 [WINESYNC] Allow directories to be None 2023-08-19 23:50:52 +03:00
Hermès Bélusca-Maïto
5472c3e853 [NTOS:MM] MiResolveImageReferences: Use boolean values for GdiLink and NormalLink. 2023-08-19 19:06:20 +02:00
Hermès Bélusca-Maïto
df0349b49f [NTDLL] .spec file: First parameter in RtlImageDirectoryEntryToData should be 'ptr'. 2023-08-19 19:01:00 +02:00
Katayama Hirofumi MZ
56d95154ee [SHLWAPI][SHLWAPI_APITEST][SDK] INI file property bag (#5546)
- Add SHGetIniStringUTF7W and SHSetIniStringUTF7W functions.
- Add CIniPropertyBag class.
- Implement SHCreatePropertyBagOnProfileSection function.
CORE-9283
2023-08-19 11:22:55 +09:00
Whindmar Saksit
c0e443058e [CONSRV] Only call CoUninitialize if initialized (#5582) 2023-08-18 19:06:20 +02:00
Katayama Hirofumi MZ
80153fc686 [ATL_APITEST][SDK] Fix failures of CImage testcase (#5567)
- Improve compatibility of CImage.
- Improve CImage testcase of atl_apitest.
- Improve CImage::BuildCodecFilterString.
CORE-19008
2023-08-18 20:34:33 +09:00
Andrei Miloiu
9293388c61 [MSPAINT] Update Romanian (ro-RO) translation (#5564) 2023-08-18 13:04:31 +03:00
Andrei Miloiu
e711232042 [EXPLORER] Update Romanian (ro-RO) translation (#5558) 2023-08-18 13:04:03 +03:00
Serge Gautherie
aa2d2139be [FREELDR] Convert ntfs.c to UTF-8 without BOM
Addendum to f0d73e0 (and ab3bd82).
2023-08-18 00:51:36 +02:00
Julio Carchi
442f5dfab5 [MSAFD] Fix non-blocking sockets support for recv() (#5575) CORE-14486
Currently ReactOS' winsock2 implementation lacks of non-blocking sockets support for recv() apicall, this causes that applications that make use of this feature can lead to unexpected behaviors, one of them is Nginx web server, which uses non-blocking sockets when serving pages through Https protocol.
CORE-14486

It also brings us significantly closer in master head to running Firefox 52, Mypal 29.3.0 and New Moon 28 browser, where the latter allows to connect to mattermost from within ReactOS.
In master head an additional reg file is needed to stop us from exporting specific NT6+ APIs, but in older releases all that should work out of the box with this brilliant patch.


Co-authored-by: Julio Carchi Ruiz <julcar@informaticos.com>
Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
2023-08-17 23:13:13 +02:00
Hermès Bélusca-Maïto
ab3bd82928 [FREELDR] Convert source files to UTF-8 without BOM 2023-08-17 15:36:54 +02:00
Sylvain Deverre
f0d73e0f7f [BOOTSECT][FREELDR] Support booting from NTFS partitions (#3416)
Implement NTFS boot sector that loads FreeLdr from a NTFS partition.

CORE-17474

- Able to find/parse root directory;
- Handle fixups in FILE MFT record;
- Implement directory tree search;
- Implement loading found file from disk;
- Handle fixups in INDX records;
- Fail if compressed or sparse;
- Attempt to support 64-bit disks.

Some TO-DOs for later:
- Handle "weird" NTFS partition with uncommon sector sizes / sectors per cluster / sectors per index record;
- Better implementation for file loading;
- 64-bit LCN support.
2023-08-17 15:07:59 +02:00
Mustafa Ateş Uzun
7d2f6b65b3 [CMD][TESTS] Fix typo in "height" word (#5580) 2023-08-17 14:30:26 +03:00
Carl J. Bialorucki
43b3dc2034 [BROWSEUI] Refactor settings and sync them between windows (#5496)
This works similarly to how our shell stores its settings from a software design standpoint.

- Add settings.cpp file and ShellSettings structure to load and save settings.
- Add a registry value to hivedef.inf for the locked toolbar state.
  This prevents a bug where the associated registry key cannot be opened or saved to.
- Add new BWM_SETTINGCHANGE window message to refresh the UI on setting changes
  and send it to every open window when saving settings to the registry.
- Add new BWM_GETSETTINGSPTR window message to share the shellbrowser settings
  structure pointer with child windows and toolbars.
2023-08-17 12:14:41 +03:00
Serge Gautherie
8888311452 [KERNEL32] CreateProcessInternalW(): Always use Peb variable
Trivial consistency/optimization.

Addendum to d81cd01 (r59637).
2023-08-17 02:51:09 +02:00
Timo Kreuzer
5645f7cf8f [KERNEL32] Fix startup context of initial thread
When creating a new process the monster function CreateProcessInternalW calls BaseInitializeContext to set up the context for the initial thread. One of the parameters is the PEB pointer. Instead of passing the pointer to the newly created process' PEB, the function was passing it's own PEB address, leading to test failures. How this is not an issue otherwise is a mystery to be resolved by someone else.
Also remove ros_skip_flaky marks in kernel32_winetest:process (yes, flaky, because sometimes the PEB addresses actually match)
2023-08-16 22:03:05 +03:00
Katayama Hirofumi MZ
cf55034cdf [SHLWAPI][SDK] Rewrite SHGet/SHSetIniStringW in C++ (#5561)
- Follow-up to #5547. Move SHGetIniStringW / SHSetIniStringW into propbag.cpp.
- Rewrite them in C++.
CORE-9283
2023-08-16 07:13:14 +09:00
Egor Ananyin
2d53e953cd [TASKMGR] Do not disable status bar when opening system menu (#5571)
We do not need to clean the status bar when opening the system menu as it does not show any hints.

CORE-19061
2023-08-15 21:37:27 +02:00
Serge Gautherie
a995d8d614 [FASTFAT][NTDLL_APITEST] Add missing semicolon after _SEH2_END (#5568)
Trivial code consistency.
2023-08-15 18:16:31 +02:00
Serge Gautherie
728d5736d9 [NTUSER][USER32] Remove 4 remnant defines (#5572)
IS_SYSTEM_MENU():
"moved" to ntuser on 6dfa71c (r68904).

IS_SYSTEM_POPUP():
uselessly added on 6fc29cc (r8195).

IS_BITMAP_ITEM():
uses removed on 07b6ddc (r23221).
uselessly copied to ntuser on 6dfa71c (r68904).
2023-08-15 18:13:27 +02:00
Katayama Hirofumi MZ
9e6b3f4bbd [APPWIZ] Don't forget to CoInitializeEx on COM thread (#5551)
- Do CoInitializeEx and CoUninitialize in download_proc.
CORE-19110, CORE-15786
2023-08-14 21:06:40 +09:00
Katayama Hirofumi MZ
485c03ad03 [ATL] Make CImage thread-safe (#5553)
- Add CInitGDIPlus subclass in CImage.
- Lock the CInitGDIPlus data by using a critical section.
- Add CImage::InitGDIPlus and use it.
CORE-19008
2023-08-14 20:45:37 +09:00
Maj Soklič
fa7d5dbf06 [GITHUB] Update workflow actions to V3 to fix potential problems (#5569)
GitHub is starting to discontinue Actions V2 (the date was postponed).
Once they enforce Actions V3, builds will likely fail to run, so it's
better to change this sooner rather than later.

- Update GitHub Actions to V3
- Replace deprecated set-output with $GITHUB_OUTPUT

This also fixes the warnings on the builds/artifacts page.
2023-08-14 13:30:30 +03:00
Katayama Hirofumi MZ
c763713475 [MSPAINT] Update Japanese (ja-JP) translation
CORE-18706
2023-08-13 10:09:18 +09:00
Katayama Hirofumi MZ
914f5365c6 [EXPLORER] Update Japanese (ja-JP) translation
CORE-18706
2023-08-13 09:58:22 +09:00
Maj Soklič
2a879e9732 [GITHUB] Add dllver to artifact name (#5565)
Also add missing dll version export to build-linux.
Addendum to 732f223ca0. CORE-11288
2023-08-12 23:24:43 +03:00
Doug Lyons
e6ca3952e0 [NTOS:CC] Fix locking of CcRosVacbIncRefCount in CcRosCreateVacb (#5527)
CORE-17624
2023-08-12 19:10:34 +02:00
Katayama Hirofumi MZ
2c9c634a8e [SHELL32] Implement SHFindComputer (#5524)
CORE-9277
2023-08-12 18:17:13 +09:00
Timo Kreuzer
732f223ca0 [GITHUB] Add NT6 builders 2023-08-11 19:00:42 +03:00
Timo Kreuzer
fed97ebf1a [APISETS] Improve/fix up some exports 2023-08-11 19:00:42 +03:00
Timo Kreuzer
0152722bc9 [MSVCRT] Fix build with vista exports 2023-08-11 19:00:42 +03:00
Timo Kreuzer
994d5e0ad1 [CRT] Make _controlfp_s portable 2023-08-11 19:00:42 +03:00
Timo Kreuzer
a17dd3a7a9 [ADVAPI32] Fix some vista exports
ETW trace exports only exist on NT 0x502 ntdll, so limit the forwarders accordingly.
Exports do exist on advapi32 Vista+, so for now these are stubs.
2023-08-11 19:00:42 +03:00
Timo Kreuzer
2549e10c38 [KERNEL32] Export more Vista APIs
Create kernel32_vista_static library and link both kernel32_vista and kernel32 to it.
Export some vista functions from kernel32.
Export BaseProcessInitPostImport for Vista+, too, because ntdll needs to dynamically link to it.
2023-08-11 19:00:42 +03:00
Timo Kreuzer
49da1cdbeb [NTDLL] Fix some vista exports
Make sure RtlRemovePrivileges gets compiled, when DLL_EXPORT_VERSION is 0x600+
Enable all existing functions from rtl_vista.
Hack CsrNewThread export to exist on later versions, too
2023-08-11 19:00:42 +03:00
Timo Kreuzer
55e0cab597 [SPEC2DEF] Add missing "--version" to help output 2023-08-11 19:00:42 +03:00
Timo Kreuzer
f229726da9 [SDK] Define _NTSYSTEM_ in stubs.h
We don't want to import RtlRaiseException, when building stubs for NTDLL.
2023-08-11 19:00:42 +03:00
Timo Kreuzer
3c2bfb570f [CMAKE] Add DLL_EXPORT_VERSION config option
Set this to e.g. 0x600 to build with Vista exports
2023-08-11 19:00:42 +03:00
Stanislav Motylkov
a970c50a83 [MSPAINT] Update Russian (ru-RU) translation
Addendum to ba53f72a87 and e6c23361a1.
2023-08-11 15:52:46 +03:00
Stanislav Motylkov
153a9a05aa [EXPLORER] Update Russian (ru-RU) translation
Addendum to 28ae9fb738.
2023-08-11 15:52:33 +03:00
Stanislav Motylkov
3bb028380a [EXPLORER] Add missing mnemonic keys to keep sync with en-US.rc
Addendum to 28ae9fb738.
2023-08-11 15:52:32 +03:00
Hermès Bélusca-Maïto
ec0cc847b9 [ATTRIB] De-duplicate code; handle reparse points; verify path concatenation (#4215)
- Simplify duplicated code by having one EnumFiles() function using
  callbacks to perform actual action on enumerated files.

  PrintAttribute() and ChangeAttribute() duplicate their functionality,
  except for the actual difference of displaying the file attributes vs.
  changing them.
  Instead, move that per-file action into two callbacks, create a file
  enumerator function that contains the common functionality, and make
  it call the callback passed in parameter to it.

- Reparse points can be encountered during enumeration. In this case,
  don't try to go into too many reparse-point levels (maximum two).

- Verify that paths/file names concatenation don't overflow (with the
  StringCch* functions returning an error), as this could cause an
  infinite loop in case of recursive-enumeration, and the position where
  the new path part would be appended turns out to be just at the end
  of the buffer.
2023-08-11 13:49:27 +02:00
Katayama Hirofumi MZ
e6c23361a1 [MSPAINT] Support converting to black and white (#5554)
- Add ImageModel::IsBlackAndWhite and ImageModel::PushBlackAndWhite
  helper functions.
- Add CAttributesDialog::m_bBlackAndWhite.
- If IDD_ATTRIBUTESRB4 is checked, then make
  the bitmap black and white.
- Add IDS_LOSECOLOR to show message.
CORE-19094
2023-08-11 20:27:12 +09:00
Egor Ananyin
97f59fa545 [CONFIGURE] Fix using ninja as a configure switch (#5556)
CORE-19059

This was unhidden by commit 3feb0cfb9.
2023-08-10 17:25:06 +02:00
Thamatip Chitpong
918a818071 [WINESYNC][COMCTL32] Listview: Initialize marqueeRect from left-click coordinates before starting a marquee highlight (#5555)
The infoPtr->marqueeRect structure is not currently initialized before the
marquee highlight sequence starts, resulting in the RECT having initial
coordinates of (0,0)-(0,0). These coordinates cause the first item in
the listview control to be identified as being within the range of the
marqueeRect's coordinates.

That item is then set to LVIS_SELECTED even though it is not part of the
marquee selection.

Wine commit: daf95aaadf3a59f0ccc129a853327417b5e4f07c

author: Hugh McMaster <hugh.mcmaster@outlook.com>
Mon, 26 Apr 2021 10:59:51 +0000 (20:59 +1000)
2023-08-10 17:11:43 +02:00
Carl J. Bialorucki
c64103d55f [NTUSER] Fix SPI_SETFONTSMOOTHING behavior (#5526)
CORE-19092

Fixes the behavior of the SPI_SETFONTSMOOTHING system parameter. This also
fixes a bug when trying to select "Use the following method to smooth edges
of screen fonts" in desk.cpl.

Instead of checking if uiParam is equal to two, treat uiParam as a Boolean
that sets font smoothing on or off. This is the correct behavior according
to Microsoft documentation.
Use SpiStoreSzInt method instead of SpiStoreSz to store the value in the registry.
2023-08-10 17:10:51 +02:00
Carl J. Bialorucki
28ae9fb738 [EXPLORER] Set icon size and show or hide desktop button from taskbar properties (#5510)
CORE-11698, CORE-15369

Allows a user to set the icon size and show or hide the desktop button in
the taskbar using the taskbar properties menu. After applying these changes,
the taskbar updates and resizes without requiring a restart.

- This PR moves the 'Notification Area' section into its own separate tab.
  This allows us to include more options for users without increasing the
  size of the window. It is also very similar to the Windows Vista taskbar
  properties menu.

- Some minor changes to allow the taskbar to refresh its view when the icon
  size or show desktop button setting changes.
2023-08-10 17:06:55 +02:00
Johannes Thoma
984284c436 [DDK] Fix wsk.h header (#5544)
Some datagram related dispatcher function types (like PFN_WSK_SEND_TO)
were used before they were declared. This patch moves the use after
the definition.
2023-08-10 15:51:13 +02:00
Katayama Hirofumi MZ
0aa2e82c06 [BROWSEUI] Don't forget to CoInitializeEx on COM thread (#5552)
Use CoInitializeEx and CoUninitialize in
CFindFolder::SearchThreadProc.
CORE-19110
2023-08-10 22:16:30 +09:00
Timo Kreuzer
b9958c7be7 [XDK] Fix definition of KeRaiseIrqlToSynchLevel for x64 UP 2023-08-10 14:46:29 +03:00
Katayama Hirofumi MZ
893715b722 [MSPAINT] Fix focus and radiobuttons of some dialogs (#5537)
- Return TRUE on WM_INITDIALOG handling to set focus.
- Check if the radiobutton is checked on the radiobutton action
  (considering BN_SETFOCUS etc.).
CORE-18011
2023-08-10 08:20:55 +09:00
Katayama Hirofumi MZ
ba53f72a87 [MSPAINT] Send mail with image (retry) (#5404)
- Add OpenMailer function.
- Add IDS_CANTSENDMAIL.
- Send a mail by using mapi32!MAPISendMail/W.
- Extend SaveDIBToFile function by adding a
  parameter.
CORE-19094
2023-08-09 23:59:34 +09:00
Jose Carlos Jesus
3463a3fba3 [USETUP] Update Portuguese (pt-PT) translation (#5508)
Fix a typo, and add three forgotten error codes to pt-PT language.

Co-authored-by: SecurityAndStuff <74931194+SecurityAndStuff@users.noreply.github.com>
2023-08-09 11:54:52 +02:00
Serge Gautherie
016acd170d [REACTOS] Do not free shared icon for ShellAbout() calls (#5519)
CORE-18369
2023-08-09 11:53:13 +02:00
Andrew Dent
815d55c378 [REACTOS] British English spellings (#5533)
Fix spellings for en-GB:
- Centre.
- Colour.
- Customise.
- Unauthorise.
2023-08-09 11:48:59 +02:00
Andrew Dent
72ea2d4c26 [REACTOS] Spelling fixes (#5534)
Fix spellings / hyphenation: `unassociate` ; `read-only` ; `double-click`
2023-08-09 11:48:07 +02:00
Hermès Bélusca-Maïto
5a928bc4e2 [DOC] 3rd Party Files.txt: Add second path where more rdesktop code is. 2023-08-09 11:34:56 +02:00
Hermès Bélusca-Maïto
489834166f [DOC] 3rd Party Files.txt: Update PCI-IDs information. Addendum to commit 18815558 2023-08-09 11:32:34 +02:00
Hermès Bélusca-Maïto
64de4661af [DOC] 3rd Party Files.txt: Add Microsoft WDF to the list. 2023-08-09 11:32:21 +02:00
Katayama Hirofumi MZ
a83fedcbfa [SHLWAPI][SHLWAPI_APITEST][SDK] SHGetIniStringW/SHSetIniStringW (#5547)
Follow-up to #5531. These two functions are necessary for INI file property bag support.
- Implement SHGetIniStringW and SHSetIniStringW.
- Strengthen SHPropertyBag testcase of shlwapi_apitest.
CORE-9283
2023-08-09 08:23:33 +09:00
Katayama Hirofumi MZ
70e05170cf [MSPAINT][ATL] Delete deprecated functions (#5542)
- Rewrite CImageDx to reduce improper dependency with CImage.
- Check if the filename extension is supported before saving the files.
- Delete deprecated functions in CImage.
CORE-19094
2023-08-09 08:17:07 +09:00
Katayama Hirofumi MZ
8532f1874a [USRMGR] Get text correctly even if length is zero (#5543)
- Add GetDlgItemTextAlloc and
  GetComboBoxLBTextAlloc helper functions.
- Get the text data correctly even if
  the text length is zero.
CORE-18275
2023-08-07 22:55:49 +09:00
Katayama Hirofumi MZ
b12ab486d8 [MUP] Mute DPRINT1's that slow down shared folder accesses (#5545)
Logging was too heavy. Made some DPRINT1's DPRINT's.
We could make it 3 times faster. CORE-19105
2023-08-07 22:08:05 +09:00
Katayama Hirofumi MZ
ea97c48909 [SHELL32][SDK] Implement SHCreatePropertyBag (#5541)
- Implement SHCreatePropertyBag function in utils.cpp.
- Add its prototype to <undocshell.h>.
CORE-9283
2023-08-07 17:02:39 +09:00
Katayama Hirofumi MZ
63fae07d12 [SHELL32][SDK] Implement SHIsTempDisplayMode (#5523)
CORE-9277
2023-08-07 09:50:30 +09:00
Katayama Hirofumi MZ
a6d264e4f0 [APPWIZ] CORE-5737: Move focus before SW_HIDE (#5536)
Arrow keys were not working.
- Move focus before SW_HIDE.
- Swap ID_DWL_INSTALL and IDCANCEL controls.
CORE-5737
2023-08-07 09:48:50 +09:00
Hermès Bélusca-Maïto
e4c4894564 [GDI32] CreateDIBSection: Remove erroneous assignation (#5502)
bmBits is only used and assigned on output. It points (holds the address)
to the array of DIB bit values. The "Bits" parameter is however a pointer
to a variable that will receive the address of that array.
So it makes no sense to initially assign bmBits to the value of the Bits
parameter...
2023-08-06 17:35:23 +02:00
Hermès Bélusca-Maïto
9632235a37 [SDK:ASM][NDK] Adjust the x86 definition of PCR (for UP and MP). 2023-08-06 17:29:06 +02:00
Hermès Bélusca-Maïto
5f477e0e3b [SDK:ASM][NDK] Improve and synchronize the definition of the SYNCH_LEVEL symbol (#3943)
In particular, for a given platform (x86, AMD64...) its definition
depends for uniprocessor vs. multiprocessor NT kernel/HAL (controlled
by the CONFIG_SMP define).

Regarding the ASM-generated headers (from asm/ksx.template.h), since
they are generated once for a given platform, and since UP/MP NT builds
are generated at the same time, these headers need to contain both
SYNCH_LEVEL definitions controlled by CONFIG_SMP, instead of a fixed
value. Therefore we need to employ the geninc RAW(...) construct.

[NDK:X86] Add missing x86 CLOCK1_LEVEL and POWER_LEVEL definitions.
2023-08-06 17:28:51 +02:00
Hermès Bélusca-Maïto
f350843948 [SDK:ASM] OK these definition entries are #if 0'ed out, but close the parentheses anyway to not mess up with editors' code-folding functionality. 2023-08-06 17:24:41 +02:00
Andrei Miloiu
5210ad48c7 [NET][MC] Update Romanian (ro-RO) translation for message table (#5453) 2023-08-06 13:59:26 +02:00
Katayama Hirofumi MZ
520577a8ec [SHELL32] Rename file on copy-paste path collision (#5462)
- If the source and destination of copying file are on the same directory,
  then enable FOF_RENAMEONCOLLISION flag. End if.
- Don't show error message IDS_COPYERRORSUBFOLDER or
  IDS_MOVEERRORSUBFOLDER if the source and the destination are the same.
CORE-18599
2023-08-06 20:56:45 +09:00
Katayama Hirofumi MZ
b4684e9809 [SHLWAPI][SHLWAPI_APITEST][SDK] SHCreatePropertyBagOnRegKey (#5531)
Follow-up to #5511.
- Add CRegPropertyBag class.
- Implement SHCreatePropertyBagOnRegKey function by using CRegPropertyBag.
- Strengthen SHPropertyBag testcase in shlwapi_apitest.
CORE-9283
2023-08-06 20:54:55 +09:00
Katayama Hirofumi MZ
6413024cab [SHELL32] Move SheRemoveQuotesA/W to utils.cpp (#5535)
* [SHELL32] Move SheRemoveQuotesA/W to utils.cpp

Follow-up to #5529 (7100fa8).
JIRA issue: CORE-9277
2023-08-06 13:07:39 +02:00
Adam Słaboń
365372dc17 [GITHUB] Build subsystems on ARM
CORE-17604
2023-08-05 16:23:10 +02:00
Adam Słaboń
2ffcda90b2 [CMAKE][MVDM] Fix CMAKE_ASM16_COMPILER for non-x86 MSVC builds
Ensure that CMAKE_ASM16_COMPILER is 32-bit MASM.
It is used only for compiling 16-bit x86 ASM code on non-x86 builds.

Original patch by serrox. CORE-10452, CORE-17604

Co-authored-by: Sergey Chernov <serrox@ya.ru>
2023-08-05 16:20:22 +02:00
Dmitry Borisov
ffbc81fdf2 [FREELDR] Implement bus mouse detection
This allows to automatically install the inport device driver
(it's now possible since 7d5e159131), which can be used on 86Box.

References:
- https://raw.githubusercontent.com/86Box/86Box/master/src/device/mouse_bus.c
- https://bochs.sourceforge.io/cgi-bin/lxr/source/iodev/busmouse.cc
2023-08-05 16:40:13 +03:00
Dmitry Borisov
a14019b219 [INPORT] Fix swapped buttons for the inport bus mouse
Also don't read the delta state when there is no mouse movement.
2023-08-05 16:40:07 +03:00
Katayama Hirofumi MZ
36a35ee203 [ATL] CImage: Hack fix for getting filter string (#5528)
- Fix the crash on opening/saving file.
- To get the filename extension info from CODECs, we have to keep gdiplus.dll loaded.
- The perfect fix will take time.
CORE-19093, CORE-19094
2023-08-05 21:23:21 +09:00
Katayama Hirofumi MZ
b4bc6f0a6a [SHLWAPI][SHLWAPI_APITEST][SDK] SHCreatePropertyBagOnMemory (#5511)
- Add propbag.cpp.
- Add CBasePropertyBag / CMemPropertyBag classes.
- Implement SHCreatePropertyBagOnMemory.
- Strengthen SHPropertyBag testcase in shlwapi_apitest.
CORE-9283
2023-08-05 21:20:58 +09:00
Katayama Hirofumi MZ
7100fa8854 [SHELL32] Move SheRemoveQuotesA/W to iconcache.cpp (#5529)
Follow-up to #5517 (358e45d). stubs.cpp is for stub functions only. CORE-9277
2023-08-05 21:17:06 +09:00
Katayama Hirofumi MZ
358e45d33a [SHELL32][SHELL32_APITEST][SDK] Implement SheRemoveQuotesA/W (#5517)
- Implement SheRemoveQuotesA and SheRemoveQuotesW functions.
- Add She testcase into shell32_apitest.
- Add SheRemoveQuotesA/W into <undocshell.h>.
CORE-9277
2023-08-05 19:44:13 +09:00
Huw Campbell
1273bbe417 [SHELL32] Improve CFSDropTarget::CopyItems logic (#5481)
The previous version resolved the path of the parent then did logic
assuming simple pidls. This now resolves each source directly.

This change addresses a longstanding TODO in copying and moving to shell folders.
It's a simple change, but it removes a bit of code and makes things simpler.

Corresponding Wine PR: https://gitlab.winehq.org/wine/wine/-/merge_requests/3360
2023-08-05 13:12:36 +03:00
Timo Kreuzer
9bc5b8357a [NTOS:MM] Fix use-after-free error
The VAD / memory area can get deleted when calling MmUnmapViewOfSegment, so it must not be used after that.
2023-08-05 11:57:58 +03:00
Timo Kreuzer
2d7ff7ea33 [MSCAT32] Convert stubs into forwarders 2023-08-05 09:00:13 +03:00
Doug Lyons
21e30f3f67 [SHELL32_APITEST] Add test for Control Panel's GetDisplayNameOf (#5495)
New regression test for shell32!GetDisplayNameOf, showing that the return
value of the function will be 'S_FALSE' when the first argument is NULL.
Also, the returned STRRET structure data is not modified by this call.

CORE-18841
2023-08-04 16:54:31 +03:00
Katayama Hirofumi MZ
329df0a9e6 [SDK] Add SHPropertyBag_ReadInt/WriteInt prototype (#5522)
Add SHPropertyBag_ReadInt / SHPropertyBag_WriteInt into <shlwapi_undoc.h>.
CORE-9283
2023-08-04 22:53:07 +09:00
Katayama Hirofumi MZ
2e9d03da90 [SHELL32][SDK] Implement SHLimitInputCombo (#5521)
SHLimitInputCombo function sets limits on valid characters for a combobox control.
This function works like SHLimitInputEdit, but the target is a combobox instead of a textbox.
CORE-9277
2023-08-04 22:29:05 +09:00
Carl J. Bialorucki
5b40f6f353 [EXPLORER] Add support for Windows 7 style system tray icon spacing (#5489)
When using large taskbar icon:
- Increase the padding around system tray icons.
- Push the clock text further to the right, increasing the left padding
  between the clock and notification icons.
  This matches Windows 7 shell behavior.
- Correct the spacing for the clock area, in the case when bPreferDate is
  enabled, only two lines are visible, and the day of the week is shorter
  than the date.

CORE-11698
2023-08-04 14:20:19 +03:00
Carl J. Bialorucki
f65c03a28c [SOLITAIRE] Use the shell about dialog for solitaire and spider (#5493)
Use the shell about dialog for solitaire and spider solitaire.
This increases visual consistency throughout the operating system
and matches the behavior of the game from Windows XP.

- Use the shell about dialog instead of a plain MessageBox.
- Since the shell about dialog can only handle two lines of text,
  shorten the message dialog text to two lines.
2023-08-04 01:50:39 +03:00
Andrew Dent
cf4bb8fced [WALLPAPERS] Optimize PNG images (#5506)
- Lossless optimization with `pngslim` saving ~1-9%.
- Restricted to RGB color mode (‘c2’), for maximum compatibility.
2023-08-04 01:36:43 +03:00
Andrew Dent
bea6d7635a [CMD] Tweak comment for %TIME% format (#5499)
- Precisely describe `time` format, based on CLDR standard:
  http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table
- Had spent time verifying the behavior on Windows and ReactOS,
  this strict definition may be helpful for future researchers.
2023-08-04 01:34:24 +03:00
Katayama Hirofumi MZ
6bc864acac [SHLWAPI] Add G. Chappell's documentation links (#5515)
Add comments to SHPropertyBag_... functions. CORE-9283
2023-08-03 20:48:58 +09:00
Hermès Bélusca-Maïto
bd0eaa924d [HALX86] HalHandleNMI: Re-enable debugger-entering code. 2023-08-03 13:26:24 +02:00
Thamatip Chitpong
32411dece0 [SHELL32] Fix taskbar large icon for control panel applets
Addendum to 0e8cf6f (#5465).
CORE-11698
2023-08-03 16:43:08 +07:00
Thamatip Chitpong
4c21d97d84 [EXPLORER] Add comments for CTaskSwitchWnd::GetWndIcon 2023-08-03 16:43:08 +07:00
Thamatip Chitpong
9049638dac [EXPLORER] Fix taskbar large icon for some apps
Addendum to 0e8cf6f (#5465).
CORE-11698
2023-08-03 16:43:08 +07:00
Katayama Hirofumi MZ
0160354145 [SHLWAPI] Fix version control (_WIN32_WINNT) (#5514)
- _WIN32_WINNT had wrong value to do workaround on Vista+ RegGetValueW.
- Do #undef and #define _WIN32_WINNT _WIN32_WINNT_VISTA in assoc.c.
- Delete _WIN32_WINNT hack in CMakeLists.txt.
CORE-9283
2023-08-03 18:25:12 +09:00
Katayama Hirofumi MZ
6299340c45 [SHLWAPI][SHLWAPI_APITEST][SDK] Implement SHPropertyBag_ReadGUID etc. (#5491)
- Implement SHPropertyBag_ReadGUID and SHPropertyBag_ReadStream functions.
- Modify shlwapi.spec and shlwapi_undoc.h.
 CORE-9283
2023-08-02 10:35:25 +09:00
Joachim Henze
53b30e3f3b [NTOSKRNL][NTGDI] Formatting addendum, no functional change
I intend to port back the combined work of Thomas Faber and Serge Gautherie in context of CORE 14271.
Both developers fixed wrong retval evaluations for SeSinglePrivilegeCheck() and RtlCreateUnicodeString().
Both functions do return a BOOLEAN, and therefore using NTSTATUS() on them is wrong.
Those bugs have been fixed at multiple places. That is long gone.

But Serge fixed his locations a bit more elegantly, without the need for additional variables.
Therefore this addendum adapts a few of Thomas locations to the improved Serge-ified style.

Yes: I intentionally used a space instead of a minus after the mentioned CORE 14271,
as I don't want that pure stylistic addendum to be linked with the initial ticket anymore.
That would be overkill.
2023-08-01 22:32:25 +02:00
Katayama Hirofumi MZ
50774f865c [ATL] CImage: Respect CODEC info (#5408)
Add _getAllEncoders and _getAllDecoders helper functions and use them
in GetImporterFilterString, GetExporterFilterString, FileTypeFromExtension
and GetClsidFromFileType functions.
CORE-18867, CORE-19008
2023-07-31 07:22:38 +09:00
David L Bean
f8a6542b15 [IP] Don't reference uninitialized PCB to avoid BSOD. CORE-18982
transport calls to LibTCPConnect that suffer certain early failures
like parameter errors or early route lookup failures return without
initializing the pcb.
In order to avoid later BSOD's this change clears the
ConnectionRequest bucket in those cases.
2023-07-30 16:52:55 -04:00
Andrew Dent
e5993f13f0 [REACTOS] Optimize PNG images (#5492)
* [PIFMGR] Optimize png images

- Lossless optimization with `pngslim`. Saves ~50%.
- Restricted to RGBA color mode (‘c6’), for maximum compatibility at the cost of some compression.

* [ROSAPPS] Optimize png image

- Lossless optimization with `pngslim`. Saves ~10%.

* [MSTSC] Optimize png image

- Lossless optimization with `pngslim`. Saves ~56%.
- Restricted to RGBA color mode (‘c6’), for maximum compatibility at the cost of some compression.

* [Themes] Optimize png image

- Lossless optimization with `pngslim`. Saves ~20%.
- Restricted to RGB color mode (‘c2’), for maximum compatibility.
2023-07-30 22:32:34 +02:00
Joachim Henze
6b7efb331c [NTUSER] co_IntSendMessageWithCallBack: Formatting only, no functional changes
e.g. wrong indentation.
Want to port something back here, and the slight tweaking allows master to remain
in sync with previous releases.
2023-07-30 21:39:10 +02:00
Katayama Hirofumi MZ
985680068c [ATL] Overload const-return-versions of FindChar/FindString/FindOneOf (#5473)
Overload the const-return-versions of FindChar/FindCharReverse/FindString/FindOneOf.
Modify CStringT::Replace.
2023-07-30 07:59:01 +09:00
Serge Gautherie
2010a5b8d9 [IP] Unlock Connection when TCPAllocatePort() fails. CORE-18371
Addendum to 874d317 (0.4.15-dev-5707, #5074).
2023-07-29 11:23:13 -04:00
Timo Kreuzer
539c316589 [NTOS:Mm] Fix some 64 bit issues 2023-07-29 14:00:44 +03:00
Jérôme Gardou
69daff72d2 NTOS:CC Free some VACBs when we're under memory pressure 2023-07-29 14:00:44 +03:00
Jérôme Gardou
470ad18825 Revert "[NTOS:CC] Wake up lazy scan after inserting elements in the list."
This reverts commit 6e4f83da70.
2023-07-29 14:00:44 +03:00
Timo Kreuzer
876769fdd5 [NTOS:Mm] Use MmRebalanceMemoryConsumersAndWait in the page fault handler 2023-07-29 14:00:44 +03:00
Timo Kreuzer
047dc9729f [NTOS:Mm] Implement MmRebalanceMemoryConsumersAndWait 2023-07-29 14:00:44 +03:00
Timo Kreuzer
7c6e4d38c7 [NTOS:Mm] Handle failure to allocate pages in the page fault handler 2023-07-29 14:00:44 +03:00
Timo Kreuzer
3ae12d5a8c [NTOS:Mm] Fail gracefully when no pages are available 2023-07-29 14:00:44 +03:00
Timo Kreuzer
d7de53b6d5 [NTOS:Mm] Bail out in MmTrimUserMemory, when all LRU pages have been looped through 2023-07-29 14:00:44 +03:00
Timo Kreuzer
5f014e421b [NTOS:Mm] Handle RosMm pages in MiDecrementReferenceCount
This is required, when RosMm unmaps locked pages and they later get unlocked.
2023-07-29 14:00:44 +03:00
Timo Kreuzer
80dd9f5a90 [NTOS:Mm] Add PFN ShareCount handling to old Mm 2023-07-29 14:00:44 +03:00
Timo Kreuzer
73de609917 [NTOS:Mm] Implement MmCreatePhysicalMapping and MmDeletePhysicalMapping to handle pyhsical memory sections 2023-07-29 14:00:44 +03:00
Timo Kreuzer
918e331970 [NTOS:Mm] Fix race condition in _MmSetPageEntrySectionSegment
The function updates the entry in the section page table and updates the section association rmaps for it. In the page-in path, when the new section association is set before the entry is updated, a concurrent attempt to unmap the page would find an inconsistent entry, where there is an rmap, but the section page table entry is still an MM_WAIT_ENTRY.
2023-07-29 14:00:44 +03:00
Timo Kreuzer
54d1b39676 [NTOS:Mm] Fix locking for MmGetSectionAssociation
MmGetSectionAssociation races with _MmSetPageEntrySectionSegment without sharing a lock. So we need to hold the PFN lock, until we have referenced the section segment found in the RMAP. This prevents that a section segment, which still has associated RMAPs from being deleted behind our back.
2023-07-29 14:00:44 +03:00
Timo Kreuzer
477792856e [NTOS:Mm] Replace YieldProcessor() with KeDelayExecutionThread()
These are used in the paging path, when the page is currently in the process of being read from or written to the disk. While YieldProcessor() provides the chance to switch context to the other paging thread, it only does so, once the current thread's quantum has expired. On a single CPU system this effectively leads to busy waiting for the rest of the quantum. On SMP systems this could succeed earlier, thus reducing latency, but it would still contribute to high CPU usage, while waiting for the IO operation to complete, which is not what we want.
Using KeDelayExecutionThread() will instantly allow another thread to run, providing enough time to complete the IO operation.
2023-07-29 14:00:44 +03:00
Carl J. Bialorucki
d70e798977 [BROWSEUI] Use details view by default (#5452) CORE-18904
* Detail view by default, except in special folders
* Added hack/fixme disclaimer
2023-07-28 21:20:00 +02:00
Katayama Hirofumi MZ
02b65773a3 [SHLWAPI][SHLWAPI_APITEST][SDK] Implement SHPropertyBag_ReadBSTR etc. (#5487)
- Implement SHPropertyBag_ReadBSTR, SHPropertyBag_ReadStr, SHPropertyBag_ReadPOINTL,
SHPropertyBag_ReadPOINTS, and SHPropertyBag_ReadRECTL functions.
- Add link to oleaut32 in shlwapi_apitest.
CORE-9283
2023-07-27 11:06:49 +09:00
David L Bean
dcaf5686ce [ADVAPI32] Don't treat a structure pointer as a string pointer (#5478)
Add a string pointer local variable, assign it and operate on it.
This should eliminate an exception and make LsapIsLocalComputer()
function operate correctly.

CORE-18996
2023-07-27 01:58:44 +03:00
Carl J. Bialorucki
4511e62b10 [EXPLORER] Restore minimized windows with the correct position (#5488)
Stop storing and setting window positions from the taskbar and rely
on the window's existing position instead. Partial revert of e6bced7a35.

Windows are now correctly positioned when being restored from the taskbar.
This also fixes an issue where minimizing and opening Task Manager causes
the window to become blank when running our shell in Windows Server 2003.

CORE-19055 CORE-13895 CORE-18350
2023-07-27 00:26:42 +03:00
Andrew Dent
8f3a09722e [MSPAINT] Optimize images for help docs (#5486)
Lossless optimization of png images using `pngslim`.

Saves some bytes. No code changes.
2023-07-26 19:58:29 +03:00
Thamatip Chitpong
41e3badc9a [TASKMGR] Process page: Don't hardcode string length (#5490)
Addendum to 59dcec1 (#4323).
2023-07-26 23:26:20 +07:00
Andrei Miloiu
86e9fa717f [IEFRAME][DESK] Update Romanian (ro-RO) translation (#5469) 2023-07-26 16:04:13 +03:00
Andrei Miloiu
f9363a6573 [APPWIZ] Update Romanian (ro-RO) translation (#5464) 2023-07-26 16:02:33 +03:00
Katayama Hirofumi MZ
5965c10f96 [APPWIZ] Implement InstallCallback_GetBindInfo (#5480)
- Fix errors on 2nd stage setup epilogue.
- Just return E_NOTIMPL in InstallCallback_GetBindInfo function. That's Okay.
CORE-15786
2023-07-26 13:32:59 +09:00
Katayama Hirofumi MZ
fe440f7514 [SHLWAPI][SHLWAPI_APITEST][SDK] Implement SHPropertyBag_ReadDWORD etc. (#5479)
- Add VariantChangeTypeForRead helper function.
- Implement SHPropertyBag_ReadType, SHPropertyBag_ReadBOOL, SHPropertyBag_ReadBOOLOld, SHPropertyBag_ReadSHORT, 
SHPropertyBag_ReadLONG, and SHPropertyBag_ReadDWORD functions.
- SHPropertyBag_ReadInt is an alias to SHPropertyBag_ReadLONG.
CORE-9283
2023-07-26 08:21:47 +09:00
Katayama Hirofumi MZ
57ce30b85f [SHLWAPI][SHLWAPI_APITEST][SDK] Implement SHPropertyBag_WritePOINTL etc. (#5474)
- Implement SHPropertyBag_Delete, SHPropertyBag_WritePOINTL, SHPropertyBag_WritePOINTS, and SHPropertyBag_WriteRECTL functions.
- SHPropertyBag_WriteInt is an alias to SHPropertyBag_WriteLONG.
- Modify shlwapi.spec.
- Modify shlwapi_undoc.h.
- Add SHPropertyBag testcase to shlwapi_apitest.exe.
CORE-9283
2023-07-25 18:19:22 +09:00
Jérôme Gardou
1599d7b794 [NTUSER] Always reference a window when using it as parent/child etc.
CORE-18811
2023-07-24 23:29:38 +02:00
Jérôme Gardou
b3d0591e76 [USER32] Use static inline instead of inline
Fixes compilation with less optimizations
2023-07-24 23:29:38 +02:00
Katayama Hirofumi MZ
dad99e3bd0 [SHLWAPI][SDK] Implement SHPropertyBag_WriteDWORD etc. (#5467)
CORE-9283
2023-07-24 07:12:05 +09:00
Stanislav Motylkov
02a19c314f [DOCS] Update contributing rules and PR management (#4881)
- Add points regarding real name and e-mail requirements
- Replace old IRC links with the chat references
- Update PR management guidelines accordingly
2023-07-24 00:58:56 +03:00
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
Katayama Hirofumi MZ
22ab8c812a [EXPLORER] Improve the minimize-condition on Win+D (#5423)
- Add CanBeMinimized helper function to determine whether the window should be minimized.
- Use them in FindEffectiveProc and MinimizeWindowsProc functions.
- Improve the Minimize code.
CORE-18427
2023-07-14 18:03:15 +09:00
Andrei Miloiu
cdfd8f4e1b [MYEVENTPROVIDER_DLL][MC] Add Romanian (ro-RO) translation to message table (#5430) 2023-07-13 23:16:27 +03:00
Andrei Miloiu
da72ca6887 [MSTSC] Update copyright years in Romanian (ro-RO) translation (#5437)
Forgot to update it to current year.
Addendum to 36e6ca977 (#5432).
2023-07-13 22:56:55 +03:00
Andrei Miloiu
341396b462 [ROSAUTOTEST][MC] Add Romanian (ro-RO) translation to message table (#5429) 2023-07-13 19:48:55 +03:00
Andrei Miloiu
01819b321b [RAPPS][MC] Add Romanian (ro-RO) translation to message table (#5428) 2023-07-13 19:46:23 +03:00
Andrei Miloiu
36e6ca9776 [MSTSC] Improve Romanian (ro-RO) translation (#5432) 2023-07-13 19:36:53 +03:00
Andrei Miloiu
217ca858f3 [MODE] Fix Romanian (ro-RO) translation (#5434)
Fix mistake when translated a commented out line.
Addendum to 1f299f40f5 (#5425).
2023-07-13 19:24:26 +03:00
Joachim Henze
2d9877470d [TRANSLATION] Fix font glitches in zh-CN.rc & zh-TW.rc
Actually I was working on a much bigger commit in the same context for releases/0.4.7
when I realized that related glitches do also affect master head
and also other release-branches in some areas.
2023-07-13 02:53:52 +02:00
Katayama Hirofumi MZ
74ca0a12ad [SHELL32] Follow-up of #5420 (9a1487f); Delete word 'immediately'
CORE-18663
2023-07-12 22:36:42 +09:00
Katayama Hirofumi MZ
9a1487f3a8 [SHELL32] Update the status bar asynchronously (#5420)
- Selecting all in system32 was too slow.
- Make CDefView::UpdateStatusbar function asynchronized by using a thread.
- It makes selecting all very quick.
- Add m_hUpdateStatusbarThread to asynchronize.
CORE-18663
2023-07-12 22:24:04 +09:00
Andrei Miloiu
8d821292de [REGEDIT] Update Romanian (ro-RO) translation (#5427) 2023-07-12 12:22:47 +02:00
Andrei Miloiu
f105d51a27 [RAPPS] Improve Romanian (ro-RO) translation (#5424) 2023-07-12 12:20:57 +02:00
Justin Miller
e505394466 [FREELDR] Add UEFI Console input support. CORE-11954 (#5426)
Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
2023-07-11 11:07:31 -07:00
Andrei Miloiu
d144f3d3bb [NOTEPAD] Update Romanian (ro-RO) translation (#5419) 2023-07-11 18:40:23 +03:00
Andrei Miloiu
1f299f40f5 [MODE] Improve Romanian (ro-RO) translation (#5425) 2023-07-11 10:49:03 +02:00
Andrei Miloiu
f6f1feff26 [FONTEXT] Update Romanian (ro-RO) translation (#5422) 2023-07-11 10:41:56 +02:00
Eric Kohl
c0e70a8e31 [PSDK] Add the netsh.h header file 2023-07-10 22:30:36 +02:00
Katayama Hirofumi MZ
b4e946f5b0 [BROWSEUI] Fix pos of taskbar toolbar right-click menu (#5421)
Don't call ClientToScreen in handling NM_RCLICK message because NMMOUSE.pt is already in screen coordinates.
CORE-18966
2023-07-11 05:28:50 +09:00
Joachim Henze
831288fe69 [TASKMGR] Fix text truncation for fr-FR.rc (#5380)
CORE-18523

The old string exceeded 256 chars and can be shortened.
Translation suggested by Kyle Katarn, a.k.a. KRosUser
2023-07-10 21:43:00 +02:00
Doug Lyons
454a27cdff [USER32_APITEST] Improve user32:PrivateExtractIcons test (#5209)
- Improve the test by examining total number of icon groups in files
  and by adding more testcases including two new icon files.
- Add new ROS.ico file which has both a normal icon and a PNG one.
- Add tests for explorer.exe and new ROS.ico and sysicon.ico files.

CORE-18897
2023-07-10 22:24:41 +03:00
Piotr Hetnarowicz
d8e82ee45f [TASKLIST] Update Polish (pl-PL) translation (#5415) 2023-07-10 22:08:56 +03:00
Jose Carlos Jesus
a2e33285db [TRANSLATION] Update Portuguese (pt-PT) translation (#5414)
- [RUNDLL32] Sublang correction for pt-PT
- [RUNONCE] Sublang correction for pt-PT
- [USERINIT] Sublang correction for pt-PT
- [WINLOGON] Improve pt-PT translation and fix sublang
2023-07-10 22:04:31 +03:00
Katayama Hirofumi MZ
199215f99f [MAGNIFY] Improve Japanese (ja-JP) translation
CORE-18706
2023-07-10 17:53:47 +09:00
Joachim Henze
5f533bd019 [RAPPS] Update *.rc
- 2 Accelerator collisions in tr-TR.rc
- superfluous space in ru-RU.rc IDS_LANGUAGE_MORE_PLACEHOLDER
- typo in uk-UA.rc header
- strip forward slash in IDS_WELCOME_URL
2023-07-10 00:33:02 +02:00
Stanislav Motylkov
8ff7336b96 [RAPPS] Update copyright headers
Also a small correction for ru-RU and uk-UA translations.
2023-07-09 14:12:13 +03:00
Stanislav Motylkov
4dfd191276 [TASKLIST] Update copyright headers 2023-07-09 13:06:47 +03:00
Carl J. Bialorucki
19c8574ec8 [EXPLORER] Show time and date when two lines are available in the taskbar clock area (#5410)
- Add registry key to show the time and date when two lines are available
  in the taskbar clock area.
- Keep old behavior when `PreferDateOverWeekday` registry key in
  `HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced`
  is set to 0 or not present.

When three or more lines are available, the clock will continue to show
the time, day of the week, and the date. When only one line is visible,
the clock will continue to only display the time.

CORE-19018
2023-07-09 01:04:45 +03:00
Doug Lyons
ebb7c0524b [GDI32_APITEST] Enable SetDIBitsToDevice tests that work now (#5402)
Remove outdated 'todo_ros' qualifiers. ROSTESTS-384
2023-07-09 00:30:04 +03:00
Katayama Hirofumi MZ
ed4e3f5611 [ZIPFLDR] Improve Simplified Chinese (zh-HK) translation
CORE-18950
2023-07-08 13:32:59 +09:00
Katayama Hirofumi MZ
97ee119854 [ZIPFLDR] Improve Simplified Chinese (zh-CN) translation
CORE-18950
2023-07-08 13:27:50 +09:00
Katayama Hirofumi MZ
71bf06fb51 [ZIPFLDR] Improve Traditional Chinese (zh-TW) translation
CORE-18950
2023-07-08 13:19:02 +09:00
Katayama Hirofumi MZ
38a2050b55 [ZIPFLDR] Improve Japanese (ja-JP) translation 2
CORE-18706
2023-07-08 13:08:19 +09:00
Andrei Miloiu
606c7ace36 [TASKLIST] Add Romanian (ro-RO) translation (#5399) 2023-07-08 02:28:37 +03:00
Andrei Miloiu
96060abc5f [GETUNAME] Improve Romanian (ro-RO) translation (#5374) 2023-07-08 02:26:34 +03:00
Piotr Hetnarowicz
635951d740 [GETUNAME] Update Polish (pl-PL) translation (#5370) 2023-07-08 02:22:16 +03:00
Thamatip Chitpong
ec974d8a81 [RAPPS] Main toolbar: Tooltip strings refactoring (#5007)
- Use ATL CString
- Remove duplicated tooltip strings
2023-07-08 02:02:10 +03:00
Stanislav Motylkov
ddf94ee4b6 [SHELL32] Update Russian (ru-RU) translation 2023-07-07 16:32:03 +03:00
Katayama Hirofumi MZ
abf1934d92 [SHELL32] Add IDS_NEWITEMFORMAT and retry FCIDM_SHVIEW_NEW (#5412)
- FCIDM_SHVIEW_NEW resource string had some problems in localization and keyboard usability.
- Add IDS_NEWITEMFORMAT resource string ("New %s") to format the new file item string.
- Modify CNewMenu::NewItemByNonCommand for IDS_NEWITEMFORMAT.
- FCIDM_SHVIEW_NEW is provided for [New] menu item, so it should have an ampersand.
  Add a comment for it and then retry the translation.
CORE-18706
2023-07-07 17:24:25 +09:00
Joachim Henze
3da13042ea [NETSTAT] Less heap allocations (#5409)
- Avoid the heap in ShowIpStatistics() and ShowIcmpStatistics() to simplify the code,
  inspired by how we do it in ShowTcpStatistics() and ShowUdpStatistics() already
- Strip 2 Captain-Obvious-Comments

For the record: Retrieving ICMP-stats and IP-stats does not work properly in ReactOS yet,
neither with nor without my fix. Lower layers are most likely wrong still somehow.
But netstat itself can properly obtain ICMP-stats and IP-stats in Windows already.
2023-07-06 18:23:17 +02:00
Joachim Henze
c1245a897f [NETSTAT] pragma once, reorder, fix pl-PL.rc (#5407)
- add a pragma once into the header
- order -o options alphabetically also for the global variables, not only in usage-help
- pl-PL.rc: fix wrong alignment of IDS_ETHERNET_THEADER and its data
- pl-PL.rc: also don't pad the data with 2 spaces here in the beginning, which
            we don't do in any other locale, and MS netstat also doesn't do that here.
            pl-PL.rc most likely got this wrong because it was created while en-US wasn't finished yet.
2023-07-06 18:19:30 +02:00
Thamatip Chitpong
a9580fb95c [WINESYNC][WINMM] PlaySound: Formatting only
- Indent with spaces
- complies with Wine
2023-07-06 13:36:22 +03:00
Thamatip Chitpong
b30a8a0868 [WINESYNC][WINMM] Properly handle mmioRead/mmioWrite in case of errors
In C, an inequality comparison between a signed and an unsigned integer
ends up with an unsigned comparison.

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

Wine commit: 0de8d01b09b1cc7ca34f7ae3890b4a416ff801fe

author: Eric Pouech <eric.pouech@gmail.com>
Wed, 30 Mar 2022 12:57:44 +0000 (14:57 +0200)

committer: Alexandre Julliard <julliard@winehq.org>
Fri, 1 Apr 2022 20:59:40 +0000 (22:59 +0200)
2023-07-06 13:36:22 +03:00
Thamatip Chitpong
e85c54a5c7 [WINESYNC][WINMM] PlaySound: Avoid a unneeded lstrlenW call
Note that since str is a buffer it cannot be NULL.

Based on Wine commit: 6a4347be371bea544e0d4a81f4cfacd29af18d6e

author: Francois Gouget <fgouget@free.fr>
Mon, 16 Sep 2019 14:01:04 +0000 (16:01 +0200)

committer: Alexandre Julliard <julliard@winehq.org>
Mon, 16 Sep 2019 20:58:42 +0000 (22:58 +0200)
2023-07-06 13:36:22 +03:00
Thamatip Chitpong
53b12aaae9 [WINESYNC][WINMM] sndPlaySound can play resource sounds
Wine commit: 74471e857c44449a0236702b7cf8c607cf153a38

author: Aric Stewart <aric@codeweavers.com>
Wed, 1 Apr 2015 15:11:24 +0000 (10:11 -0500)

committer: Alexandre Julliard <julliard@winehq.org>
Thu, 2 Apr 2015 05:03:35 +0000 (14:03 +0900)
2023-07-06 13:36:21 +03:00
Thamatip Chitpong
582d2f4684 [WINESYNC][WINMM] Add .wav extension when searching for PlaySound
Wine commit: 563a4ff08ba9137dda4803a83d8937b3037fa25e

author: Akihiro Sagawa <sagawa.aki@gmail.com>
Tue, 24 Feb 2015 16:38:47 +0000 (01:38 +0900)

committer: Alexandre Julliard <julliard@winehq.org>
Wed, 25 Feb 2015 05:17:46 +0000 (14:17 +0900)
2023-07-06 13:36:21 +03:00
Thamatip Chitpong
41874cccc5 [WINESYNC][WINMM] Allow new sounds to interrupt previous PlaySound invocations
Wine commit: 197607db2e06f28b666da9ce88b69c9994c1bb65

author: Jörg Höhle <hoehle@users.sourceforge.net>
Tue, 14 Feb 2012 18:27:30 +0000 (19:27 +0100)

committer: Alexandre Julliard <julliard@winehq.org>
Thu, 16 Feb 2012 17:51:56 +0000 (18:51 +0100)
2023-07-06 13:36:21 +03:00
Thamatip Chitpong
8c5cacf8a0 [WINESYNC][WINMM] PlaySound concurrency cleanup
Wine commit: e0dcc2cd7d4495b7056a47ada1af74cc7c318ef2

author: Jörg Höhle <hoehle@users.sourceforge.net>
Mon, 28 Mar 2011 20:34:02 +0000 (22:34 +0200)

committer: Alexandre Julliard <julliard@winehq.org>
Wed, 30 Mar 2011 11:28:04 +0000 (13:28 +0200)
2023-07-06 13:36:20 +03:00
Thamatip Chitpong
ede1cf4264 [WINESYNC][WINMM] Get rid of psStopEvent which was never used like an event
Wine commit: a0dbd846c6cf111d20718170e9de2f7681d8fadf

author: Jörg Höhle <hoehle@users.sourceforge.net>
Sat, 26 Mar 2011 11:36:49 +0000 (12:36 +0100)

committer: Alexandre Julliard <julliard@winehq.org>
Wed, 30 Mar 2011 11:28:04 +0000 (13:28 +0200)
2023-07-06 13:36:20 +03:00
Thamatip Chitpong
aae34dc827 [WINESYNC][WINMM] Revert "winmm: Fix PlaySound so it doesn't block when another sound is already playing."
Let the player thread call waveOutReset itself instead.

Wine commit: 15ad749eced53e0c33454970bfc2bdb58b64f92b

author: Jörg Höhle <hoehle@users.sourceforge.net>
Sat, 26 Mar 2011 06:44:22 +0000 (07:44 +0100)

committer: Alexandre Julliard <julliard@winehq.org>
Wed, 30 Mar 2011 11:28:04 +0000 (13:28 +0200)
2023-07-06 13:36:20 +03:00
Thamatip Chitpong
ad14255933 [WINESYNC][WINMM] Abort PlaySound in case of audio error
Wine commit: ca37dbcfe6309fd7caad1f53f3b76773cd0278fa

author: Jörg Höhle <hoehle@users.sourceforge.net>
Sat, 26 Mar 2011 06:36:47 +0000 (07:36 +0100)

committer: Alexandre Julliard <julliard@winehq.org>
Wed, 30 Mar 2011 11:28:04 +0000 (13:28 +0200)
2023-07-06 13:36:20 +03:00
Thamatip Chitpong
0cb3b85031 [WINESYNC][WINMM] PlaySound ignores SND_NOWAIT
Wine commit: 0a81f12ce10f88a06e1a95523c1e4da7587fa3e9

author: Jörg Höhle <hoehle@users.sourceforge.net>
Tue, 11 Jan 2011 22:30:34 +0000 (23:30 +0100)

committer: Alexandre Julliard <julliard@winehq.org>
Fri, 14 Jan 2011 17:26:20 +0000 (18:26 +0100)
2023-07-06 13:36:19 +03:00
Katayama Hirofumi MZ
504a122c7a [ZIPFLDR] Improve Japanese (ja-JP) translation
CORE-18706
2023-07-06 19:32:59 +09:00
Katayama Hirofumi MZ
4ff55ad48e [ATL] atlimage.h: s/IsGuidEqual/::IsEqualGUID/
CORE-18867
2023-07-06 08:29:45 +09:00
Katayama Hirofumi MZ
a1f7b3f2dd [MSPAINT] s/IsGuidEqual/::IsEqualGUID/
CORE-18867
2023-07-06 08:24:46 +09:00
Stanislav Motylkov
818908d9d3 [NETSTAT] Fix Traditional Chinese (zh-TW) translation
Take double-width characters into account. Addendum to 06ca384f78.
2023-07-06 01:56:14 +03:00
Stanislav Motylkov
5df6963754 [NETSTAT] Add Russian (ru-RU) translation 2023-07-06 01:41:41 +03:00
Stanislav Motylkov
06ca384f78 [NETSTAT] Fix some unintuitive formatting in translations 2023-07-06 01:30:06 +03:00
Stanislav Motylkov
af18a970a9 [MSPAINT] Update Russian (ru-RU) translation 2023-07-06 01:04:13 +03:00
Stanislav Motylkov
fa4c72b79e [MSPAINT] Improve wording of IDS_SAVEERROR
Addendum to 3e23cdf9e. CORE-18867
2023-07-06 01:02:33 +03:00
Joachim Henze
8ef47d2e5e [NETSTAT] Optimize a bit (#5405)
in netstat.c 100% of the calls to
    DisplayTableHeader();
have in the exact line beforehand a call to
    ConResPuts(StdOut, IDS_ACTIVE_CONNECT);

So let's fuse them.

Also fix a superfluous space in the *.rc files before it will get duplicated
a thousand times.
2023-07-05 20:52:04 +02:00
Katayama Hirofumi MZ
3e23cdf9ee [MSPAINT] Some bug fixes on loading/saving files (#5385)
- Display a correct error message on failing to save a file.
- Don't confuse the main file info and the non-main file info.
- Rename ShowFileLoadError as ShowError, and strengthen and move it to dialogs.cpp.
- Add SetFileInfo and InitializeImage helper functions.
- Add IDS_SAVEERROR resource string.
- Modify SaveDIBToFile, SetBitmapAndInfo, and DoLoadImageFile functions.
CORE-18867
2023-07-05 12:06:22 +09:00
Katayama Hirofumi MZ
17e9dcc922 [RTL][ADVAPI32_APITEST] RtlIsTextUnicode: Don't change weight unless lead-byte flag (#5396)
- Fix the garbled characters (a.k.a. mojibake) in some Japanese text files.
- weight will remain 3 unless IS_TEXT_UNICODE_DBCS_LEADBYTE flag is set.
- Strengthen advapi32_apitest IsTextUnicode testcase.
CORE-19016
2023-07-05 12:01:42 +09:00
Carl J. Bialorucki
7fafeb6390 [EXPLORER] Save taskbar position and locked state after reboot (#5393)
- Save locked state of the taskbar when toggled using its context menu.
- Save position of the taskbar after dragging it around the desktop.
- Invoke TRAYCMD_LOCK_TASKBAR command when (un)locking the taskbar
  by the context menu, instead of duplicating this functionality.

CORE-11621 CORE-16997
2023-07-04 16:16:24 +03:00
Katayama Hirofumi MZ
bfb973e0b3 [THEMEUI] Fix Japanese translation (ja-JP) as UTF-8
CORE-18706
2023-07-04 19:35:31 +09:00
Yukinari Mitsu
cce12eb9ed [SERVMAN] Respect the user-selected export format (#5394)
- Use either tab or comma separator depending on user's selection.
- Skip adding a separator after the last table cell.

CORE-19001
2023-07-04 13:04:44 +03:00
Katayama Hirofumi MZ
7342163b0d [CHARMAP] Improve Japanese (ja-JP) translation 2
CORE-18706
2023-07-04 13:28:19 +09:00
Katayama Hirofumi MZ
93445131e3 [CHARMAP] Improve Japanese (ja-JP) translation
CORE-18706
2023-07-04 13:18:11 +09:00
Katayama Hirofumi MZ
180bc8155e [SAMSRV] Improve Japanese (ja-JP) translation
CORE-18706
2023-07-04 12:58:23 +09:00
Katayama Hirofumi MZ
de85acff69 [THEMEUI] Add Japanese (ja-JP) translation
CORE-18706
2023-07-04 12:50:31 +09:00
Katayama Hirofumi MZ
e8cb1677ee [IPCONFIG] Add Japanese (ja-JP) translation
CORE-18706
2023-07-04 12:32:47 +09:00
Joachim Henze
5ee97b9537 [NETSTAT] -b flag implies -o flag on Windows XP/2003. CORE-19006 (#5377)
When calling 'netstat -abn'
Win 2k3sp2 and XPSP3 do show both: the processes name and the PID.
Contrary Win 7 and Win 8.1 would show only the process name then without the PID.

The newer Windows versions would require you to explicitly pass -o
if you want to see the PID also.

We do follow 2k3sp2 because it is our target. The process name is not of much use
without having the PID as well, especially if multiple processes with the
same name do run on a system, e.g.: multiple 'svchost.exe' processes.

Ros will automatically switch to the Win7-way when newer
Windows versions will be targeted at build-time.
2023-07-03 22:30:34 +02:00
Andrei Miloiu
99c4ffb0ae [THEMEUI] Update Romanian (ro-RO) translation (#5398) 2023-07-03 22:22:27 +02:00
Andrei Miloiu
87950be329 [TAPIUI] Improve Romanian (ro-RO) translation (#5397) 2023-07-03 22:21:15 +02:00
Andrei Miloiu
b807a95731 [CHARMAP] Improve Romanian (ro-RO) translation (#5390) 2023-07-03 22:20:03 +02:00
Andrei Miloiu
5d8aedf0e3 [USER32] Update Romanian (ro-RO) translation (#5395) 2023-07-03 22:19:43 +02:00
Andrei Miloiu
821d9422fe [SAMSRV] Update Romanian (ro-RO) translation (#5388) 2023-07-03 22:17:45 +02:00
Andrei Miloiu
f502d34b04 [NETID] Update Romanian (ro-RO) translation (#5384) 2023-07-03 22:17:16 +02:00
Andrei Miloiu
497009da82 [IPCONFIG] Update Romanian (ro-RO) translation (#5381) 2023-07-03 22:16:43 +02:00
Andrei Miloiu
b41615376b [MMC] Improve Romanian (ro-RO) translation (#5389) 2023-07-03 22:16:01 +02:00
Andrei Miloiu
0f62d80f2d [SHELL32] Improve Romanian (ro-RO) trnaslation (#5392) 2023-07-03 22:15:28 +02:00
Piotr Hetnarowicz
4c7ef7b1a2 [MSPAINT] Update Polish (pl-PL) translation (#5368) 2023-07-03 15:28:38 +03:00
Andrei Miloiu
e369caef4e [MSPAINT] Update Romanian (ro-RO) translation (#5353) 2023-07-03 15:24:21 +03:00
Stanislav Motylkov
489655a414 [IPCONFIG] Update Russian (ru-RU) translation 2023-07-03 15:20:02 +03:00
Eric Kohl
eb30050e1b [IPCONFIG] Add error messages for Release and Renew and fix magic values 2023-07-03 12:28:39 +02:00
Joachim Henze
a5360f542f [IPHLPAPI] Formatting only, no functional change
- Strip inconsistent spaces from the spec file.
- iphlpapi_main: Harmonize inconsistent and line-wasting function-comments and fix mixed space-tab-indentation.
- ipstats_reactos.c: Compactify horizontally accordingly to the coding guidelines

I am interested in that code for a backport, so I want it to be well-formatted.
Ftr: IPHLPAPI was *forked* more than a decade ago from Wine.
Therefore no diff ever was guarded within those files whenever we implemented anything here.
2023-07-03 00:38:41 +02:00
Stanislav Motylkov
5ae65ab7a7 [NTOS:KE] Add x86 CPU features reporting to AMD64
CORE-18023 CORE-14922
2023-07-02 21:00:32 +03:00
Stanislav Motylkov
6a6b383abd [NTOS:KE] Report x86 CPU features in a separate function
KiGetFeatureBits() is now being called in the early boot phase 0
when the Kernel Debugger is not yet initialized, so debug prints
are not available here. Move the debug prints into a new function
and call it at the right time. CORE-18023
2023-07-02 21:00:31 +03:00
Stanislav Motylkov
00715ccf8b [NTOS:KE] Fix magic constants for x86 CPU features
Do it the same way as in amd64 ke.h/cpu.c. CORE-18023
2023-07-02 21:00:31 +03:00
Thamatip Chitpong
c7e4c3a8e9 [NTUSER] NtUserWaitForInputIdle: Fix unhandled exception BSOD 0x1E (#5391)
Fix CLIENTINFO usermode pointer access once again.
Based on a patch by Michael Fritscher from CORE-10017.
Addendum to 7052282507 (r68702).

CORE-18728 CORE-19014
2023-07-02 20:30:30 +03:00
Eugen Podrug
8e01dee251 [NTOS:EX] Fix swapped values in ExGetCurrentProcessorCounts() (#4565)
The function should return the kernel time for the idle thread in the
first argument, and kernel time + user time for the current thread in
the second argument.

Also retrieve the processor number from the cached PRCB instead of
calling KeGetCurrentProcessorNumber() which retrieves the PRCB again
since the processor could switch in-between those calls.

NdisGetCurrentProcessorCounts() function follows the same prototype
which is the correct one.
2023-07-02 16:10:36 +03:00
Stanislav Motylkov
bc85db7d8c [IPCONFIG] Update Russian (ru-RU) translation 2023-07-02 16:02:19 +03:00
Eric Kohl
ed80df29e0 [IPCONFIG] Improvements to Release and Renew functions
- Reimplement the Release and Renew functions using GetAdaptersInfo().
- Check for enabled DHCP and connected medium
- Check for already released Lease in the Release function
- Add required messages
2023-07-02 14:48:03 +02:00
Doug Lyons
12e1919e5e [NTGDI][GDI32] Icon fixes for Office 2000, VB6, and Hoyle Cards (#5227)
Many thanks for Simone Lombardo for pointing to the code needing attention
and providing a working proof-of-concept solution.

CORE-12377
CORE-18084
CORE-13889
2023-07-02 13:24:15 +02:00
Serge Gautherie
38560761ce [WIN32K:NTUSER] Add ASSERT() on "linking window to itself" (#4749)
Addendum to ee0511b (0.4.10-dev-323).
CORE-18132
2023-07-02 13:19:06 +02:00
Andrei Miloiu
5e4c6ae983 [INPUT] Improve Romanian (ro-RO) translation (#5386) 2023-07-02 13:01:09 +02:00
Andrei Miloiu
8fe890e963 [SHELL32] Update Romanian (ro-RO) translation (#5382) 2023-07-02 13:00:10 +02:00
Victor Perevertkin
16882dcfa4 [HALX86] Bugcheck in case the ACPI initialization failed (for ACPI HAL) (#5376)
CORE-16302
2023-07-02 02:01:11 +03:00
Stanislav Motylkov
fb1162431d [IPCONFIG] Update Russian (ru-RU) translation 2023-07-02 00:58:45 +03:00
Stanislav Motylkov
d764b4232a [SHELL32] Fix last attribute width and button position
Addendum to f3a07f2a78. CORE-18829
2023-07-02 00:50:11 +03:00
Yukinari Mitsu
f3a07f2a78 [SHELL32] Fix overlapping attributes in the Folder properties dialog (#5383)
The sum of X and width exceeds the X of next element.
So, change the width to <next x> - <current x>.

All affected translations were changed.

CORE-18829
2023-07-02 00:24:21 +03:00
Andrei Miloiu
ad2d88f275 [FONTVIEW] Update Romanian (ro-RO) translation (#5371) 2023-07-01 22:59:49 +02:00
Yukinari Mitsu
3801acb914 [SHIMGVW] Display filename in taskbar even if the file isn't loaded (#5379)
If the file could not be loaded, its name wasn't displayed in the taskbar.
Now, always display the file name in all cases.

CORE-18954
2023-07-01 19:22:03 +03:00
Eric Kohl
4328b858e5 [IPCONFIG] Replace some DNS related strings by resources 2023-07-01 15:32:47 +02:00
Eric Kohl
edd332c952 [IPCONFIG] Implement globbing for the Release and Renew options
- Add a simple Wildcard Matcher.
- Use the Wildcard Matcher in the Release and Renew functions.
2023-07-01 10:28:33 +02:00
Joachim Henze
40864bc15c [NETSTAT] Fix crash when parsing the protocol CORE-19005 (#5363)
fixes symptom CORE-19005 [NETSTAT] crashes when called with -abnop
and no further argument (protocol name missing).

The crash was a regression of
0.4.11-dev-814-g 2b55073360

also meticulously try to match Windows exact screen output and ERRORLEVEL then
instead of e.g.: simply showing the usage help
which means:
ERRORLEVEL 0 for 'netstat -abnop' and displaying Active-string + table header *but without any sane contents*
ERRORLEVEL 1 for 'netstat -abnop bullshit' and displaying usage help
ERRORLEVEL 0 for 'netstat -abnop tcp' and displaying Active-string + table header + contents
ERRORLEVEL 0 for 'netstat -abnop udp' and displaying Active-string + table header + contents

while touching the file do also some unrelated whitespace tweaks.
2023-06-29 22:33:53 +02:00
Doug Lyons
40233a3644 [ADVAPI32_APITEST] Add new RegCreateKeyEx tests (#5234)
* [ADVAPI32_APITEST] Add new RegCreateKeyEx tests
* Remove trailing spaces.
* Initialize SECURITY_ATTRIBUTES sa with zeroes.

Add a set of tests for RegCreateKeyExW and -A.
Created to prove the correctness of the already merged PR (#5230)

JIRA issue: CORE-15471
2023-06-29 21:33:44 +02:00
Victor Perevertkin
8cfc4a3376 [NTOS:PNP] Complete the PlugPlayControlInitializeDevice control class
Besides creating the PDO and device node for it, it has to set up the
necessary registry keys, and register PDO at PnP root driver properly.

CORE-18989
2023-06-29 19:25:28 +03:00
Victor Perevertkin
6cac5b8c9e [NTOS:PNP] Refactor PnpRootCreateDevice
- Remove unused "DriverObject" argument
- Make "FullInstancePath" mandatory
- Extract the PDO creation into separate function, it will be used later
2023-06-29 19:25:28 +03:00
Victor Perevertkin
bbf64c0cc4 [NTOS:PNP] Do not create an extra "PDO" device inside PnP root driver
The root device object is in fact a PDO and a FDO at the same time. Thus
there is no need in creating two device objects here, one is enough.
This commit also removes the explicit device extension for the root DO,
because the only reason it existed is to distinguish the root driver's
FDO from its PDOs. This can easily be done by comparing with
IopRootDeviceNode.

Also collect some unused garbage while we are here.
2023-06-29 19:25:25 +03:00
Eric Kohl
e1eb9e3620 [UMPNPMGR] PNP_Get(First/Next)LogConf: return proper tags for the resource list case 2023-06-29 18:06:02 +02:00
Carl J. Bialorucki
209439a5ae [BROWSEUI] Add status bar view state persistence (#5366)
- Use `HKCU\Software\Microsoft\Internet Explorer\Main\StatusBarOther` registry key for the setting persistence.
- Set its value to 1 when the status bar is visible, and to 0 when the status bar is hidden.
- Query it when the file browser is initialized to set the correct view state for the status bar.
- Set the default state of the status bar to hidden if the registry key does not exist, matching the behavior of Windows Server 2003.

CORE-19010
2023-06-29 18:50:43 +03:00
Eric Kohl
44a312478d [UMPNPMGR] OpenConfigurationKey: Open subkeys depending on the configuration type
- Boot and Basic Configurations are located in the LogConf subkey.
- Alloc and filtered Configurations are located in the Control subkey.
2023-06-28 23:15:26 +02:00
Eric Kohl
7f55dd36ea [IPCONFIG] Show data for SOA DNS Entry 2023-06-28 22:16:25 +02:00
Hermès Bélusca-Maïto
5cb2b73988 [VIDEOPRT] VideoPortGetAccessRanges: Return ERROR_MORE_DATA if there exist more device access ranges that can be returned than what is specified by NumAccessRanges. 2023-06-28 17:22:01 +02:00
Hermès Bélusca-Maïto
122eaeb6ad [VIDEOPRT] VideoPortGetAccessRanges: Add doxygen doc, SAL annotations and minor formatting. 2023-06-28 17:22:00 +02:00
Hermès Bélusca-Maïto
61c77d1f87 [XBOXVMP] Real OG XBOX NVidia GPU exposes 3 access ranges, so retrieve them.
CORE-19011

Fix a "bug" I introduced in commit 61012eb54.
VideoPortGetAccessRanges() expects the caller to specify at least the
total number of ranges the hardware exposes, otherwise it fails with
ERROR_MORE_DATA. (Tested also with the help of Windows' videoprt.sys.)

On real original XBOX there are three:
```
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation NV2A [XGPU] [10de:02a0] (rev a1)
    Subsystem: Unknown [0000:0000]
    Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 03
    Memory at fd000000 (32-bit, non-prefetchable) [size=16M]
    Memory at f0000000 (32-bit, prefetchable) [size=128M]
    Memory at 00000000 (32-bit, prefetchable) [size=512K]
```

Thanks to Stanislav and Daniel for tests on the real XBOX.
2023-06-28 17:21:58 +02:00
Piotr Hetnarowicz
f135d23f4c [FONTVIEW] Update Polish (pl-PL) translation (#5369) 2023-06-28 12:40:29 +03:00
Piotr Hetnarowicz
22233e66ce [IPCONFIG] Update Polish (pl-PL) translation (#5367) 2023-06-28 12:32:05 +03:00
Stanislav Motylkov
79de1846ac [IPCONFIG] Remove trailing whitespace
Addendum to bfc87de1d8.
2023-06-28 12:14:08 +03:00
Andrei Miloiu
bfc87de1d8 [IPCONFIG] Update Romanian (ro-RO) translation (#5360) 2023-06-28 09:57:16 +02:00
Andrei Miloiu
6ebadb4d39 [GETUNAME] Improve Romanian (ro-RO) translation (#5365)
Lines 44032-54000

Addendum to 0887c1c (#5323) and 60f4c38 (#[5327]).
2023-06-28 09:54:51 +02:00
Stanislav Motylkov
d09433a2da [FONTVIEW] Update copyright headers 2023-06-27 23:10:03 +03:00
Stanislav Motylkov
bfdb012f1f [FONTVIEW] Improve English wording of IDS_ERROR_OPENKEY 2023-06-27 21:44:06 +03:00
Stanislav Motylkov
f5200e6c25 [MSPAINT] Update copyright years for the C++ code
According to Benedikt Freisen, he didn't port the code base to C++
until 2015. Addendum to 8f1f1c7a5a. CORE-18867
2023-06-27 21:22:21 +03:00
Eric Kohl
1abfdde2d4 [IPCONFIG] Show data for MX and SRV DNS Entries 2023-06-27 09:27:30 +02:00
Fernando Isnaldo Silva de Faria
8c695b9437 [CMD] Add Portuguese Brazilian (pt-BR) translation (#4957)
Based on the Portuguese translation from Portugal.

Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2023-06-26 20:22:10 +03:00
Jose Carlos Jesus
bd761568f5 [EXPLORER] Improve Portuguese (pt-PT) translation (#5351)
- Improve and fix typo to pt-PT rc file
- Fix SUBLANG type to pt-PT language
2023-06-26 19:28:24 +03:00
Eric Kohl
0d0bd954a8 [IPCONFIG] Simplify the not type output 2023-06-26 12:26:04 +02:00
Eric Kohl
d737153ac9 [IPCONFIG] Remove unused resources 2023-06-26 08:12:07 +02:00
Hermès Bélusca-Maïto
3121aee56e [VIDEOPRT] Honour NumAccessRanges == 0 / AccessRanges == NULL in VideoPortVerifyAccessRanges()
These are specified for releasing the hardware resources previously
acquired by either a previous call to VideoPortVerifyAccessRanges()
or a call to VideoPortGetAccessRanges().
2023-06-25 21:25:08 +02:00
Hermès Bélusca-Maïto
de6313d89e [VIDEOPRT] Reformat VideoPortVerifyAccessRanges()
Fix indentation, add SAL annotations and Doxygen description.
2023-06-25 21:25:07 +02:00
Hermès Bélusca-Maïto
7eca194709 [VIDEOPRT] In legacy detection, don't guess the maximum number of buses of a certain type.
Use whatever number there is on the system.
Also ensure that vpStatus is correctly initialized.
2023-06-25 21:25:07 +02:00
Hermès Bélusca-Maïto
6409f97bc4 [NTOS:CONFIG] Use correct "Interface" variable type; use InterfaceTypeUndefined instead of -1. 2023-06-25 21:25:06 +02:00
Hermès Bélusca-Maïto
bd5209d9f4 [HALX86] These HalpNo* functions are actually _implemented_. Document their purpose.
Remove the misleading comment in HalpNoBusData().
Update the SAL annotations.
2023-06-25 21:25:06 +02:00
Hermès Bélusca-Maïto
9ba1849a97 [HAL][MINIHAL] Minor cleanup in reboot.c files (#5359)
And remove pic/processor.c from minihal compilation.
2023-06-25 19:39:44 +02:00
Eric Kohl
50d78f04e3 [IPCONFIG] Improve adapter type and name output 2023-06-25 14:00:47 +02:00
Katayama Hirofumi MZ
cb98e91b55 [MSPAINT] Rename some identifiers (#5362)
- s/CANVAS_HITTEST/HITTEST/
- s/m_whereHit/m_hitCanvasSizeBox/
- s/m_rcNew/m_rcResizing/
- Add comments to CCanvasWindow.
CORE-18867
2023-06-24 19:39:07 +09:00
Hilmar Preuße
5bb0a2c484 [FONTVIEW] Update German (de-DE) translation (#5345)
Co-authored-by: Joachim Henze <joachim.henze@reactos.org>
2023-06-24 00:35:08 +02:00
Andrei Miloiu
60f4c3839c [GETUNAME] Improve Romanian (ro-RO) translation (#5327)
Lines 11001-44025.

Addendum to 0887c1c0 (#5323).
2023-06-24 00:36:09 +03:00
Stanislav Motylkov
00dafff740 [IPCONFIG] Update Russian (ru-RU) translation 2023-06-23 21:43:49 +03:00
Stanislav Motylkov
ec09fffbfc [MSPAINT] Update and improve Russian (ru-RU) translation 2023-06-23 20:54:02 +03:00
Stanislav Motylkov
b6c4222f25 [MSPAINT] Make Attributes dialog layout consistent between languages
- Add missing mnemonic keys
- Remove unneeded mnemonic keys
- Fix some translated strings being too long
- Fix mispositioned elements
- Reposition overlapping elements

Validated the changes with Resource Hacker. CORE-18867
2023-06-23 20:51:45 +03:00
Stanislav Motylkov
8f1f1c7a5a [MSPAINT] Update copyright headers
Use LGPL-2.0-or-later as the first available LGPL version on SPDX
taking into account 530512f17e commit message.

CORE-18867
2023-06-23 20:49:28 +03:00
Eric Kohl
c63489f1e8 [IPCONFIG] Improve the German translation 2023-06-23 12:24:26 +02:00
Eric Kohl
a38b133dd1 [NET] Add the net session command 2023-06-22 12:40:46 +02:00
Eric Kohl
b0b40ce520 [IPCONFIG] Convert more strings to resources 2023-06-22 10:19:01 +02:00
Katayama Hirofumi MZ
d04e049284 [MSPAINT] s/Bound/Clamp/
CORE-18867
2023-06-22 07:57:36 +09:00
Katayama Hirofumi MZ
ec53d42278 [MSPAINT] s/pointSP/s_pointSP/ and s/pointStack/s_pointStack/
CORE-18867
2023-06-22 07:28:15 +09:00
Katayama Hirofumi MZ
3fa6d74a01 [MSPAINT] Fix ShapeTool with Shift key (#5358)
Fix the behavior of the ShapeTool in pressing Shift key. CORE-18867
2023-06-22 07:19:48 +09:00
Oleg Dubinskiy
e7ccb36b9b [WIN32SS][NTDDRAW] Don't startup DirectX graphics each time on DirectDraw object creation (#5329)
CORE-17561, CORE-17932, CORE-18221

Do it at each system startup instead: Remove old DirectX initialization code.
It's now outdated and not needed anymore.

Previously, the corresponding hackish intEnableReactXDriver() function
did two things: load dxg.sys and enable DirectDraw.
Now loading DirectX graphics is done during WINSRV initialization, and
enabling DirectDraw is called during each (and also first) display mode
switch, as in Windows. As debug analysis proves, there are no any other
calls in NtGdiDdCreateDirectDrawObject, besides the corresponding DXG
function.
2023-06-21 18:03:27 +02:00
Oleg Dubinskiy
e034377b51 [WIN32SS][ENG][NTDDRAW] Manage DirectDraw instances when switching display mode (#4519)
CORE-17932

[ENG] Implement DirectDraw management in switch display mode functions
(e.g. resolution change, color depth, display frequency etc.):

- Switch DirectDraw instances between the two PDEVs (the current one and
  the new one allocated by ourselves) by calling dxg!DxDdDynamicModeChange
  function.

- Suspend them before and resume after the display mode switch, by calling
  dxg!DxDdsuspendDirectDraw and dxg!DxDdResumeDirectDraw appropriately.

We currently don't have these functions implemented, but MS DXG has, so
it allows to properly manage DirectDraw PDEVs using this driver, similarly
to Windows.
My analysis confirms that these functions are always called in XP/2k3 on
display mode switch, even when there is no any DirectX app running at the
moment. Analyzing their prototypes show that my guesses are correct.

- Initialize hDev and dhpdev members for EDD_DIRECTDRAW_GLOBAL for newly
  created surfaces, switch them during mode change and re-initialize after
  it also. They are commonly used by DirectDraw stack.
  In addition, enable DirectDraw for old and new PDEVs, by calling
  dxg!DxDdEnableDirectDraw function.


[NTDDRAW] Additionally, fix usage of DirectDraw lock count in the PDEVOBJ
structure.

- Enable cDirectDrawDisableLocks member for storing its value, instead of
  DxDd_nCount, which is marked as ROS-specific.

- Use it in win32k!DxEngGet/SetHdevData for getting/setting DirectDraw
  count appropriately.

My analysis also shows that in Windows, the PDEVOBJ::cDirectDrawDisableLocks
method calls DxEngGetHdevData with type 8, which corresponds to our DxDd_nCount.
So there are no doubts that this member is used there.

- Rename DxEngGetHdevData_dd_count alias of type 8 to DxEngGetHdevData_dd_locks,
  to match more accurately an actual member name. Update the enumeration
  and fix all code parts appropriately.

All these changes allow to properly change display mode during executing
DirectDraw applications, when they try to switch in full-screen mode.
At least a bugcheck that happened before my changes, does no longer appear.

There are still some games that don't run correctly, as if there is no
3D acceleration (which actually exists). This requires further investigations.
2023-06-21 18:00:24 +02:00
Hermès Bélusca-Maïto
3fa613b9da [MINIHAL] Remove sysinfo.c from compilation. 2023-06-20 22:40:58 +02:00
Hermès Bélusca-Maïto
d6a78d580b [HALX86] Tabs to 4-space indentation in generic/sysinfo.c + Fix typo "ALMI" -> "AMLI" 2023-06-20 22:40:57 +02:00
Hermès Bélusca-Maïto
d03fc32e7d [MINIHAL] Remove unneeded files from compilation. 2023-06-20 18:39:01 +02:00
Carl J. Bialorucki
f203ad5cf4 [BROWSEUI] Add locked toolbar state persistence (#5350)
Store the state of the explorer toolbar, locked or unlocked, in the proper
registry location and set the proper toolbar state when initialized.

CORE-9094

- Set `HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Toolbar\Locked`
  to 1 when the explorer toolbar is locked, 0 when the toolbar is unlocked.
- Query `HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Toolbar\Locked`
  when the toolbar is initialized to set the correct locked state.
- Set the default state of the toolbar to locked if the registry key does not
  exist, matching the behavior of Windows Server 2003.
2023-06-20 11:16:23 +02:00
Hermès Bélusca-Maïto
157491e297 [STORPORT] MaximumNumberOfLogicalUnits should be initialized to SCSI_MAXIMUM_LOGICAL_UNITS
See https://www.osronline.com/article.cfm%5Earticle=538.htm
2023-06-19 21:10:53 +02:00
Hermès Bélusca-Maïto
3bc71f9086 [FREELDR][SCSIPORT][STORPORT] Use existing defines for some hardcoded max values.
See https://www.osronline.com/article.cfm%5Earticle=538.htm

[SCSIPORT] Remove 'MaxBus' variable, deprecated since commit fc3d38d1c (r26220).
2023-06-19 21:10:51 +02:00
Hermès Bélusca-Maïto
0fbd5eda85 [DDK] storport.h: Add some missing definitions that are in common with srb.h 2023-06-19 21:10:49 +02:00
Hermès Bélusca-Maïto
b12069d670 [DDK] srb.h: Introduce Win8+ SCSI_MAXIMUM_BUSES_PER_ADAPTER and comment about the old SCSI_MAXIMUM_* variables. 2023-06-19 21:10:44 +02:00
Hermès Bélusca-Maïto
7e1510eb9c [HALX86] Implement HalpcGetCmosData and HalpcSetCmosData. 2023-06-19 21:09:03 +02:00
Hermès Bélusca-Maïto
0c16bcd4e8 [FREELDR] scsiport.c: Fix x64 compilation. 2023-06-19 21:09:01 +02:00
Hermès Bélusca-Maïto
af47866f76 [FREELDR:UEFI] Fix compilation warning LNK4006.
ntoskrnl.c.obj : warning LNK4006: _KeStallExecutionProcessor@4
already defined in stubs.c.obj; second definition ignored.
2023-06-19 21:09:00 +02:00
Hermès Bélusca-Maïto
095510bdac [FREELDR:UEFI] Fix two MSVC build warnings C4553.
In both lines 451 and 474:
uefidisk.c: warning C4553: '==': result of expression not used; did you intend '='?

It's "funny" that GCC builds doesn't catch those...
2023-06-19 21:08:59 +02:00
Victor Perevertkin
38e4b859e2 [FRAMEBUFACC] Remove the driver
This is an unfinished attempt to rewrite the driver by Magnus Olsen,
dating back to 2007.
2023-06-19 13:58:46 +03:00
Victor Perevertkin
cdb130420e [FRAMEBUF_NEW] Remove the driver
It doesn't seem to be better than the current "framebuf", and has an
unfriendly license (NT4 DDK Sample).
2023-06-19 13:58:46 +03:00
Victor Perevertkin
b9b2608bfb [FRAMEBUF] Return the "old" driver back
It has a better license (GPL) and does not have visible drawbacks
compared to framebuf_new.
2023-06-19 13:58:43 +03:00
Katayama Hirofumi MZ
bc19bbe408 [MSPAINT] Add CMainWindow::CanPaste
CORE-18867
2023-06-19 18:59:00 +09:00
Katayama Hirofumi MZ
19d8862851 [MSPAINT] Fix CMainWindow::GetSaveFileName (#5356)
Fix filename extension cases and "File Type" field. If no filename extension on save, then append ".png" to the filename.
CORE-18867
2023-06-19 14:15:18 +09:00
Katayama Hirofumi MZ
64ef3ced9c [MSPAINT] Add CMainWindow::CanUndo/CanRedo (#5355)
- Add CMainWindow::CanUndo and CMainWindow::CanRedo and use them.
- Fix wrongly-disabled Undo/Redo in some cases.
CORE-18867
2023-06-19 14:13:43 +09:00
Katayama Hirofumi MZ
b5335fb90b [MSPAINT] Simplify SelectionModel::StretchSkew
...and omit cloning HBITMAP in SelectionModel::InsertFromHBITMAP. CORE-18867
2023-06-19 14:11:16 +09:00
Katayama Hirofumi MZ
7bb0561c2d [MSPAINT] Delete useless CTextEditWindow::m_nAppIsMovingOrSizing
CORE-18867
2023-06-19 13:47:24 +09:00
Katayama Hirofumi MZ
fdba69be7c [MSPAINT] Follow-up Part 2 of Realize Masked Skew (96d3883)
CORE-18867
2023-06-19 10:11:35 +09:00
Katayama Hirofumi MZ
2661b2db61 [MSPAINT] Improve Japanese (ja-JP) translation (IDS_CANTPASTE)
CORE-18867
2023-06-19 10:08:04 +09:00
Katayama Hirofumi MZ
96d3883686 [MSPAINT] Follow-up of Realize Masked Skew (9afcbea)
CORE-18867
2023-06-19 10:00:39 +09:00
Katayama Hirofumi MZ
9afcbea24e [MSPAINT] Realize Masked Skew
- Add CreateMonoBitmap and CopyMonoImage functions to dib.cpp.
- Add bMono parameter to SkewDIB function.
- Add hbmMask parameter to InsertFromHBITMAP function.
- Add ToolsModel::IsSelection.
CORE-18867
2023-06-19 09:56:02 +09:00
Katayama Hirofumi MZ
f6bd638b4d [MSPAINT] Don't show canvas size boxes if textEditWindow is shown
CORE-18867
2023-06-19 08:36:45 +09:00
Katayama Hirofumi MZ
17bdf55474 [MSPAINT] Smartly restrict CTextEditWindow's size and position
...by using WM_SIZING and WM_MOVING. CORE-18867
2023-06-19 08:25:23 +09:00
Katayama Hirofumi MZ
7aadc1e1fe [MSPAINT] Realize context menu on canvas (#5352)
- Add actions on Right-Click.
- Add ID_POPUPMENU resource menu.
- Use TrackPopupMenu to show the context menu.
- Improve CMainWindow::OnInitMenuPopup to display context menu.
- Add SelectionModel::m_bContentChanged flag to indicate whether the selection content is changed.
- Fix IDM_IMAGEINVERTCOLORS and IDM_IMAGEROTATEMIRROR commands.
CORE-18867
2023-06-19 07:51:19 +09:00
George Bișoc
0972f71d9a [NTOS:PNP] Assert the presence of a device extension when handling PnP root power IRPs
Handling PnP root driver power IRPs requires that a device object must come up
with a device extension to determine whether it is a function driver and if so,
handle the IRP accordingly.

CORE-18989
2023-06-18 20:44:13 +02:00
Stanislav Motylkov
89ecf32e0b [MSPAINT] Improve wording of IDS_CANTPASTE message
Follow-up of #5349 (9f56e67). CORE-18867
2023-06-18 19:16:17 +03:00
Stanislav Motylkov
d614d62b09 [EXPLORER] Update copyright headers 2023-06-18 18:52:02 +03:00
Stanislav Motylkov
21f0095cc4 [IPCONFIG] Update copyright headers 2023-06-18 18:34:39 +03:00
Katayama Hirofumi MZ
8ba330ead2 [MSPAINT] Follow-up of #5349 (9f56e67); Avoid assertion failure
CORE-18867
2023-06-18 20:34:49 +09:00
Katayama Hirofumi MZ
9f56e67bc2 [MSPAINT] Use CF_DIB instead of CF_BITMAP (#5349)
CF_BITMAP is not recommended format for copying. In fact, Win10 won't accept it.
- Use CF_DIB clipboard format instead of CF_BITMAP in copying.
- Use CF_ENHMETAFILE, CF_DIB, or CF_BITMAP in pasting.
- Add BitmapToClipboardDIB, BitmapFromClipboardDIB, and BitmapFromHEMF helper functions to dib.cpp.
- Re-enable paste by fixing the bug that is embugged in the previous commit.
- Enable Cut, Copy, Paste, and Delete on text editing box by modifying OnInitMenuPopup.
- Add IDS_CANTPASTE resource string to show message on paste failure.
CORE-18867
2023-06-18 19:48:20 +09:00
Eric Kohl
aaa0cb6724 [IPCONFIG] Use conutils and replace hardcoded strings 2023-06-17 15:23:18 +02:00
Katayama Hirofumi MZ
e8c7e30030 [MSPAINT] Establish Undo/Redo management (#5347)
- Painting the canvas is done by overlaying the multiple layers.
- Drawing each overlay is implemented as polymorphism of OOP.
- Refine the Undo/Redo mechanism.
- Some adjustments.
CORE-17969
2023-06-17 21:15:35 +09:00
Thamatip Chitpong
b7071f67a8 [TASKMGR] Remove CRTDBG (#5348)
taskmgr doesn't use any CRT allocation. I don't see the point of using it.

This reverts commit 2441e86 .

CORE-18991
2023-06-17 03:33:29 +09:00
Katayama Hirofumi MZ
2f856f6f0d [MSPAINT] Add CachedBufferDIB function and use it
We do caching on buffering paint.
This will improve performance a little.
CORE-18867
2023-06-16 08:05:23 +09:00
Hermès Bélusca-Maïto
c706222f3f [TASKMGR] Fix the license. Turns out it's LGPL-2.1-or-later from the texts.
Caught by Stanislav. Sorry for the oversight!
2023-06-15 19:45:23 +02:00
Hermès Bélusca-Maïto
f4735ccc9b [TASKMGR] Re-include StringSafe usage in trayicon.c (see e.g. 99fb812be) 2023-06-15 13:28:16 +02:00
Hermès Bélusca-Maïto
434798e312 [TASKMGR] Move strsafe.h into precompiled header. 2023-06-15 13:26:32 +02:00
Hermès Bélusca-Maïto
9927163455 [TASKMGR] Reorder page controls to have natural TAB-ordering. 2023-06-15 12:55:27 +02:00
Hermès Bélusca-Maïto
3bdc062fb9 [PSDK][NDK] Update SYSTEM_PERFORMANCE_INFORMATION definition with Win7+ members.
See https://www.geoffchappell.com/studies/windows/km/ntoskrnl/api/ex/sysinfo/performance.htm
for more information.
2023-06-15 12:55:08 +02:00
Hermès Bélusca-Maïto
d5707eefe2 [TASKMGR] High speed update is twice per second, and not every second.
And honour what is also told by the info in the status bar.
2023-06-15 12:45:08 +02:00
Hermès Bélusca-Maïto
2da0506f2a [TASKMGR] Remove more dead code. 2023-06-15 12:44:37 +02:00
Hermès Bélusca-Maïto
6e77747b30 [TASKMGR] Simplify tray icon code. 2023-06-15 12:44:29 +02:00
Hermès Bélusca-Maïto
0b4c8bdd1c [TASKMGR] Clamp the values returned from PerfDataGetProcessorUsage() and PerfDataGetProcessorSystemUsage() inside these functions.
It's necessary to make this clamping there so that returned values are
always used consistently in taskmgr, including in places where the
values are directly fetched into other functions.

This is a free adaptation from
Wine commit
a9742b3210c4cec67aca3c0012f3b9504a4368cf
From: Gerald Pfeifer <gerald@pfeifer.com>

taskmgr: Move out-of-domain checking into
PerfDataGetProcessorUsage() and PerfDataGetProcessorSystemUsage().
2023-06-15 12:44:21 +02:00
Hermès Bélusca-Maïto
7b53126375 [TASKMGR] Completely reformat perfpage.c, perfpage.h, procpage.h and trayicon.c
- Rename also these stupidly long "hPerformancePageBlablabla" variables.
- Remove unnecessary global variables in procpage.c/h.
2023-06-15 12:44:13 +02:00
Hermès Bélusca-Maïto
da7dcec6a0 [TASKMGR] Reformat the files' headers. Add Valerij in graphctl.c/h who rewrote most of the graph control. 2023-06-15 12:44:01 +02:00
Hermès Bélusca-Maïto
3fc702b588 Revert "[TASKMGR] Follow-up of 'Refactor trayicon.c' (99fb812)"
This reverts commit ec93c2340d.

Revert "[TASKMGR] Refactor trayicon.c"

This reverts commit 99fb812be4.
2023-06-15 12:43:36 +02:00
Katayama Hirofumi MZ
36aea8e56e [TASKMGR] affinity.c: Use _countof instead of sizeof/sizeof
CORE-18991
2023-06-15 16:22:43 +09:00
Katayama Hirofumi MZ
9a6c85f68a [TASKMGR] Fix PerfDataDeallocCommandLineCache
Do not leak memory. CORE-18014
2023-06-15 15:36:19 +09:00
Katayama Hirofumi MZ
7989e3f26c [TASKMGR] GraphCtrl_Dispose: Delete hdcGraph first
The pen might be selected at GraphCtrl_Dispose.
Do not delete a drawing object (pen or brush) while it is still selected into a DC.
CORE-18014
2023-06-15 15:14:32 +09:00
Katayama Hirofumi MZ
dc14a9f6e0 [TASKMGR] GraphCtrl: Use DeleteDC instead of DeleteObject to delete inst->hdcGraph
This reduces handle leak.
CORE-18014
2023-06-15 14:55:25 +09:00
Katayama Hirofumi MZ
2441e86963 [TASKMGR] Report any memory leaks on exit (#5340)
Use the power of CRT debug to detect memory leaks.
- Define _CRTDBG_MAP_ALLOC and include <crtdbg.h> after <stdlib.h>.
- Call _CrtSetDbgFlag at prologue of wWinMain.
CORE-18014
2023-06-15 14:27:06 +09:00
Katayama Hirofumi MZ
ec93c2340d [TASKMGR] Follow-up of 'Refactor trayicon.c' (99fb812) 2023-06-15 14:18:45 +09:00
Katayama Hirofumi MZ
99fb812be4 [TASKMGR] Refactor trayicon.c 2023-06-15 13:26:20 +09:00
Katayama Hirofumi MZ
ad61c574f4 [MSPAINT] Fix two handle leaks
CORE-18867
2023-06-15 10:55:59 +09:00
Katayama Hirofumi MZ
5675604d28 [MSPAINT] CMiniatureWindow: Avoid too small
CORE-18867
2023-06-14 20:17:49 +09:00
Hermès Bélusca-Maïto
61012eb544 [XBOXVMP] Fix in VideoPortGetAccessRanges call: missing Slot parameter.
Contrary to what is (badly) written on MSDN, this parameter is
*mandatory* when the ranges looked for are on a PCI adapter.

Detected when testing with MS Windows' videoprt.sys on XBOX emulator;
thanks to Simone Lombardo for assistance!
2023-06-14 12:10:55 +02:00
Katayama Hirofumi MZ
bfd42c67a1 [MSPAINT] Improve CMiniatureWindow (#5337)
- Save the position and size of the miniature window.
- Improve drawing of the miniature window.
- Sync with the canvas.
CORE-18867
2023-06-14 18:51:40 +09:00
Hermès Bélusca-Maïto
113656563a [HALX86] Minor fixes in HaliFindBusAddressTranslation()
- Remove ContextValue variable. This variable erroneously truncated
  *Context value (that can contain a pointer value) to 32 bits.

- Gracefully fail instead of asserting.
2023-06-14 11:27:24 +02:00
Hermès Bélusca-Maïto
4f41000714 [FLOPPY] "zero" parameters in IoQueryDeviceDescription() call are NULL pointers. 2023-06-14 11:24:47 +02:00
Hermès Bélusca-Maïto
84b4a80beb [NTOS:IO] Fix some bugs in the IoQueryDeviceDescription helpers (#5320)
- Add missing ExAllocatePool NULL checks.

- Fix order of KeBugCheckEx parameters for PNP_DETECTED_FATAL_ERROR.

- The Controller and Peripheral numbers are zero-based, so if the caller
  wants to inspect controller (or peripheral) zero, let it be so!
  The original code was treating controller number zero for enumerating
  controllers of a given class within the different buses, which is
  wrong. See the diff'ed trace below.
  Tested with Windows' videoprt.sys VideoPortGetDeviceData().

```diff
 IoQueryDeviceDescription()
     BusType:          0xB093C224 (0)
     BusNumber:        0xB093C228 (0)
     ControllerType:   0xF9D01030 (19)
     ControllerNumber: 0xF9D01038 (0)
     PeripheralType:   0x00000000 (4294967295)
     PeripheralNumber: 0x00000000 (4294967295)
     CalloutRoutine:   0xF9CF74E4
     Context:          0xF9D5A340
 --> Query: 0xF9D5A22C

 IopQueryBusDescription(Query: 0xF9D5A22C)
     RootKey: '\REGISTRY\MACHINE\HARDWARE\DESCRIPTION\SYSTEM'
     RootKeyHandle: 0x00000598
     KeyIsRoot: TRUE
     Bus: 0xF9D5A290 (4294967295)
     Seen: 'CentralProcessor'
     Seen: 'FloatingPointProcessor'
     Seen: 'MultifunctionAdapter'
     SubRootRegName: '\REGISTRY\MACHINE\HARDWARE\DESCRIPTION\SYSTEM\MultifunctionAdapter'

 IopQueryBusDescription(Query: 0xF9D5A22C)
     RootKey: '\REGISTRY\MACHINE\HARDWARE\DESCRIPTION\SYSTEM\MultifunctionAdapter'
     RootKeyHandle: 0x00000590
     KeyIsRoot: FALSE
     Bus: 0xF9D5A290 (4294967295)
     Seen: '0'
     SubRootRegName: '\REGISTRY\MACHINE\HARDWARE\DESCRIPTION\SYSTEM\MultifunctionAdapter\0'
     Getting bus value: 'Identifier'
     Getting bus value: 'Configuration Data'
     Getting bus value: 'Component Information'
     --> Getting device on Bus #0 : '\REGISTRY\MACHINE\HARDWARE\DESCRIPTION\SYSTEM\MultifunctionAdapter\0'

 IopQueryDeviceDescription(Query: 0xF9D5A22C)
     RootKey: '\REGISTRY\MACHINE\HARDWARE\DESCRIPTION\SYSTEM\MultifunctionAdapter\0'
     RootKeyHandle: 0x00000590
     Bus: 0
-    Enumerating controllers in '\REGISTRY\MACHINE\HARDWARE\DESCRIPTION\SYSTEM\MultifunctionAdapter\0\DisplayController'...
+    Getting controller #0
+    Retrieving controller '\REGISTRY\MACHINE\HARDWARE\DESCRIPTION\SYSTEM\MultifunctionAdapter\0\DisplayController\0'
```
2023-06-14 11:20:56 +02:00
Katayama Hirofumi MZ
318b2e786d [MSPAINT] Trivial improvements
- Use SetPixelV instead of SetPixel.
- BI_RGB is zero.
- Use CS_HREDRAW and CS_VREDRAW.
CORE-18867
2023-06-14 17:42:21 +09:00
Katayama Hirofumi MZ
3b4422b41b [MSPAINT] drawing.cpp: Refactor Erase, Replace and Airbrush 3
CORE-18867
2023-06-14 17:14:41 +09:00
Katayama Hirofumi MZ
0334498068 [MSPAINT] drawing.cpp: Refactor Erase, Replace and Airbrush 2
CORE-18867
2023-06-14 17:03:22 +09:00
Katayama Hirofumi MZ
78c8df8393 [MSPAINT] drawing.cpp: Refactor Erase, Replace and Airbrush
CORE-18867
2023-06-14 16:44:54 +09:00
Katayama Hirofumi MZ
6d9b7f77ad [MSPAINT] mouse.cpp: Use override keywords
CORE-18867
2023-06-14 16:01:10 +09:00
Katayama Hirofumi MZ
2b623c1d04 [MSPAINT] Refactor ImageModel (#5335)
- Unify ImageModel::Insert and ImageModel::CopyPrevious to ImageModel::PushImageForUndo.
- Delete useless stuffs.
- Fix some memory leaks.
- Fix IDM_IMAGECROP.
CORE-17969, CORE-18867
2023-06-13 23:23:48 +09:00
Katayama Hirofumi MZ
70f897e4c9 [FONTVIEW] Add Japanese translation (ja-JP) 2023-06-13 22:04:44 +09:00
Stanislav Motylkov
8d8e81ee7a [FONTVIEW] Update Russian (ru-RU) translation
Addendum to 5ef3f347. CORE-18952
2023-06-13 14:40:46 +03:00
Nikita Piatygorskiy
5ef3f347ad [FONTVIEW] Make hardcoded messages localizable (#5305)
- Move messages from OnInstall procedure to en-US resource file.
- Applied the same changes to all language files, now it's available
  for translation into other languages.

CORE-18952

Signed-off-by: Nikita Piatygorskiy <generalhammond16@gmail.com>
2023-06-13 14:12:26 +03:00
Stanislav Motylkov
2e836fb339 [FONTVIEW] Formatting only (for PR #5305) 2023-06-13 12:44:46 +03:00
Katayama Hirofumi MZ
fa4c3bd560 [MSPAINT] s/HasUndoSteps/CanUndo/ and s/HasRedoSteps/CanRedo/
CORE-18867
2023-06-13 18:24:42 +09:00
Katayama Hirofumi MZ
1a88607387 [MSPAINT] Move selection by arrow keys (#5334)
Improve keyboard usability.
- Add CCanvasWindow::MoveSelection.
- Modify CMainWindow::OnKeyDown.
- If Esc key is pressed, then the selection will land to canvas.
- If any arrow key is pressed, then the selection will move a bit.
CORE-18867
2023-06-13 16:31:18 +09:00
Katayama Hirofumi MZ
0087ea6597 [MSPAINT] Set CC_RGBINIT to CMainWindow::ChooseColor
It had failed to set initial color. CORE-18867
2023-06-13 15:51:52 +09:00
Katayama Hirofumi MZ
cb245ff711 [MSPAINT] Scrolled canvas has defects in dragging a selection
CORE-18990, CORE-18867
2023-06-13 14:57:59 +09:00
Katayama Hirofumi MZ
62b6859a67 [MSPAINT] Follow-up of #5332 (9ff9580)
Simplify the epilogue code of CCanvasWindow::OnSetCursor by using bHandle variable. CORE-18867
2023-06-13 14:18:12 +09:00
Jose Carlos Jesus
9ff9580fb0 [MSPAINT] Fix the type of cursor displayed when overlaying scrollbars (#5332)
When the window size is smaller than the image size in both directions, the wrong cursor is displayed when hovering the mouse over the scrollbars.

Readjust position for file date and file size objects, to fit all text.

CORE-18867
2023-06-13 13:01:39 +09:00
Thamatip Chitpong
3da25b73c2 [MMSYS] Use PWSTR instead of PWCHAR for string (#5333)
Use PWSTR instead of PWCHAR for string
Constify some function arguments
2023-06-12 21:52:56 +02:00
Katayama Hirofumi MZ
83762575e1 [MSPAINT] Add (CS_HREDRAW | CS_VREDRAW) style to CCanvasWindow
Reduce repainting defects. CORE-18867
2023-06-12 21:12:37 +09:00
Joachim Henze
d3164a0f55 [SHELL32] Strip leftover in CDefView::FillFileMenu() (#5330)
In 0.4.14-dev-955-g 1cf564c25f
Katayama experimented with populating explorers file-menu when no object is selected.

Later we found out, that none of the new entries introduced by that commit really
made sense and even created duplicates. So the commit was reverted by
0.4.15-dev-6039-g 0fa4edebd9 'Revert CDefView::FillFileMenu (#5278)' CORE-18429

But it seems that not all parts were properly reverted back then,
maybe because 6 lines of new code were written between the two lines in the meantime.
2023-06-11 20:53:25 +02:00
George Bișoc
0f9be53985 [WIN32K:NTUSER] Fix an unintialized user's token variable case
And remove the "!NT_SUCCESS(Status)" check which is excessive, the expected
status will always be STATUS_BUFFER_TOO_SMALL anyway. This should fix
some compilation warnings spotted by GCC. Courtesy goes to Hermes for letting
me know of these warnings.
2023-06-11 18:14:02 +02:00
Stanislav Motylkov
7d5e159131 [NTOS:PNP] Assign correct PnP IDs to the devices detected by bootloader
Based on a commit by Vadim Galyant:
5ef5c11e7f

Also fix a minor type conversion warning. CORE-18963 CORE-17977

Co-authored-by: Vadim Galyant <vgal@rambler.ru>
2023-06-11 16:19:02 +03:00
Oleg Dubinskiy
114bc2b96e [NTGDI][NTUSER] Load DirectX graphics driver at system startup (#4551)
CORE-18221

Load the DirectX graphics kernel driver (dxg.sys) by win32k at WINSRV
initialization time, in NtUserInitialize(). Keep it always loaded in
memory, as on Windows, instead of loading it only by DirectX dlls.

This fixes the problem of acessing this driver: we need only to call
DxDdEnableDirectDraw() and do other stuff when DirectDraw/Direct3D is
required by anything. In other cases, it is called from win32k PDEV
functions when changing display mode (as in Windows). Since it's used
by other things too, it needs to be always loaded.

Otherwise, if it's not loaded, its APIs are not accessible when needed,
and execution fails.

For example, it fixes display mode change problem in VMWare, when a
new mode fails to be applied. Indeed, when it manages DirectDraw stuff,
it calls DXG routines, and therefore fails if dxg.sys isn't loaded
in memory at this moment.

- Implement InitializeGreCSRSS() initialization routine, that initializes
  supplemental NTGDI/GRE data once CSRSS and WINSRV are loaded:
  * Call DxDdStartupDxGraphics() inside it, which loads dxg.sys.
  * Additionally, move fonts and language ID initialization there, from
   win32k!DriverEntry. Confirmed by analysis on Windows.

- Call InitializeGreCSRSS() in NtUserInitialize() main initialization routine
  (called by WINSRV initialization).

Moved to NTGDI from previously NTUSER place:

Co-authored-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2023-06-11 13:44:56 +02:00
Sophie Lemos
29a706fc5a [NTOS:PNP] Fix bug causing all devices be considered as already existing
We should compare against DeviceObject as DeviceInstance is never NULL.
Fix a resource leak as well. The bug CORE-18983 seems to lay somewhere
else though, I just stumbled upon this one while researching it.

Note there is a BSOD in the PnP manager on reboot after the driver
installation failure, but it seems it was uncovered by the fix
as opposed to caused by it.
2023-06-11 13:13:11 +03:00
Andrei Miloiu
fa388640ca [GETUNAME] Update Romanian translation (#5323) 2023-06-10 20:03:23 +00:00
Andrei Miloiu
0887c1c040 [GETUNAME] Update Romanian translation (#5323) 2023-06-10 21:47:35 +02:00
Jose Carlos Jesus
ed22908780 [MSPAINT] Update Portuguese (pt-PT) translation (#5319) 2023-06-10 16:21:54 +00:00
Milan Raymakers
4782c314d4 [TRANSLATION] Improve Dutch (nl-NL) translation (#4765)
- [NOTEPAD] Improve Dutch (nl-NL) translation
- [TASKMGR] Improve Dutch (nl-NL) translation
- [WELCOME] Improve Dutch (nl-NL) translation
- [EXPLORER] Improve Dutch (nl-NL) translation

Reviewed-by: Mark Jansen <mark.jansen@reactos.org>
2023-06-10 18:32:03 +03:00
Eric Kohl
c3db5e9c8e [ADVAPI32][SECLOGON] CreateProcessWithLogonW: Pass the environment to the callee 2023-06-10 14:10:14 +02:00
George Bișoc
59e74584ac [NTOS:SE] Refactor SeTokenCanImpersonate
- Refactor most of the code, since there's quite some stuff that don't make much sense.
For instance ImpersonationLevel is basically the requested impersonation level a
server asks for. PsImpersonateClient doesn't explicitly say that SecurityAnonymous
and SecurityIdentification are not allowed. If the server was to give such levels
it simply means it doesn't want to impersonate the client.

Another thing that doesn't make much sense is that we check if the client is
associated with an anonymous token, then avoid impersonating regular anonymous
tokens that weren't created by the system. Only system can create such tokens
and an anonymous token basically means a token with hidden security info.

- Check that the server is within the same client logon session.

- If the server is granted the SeImpersonatePrivilege privilege, allow impersonation
regardless of the conditions we want to check for.

- Update the documentation and code comments.
2023-06-09 11:53:56 +02:00
George Bișoc
8e2fe925f2 [NTOS:PS] Do not reference the copied token twice and properly assign the impersonation level in case the server can't impersonate
As it currently stands the PsImpersonateClient routine does the following approach.
If impersonation couldn't be granted to a client the routine will make a copy
of the client's access token. As it makes a copy of the said token PsImpersonateClient
will reference the copied token after impersonation info have been filled out.
In the same code path we are assigning the desired level for impersonation to thread
impersonation info.

This is wrong for two reasons:

- On a copy situation the SeCopyClientToken routine holds a reference as the object
has been created. Referencing it at the bottom of the PsImpersonateClient routine
will make it that the token is referenced twice and whenever a server stops
impersonation the token still has an extra reference count which keeps the token
still alive in object database and memory space.

- If client impersonation is not possible the thread impersonation info should
have been assigned SecurityIdentification level to further indicate that the
actual impersonation of the thread is not currently in force but instead we
are assigning the impersonation level that is supplied by the caller. For instance
if the requested level is SecurityDelegation but impersonation is not possible
the level will be assigned that of SecurityDelegation yet the token has an
impersonation level of SecurityIdentification. This could lead to erratic behaviors
as well as potential impersonation escalation.

Fix the aforementioned issues by avoiding a double reference and properly assign
the impersonation level to SecurityIdentification if the server is not able to
impersonate the target client.
2023-06-09 11:53:55 +02:00
George Bișoc
f483e42f89 [NTOS:SE] Grant the SYSTEM process the missing privileges
- Add the missing privileges to the SYSTEM privileges which might be needed,
notably SeUndockPrivilege, SeManageVolumePrivilege, SeCreateGlobalPrivilege and
SeImpersonatePrivilege.

Specifically SeImpersonatePrivilege is important here because with it we
allow system components of the core OS to perform certain system tasks.

- Declare the Groups array with a maximum of 3 elements in SepCreateSystemProcessToken
and 1 element in SepCreateSystemAnonymousLogonToken respectively, because previously
this array was oversized with most of free space left as a waste.

- Avoid hardcoding the size value of the Privilege array, instead initialize it
by hand and compute the exact number of elements with RTL_NUMBER_OF.
2023-06-09 11:53:51 +02:00
George Bișoc
d8bfe2a261 [GITHUB] Draft PRs should be exempt from closure by the stale PR bot 2023-06-09 11:43:04 +02:00
George Bișoc
56a450147c [GITHUB] Temporarily disable MSBuild
Due to a update of MSBuild build worker, MSBuild keeps failing which is a nuisance.
Temporarily disable that worker until a proper fix is shipped.

CORE-18911
2023-06-06 20:06:01 +02:00
Hermès Bélusca-Maïto
8061a6f6f4 [FREELDR] Cleanup some FldrCreateComponentKey() calls and archwsup.c 2023-06-05 22:39:47 +02:00
Hermès Bélusca-Maïto
0b695a6f70 [NTOS:IO] iorsrce.c: Add DBG traces for bus/device enumeration functions. 2023-06-04 21:40:08 +02:00
Hermès Bélusca-Maïto
2674e26cbb [NTOS:IO] Reformat iorsrce.c, no functional code changes.
- Fix whitespace; add SAL annotations, doxygen documentation...

- Deduplicate the array of description strings corresponding to
  IO_QUERY_DEVICE_DATA_FORMAT.

- Unhardcode the "[3]" into 'IoQueryDeviceMaxData': the maximum number
  of device data queried.
2023-06-04 21:40:07 +02:00
Hermès Bélusca-Maïto
509359b3ec [DDK] Add some documentation about the VIDEO_HARDWARE_CONFIGURATION_DATA structure. 2023-06-04 21:40:06 +02:00
Hermès Bélusca-Maïto
2e305b251b [DDK] Correct PERF_CONFIGURATION_DATA definition. 2023-06-04 21:40:05 +02:00
Hermès Bélusca-Maïto
8d242c6229 [SDK] Add CONFIGURATION_TYPE definition back in arc.h
The definition is also in xdk/iotypes.h and ntddk.h around _ARC_DDK_
for compatibility, but arc.h should also be self-contained regarding
ARC definitions.
2023-06-04 21:40:04 +02:00
Hermès Bélusca-Maïto
789a296c43 [SDK:XBOX] Add missing 'VOID' in empty function prototypes. 2023-06-04 21:40:03 +02:00
Hermès Bélusca-Maïto
6db0d24fb6 Fix typo "managment" -> "management" in our codebase...
... except for 3rd-party code or "official" names.
2023-06-04 21:39:56 +02:00
Katayama Hirofumi MZ
13b1eadebb [KERNEL32] LCMapString: Convert Chinese characters (#5316)
* [KERNEL32] LCMAP_SIMPLIFIED_CHINESE and LCMAP_TRADITIONAL_CHINESE

* fix

* improve

* reduce data

* improve
2023-06-04 21:46:01 +09:00
George Bișoc
51279c3e44 [NTOS:SE] Refactor NtOpenThreadTokenEx
- Wrap most of the code into a new private routine, SepOpenThreadToken.
And properly fail gracefully if we fail to open a thread's token instead of just keeping going.

- Do not use the same thread object that we have referenced in NtOpenThreadTokenEx
to do a copy of the access token in case we can't open it directly.
Instead we must reference a new object with full access, solely used for
the purpose to do our required operations.

- Add debug prints

CORE-18986
2023-06-04 11:09:34 +02:00
George Bișoc
a389f8aa0c [NTOS:SE] Make an access token effective after the end of token duplication
Removing any disabled privileges or groups in the middle of token dynamic
part allocation can pose problems. During the operation of making an access
token as effective, we are toying with the privileges and groups arrays
of the token.

After that we are allocating the dynamic part and set EndMem (the end tail
of the memory part) to that dynamic part, previously it was set to the
variable part. As a matter of fact we are making the token effective in
the middle where EndMem still points to VariablePart, thus DynamicPart
will end up with memory pool blocks butchered in the pool list.

Another problem, albeit not related to the DynamicPart corruption, is that
the code starts iterating over the UserAndGroups array from 0, which is
the actual user. One cannot simply remove the user from the array, so we
have to start looping right from the groups.

Move the token effective code part at the end of the SepDuplicateToken
function, which fixes the random pool corruptions caused by the butchered
DynamicPart.

CORE-18986
2023-06-04 11:09:22 +02:00
Katayama Hirofumi MZ
d708c7947b [MSPAINT] Use better units for image resolution (#5301)
Our paint program used the pixels per meter (PPM)
unit but this unit is hardly used in the world.
Let's use DPI (dots per inch) and/or pixels per
centimeter (PPCM). CORE-18867
2023-06-04 11:24:00 +09:00
Timo Kreuzer
b29b2682bf [UMPNPMGR] Fix uninitialized variable (#5310)
The unhiding and guilty revision that was identified by @stasm by bisecting the
bootability of LiveCD was 0.4.15-dev-6050-g13e6cbc
As that was the symptom: "We could not longer boot livecd". CORE-18986
2023-06-01 19:44:05 +09:00
Katayama Hirofumi MZ
36cdd34814 [MSPAINT] Use black and R2_NOTXORPEN instead of white and R2_XORPEN
Workaround. CORE-18867, CORE-18921
2023-05-31 17:00:05 +09:00
Katayama Hirofumi MZ
bddd8b058c [MSPAINT] Minor adjustment on drawing text on TOOL_TEXT
CORE-18867
2023-05-31 13:31:50 +09:00
Katayama Hirofumi MZ
aeffa57ec7 [MSPAINT] Fix textbox background by using WM_CTLCOLOREDIT
CORE-18867
2023-05-31 13:21:01 +09:00
Eric Kohl
2626c724e9 [UMPNPMGR] Replace some magic values 2023-05-29 11:58:09 +02:00
Eric Kohl
024daea0af [UMPNPMGR] Check ulFlags in PNP_GetGlobalState
Return CR_INVALID_FLAG if ulFlags is not zero.
2023-05-29 09:54:31 +02:00
Eric Kohl
13e6cbcafa [UMPNPMGR] Check for interactive caller in PNP_ReportLogOn
Do not run device install when a non-interactive user logs on.
2023-05-29 09:38:31 +02:00
Eric Kohl
e54b32b434 [RPCRT4] Set binding handle for server functions
This enables us to impersonate server functions using RpcImpersonateClient.
2023-05-28 21:04:01 +02:00
Timo Kreuzer
8f9ef68ea7 [WIN32K][WIN32U] Fix system call ids (#5287)
- Delete the win32ksvc-ros.h file, which was not used
- Use a separate file for x64 (based on 2k3 x64 free)
- Delete w32ksvc.db. It's unused since ages.
2023-05-28 16:19:50 +03:00
Stanislav Motylkov
b29e82d0e0 [APPWIZ] Use new Appwiz-mode to start RAPPS with "Installed" section open
CORE-18981
2023-05-27 15:38:35 +03:00
Stanislav Motylkov
acbb73a89d [RAPPS] Open "Installed" section in Appwiz-mode when RAPPS already runs
CORE-18981
2023-05-27 15:38:01 +03:00
Stanislav Motylkov
ff1fa4f38a [RAPPS] Add /APPWIZ command-line key to open "Installed" section
Addendum to ab7ddc44. CORE-18981
2023-05-27 15:36:53 +03:00
Stanislav Motylkov
d6fecc52d1 [RAPPS] Move CMainWindow creation to upper function 2023-05-27 15:31:03 +03:00
Stanislav Motylkov
85ca8afb60 [NTOS:PNP] IopEnumerateDetectedDevices(): General refactoring
CORE-18962

- Deduplicate a while-loop by adding one more recursive call.
- Add IopMapDetectedDeviceId() helper function with a structure
  in order to reduce hardcoded constants and checks.
2023-05-27 12:22:57 +02:00
Nikita Piatygorskiy
2eb67000a5 [DXDIAG] Fix inconsistent WS_DISABLED style (#5303)
Make resource files consistent among different languages.

CORE-18903

Add the WS_DISABLED flag for IDC_BUTTON_HELP and IDC_BUTTON_SAVE_INFO,
in those places where it was not done. The actions corresponding to those
buttons are currently unimplemented, this is why they were disabled.

Signed-off-by: Nikita Piatygorskiy <generalhammond16@gmail.com>
2023-05-26 18:47:06 +02:00
Timo Kreuzer
2b8c1b0dac [WIN32K] Fix WindowExtra for some server-side classes
These values are based on apitest results.
2023-05-25 18:56:02 +03:00
Timo Kreuzer
05cd3406e7 [USER32] Fix SetWindowWord/Long
These must use the corresponding NtUserSetWindowWord/Long function and cannot use NtUserSetWindowLongPtr, otherwise the function can fail, when there is only space for a LONG, but not for a LONG_PTR at the specified offset.
2023-05-25 18:56:02 +03:00
Katayama Hirofumi MZ
0fa4edebd9 [SHELL32] Revert CDefView::FillFileMenu (#5278)
CORE-9467, CORE-18429, CORE-11797
2023-05-23 17:38:12 +09:00
Stanislav Motylkov
634415cace [RAPPS] Update Russian (ru-RU) translation 2023-05-21 23:24:05 +03:00
Hermès Bélusca-Maïto
44e1d87596 [USER32] RegisterClassExWOWW/ExA: NULL or IS_ATOM class are treated the same. (#5291)
CORE-18978

Fixes NULL pointer access when e.g. class.lpszClassName == NULL and
the class is registered. The RegisterClass(ExA/W/...) should return 0
instead of throwing an invalid access exception.

However, providing an invalid pointer will trigger a crash.
2023-05-21 19:35:19 +02:00
Hermès Bélusca-Maïto
f172f98a10 [USER32] Minor formatting and dead-code removal.
Remove dead code CreateSmallIcon from commit e0968c78 (r18764);
see also b243445c (r60592).
2023-05-21 19:28:53 +02:00
Andrei Miloiu
b59bae8bb9 [BROWSEUI] Update Romanian translation (#5299) 2023-05-21 14:41:59 +02:00
Andrei Miloiu
474f4d05c0 [EXPLORER] Update Romanian translation (#5294) 2023-05-21 14:40:49 +02:00
Andrei Miloiu
c7d9949b9d [DESK] Update Romanian translation (#5298) 2023-05-21 14:37:26 +02:00
Andrei Miloiu
fd0b294dfc [FC] Update Romanian translation (#5292) 2023-05-21 14:31:12 +02:00
Andrei Miloiu
676c34ae79 [DISKPART] Update Romanian translation (#5296) 2023-05-21 14:30:01 +02:00
Doug Lyons
8a7b5a9009 [SHELL32][USER32] Fix icon regression and one test (#5207) 2023-05-21 11:18:00 +02:00
Jose Carlos Jesus
32f80b5929 [UTILMAN] Fix content order in IDC_LISTBOX (#5289)
OSK et Magnify are mixed at initialization (language dependent),
LBS_STANDARD includes LBS_SORT style that changes the content in the listbox.

Patch by KRosUser.

CORE-18274
2023-05-20 20:48:30 +02:00
Philippe Morin
8b4572c159 [TRANSLATION][BROWSEUI] Improve French (fr-FR) translation (#5295)
CORE-18914
2023-05-20 20:45:05 +02:00
Stanislav Motylkov
eef0b74546 [UTILMAN] Fix resource file headers. No code changes.
Addendum to 636f2e32.
2023-05-20 20:42:07 +02:00
Andrei Miloiu
b54ec5bde3 [SOLITAIRE] Update Romanian translation (#5293) 2023-05-20 17:44:56 +02:00
Jose Carlos Jesus
636f2e3241 [UTILMAN] Add Portuguese (pt-PT) translation (#5290) 2023-05-19 10:27:19 +02:00
Dmitry Borisov
27c0f0e72d [FREELDR] Fix builds for PC-98 and Xbox platforms (#5275)
Fix broken build after UEFI support merge.
Addendum to commit 150f72127.

CORE-11954, CORE-16216, CORE-17977

Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2023-05-18 20:05:50 +02:00
Hermès Bélusca-Maïto
e2b04fe75d [ATTRIB] Improve command-line parsing. (#5288)
Fix arguments parsing and redundant code in case no file specification
has been given.
(Handles both "attrib" and "attrib +h /s" as given in example.)
2023-05-18 13:07:31 +02:00
Jose Carlos Jesus
7f45cac9ab [REGEDIT] Creating a new Key should add a new entry even when no child exist. CORE-18878 (#5274)
- Avoid using a NULL pointer when My Computer is selected, by disabling the New Key menu item.
- Simplifies and fix code style in GetItemPath function.
- Add a new entry even when no child items exist.
CORE-18878
2023-05-18 19:16:49 +09:00
Hermès Bélusca-Maïto
f870bbe1d4 [ATTRIB] Simplify the ErrorMessage() function.
And send the errors to the error stream.
2023-05-18 12:12:44 +02:00
Hermès Bélusca-Maïto
0f50a22d3b [ATTRIB] Reorganize resource file headers.
Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
2023-05-17 19:40:43 +02:00
Hermès Bélusca-Maïto
b3c55b9e6c [NTOS:LPC] Ensure debug-traced pointer-given user-mode data is captured. (#4399)
CORE-18098
2023-05-17 17:40:37 +02:00
Hermès Bélusca-Maïto
e4d572a432 [NTOS:LPC] Turn a DPRINT1 into an LPCTRACE. (#4399)
CORE-18098
2023-05-17 17:40:29 +02:00
Hermès Bélusca-Maïto
cbae866df3 [KERNEL32] CreateProcessInternalW: Initialize uninitialized ClientId.
This situation happens when either of the two "goto VdmShortCircuit;"
code paths are taken when starting a DOS or WoW16 app.
2023-05-17 16:17:42 +02:00
Hermès Bélusca-Maïto
1cbcc4ac5c [KERNEL32] Minor comments improvements in CreateProcessInternalW. 2023-05-17 16:17:38 +02:00
Thamatip Chitpong
56e93b882d [TASKMGR] Add status bar description for "Properties" and "Open File Location" menu items (#5280)
Also fix access key collision for en-US/el-GR.
2023-05-17 12:41:28 +02:00
Timo Kreuzer
15fbcc19b9 [NTOS:KE/x64] Fix KiConvertToGuiThread
- Do not allocate a new stack, if the thread already has a large one. This prevents the function from freeing a large stack as a normal stack and subsequently leaking system PTEs.
- Fix the check for failure of PsConvertToGuiThread (test eax, not rax, for being negative, because by default rax is zero extended from eax, not sign extended). This fixes an infinite loop on failure.
2023-05-16 22:03:13 +03:00
Timo Kreuzer
c7fd9983cb [USER32_APITEST] Add tests for GetClassInfo 2023-05-16 21:59:19 +03:00
Timo Kreuzer
a9675d00a2 [USER32_APITEST] Add tests for [Get|Set]Window[Word|Long|LongPtr] 2023-05-16 21:59:19 +03:00
Hermès Bélusca-Maïto
fefc5f4823 [RAPPS] Centralize RAPPS exposed names: registry & user local settings (#4214)
Centralize the names of the RAPPS' registry setting sub-key, and
user local settings & offline apps database sub-directories.

- Change the name of the application database sub-directory from
  "rapps\rapps" to "RApps\appdb".

- Adjust the documentation to reflect this.

- Simplify CConfigParser constructor by removing GetINIFullPath().
2023-05-16 12:37:49 +02:00
Jose Carlos Jesus
30bc0b6b7a [CPL:INPUT] Fix "Dvorak" typo in all .rc files (#5277)
CORE-18843
2023-05-11 16:28:59 +02:00
Katayama Hirofumi MZ
1e5e184cbd [APPWIZ] start_params: Simplify using L"..." 2023-05-11 13:01:02 +09:00
Katayama Hirofumi MZ
df531336b1 [ADVAPI32_APITEST] IsTextUnicode: Use __LINE__ to identify test entry
CORE-18837
2023-05-11 12:27:18 +09:00
Stanislav Motylkov
059d12a5ac [NTOS:PNP] IopEnumerateDetectedDevices(): Fix CmResourceList leak
CORE-18962
2023-05-10 20:29:29 +02:00
Katayama Hirofumi MZ
d8946e20cb [NTUSER] Implement THREADSTATE_CHECKCONIME (#5272)
- Add THREADSTATE_CHECKCONIME handling in NtUserGetThreadState function.
CORE-11700
2023-05-10 20:24:21 +09:00
Hermès Bélusca-Maïto
3eb6cca9bd [RAPPS] Cleanup headers inclusions (#4206) 2023-05-10 12:12:25 +02:00
Katayama Hirofumi MZ
4aff629302 [IMM32][NTUSER][SDK] Add ImmCallImeConsoleIME (#5271)
- Add <jpnvkeys.h>.
- Add imm32!ImmCallImeConsoleIME.
CORE-11700
2023-05-10 14:04:01 +09:00
Stanislav Motylkov
6e3ad0411a [NTOS:PNP] IopEnumerateDetectedDevices(): Formatting only
CORE-18962
2023-05-08 16:07:11 +02:00
Stanislav Motylkov
484c26d99f [NTOS:PNP] Move Firmware Mapper functions into new file
CORE-18962
2023-05-08 16:07:01 +02:00
Hermès Bélusca-Maïto
7112815e23 [FREELDR] PeLdrLoadImage: FileName -> FilePath and make it const. 2023-05-07 22:14:30 +02:00
Katayama Hirofumi MZ
8b948ff062 [KERNEL32][SDK] RegisterConsoleIME and UnregisterConsoleIME (#5270)
The conime.exe program exists in WinXP/Win2k3 and it realizes Console IME. conime.exe calls kernel32!RegisterConsoleIME and kernel32!UnregisterConsoleIME. To realize Console IME, these two functions are required. CORE-11700
2023-05-07 22:55:46 +09:00
Artyom Ovsyannikov
c50b94579e [TASKMGR][TASKKILL][HIVESYS] Russian translation update (#5120) 2023-05-05 22:31:29 +02:00
Philippe Morin
3e9d5b8e2d [TRANSLATION][DESK.CPL] Improve French translation (#5218) 2023-05-05 21:32:40 +02:00
Thamatip Chitpong
9d48f26d29 [WINLOGON] Implement logoff and MessageBeep sounds support (#4755)
CORE-13951
2023-05-05 20:18:34 +02:00
Thamatip Chitpong
cc114a0706 [REACTOS] Add converted sound files (#4755)
CORE-13951

Add ReactOS_Critical_Stop.wav and ReactOS_Notify.wav
2023-05-05 20:18:12 +02:00
Dmitry Borisov
8df1b53508 [NTOS:CM] Initialize the alternative system architecture field on PC-98 builds (#5136)
This is needed by some 3rd party drivers.
CORE-17977
2023-05-05 18:04:35 +02:00
Thamatip Chitpong
f18111b641 [WINMM] Winmm fixes for system sound (#4635)
CORE-13951

MIDIMAP_LoadSettings and PlaySound:
Use RegOpenCurrentUser to access the appropriate HKEY_CURRENT_USER key.
This allows functions that use HKEY_CURRENT_USER to be called from system
processes while impersonating, for example: winlogon.

PlaySound:
- Open the correct registry key.
- Expand environment strings if registry value type is REG_EXPAND_SZ.
- Handle "SystemDefault" event and improve flags handling.
- Don't use proc_PlaySound as thread proc.
- Fix SND_ASYNC flag for system processes.
  Move get_mmio* code out of proc_PlaySound to fix impersonation problem.
2023-05-05 14:19:34 +02:00
Tom Brogan
a5bff2457a [SHELL32] Improve disk properties pie chart (#5239)
CORE-18906

- Increase the vertical height of the disk space pie chart and center
  the "Drive %c" label below it.
- Add a 1 pixel outline at the sides and bottom of the disk properties
  pie chart.
- Explicitly set the outline pen instead of relying on the DC's default pen.
- Widen "Disk Cleanup" button on ja-JP locale, to prevent the text from
  being clipped due to the larger font size and spacing.
2023-05-05 13:35:32 +02:00
Splitwirez
ba5ed3ffbb [THEMES] Several fixes for Lautus style (#5253)
- CheckBoxes now show checkmarks when checked;
- Titlebar text alignment is now consistent between restored/maximized windows;
- 2-column Start Menu header now shows its intended background image.
2023-05-05 13:32:44 +02:00
Joachim Henze
4393e6cb54 [REGEDIT] de-DE.rc Fix accelerator collision (#5265)
Alt+D in german translation is already reserved for the file menu "&Datei"
in ROS and in MS Windows, thus we cannot use the same as accelerator
for focusing the address bar.
So for german we will use Alt+S instead, which is the same shortcut that
german MS+ROS explorer use for focusing their address bar.

This is an addendum to commit f908d37bb from PR #4885
which broke the german file-menu accelerator.
2023-05-05 13:30:21 +02:00
Katayama Hirofumi MZ
2d31b06c67 [NTUSER] Remember old KL for Chinese IMEs (#5266)
The Chinese user uses Ctrl+Space key combination to switch between the IME keyboard and the non-IME keyboard. To enable Ctrl+Space, the system has to remember the previous keyboard layout. In IntImmActivateLayout function, remember the previous keyboard layout (hklPrev) to switch back for Chinese IMEs. CORE-18950
2023-05-05 17:00:05 +09:00
Timo Kreuzer
df72bcd06c [NTOS:KDBG] Only load symbols on x86
Symbol loading leads to a hang on x64 boot in 2nd stage and KDBG symbols don't work on x64 anyway.
2023-05-04 14:09:14 +03:00
Justin Miller
f2a58733e8 [FREELDR][SDK] Build UEFI bootloader for ARM32 (#5196)
CORE-17604

- Disable some functions for ARM32;
- Remove some link options not used on ARM;
- Add get _controlfp() to LIBCNTPR to link properly on ARM;
- Unify Freeldr UI Drawing on ARM;
- Add qemu UART debugging for ARM32/ARM64.
2023-05-03 20:56:06 +02:00
Katayama Hirofumi MZ
a0bef1998e [KBSWITCH] Rely on GetKeyboardLayoutList for getting list (#5263)
- Use GetKeyboardLayoutList to get the keyboard list instead of using Preload registry key.
- Get the special IDs from registry to handle special HKLs in newly-added LoadSpecialIds function.
- Add GetKLIDFromHKL, GetHKLFromLayoutNum, UpdateLayoutList, and GetKLIDFromLayoutNum helper functions.
CORE-13145, CORE-10667, CORE-18924
2023-05-03 07:45:35 +09:00
Katayama Hirofumi MZ
e6bced7a35 [EXPLORER][RUNDLL32] Restore minimized non-task windows (#5228)
The minimized non-task windows were not usable due to the bugs. In some situations, the system will restore the minimized non-task windows.
- Add IsTaskWnd helper function.
- Add SendPulseToTray function to send a pulse to the tray window.
- At some shell hook handlings, send a pulse to the tray window.
- Add IgnorePulse flag to control the timing of restoring.
- Add a timer to reset IgnorePulse flag.
- If the pulse has come and IgnorePulse flag is false, then restore the minimized non-task windows.
- Modify the rundll32 window procedure.
- Use WINDOWPLACEMENT to restore the minimized windows.
CORE-13895, CORE-18350
2023-05-03 07:39:05 +09:00
Joachim Henze
31fdaca8c0 [REGEDIT] Strip redundant include, minor formatting (#5264)
strsafe.h is already included via regedit.h
2023-05-01 16:50:01 +02:00
Vincent Franchomme
aaeb131bd4 [EXT2FS] Align with upstream and mark ReactOS diff (#5245)
NOTE: There are no new features in this PR, we stay with upstream version 0.69.
CORE-18645

- Add ifdefs to distinguish ReactOS code/fixes from the upstream code;
- If upstream code was overriden, reintroduce it in #else section;
- Re-align .rc version info with upstream (0.69).
2023-04-30 18:26:30 +02:00
Jose Carlos Jesus
39d5f1bf54 [SHELL32] Enable Network Connection Rename (#5073)
CORE-18750
- Add Network Connection pidl type 0x99;
- Add binary comparison to pidl memory range.
2023-04-30 15:40:10 +02:00
Doug Lyons
5c8ec78b71 [SETUPAPI] Sync setupapi/queue.c to Wine 4.8 (#5233)
Sync setupapi/queue.c to Wine 4.8 to improve cab extraction.
This fixes 'fixme:(dll/win32/setupapi/queue.c:418) awful hack: extracting cabinet'
2023-04-30 15:34:26 +02:00
Jose Carlos Jesus
a0d747fa50 [COMDLG32] Enable saving files with different extension (#4903)
As on Windows, gives precedence to the user's extension in file names if there is one.
Otherwise appends the selected extension. If not selected, append default extension.
2023-04-30 15:21:20 +02:00
Justin Miller
1fd9d11f16 [FREELDR] Add disk access handlers for UEFI (#5219)
CORE-11953
2023-04-30 14:57:10 +02:00
Joachim Henze
3c797b314f [E1000] Stop logging MAC, is sensitive data of log-contributors (#5254) 2023-04-29 23:02:03 +02:00
Katayama Hirofumi MZ
7ee41e9e60 [KBSWITCH] Delete SHLoadRegUIString hack (#5260)
Because shlwapi!SHLoadRegUIString function is already implemented, so we don't need the hack any more. CORE-10667
2023-04-29 07:28:56 +09:00
Katayama Hirofumi MZ
7eda556c64 [INPUT] Remove fake SHLoadRegUIStringW hack (#5258)
Because shlwapi!SHLoadRegUIStringW function is already implemented, so we don't need the hack any more. CORE-11700
2023-04-29 07:27:54 +09:00
Katayama Hirofumi MZ
c9ed65e0cc [NOTEPAD] Delete my name from resource copyright text (#5261)
The copyright text was too long. CORE-18837
2023-04-28 21:48:45 +09:00
Katayama Hirofumi MZ
31f3eb1d57 [RICHED20] RichEdit: CompForm and CandForm (#5257)
Correctly display the composition window and the candidate window.
- At update_caret function, set the position and font of the composition window.
- We don't use internal composition string. Rely on the composition window.
- Improve WM_IME_SETCONTEXT, WM_IME_CONTROL, WM_IME_SELECT, WM_IME_STARTCOMPOSITION, WM_IME_COMPOSITION and WM_IME_ENDCOMPOSITION message handlings.
CORE-11700
2023-04-28 08:28:57 +09:00
Mark Jansen
507aae4c30 [ATL] Take _ATL_FREE_THREADED into account
When it is not defined, COM should not be initialize multithreaded
2023-04-27 16:29:21 +02:00
Katayama Hirofumi MZ
f4b7087a0e [ADVPACK_APITEST] Add advpack_apitest:DelNode testcase (#5256)
Preparation for advpack!DelNodeA/W functions implementation. CORE-13275, ROSTESTS-276
2023-04-27 20:35:41 +09:00
Mark Jansen
4cdcea5e65 [SHELL32] Implement SHQueryRecycleBinW 2023-04-26 22:50:11 +02:00
Mark Jansen
08d808cc44 [ATL] Add CAtlList::SwapElements 2023-04-26 22:48:29 +02:00
Katayama Hirofumi MZ
9d7d3314b3 [REGEDIT] Check whether pszSelectKey is NULL on CDN_FILEOK (#5255)
Avoid crash on exporting root. Add NULL check of pszSelectKey on CDN_FILEOK handling. CORE-18938
2023-04-25 18:04:36 +09:00
Thamatip Chitpong
560671a784 [NTUSER] Improve MsqPostMessage (#5225)
- MsqPostMessage: Fill Message structure before InsertTailList. For style consistency.
- MsqPostMessage: Fix the use of MessageQueue variable
2023-04-24 20:11:46 +02:00
Mark Jansen
d3feae5139 [ATL_APITEST] Add test for OBJECT_ENTRY_AUTO
CORE-18936
2023-04-22 21:24:04 +02:00
Mark Jansen
d12880829f [ATL] Add OBJECT_ENTRY_AUTO for simpler com object registration
Of course gcc needs a nasty hack to include the symbol.
CORE-18936
2023-04-22 21:23:55 +02:00
Mark Jansen
bf29d98a54 [PSDK] Add some more argument names 2023-04-22 18:31:49 +02:00
George Bișoc
8e7b22a631 [NTOS:OB] Fix the SAL2 annotation of ObQueryTypeInfo
The data has to be written into ObjectTypeInfo based on the return length,
not only what is provided by the input buffer length. Fix suggested by
Hermès.
2023-04-22 17:18:57 +02:00
George Bișoc
00c69bcd15 [NTOS:OB] Properly calculate the return length in ObQueryTypeInfo
On a x86 system aligning the return length pointer to a 4-byte boundary
works best since pointers in general are 4-byte aligned for x86 systems.

However, what happens on a AMD64 system is that we still align this pointer
to 4-byte, ObjectTypeInfo is a 8-byte pointer and we might write into
the return length past the 4-byte boundary.

If one were to allocate a pool of memory with that length and query all
the object types info and free the said pool of memory thereafter, the
system will crash with BAD_POOL_HEADER because ObQueryTypeInfo overwrote
the return length past the 4-byte boundary length therefore leading up with
corrupted memory blocks in the pool header.

This symptom of BAD_POOL_HEADER happens exactly the same in Windows Server
2003 x64 Edition. Newer versions of Windows like 10 aren't affected.

But, Windows has another bug where they are using MaximumLength for the
calculation of the needed length to be returned to caller. MaximumLength
does not guarantee you that it includes the NULL-terminator in the length
and that potentially leads to a buffer overrun.

Also annotate the ObQueryTypeInfo function with SAL2.

https://processhacker.sourceforge.io/doc/object_8c_source.html (read the
comment in KphObjectTypeInformation).
2023-04-21 12:45:31 +02:00
Atharva Kulkarni
6eee9f9daf [SCSIPORT] Flush and Free Map Registers (#5190)
- Flush Map registers once the DMA completes
- Free Map registers once the DMA completes
- Add support for SGL allocated from NonPagedPool

Test:
Force Allocations of SGL from Non Paged Pool and ensure OS boots and functions properly

Test Logs:
SpiAdapterControlFORCING ALLOCATION FROM SGPOOL
SpiAdapterControlFORCING ALLOCATION FROM SGPOOL
SpiAdapterControlFORCING ALLOCATION FROM SGPOOL
SpiAdapterControlFORCING ALLOCATION FROM SGPOOL
SpiAdapterControlFORCING ALLOCATION FROM SGPOOL
SpiAdapterControlFORCING ALLOCATION FROM SGPOOL
DHCPCSVC: Adapter Name: [{7cd69ac0-dabb-410a-b927-cb3961d174da}] (dynamic)
SpiAdapterControlFORCING ALLOCATION FROM SGPOOL
WARNING:  HalCalculateScatterGatherListSize at hal\halx86\generic\dma.c:1168 is UNIMPLEMENTED!
SpiAdapterControlFORCING ALLOCATION FROM SGPOOL
SpiAdapterControlFORCING ALLOCATION FROM SGPOO
2023-04-21 12:44:31 +02:00
Adam Słaboń
6eb8fe4f82 [NTOS:MM] MmCanFileBeTruncated: Check whether second (optional) parameter was passed (#5248)
Second parameter is optional, so mark it as such and check whether it was passed. Fixes a sporadic 0x24 bugcheck caused by access violation when running ReactOS on NTFS volume with WinXP ntfs.sys.
2023-04-19 23:12:11 +02:00
Vincent Franchomme
058726a2c1 [I8042PRT] Add Dell Latitude D410 to the hack list (#5246) 2023-04-18 10:03:16 +02:00
Mark Jansen
6e35c75035 [GITHUB] Add Labeler rule for ATL 2023-04-17 18:12:27 +02:00
Mark Jansen
09afeeccf5 [GITHUB] Add Labeler rule for shell stuff 2023-04-17 18:12:26 +02:00
Mark Jansen
9c8580a1e0 [ATL] Add CString::AppendFormat 2023-04-17 18:09:34 +02:00
Timo Kreuzer
28a305e26a [USER32_APITEST] Comment out a test for GetMessageTime that randomly fails on Windows 2023-04-17 00:41:31 +03:00
Timo Kreuzer
b292036347 [JSCRIPT_WINETEST] Disable a test that fails on Windows 2003 2023-04-17 00:41:31 +03:00
Timo Kreuzer
81d58bcf06 [NTDLL_APITEST] Fix a test for NtMapViewOfSection 2023-04-17 00:41:31 +03:00
Timo Kreuzer
7d4833cb34 [NTDLL_APITEST] Try to fix test for NtMapViewOfSection
Remove a 0 sized test.dll, which overwrites an already present proper test.dll
2023-04-17 00:41:31 +03:00
Timo Kreuzer
893f880b60 [WIN32KNT_APITEST] Disable test for NtGdiDdQueryDirectDrawObject 2023-04-17 00:41:31 +03:00
Timo Kreuzer
69de8de402 [STATIC_CRT_APITEST] Add todo to tests that fail on Windows 2023-04-17 00:41:31 +03:00
Timo Kreuzer
53d481993d [SHELL32_APITEST] Disable CUserNotification test
The test doesn't work on Windows 2003, because the balloon window does not close itself.
2023-04-17 00:41:31 +03:00
Timo Kreuzer
0181560848 [KERNEL32_APITEST] Make tests pass on Windows 2003 2023-04-17 00:41:31 +03:00
Timo Kreuzer
e536256e0a [USER32_APITEST] Remove "ugly ros hack"
This hack corrupts memory and causes test failures on Windows.
2023-04-17 00:41:31 +03:00
Timo Kreuzer
8a455da532 [IPHLPAPI_APITEST] Fix tests so they pass on Windows 2003 and Windows 10 2023-04-17 00:41:31 +03:00
Timo Kreuzer
78a31ce423 [GDIPLUS_WINETEST] Make tests pass on Windows 2003 2023-04-17 00:41:31 +03:00
Hervé Poussineau
49246541de [WIN32SS:ENG] Do not free LDEV if unloading a driver failed
Currently, LDEVOBJ_bUnloadImage always returns FALSE due to missing functionality in ntoskrnl.
LDEVOBJ_vFreeLDEV contains an assert that driver is correctly unloaded before freeing it.
Prevent this assert by calling LDEVOBJ_vFreeLDEV only if LDEVOBJ_bUnloadImage succeed.

This can be easily triggered if DrvEnableDriver function (called in LDEVOBJ_bEnableDriver) fails.
2023-04-16 19:37:05 +02:00
Adam Słaboń
7d71456144 [MKISOFS] Fix MSVC build on ARM hosts
Check also for MSVC target machine macros on ARM
2023-04-16 18:53:54 +02:00
Thamatip Chitpong
42ef03381f [HHCTRL.OCX] Reduce ROS diff 2023-04-16 18:53:19 +02:00
Timo Kreuzer
93dface84e [PSEH] Change return type of filter function prototype to avoid broken return from inside it. 2023-04-14 11:56:08 +03:00
Timo Kreuzer
cb74d9e24e [NTOS/CC] Fix broken usage of _SEH2_FINALLY
Finally handlers are - unlike except blocks - not part of the function they are in, but separate functions, which are called during unwind. PSEH implements them on GCC using nested functions. While "return" from a finally handler is allowed with native SEH, it's handled by the compiler through an extra unwinding operation using _local_unwind, WHICH IS NOT SUPPORTED BY PSEH! With PSEH, returning from a finally handler does not return from the function, instead it will only return from the finally handler and the function will continue below the finally handler as if there was no return at all. To fix this, the return is removed and an additional success check is added.
Also use _SEH_VOLATILE to make sure the variable assignment is not optimized away by the compiler and add zero out the result parameters on error.
2023-04-14 11:56:08 +03:00
Timo Kreuzer
b2fcd27aaa [NTOS/CC] Fix calls to CcRosEnsureVacbResident
The function returns BOOLEAN, not NTSTATUS! Also wrap it in SEH, because it can throw an exception on failure.
2023-04-14 11:56:08 +03:00
Timo Kreuzer
178285c275 [USER32_WINETEST] Change module type to win32cui to be able to see test results 2023-04-14 11:47:29 +03:00
Mark Jansen
89f58017c0 [CODEOWNERS] Add Giannis and myself as reviewer for shell related stuff 2023-04-13 19:09:55 +02:00
Thamatip Chitpong
77d4653164 [NTUSER] co_UserDestroyWindow: Validate window before destroying it (#5054)
Prevent the window from being destroyed twice
fixes BSOD 0x1E CORE-18821
2023-04-12 22:20:46 +02:00
Thamatip Chitpong
15c755e5f9 [MMSYS] Improve sound test button (#4879)
- Make sound test button able to stop the sound (like WinXP's mmsys.cpl)
- Change stop icon
- Add documentation for GetSoundDuration
2023-04-12 22:00:37 +02:00
Hermès Bélusca-Maïto
99b0e4b9a9 [NTOS:KDBG] Only use the direct KdbPrintf instead of KdbpPrint (pager) inside the exception handler (outside the debugger main loop). 2023-04-12 19:30:57 +02:00
Hermès Bélusca-Maïto
9808d32f4a [NTOS:KDBG] Use local KdbPrintf function for DPRINT1 instead of DbgPrint...
... that would otherwise cause a debugger re-entry.

Also use KdbPuts/Printf instead of KdpDprintf that won't be available
once KDBG is moved out of it.
2023-04-12 19:30:56 +02:00
Hermès Bélusca-Maïto
f620ce7705 [NTOS:KDBG] Introduce local versions of KdpPrintString, KdpDprintf and KdpPromptString...
... since the original ones are internal to the kernel and won't be
available once KDBG is moved out of it.

Use these functions in the pager/prompt support.
2023-04-12 19:30:54 +02:00
Hermès Bélusca-Maïto
fdf4814ebb [NTOS:KDBG] Correctly balance KeStackAttachProcess with KeUnstackDetachProcess, instead of KeDetachProcess. 2023-04-11 00:44:11 +02:00
Hermès Bélusca-Maïto
579eab8a31 [NTOS] Include kdbg/kdb.h only in the files that really need it. 2023-04-11 00:44:10 +02:00
Katayama Hirofumi MZ
8f2c2c1def [COMCTL32][USER32] EDIT: Fix caret position for IME
CORE-11700
2023-04-10 08:27:50 +09:00
Katayama Hirofumi MZ
5ff0ef403e [NTUSER] IntImmActivateLayout: Set CI_IMMACTIVATE if not pImeWnd (#5231)
In IntImmActivateLayout function, if pImeWnd was NULL and pti->spDefaultImc was non-NULL, then set CI_IMMACTIVATE flag. CORE-11700
2023-04-09 15:19:47 +09:00
Katayama Hirofumi MZ
66c8ded454 [COMCTL32][USER32] EDIT: CompForm and CandForm (#5226)
The changes of this PR are on EDIT controls.
- Delete composition_len and composition_start members.
- Add EDIT_ImmSetCompositionWindow helper function.
- At EDIT_SetCaretPos, set the position of the composition window.
- We don't use internal composition string. Rely on the composition window.
- Improve WM_IME_STARTCOMPOSITION, WM_IME_COMPOSITION and WM_IME_ENDCOMPOSITION message handling.
CORE-11700
2023-04-09 15:19:19 +09:00
Katayama Hirofumi MZ
a9284b5664 [MSPAINT] Fix handle leaks about memory bitmap
This fixes CORE-18919. CORE-18867
2023-04-09 11:17:17 +09:00
Doug Lyons
bfc6a119c5 [ADVAPI32] Do not fail on creating a registry key if the security attributes have an invalid length. (#5230)
Provide graceful handling of RegCreateKeyExW when lpSecurityAttributes->nLength is zero.
This reverts commit cc0716b65 (SVN r24491).
JIRA issue: CORE-15471
2023-04-09 04:04:04 +02:00
Katayama Hirofumi MZ
96c7fe4ccd [MSPAINT] Fix Copy and Paste
Call GetSelectionContents in SelectionModel::GetBitmap.
CORE-18920, CORE-18867
2023-04-09 09:14:32 +09:00
Katayama Hirofumi MZ
639739a7cd [MSPAINT] Fix SelectionModel::InsertFromHBITMAP bug
CORE-18867, CORE-18920
2023-04-09 09:01:14 +09:00
Katayama Hirofumi MZ
f45d80adc9 [MSPAINT] Canvas: Don't draw new frame if HIT_NONE
CORE-18867
2023-04-09 08:49:18 +09:00
Katayama Hirofumi MZ
132f482de2 [MSPAINT] imageSaved = FALSE after image size change
...and redraw canvas after image resizing is canceled.
CORE-18867
2023-04-09 08:23:44 +09:00
Katayama Hirofumi MZ
fc5311aaf2 [RAPPS] Calculate download listview position (#5232)
Correctly display Download ListView at right position in any languages. CORE-18706
2023-04-09 05:51:23 +09:00
Katayama Hirofumi MZ
efe7368c46 [MSPAINT] Make imageArea window-less (#5215)
- Move imageArea code into canvasWindow.
- Delete imgarea.cpp, imgarea.h, and imageArea.
- Add CCanvasWindow::ImageToCanvas and CCanvasWindow::CanvasToImage to convert the coordinates.
- Realize drawing of resizing image area.
CORE-18867
2023-04-08 22:25:27 +09:00
Katayama Hirofumi MZ
fa322c2e14 [RAPPS] Improve Japanese translation
CORE-18706
2023-04-08 17:32:11 +09:00
Katayama Hirofumi MZ
994732c4bb [RUNDLL32][SHELL32] Rename 'rundll32_window' as 'RunDLL' (#5229)
Improve compatibility.
- Rename window class "rundll32_window" as "RunDLL".
- Delete some shell32 codes about this window class.
CORE-13895, CORE-18350
2023-04-08 15:20:07 +09:00
Hermès Bélusca-Maïto
f8f9c170b1 [KDGDB] Fix GCC build. Addendum to commits b577ac07 and de81021ba.
See also PR #5217.
2023-04-05 03:33:42 +02:00
Hermès Bélusca-Maïto
30369b8005 [NTOS] "Bugzilla" --> "Jira" 2023-04-05 03:33:41 +02:00
Hermès Bélusca-Maïto
dfc2cc4e42 [NTOS:KD] Fix buffer overflow for the signon in KdPortInitializeEx.
The built string can be:
°°Kernel Debugger: Serial port found: COM1 (Port 0x000003F8) BaudRate 115200°°°°
(with ° representing the \r and \n in the message)
and you can verify that this is more than 80 characters in total.
2023-04-05 03:33:39 +02:00
Hermès Bélusca-Maïto
641c89d834 [KDVBOX] Fix port name comparison. 2023-04-05 03:33:38 +02:00
Hermès Bélusca-Maïto
2b27d08576 Grmbl... 2023-04-05 01:53:32 +02:00
Hermès Bélusca-Maïto
143f8549a5 [NTOS:IO] ... and fix build by adding missing header. 2023-04-05 01:45:32 +02:00
Hermès Bélusca-Maïto
4c6f7c01e5 [NTOS:IO] Avoid magic value in LdrProcessDriverModule. 2023-04-05 01:39:32 +02:00
Hermès Bélusca-Maïto
8b35e46903 [SHIMGVW] Update the display window when selecting the Previous/Next picture. (#5223)
Patch by KRosUser.
CORE-18905
2023-04-04 22:14:14 +02:00
Joachim Henze
99e5f51d5b [SDK] Shorten autogenerated Copyright strings (#5210)
that we do compile into almost every dll and exe.
Reduces unnecessary scrolling in the
Versions tab of file properties dlg, which precedes the Copyright phrase anyway.

MS also uses shorter strings and therefore doesn't require to scroll at all.
See attached screenshots in the PR.
2023-04-04 12:10:59 +02:00
Katayama Hirofumi MZ
2b356adbc5 [COMCTL32][USER32] EDIT: WM_SETFONT for IME (#5214)
- Call ImmSetCompositionFontW in WM_SETFONT handling of EDIT controls if necessary.
- If the specified font is NULL, then use DEFAULT_GUI_FONT.
CORE-11700
2023-04-04 19:09:21 +09:00
Katayama Hirofumi MZ
d0c657074d [MSPAINT] Allow paletteWindow to be bottom-aligned (#5216)
The user will be able to move the palette window to bottom by dragging.
- Add Bar1ID registry setting.
- Move paletteWindow to top or bottom in mainWindow's WM_SIZE handling.
- Track the mouse dragging on paletteWindow.
- If the dragging is beyond the center point, then move paletteWindow.
CORE-18867
2023-04-04 19:06:06 +09:00
Justin Miller
ccef43f3b0 [FREELDR] Implement the memory managment functions for UEFI (#5174)
CORE-11954

- EFI binaries have a different subsystem in the PE header;
- ENVIRON: Make sure INTN and UINTN are 64bit for 64bit platforms;
- Handle UEFI Memory maps and translate it for freeldr;
- Add FAILED_TO_EXIT_BOOTSERVICES Freeldr BSoD code.
2023-04-03 17:33:20 +02:00
Katayama Hirofumi MZ
83e83bfd2c [MSPAINT] Allow ToolBox to be right-aligned (#5213)
The user will be able to move ToolBox in the main window by dragging.
- Add Bar2ID registry setting.
- Add CPaintToolBar class to encapsulate the toolbar code.
- Capture and track the mouse dragging in CToolBox.
- Move the ToolBox if dragging is beyond the center position.
CORE-18867
2023-04-03 14:34:56 +09:00
Atharva Kulkarni
ce562727b8 [MSI] Fix empty disc costing (Terragen, ...) (#5201)
JIRA issue: CORE-18749
2023-04-02 19:19:21 +02:00
Atharva Kulkarni
e13c3e856f [MSI] Revert to previous working solution for disk usage display in dialog.c (#5194)
There is a bug, which displays empty optical drive as a valid Drive where applications can be installed, which is wrong. This change will skip displaying any drives that are not fixed in the disk usage table in the msi installer UI.

JIRA issue: CORE-18758

Proposed changes

Revert to old solution from Doug Lyons which was working fine.
2023-04-02 19:16:18 +02:00
hpoussin
1bdefebc9e Enable framebuf_new driver (#4775)
Replace framebuf display driver by framebuf_new display driver
Compile framebuf_new as framebuf.dll, and add it to bootcd/livecd
Remove old framebuf from compilation, to not conflict
2023-04-02 23:33:15 +09:00
Joachim Henze
9ee9f73369 [NTUSER] Fix BSOD 0x1E nullptr deref CORE-18899 (#5212)
fix authored by JIRA-user "TANGaming". I do suspect that the possibility of that nullptr deref was introduced on the master branch by 0.4.13-dev-962-g 4193b8d. Doug Lyons signalled his "ok" regarding the fix in chat already. CORE-18899
2023-04-02 23:27:42 +09:00
Joachim Henze
c37addcbf5 [CONSOLE] Harmonize IDC_LBOX_FONTTYPE height to 40 for *.rc (#5211)
40 is what en-US uses, and most other langs used that meanwhile as well. Some were forgotten to be synced though.
While comparing all the files, use the opportunity to slightly improve some headers also.
2023-04-02 23:25:43 +09:00
fulup29
14cf589cbc [SHELL32] Improve French (fr-FR) translation (#5179)
CORE-18382

Original patch is used to fix and improve french translation and layout.
The original (erroneous) horizontal shift of the second checkbox is kept.
It should be fixed homogeneously in all translations at once later.
2023-04-02 00:07:52 +02:00
Jérôme Gardou
573d579873 [NTOSKRNL] Flush file to disk when deleting file mappings (#4302)
CORE-17627
When closing a file, fastfat zeroes it out from ValidDataLength up to the end of the file.
The ValidDataLength field is updated when the file content is actually written to disk.
There is currently a race between the file-close path and the page out path, leading to potential file corruptions when the zeroing happens after the memory has been flushed to disk.

Fix this by actually flushing the file to disk when unmapping files, with file lock acquired. This way, the FS driver cannot zero out the tail of the file while we're actually flushing it to disk.
2023-04-01 23:56:49 +09:00
Katayama Hirofumi MZ
84e580b67e [REGEDIT] Fix ListView selection and finding (#5150)
We will check the data size correctly, instead of 3 NUL byte appending hack. Add bSelectNone parameter to UpdateAddress and RefreshListView functions. If bSelectNone is TRUE, then select nothing of ListView. Fix item selection of ListView. Rename CompareData helper function as MatchData and improve it. Improve the search algorithm. If the item selection of ListView changed, scroll down to the item. Follow up to #5146. CORE-15986, CORE-18230
2023-04-01 22:21:59 +09:00
Katayama Hirofumi MZ
aac89519ec [MSPAINT] Make selection window-less (#5208)
- Delete selection.cpp and selection.h and selectionWindow.
- Extend ColorKeyedMaskBlt function.
- Implement selection resizing.
CORE-18867
2023-04-01 22:01:04 +09:00
Katayama Hirofumi MZ
3f5bcf5775 [KERNEL32] LCMapString: Fullwidth/halfwidth conversion (#5206)
- Add file dll/win32/kernel32/winnls/string/dakuten.h.
- Add file dll/win32/kernel32/winnls/string/full2half.h.
- Support LCMAP_FULLWIDTH and LCMAP_HALFWIDTH in LCMapString.
CORE-11700
2023-04-01 11:33:36 +09:00
valmorflores
2687c1b415 [NOTEPAD][OSK] Improve/Add Portuguese (Brazilian pt-BR and Portugal pt-PT) translations (#5124)
Co-authored-by: Julen Urizar Compains <julenuri@hotmail.com>
2023-03-31 01:37:45 +02:00
Doug Lyons
c8fc8264fe [SHELL32_APITESTS] Add ROS.ico test file. Improve shell32:ExtractIconEx tests (#5169)
Improve shell32:ExtractIconEx tests by updating it and adding more test files and 1 new icon file.

JIRA issue: ROSTESTS-381

Add new ROS.ico file which has both a normal icon and a PNG one.
Update testing to test for count of icons in file and separately extract the 0th one.
Add tests for sysicon.ico, explorer.exe and the new ROS.ico files.
2023-03-30 13:31:13 +02:00
Hermès Bélusca-Maïto
1bb4167211 [NTOS:KD] Fix build, addendum to commit f3dd7133.
This one was more subtle because the prompt (KdIoReadLine) functionality
makes a call-back to KDBG own command history getter function KdbGetHistoryEntry.
It is planned for this to become a registered optional callback pointer.
2023-03-29 03:36:24 +02:00
Hermès Bélusca-Maïto
3c0ba6b22c Fix build, addendum to commit 35180b3a 2023-03-29 02:55:06 +02:00
Hermès Bélusca-Maïto
35180b3ad2 [NTOS:KDBG] Isolate terminal and input-related routines from the rest of KDBG. (#5188)
This is done in preparation for moving all this functionality in a
separate KDTERM "KD Terminal Driver" DLL.

Additionally:

- Flush the terminal input before sending ANSI escape sequences.

- In KDBG pager, always use the correct reading-key function (the
  same used also for reading keys for a line of user input), and not
  the simplistic two-call KdbpGetCharSerial + KdbpTryGetCharSerial
  that would split the \r \n across calls.

- Call KdbpGetCommandLineSettings() in KdbInitialize() at BootPhase 0,
  which is indirectly called by KdDebuggerInitialize0(). And fix its
  command-line parsing too.
2023-03-29 02:42:31 +02:00
Joachim Henze
56bf3969cd [SYSSETUP] Tweak IDD_COMPUTERPAGE positioning (#5198)
- make all 3 input boxes IDC_COMPUTERNAME, IDC_ADMINPASSWORD1, IDC_ADMINPASSWORD2 on this page the same length for all languages and start and end at same x-coord, e.g. sk-SK.rc, uk-UA.rc
- let the input boxes end at the same x as the edits in the previous dlg IDD_OWNERPAGE
- respect the right margin of the dialog with all controls for all languages, makes it look more harmonic to previous and next dlg, see video:
- make the input fields as wide as possible, but not wider, depending on what the language allowed I used width of 139, 148, 163 (163 is same as the EDITs in IDD_OWNERPAGE used)
- fix too small x offset for some controls in some languages like bg-BG.rc, that looked very off
- in zh-CN.rc fix the maximum allowed length for computer name from 63 to 15
- ja-JP.rc 15 is max chars for computer name, not 63
- Fix it-IT text truncation "Organizzazione" in IDD_OWNERPAGE
- pl-PL.rc Steal some wisdom from 0.4.9 to better stick with en-US.rc dimensions.
2023-03-29 01:23:00 +02:00
Hermès Bélusca-Maïto
f3dd713382 [NTOS:KD:KDBG] Isolate the read-line (prompt) functionality in a separate file.
Rename KdbpReadCommand as KdIoReadLine. Extract the last-command
repetition functionality out of KdIoReadLine and put it where it
belongs: only in the KDBG command main loop KdbpCliMainLoop.
2023-03-28 16:14:40 +02:00
Hermès Bélusca-Maïto
430d7ebb93 [NTOS:KDBG] Use KdbpSendCommandSerial() to send specific ANSI escape sequences.
Use this function instead of KdpDprintf(), otherwise, we send them to
**ALL** the display providers, including for example dmesg. Replaying
the listing with dmesg would then cause the terminal to misbehave later.
For example, it would send the answer of a "Query Device Attributes"
command, as the response to a query for terminal size...
2023-03-28 16:14:39 +02:00
Katayama Hirofumi MZ
29e147beca [MSPAINT][ATL] Encapsulation: mainWindow (#5178)
- Add DoCreate methods to CFullscreenWindow, CMiniatureWindow, and CMainWindow classes.
- Do encapsulation around mainWindow and _tWinMain.
- Add GetOpenFileName, GetSaveFileName, and ChooseColor helper methods to CMainWindow class.
- Move some code in WinMain into CMainWindow::OnCreate.
- Delay creation of CFullscreenWindow and CMiniatureWindow.
- Extend ATL CImage class as CImageDx in newly-created atlimagedx.h of mspaint.
CORE-18867
2023-03-28 22:31:26 +09:00
Katayama Hirofumi MZ
0569bbd4a7 [KERNEL32] LCMapString: Sync to Wine a little (#5203)
Preparation for LCMAP_FULLWIDTH and LCMAP_HALFWIDTH support.
Slightly synchronize lang.c to locale.c in Wine's dlls/kernelbase.
CORE-11700
2023-03-28 21:09:27 +09:00
Katayama Hirofumi MZ
3b82b8370d [NTOSKRNL] Fix build in Release; #include 'kd.h' 2023-03-28 17:20:42 +09:00
Katayama Hirofumi MZ
ab5aff5948 [KERNEL32] Follow-up of #5200 (5d1ae45)
Add "Voiced Iteration Marks" to convert.
CORE-11700
2023-03-28 10:00:22 +09:00
Hermès Bélusca-Maïto
412037a2e2 [NTOS:KD] Use local print-like functions for output, instead of the kernel-internal KdpDprintf.
Indeed, the latter won't be accessible once those KD IO functions
get moved out into a separate KDTERM.DLL.
2023-03-28 02:42:53 +02:00
Katayama Hirofumi MZ
5d1ae45b83 [KERNEL32] LCMapString: Hiragana/Katakana conversion (#5200)
Implement LCMAP_KATAKANA and LCMAP_HIRAGANA flags. CORE-11700
2023-03-28 08:37:17 +09:00
Katayama Hirofumi MZ
3526ffc094 [BLUE] Optimize ScrIoControl for speed (#5185)
Optimize IOCTL_CONSOLE_FILL_OUTPUT_ATTRIBUTE and IOCTL_CONSOLE_FILL_OUTPUT_CHARACTER for speed by using cache. CORE-18838
2023-03-28 08:12:38 +09:00
Hermès Bélusca-Maïto
6084da8c84 [NTOS:KDBG] Move command history management in a separate file. Simplify duplicated code in KdbpReadCommand. 2023-03-27 23:31:34 +02:00
Hermès Bélusca-Maïto
eb02a85214 [NTOS:KD] Split internal/kd.h into a part shared in the whole kernel and a private part only used within ntoskrnl/kd. 2023-03-27 23:31:34 +02:00
Hermès Bélusca-Maïto
bfd07a02f1 [NTOS:KD] Update file headers. 2023-03-27 23:31:33 +02:00
Hermès Bélusca-Maïto
6fafe54f89 [NTOS:KD:KDBG] Move some files to a better place. 2023-03-27 23:31:28 +02:00
Katayama Hirofumi MZ
6d650bfc8f [COMCTL32][USER32] WM_IME_CHAR: Rely on DefWindowProc... (#5191)
Use DefWindowProc... for WM_IME_CHAR handling. CORE-15289, CORE-11700
2023-03-27 19:42:47 +09:00
Joachim Henze
7c755d9b84 [SYSSETUP] Delete obsolete lt-LT.rc
syssetup/lang/lt-LT.rc is a 100% copy of en-US.rc. Not a single string or path within did differ.
The file emerged once during some refactoring when parts from userenv were moved to syssetup in SVN r73518 == git c24dcb3ff2 .

By deduplicating that file syssetup.dll shrinks for GCC8.4.0dbg RosBEWin2.2.2
and it will speed up the development of that module if one rc-file less has to be groomed everytime something is added into syssetup.dll.
It is quicker to recreate that file later if some use for translation would evolve in the module.

I linked this commit against CORE-18893 although my commit did neither introduce
nor would solve that bug of 'the language not generating any startmenu entries'!

I stumbled over the file being a total copy of en-US
after that ticket was created already and then compared the contents of lt-LT.rc to en-US.rc
So I though the linking would make kind of sense.

I installed in lithuanian before and after my commit. No change!

lt-LT.rc was the last one of such rc copy-pastes in [SYSSETUP], I double-checked them all now.
2023-03-27 01:09:31 +02:00
Joachim Henze
c762234546 [SYSSETUP] Fix font glitch in ja-JP.rc (#5192)
CORE-18706
2023-03-26 12:04:41 +09:00
George Bișoc
f364bfc8f4 [KMTESTS:OB] Refactor OBJ_DIRECTORY_TYPE_INFO_SIZE define construct
Object types are mere type names with no backslash. Also remove wcslen()
from the define, it's not needed.
2023-03-25 19:47:26 +01:00
Joachim Henze
b373b7a11e [SYSSETUP] Fix typo in german de-DE.rc
That typo was introduced by 0.4.15-dev-3638-g 3f053db3e7
and did only affect the master branch.
2023-03-25 18:21:39 +01:00
Joachim Henze
3963d7d5f2 [SYSSETUP] Delete obsolete fi-FI.rc
syssetup/lang/fi-FI.rc is a 100% copy of en-US.rc. Not a single string or path within did differ.
The file emerged once during some refactoring when parts from userenv were moved to syssetup in SVN r73518 == git c24dcb3ff2 .

By deduplicating that file syssetup.dll shrinks from 1.374.208 -> 1.361.920 for GCC8.4.0dbg RosBEWin2.2.2
and it will speed up the development of that module if one rc-file less has to be groomed everytime something is added into syssetup.dll.
It is quicker to recreate that file later if some use for translation would evolve in the module.

I linked this commit against CORE-18893 although my commit did neither introduce
nor would solve that bug of 'the language not generating any startmenu entries'!

I stumbled over the file being a total copy of en-US
after I saw that glitch and created the ticket and then compared the contents of fi-FI.rc to en-US.rc
So I though the linking would make kind of sense.

I installed in finnish before and after my commit. No change!
2023-03-25 14:16:03 +01:00
Thamatip Chitpong
9f9b81e396 [AFD] ReceiveActivity: Don't return STATUS_FILE_CLOSED in case of FCB overread (#4972)
Based on patch by KRosUser. Remove the Overread member. The new test in ws2_32:recv confirms that this special behavior is never needed.
CORE-18328
2023-03-25 14:00:26 +01:00
Katayama Hirofumi MZ
a027eb7ccb [EXPLORER] Improve Clock text color for High Contrast (#5180)
Use GetSysColor(COLOR_BTNTEXT) to get the system color in CTrayClockWnd::OnPaint. CORE-18886
2023-03-25 21:31:32 +09:00
George Bișoc
faa6f940d5 Tag Win32SS related PRs with "Win32SS" label 2023-03-25 13:23:06 +01:00
George Bișoc
1b33c9415c [KMTESTS:OB] Write some object information querying tests 2023-03-25 11:55:11 +01:00
George Bișoc
29fc7bb33e [NTOS:OB] Implement name information querying on ObjectBasicInformation case
Currently there is no implementation support for object name information
querying when someone queries information about an object with ObjectBasicInformation
class case. Some device drivers may take use of such information.

NameInfoSize is a size that is the sum of all name directories of an object,
including path separators. TypeInfoSize is a size that is pointed by
the size of a type object itself, therefore this size remains pretty much
fixed depending on the kind of an object.

For more information:
https://www.geoffchappell.com/studies/windows/km/ntoskrnl/inc/api/ntobapi/object_basic_information.htm
http://undocumented.ntinternals.net/index.html?page=UserMode%2FUndocumented%20Functions%2FNT%20Objects%2FType%20independed%2FNtQueryObject.html
2023-03-25 11:55:11 +01:00
Thamatip Chitpong
640e2283d4 [NTUSER] VerifyWnd: Remove pointless SEH and simplify the function (#5125) 2023-03-23 10:22:10 +01:00
Ratin Gao
d09072626b [KERNEL32] GlobalMemoryStatusEx should handle error and return FALSE when failed 2023-03-23 09:42:58 +01:00
Artyom Ovsyannikov
1fe3ab7823 [NOTEPAD] Russian (ru-RU) translation update (#5181)
Google Translate helped me to translate some lines.
2023-03-23 14:33:18 +09:00
Katayama Hirofumi MZ
8d26b03775 [COMCTL32][USER32] EDIT: Half-implement WM_IME_SETCONTEXT handling (#5182)
Add WM_IME_SETCONTEXT handling to the window procedure of the EDIT control. CORE-11700, CORE-15289
2023-03-23 12:24:40 +09:00
Katayama Hirofumi MZ
b25daf4b56 [COMCTL32][USER32] EDIT: Half-implement WM_IME_STARTCOMPOSITION (#5183)
Improve WM_IME_STARTCOMPOSITION handling in the window procedure of the EDIT control. CORE-15289, CORE-11700
2023-03-23 12:24:00 +09:00
Hermès Bélusca-Maïto
fe81656776 [NTOS:KD] DbgKdGetStringApi implementation: Ensure the returned string is NULL-terminated.
Addendum to commit 84e32e4e.

Explain more accurately what's going on regarding the returned string
and the inaccurate claims made in the official DbgPrompt documentation
in MSDN. (Has been verified by looking through the traffic in WinDbg
debugging of Windows and ReactOS.)
2023-03-22 19:58:01 +01:00
Hermès Bélusca-Maïto
9d9536d431 [NTOS:KD64] Format string of KdpDprintf can be const. 2023-03-22 19:57:59 +01:00
Joachim Henze
16decc61be [UNIATA] PROPERLY mark the rosdiff when touching 3rd party code
This is an addendum to 0.4.15-dev-5854-g 08248e83a0 from (#5053).

The review requests had not been addressed entirely before committing!
2023-03-22 06:18:54 +01:00
Katayama Hirofumi MZ
5c8d578a15 [MSPAINT] Simplify OFNHookProc and FileExtFromFilter
... by using PathFindExtension and PathFindFileName.
CORE-18867
2023-03-22 10:42:21 +09:00
Katayama Hirofumi MZ
be518f9f5a [COMCTL32][USER32] EDIT: Default processing on WM_IME_SELECT/WM_IME_CONTROL (#5173)
Do default processing on WM_IME_SELECT and WM_IME_CONTROL messages in EDIT controls. CORE-11700, CORE-15289
2023-03-22 09:09:38 +09:00
Katayama Hirofumi MZ
68e6820ddf [MSPAINT] Improve CMiniatureWindow::OnPaint
CORE-18867
2023-03-22 08:10:26 +09:00
Atharva Kulkarni
08248e83a0 [UNIATA] Fix Memory leak while claiming PCI IDE controller (#5053)
HalAssignSlotResources will allocate a new resource list which the caller must free.
2023-03-22 01:01:18 +03:00
Katayama Hirofumi MZ
cb454ef9ed [MSPAINT] Simplify TextEdit by using SizeBox (#5177)
Reduce source code. CORE-18867
2023-03-21 13:15:08 +09:00
Katayama Hirofumi MZ
57891b5f34 [MSPAINT] Tool settings: Reduce magic numbers (#5168)
Many coordinates are dynamically calculated. It is adjustable against client area change.
- Fix some brush/eraser shapes for pixel perfection.
- Reduce magic numbers in toolssettings.cpp.
- Refactoring.
CORE-18867
2023-03-21 13:13:53 +09:00
Katayama Hirofumi MZ
d28e39e409 [NOTEPAD] Use _countof macro from <stdlib.h> (#5170)
- Remove the definition of ARRAY_SIZE macro.
- Replace ARRAY_SIZE and ARRAYSIZE with _countof.
CORE-18837
2023-03-21 08:59:40 +09:00
Katayama Hirofumi MZ
49d8c1af21 [REGEDIT] Move '#include <crtdbg.h>' and add _CRTDBG_MAP_ALLOC
- Add #include <stdlib.h>.
- Move #include <crtdbg.h> to "regedit.h".
- Add #define _CRTDBG_MAP_ALLOC before #include <crtdbg.h>.
CORE-18876
2023-03-21 07:26:04 +09:00
Katayama Hirofumi MZ
1ef98fff3b [NTUSER] ime.c: Add parameter to ERR(...)
Follow-up of 94f22bd.
CORE-11700
2023-03-21 07:21:31 +09:00
Serge Gautherie
3615e7c122 [NOTEPAD] LoadIcon() needs no DestroyIcon() (#5142)
CORE-18369
2023-03-21 06:19:30 +09:00
Katayama Hirofumi MZ
ed03768b1b [MSPAINT] Move '#include <crtdbg.h>' and add _CRTDBG_MAP_ALLOC
CORE-18867
2023-03-20 22:59:05 +09:00
Katayama Hirofumi MZ
cc4480ffea [NOTEPAD] Move '#include <crtdbg.h>' and add _CRTDBG_MAP_ALLOC (#5176)
CORE-18837
2023-03-20 22:55:12 +09:00
Katayama Hirofumi MZ
94f22bda27 [NTUSER] ime.c: Add ERR(...) to the exception handlers
CORE-11700
2023-03-20 19:12:25 +09:00
Katayama Hirofumi MZ
0694b559da [NTUSER] NtUserSetImeInfoEx: Use _SEH2_YIELD
CORE-11700
2023-03-20 19:10:04 +09:00
Katayama Hirofumi MZ
ed5098b2c9 [NTUSER] NtUserGetImeInfoEx: Use _SEH2_YIELD
CORE-11700
2023-03-20 19:08:38 +09:00
Katayama Hirofumi MZ
ef20cc081f [NTUSER] NtUserBuildHimcList: Use _SEH2_YIELD
CORE-11700
2023-03-20 19:06:44 +09:00
Katayama Hirofumi MZ
b301333517 [NTUSER] NtUserGetImeHotKey: Use _SEH2_YIELD
CORE-11700
2023-03-20 19:04:18 +09:00
Katayama Hirofumi MZ
9751d03c3b [NTUSER] IntSendMessageToUI: Use _SEH2_YIELD
CORE-11700
2023-03-20 18:59:42 +09:00
Katayama Hirofumi MZ
4ab7c93b35 [NTUSER] IntNotifyImeShowStatus: Use _SEH2_YIELD
CORE-11700
2023-03-20 18:49:23 +09:00
Katayama Hirofumi MZ
7c14c0ed73 [USER32_APITEST] Follow-up of c39bf0d
Avoid buffer overflow. CORE-15289, CORE-11700
2023-03-20 16:33:11 +09:00
Katayama Hirofumi MZ
c39bf0d54b [USER32_APITEST] Improve MessageStateAnalyzer testcase
CORE-15289, CORE-11700
2023-03-20 16:17:50 +09:00
Hermès Bélusca-Maïto
942b0221e8 [NTOS:KDBG] Temporarily HACK-work-around symbols loading by disabling them at BootPhase 0.
Of course, now that we **correctly** set the LoadSymbools setting,
we attempt loading symbols at BootPhase 0 and everything goes awry!
So introduce that hack to fallback to our old behaviour.

A proper fix (and removal of the hack) will be done in future commits.
2023-03-20 03:10:14 +01:00
Hermès Bélusca-Maïto
934812c4b2 [NTOS:KDBG] Fix parsing the boot command line for the (NO)LOADSYMBOLS options.
Addendum to commit de892d5b.

The boot options get stripped of their optional command switch '/'
(and replaced by whitspace separation) by the NT loader. Also, forbid
the presence of space between the optional '=' character following
(NO)LOADSYMBOLS.

In addition, fix the default initialization of LoadSymbols in KdbSymInit():
we cannot rely on MmNumberOfPhysicalPages in BootPhase 0 since at this point,
the Memory Manager hasn't been initialized and this variable is not yet set.
(We are called by KdInitSystem(0) -> KdDebuggerInitialize0 at kernel init.)
It gets initialized later on between BootPhase 0 and 1.

Also display a nice KDBG signon showing the status of symbols loading.
2023-03-20 02:44:41 +01:00
Jose Carlos Jesus
2cfb757b29 [TRANSLATION] Improvements to portuguese (pt-PT) translation (#5154)
For: hivedef.inf, powercfg.cpl, sysdm.cpl
and: netshell.dll, netcfgx.dll, shell32.dll, userenv.dll

Also fix "My Documents" and "My Network Places" folder names.
2023-03-19 20:32:24 +01:00
Justin Miller
150f721273 [FREELDR] Support compiling freeldr as a UEFI loader + Implement UI functions (#5171)
First batch of changes to implement a UEFI version of freeldr:
- Compile freeldr as EFI binary on top of the existing loader.
- Stub out various functions so we can create a UEFI machine-type in freeldr.
- Implement all of the video output functions so we can display a pretty freeldr BSoD :)
2023-03-19 20:13:16 +01:00
Hermès Bélusca-Maïto
995630ccec [FREELDR] Fix missing exports and .edata section after commit 728694f6.
CORE-18880
2023-03-19 17:50:55 +01:00
Thomas Faber
996713515b [WS2_32_APITEST] Test overlapping recv overread. CORE-18328 2023-03-19 12:39:09 -04:00
Thomas Faber
7ca1d0e161 [WS2_32_APITEST] Add a test for recv overread. CORE-18328 2023-03-19 10:02:16 -04:00
Katayama Hirofumi MZ
6b6a045766 [MSPAINT] Make sizeboxes window-less (#5166)
Reduce window controls and integrate to the canvas window.
- The sizeboxes are absorbed by canvasWindow.
- class CSizeboxWindow is deleted.
- Add enum CANVAS_HITTEST.
- Add getSizeBoxRect, getSizeBoxHitTest, and drawSizeBoxes helper functions in sizebox.cpp.
CORE-18867
2023-03-19 10:42:10 +09:00
Hermès Bélusca-Maïto
728694f60f [FREELDR] Move platform-specific build targets into dedicated .cmake files. (#5141)
- Keep the common definitions and file lists in CMakeLists.txt
- Move PC-AT & compatibles (PC-98, XBOX) definitions in pcat.cmake
- Future UEFI-specific definitions will be in an uefi.cmake
2023-03-18 22:40:10 +01:00
Hermès Bélusca-Maïto
7a2aca423e [FREELDR] Move common x64 runtime-specific ASM helpers to a misc file.
Co-authored-by: Justin Miller <justinmiller100@gmail.com>
2023-03-18 22:40:08 +01:00
Dmitry Borisov
557306f5c0 [DDK:NDIS] Fix definition of broadcast address macro (#5155)
ff:ff:ff:ff:ff:ff is the broadcast MAC address.

CORE-8724
2023-03-18 16:57:52 +01:00
Katayama Hirofumi MZ
1c7c0fa7a7 [MSPAINT] Save ToolBox visibility (#5167)
According to my registry analysis, the target value is HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Applets\Paint\General-Bar3:Visible.
- Add ShowToolBox registry setting.
CORE-18867
2023-03-18 17:20:43 +09:00
Katayama Hirofumi MZ
5ed7db5acb [MSPAINT] Save paletteWindow visibility (#5167)
According to my registry analysis, HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Paint\General-Bar4:Visible is the target value.
- Improve ReadDWORD helper function.
- Add ShowPalette registry setting.
- Simplify RegistrySettings::Load and RegistrySettings::Store.
CORE-18867
2023-03-18 17:12:28 +09:00
Hermès Bélusca-Maïto
422621622d [NTOS:KD] Improve the display of the output providers' signons. 2023-03-18 03:42:32 +01:00
Hermès Bélusca-Maïto
a8bcc8d7a1 [NTOS:MM] Simplify definitions of MM_SYSLDR_NO_IMPORTS and MM_SYSLDR_BOOT_LOADED. 2023-03-18 03:42:31 +01:00
Hermès Bélusca-Maïto
f6c8155239 [SDK] driverspecs.h: Add missing dummy _IRQL_limited_to_() definition (when _PREFAST_ is not defined).
Addendum to commit 8a688204.
2023-03-18 03:42:26 +01:00
Katayama Hirofumi MZ
e9f3790aa4 [MSPAINT] Encapsulation: hNontranspIcon and hTranspIcon
CORE-18867
2023-03-18 08:24:19 +09:00
Katayama Hirofumi MZ
cc3b53fef9 [MSPAINT] Encapsulation: hCurFill, hCurColor etc.
CORE-18867
2023-03-18 08:09:26 +09:00
Katayama Hirofumi MZ
d40de8f47c [MSPAINT] Add Static Edge to toolbars
- Add WS_EX_STATICEDGE to paletteWindow.
- Remove CCS_NODIVIDER from toolbar.
CORE-18867
2023-03-17 19:18:07 +09:00
Katayama Hirofumi MZ
868c7c4d53 [MSPAINT] Delete useless "STATIC" control
CORE-18867
2023-03-17 19:01:42 +09:00
Katayama Hirofumi MZ
eacf003c81 [MSPAINT] Move UpdateCanvas's code to newly-defined CCanvasWindow::Update
CORE-18867
2023-03-17 07:51:12 +09:00
Katayama Hirofumi MZ
7361592ede [MSPAINT] Rename scrollbox as canvas
- s/CScrollboxWindow/CCanvasWindow/
- s/scrollboxWindow/canvasWindow/
- s/UpdateScrollbox/UpdateCanvas/
CORE-18867
2023-03-17 07:45:14 +09:00
Katayama Hirofumi MZ
a88dcbd6c3 [MSPAINT] Remove extra scrlClientWindow (#5162)
CORE-18867
2023-03-17 07:28:42 +09:00
Katayama Hirofumi MZ
41c30182d4 [MSPAINT] Refactor about Recent Files (#5163)
Define MAX_RECENT_FILES macro as 4.
Remove strFile1, ..., strFile4 settings and add strFiles[MAX_RECENT_FILES] for Most Recently Used (MRU) files.
CORE-18867
2023-03-17 07:28:01 +09:00
Katayama Hirofumi MZ
a81f229065 [MSPAINT] Restore the main window saved show state (#5158)
Our mspaint didn't remember the maximized status of the main window. CORE-18867
2023-03-17 07:26:44 +09:00
Katayama Hirofumi MZ
88733bca77 [MSPAINT] Unlink HHCTRL.OCX and use dynamic load (#5165)
Unlink HHCTRL.OCX by modifying CMakeLists.txt. Add DoHtmlHelpW helper function. CORE-18879, CORE-18867
2023-03-17 07:25:51 +09:00
George Bișoc
eb7550f767 [NTDLL_APITEST] Write some tests for NtQueryOpenSubKeys 2023-03-16 20:04:31 +01:00
Katayama Hirofumi MZ
0cf45d508c [MSPAINT] Delete needless CMainWindow::OnSetCursor
CORE-18867
2023-03-16 18:13:28 +09:00
Katayama Hirofumi MZ
b5ae55f3ff [MSPAINT] Delete useless CFullscreenWindow::OnSetCursor
CORE-18867
2023-03-16 17:56:05 +09:00
Katayama Hirofumi MZ
b369ec3fa1 [MSPAINT] Delete needless CMiniatureWindow::OnSetCursor
CORE-18867
2023-03-16 17:49:05 +09:00
Katayama Hirofumi MZ
34881b9a88 [MSPAINT] Delete needless CToolBox::OnSetCursor
CORE-18867
2023-03-16 17:26:27 +09:00
Katayama Hirofumi MZ
136f23578f [NOTEPAD] Use full path for non-existent file (#5152)
In HandleCommandLine function, use GetFullPathName API to get the full path of a non-existent file. CORE-18259, CORE-18837
2023-03-16 10:18:54 +09:00
Robert Naumann
75ac9f8477 [REGEDIT] import Wine commit f5fe9a6 by Hugh McMaster.
f5fe9a6cf9
This removes the ROS-diff caused by CORE-18603's fix
2023-03-15 16:54:47 +01:00
Katayama Hirofumi MZ
3625f55fbb [MSPAINT] Delete unused global variables (lfTextFont, ...
hfontTextFont, hwndEditCtl, textToolText, and textToolTextMaxLen).
CORE-18867
2023-03-15 15:09:26 +09:00
Doug Lyons
cce3eb9393 Fix buffer read past end problem. (#5146)
Fixes crashes in regedit-find affecting CORE-15896 and CORE-18230. After possible RegQueryValueExW append 3 zero bytes to guarantee that we will end with a UNICODE NULL.
2023-03-15 10:57:54 +09:00
Katayama Hirofumi MZ
44b2a46d03 [MSPAINT] Avoid flickering when resizing (#5144)
- Add CPaletteWindow::OnEraseBkgnd to avoid flickering.
- Add getColorBoxRect and drawColorBox helper functions to draw a color box.
- Add CPaletteWindow::DoHitTest helper function to do a hit test.
- Improve CPaletteWindow::OnPaint by using a memory bitmap.
- Improve readability of CMainWindow::alignChildrenToMainWindow.
CORE-18867
2023-03-15 07:29:25 +09:00
Katayama Hirofumi MZ
f5840df9e9 [NOTEPAD] Delete license.c (no use) (#5159)
File license.c is not used. Reduce source code. CORE-18837
2023-03-15 07:28:15 +09:00
Katayama Hirofumi MZ
fb1d9d722d [NOTEPAD] Use new-style file header (#5160)
CORE-18837
2023-03-15 07:27:29 +09:00
Jose Carlos Jesus
b8c4d589b1 [SHELL32] Give opportunity to rename file/folder on its creation (#5139)
* [SHELL32] Fix issue when creating a new file or folder. No chance to rename the displayed name.

The CNewMenu::SelectNewItem method starts with a request to notify the View object about a new item by calling SHChangeNotify.
After creating and obtaining the new PIDL by calling ILFindLastID, the CDefView::SelectItem method is called.
This method fails right from the start when calling LV_FindItemByPidl which returns -1, thus preventing the user from being given the opportunity to change the name displayed by default.

This failure is due to the fact that this object has not yet been added to the CDefView::m_ListView list. This is caused by the asynchronous nature of SHChangeNotify.

Thanks to Giannis Adamopoulos for the big help.
2023-03-14 22:27:14 +01:00
Katayama Hirofumi MZ
9b6b1b3513 [MSPAINT] CImageAreaWindow should inherit CWindowImpl<CImgAreaWindow>
... instead of CWindowImpl<CMainWindow>.
CORE-18867
2023-03-14 14:17:40 +09:00
Katayama Hirofumi MZ
d91b262590 [MSPAINT] Window class of main window should be 'MSPaintApp'
CORE-18867
2023-03-14 14:09:17 +09:00
Katayama Hirofumi MZ
0eeffc2143 [REGEDIT] CMakeLists.txt: Enable _DEBUG on debugging
CORE-18876
2023-03-14 12:22:23 +09:00
Katayama Hirofumi MZ
598dd51d70 [NOTEPAD] CMakeLists.txt: Enable _DEBUG on debugging
CORE-18837
2023-03-14 12:17:40 +09:00
Katayama Hirofumi MZ
19027f3c81 [REGEDIT] Use HeapFree for g_pChildWnd, instead of free() 2023-03-14 12:08:50 +09:00
Katayama Hirofumi MZ
0a1d467a11 [NOTEPAD] Add 'katahiromz' to STRING_NOTEPAD_AUTHORS
CORE-18837
2023-03-14 11:24:12 +09:00
Katayama Hirofumi MZ
c888a13c0b [NOTEPAD] Save searchString and replaceString settings
CORE-18837
2023-03-14 11:03:20 +09:00
Hermès Bélusca-Maïto
de892d5bc7 [NTOS:KDBG] Fix the support for /(NO)LOADSYMBOLS as we didn't respect them properly.
LoadSymbols was reset to its default value whenever KdbSymInit() was
called, thus we would e.g. load symbols even if /NOLOADSYMBOLS or
/LOADSYMBOLS=NO were specified at the command line.
2023-03-14 01:17:42 +01:00
Hermès Bélusca-Maïto
e241c87eea [SDK] sdkddkver.h: Add NTDDI_* defines for newest Windows 10 and 11 versions.
And add version descriptions, especially for Windows 10 as it becomes messy.

Information from:
- https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/nf-wdm-rtlisntddiversionavailable
- Shared/sdk/extdef.h from https://github.com/Mattiwatti/WinObjEx64
- Descriptions from https://github.com/MiroKaku/Veil
- Cross-checked with headers from https://github.com/microsoft/wil
2023-03-14 00:14:12 +01:00
Katayama Hirofumi MZ
5cf947edc7 [REGEDIT] Use _CrtSetDbgFlag to check memory leak
We can borrow the power of CRT debug. These changes are effective for debug version only:
- Insert #include <crtdbg.h> at main.c.
- Call _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF) at the prologue of wWinMain.

This is a follow-up of #5151 (9abd9b6) and 0998665.
2023-03-14 07:22:34 +09:00
Katayama Hirofumi MZ
0998665463 [MSPAINT] Use _CrtSetDbgFlag to check memory leak
We can borrow the power of CRT debug. These changes are effective for debug version only:
- Insert #include <crtdbg.h> at main.cpp.
- Call _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF) at the prologue of _tWinMain.

This is a follow-up of #5151 (9abd9b6).
CORE-18867
2023-03-14 07:17:14 +09:00
Katayama Hirofumi MZ
9abd9b667a [NOTEPAD] Use _CrtSetDbgFlag to check memory leak (#5151)
We can borrow the power of CRT debug. These changes are effective for debug version only:
- Insert #include <crtdbg.h> at main.c.
- Call _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF) at the prologue of _tWinMain.
CORE-18837
2023-03-14 07:08:56 +09:00
Katayama Hirofumi MZ
c766ee9ebb [NETSHELL] Shrink radio buttons vertically (#5157)
- Fix the visual glitch of the network settings dialog of 2nd setup.
- Shrink the IDC_NETWORK_TYPICAL and IDC_NETWORK_CUSTOM radio buttons of IDD_NETWORKSETTINGSPAGE resource dialog vertically not to be overlapped.
CORE-18874
2023-03-14 07:03:54 +09:00
Joachim Henze
2aea4ab945 [NTUSER] Scrollbar.c pure whitespace fixes
The scrollbar code is now finally in a good shape.
Therefore I will port the current state back today,
and for that I want to have the formatting in good shape.

No functional changes!
2023-03-12 10:34:50 +01:00
Katayama Hirofumi MZ
b9ef348ab0 [NTUSER][USER32] KLF_SETFORPROCESS for ActivateKeyboardLayout (#5126)
Supporting KLF_SETFORPROCESS flag in ActivateKeyboardLayout function.

Implement KLF_SETFORPROCESS for co_UserActivateKeyboardLayout.
Use KLF_SETFORPROCESS flag in WM_INPUTLANGCHANGEREQUEST handling.
Add co_IntSetKeyboardLayoutForProcess helper function.
2023-03-12 13:39:41 +09:00
Hermès Bélusca-Maïto
ab92e40317 [NTOS:KD] Remove unneeded 'extern' declaration. Addendum to commit 4ce819ca. 2023-03-12 02:17:15 +01:00
Hermès Bélusca-Maïto
372eb0c0b8 [NTOS:KDBG] Remove dead code. Addendum to baa47fa5e and fe777bb52. 2023-03-12 02:16:58 +01:00
Katayama Hirofumi MZ
d0ab35e9da [NOTEPAD] Refactor around _tWinMain (#5135)
- Add hInstance parameter to NOTEPAD_InitData.
- Move some code in _tWinMain into NOTEPAD_InitData.
- Move some code in _tWinMain into WM_CREATE handling.
- Move some code in WM_CLOSE handling into WM_DESTROY handling.
- Fix the exit code of _tWinMain.
CORE-18837
2023-03-12 08:26:33 +09:00
Katayama Hirofumi MZ
3b0791547f [NOTEPAD] Move the printing code to the newly added printing.c
CORE-18837
2023-03-12 07:51:53 +09:00
Katayama Hirofumi MZ
072503c1fc [NOTEPAD] Add 'Now-printing' dialog (#5127)
Allow the user to cancel the print job.
- Add DIALOG_PRINTING dialog.
- Make the print job another thread.
- Let the thread communicate with the dialog box by PRINTING_MESSAGE.
- Add some resource strings.
CORE-18837
2023-03-11 22:23:14 +09:00
Katayama Hirofumi MZ
b49b47fc84 [MSPAINT] Delete unused HWND hToolBtn[16] global variable
CORE-18867
2023-03-11 14:19:12 +09:00
Katayama Hirofumi MZ
9ff9295a22 [MSPAINT] Remember status bar visibility (#5145)
- Add ShowStatusBar registry setting.
- Save ShowStatusBar status and restore the status on startup.
CORE-18867
2023-03-11 11:41:52 +09:00
Hermès Bélusca-Maïto
4ce819ca5a [NTOS:KD][KDBG] Rework the BootPhase >= 2 initialization of the KD/KDBG kernel debugger. (#4892)
CORE-17470

+ KdpDebugLogInit: Add resources cleanup in failure code paths.

Fix, in an NT-compatible manner, how (and when) the KD/KDBG BootPhase >=2
initialization steps are performed.
These are necessary for any functionality KDBG needs, that would depend
on the NT I/O Manager and the storage and filesystem stacks to be running.
This includes, creating the debug log file, and for KDBG, loading its
KDBinit initialization file.

As a result, file debug logging is fixed.

The old ReactOS-specific (NT-incompatible) callback we did in the middle
of IoInitSystem() is removed, in favor of a runtime mechanism that should
work on Windows as well.

The idea for this new mechanism is loosely inspired by the TDL4 rootkit,
see http://blog.w4kfu.com/public/tdl4_article/draft_tdl4article.html
but contrary to it, a specific hook is used instead, as well as the
technique of driver reinitialization:
https://web.archive.org/web/20211021050515/https://driverentry.com.br/en/blog/?p=261

Its rationale is as follows:

We want to be able to perform I/O-related initialization (starting a
logger thread for file log debugging, loading KDBinit file for KDBG,
etc.). A good place for this would be as early as possible, once the
I/O Manager has started the storage and the boot filesystem drivers.

Here is an overview of the initialization steps of the NT Kernel and
Executive:
----
KiSystemStartup(KeLoaderBlock)
    if (Cpu == 0) KdInitSystem(0, KeLoaderBlock);
    KiSwitchToBootStack() -> KiSystemStartupBootStack()
    -> KiInitializeKernel() -> ExpInitializeExecutive(Cpu, KeLoaderBlock)

(NOTE: Any unexpected debugger break will call KdInitSystem(0, NULL); )
KdInitSystem(0, LoaderBlock) -> KdDebuggerInitialize0(LoaderBlock);

ExpInitializeExecutive(Cpu == 0):    ExpInitializationPhase = 0;
    HalInitSystem(0, KeLoaderBlock); <-- Sets HalInitPnpDriver callback.
    ...
    PsInitSystem(LoaderBlock)
        PsCreateSystemThread(Phase1Initialization)

Phase1Initialization(Discard):       ExpInitializationPhase = 1;
    HalInitSystem(1, KeLoaderBlock);
    ...
    Early initialization of Ob, Ex, Ke.
    KdInitSystem(1, KeLoaderBlock);
    ...
    KdDebuggerInitialize1(LoaderBlock);
    ...
    IoInitSystem(LoaderBlock);
    ...
----
As we can see, KdDebuggerInitialize1() is the last KD initialization
routine the kernel calls, and is called *before* the I/O Manager starts.
Thus, direct Nt/ZwCreateFile ... calls done there would fail. Also,
we want to do the I/O initialization as soon as possible. There does
not seem to be any exported way to be notified about the I/O manager
initialization steps... that is, unless we somehow become a driver and
insert ourselves in the flow!

Since we are not a regular driver, we need to invoke IoCreateDriver()
to create one. However, remember that we are currently running *before*
IoInitSystem(), the I/O subsystem is not initialized yet. Due to this,
calling IoCreateDriver(), much like any other IO functions, would lead
to a crash, because it calls
ObCreateObject(..., IoDriverObjectType, ...), and IoDriverObjectType
is non-initialized yet (it's NULL).

The chosen solution is to hook a "known" exported callback: namely, the
HalInitPnpDriver() callback (it initializes the "HAL Root Bus Driver").
It is set very early on by the HAL via the HalInitSystem(0, ...) call,
and is called early on by IoInitSystem() before any driver is loaded,
but after the I/O Manager has been minimally set up so that new drivers
can be created.
When the hook: KdpInitDriver() is called, we create our driver with
IoCreateDriver(), specifying its entrypoint KdpDriverEntry(), then
restore and call the original HalInitPnpDriver() callback.

Another possible unexplored alternative, could be to insert ourselves
in the KeLoaderBlock->LoadOrderListHead boot modules list, or in the
KeLoaderBlock->BootDriverListHead boot-driver list. (Note that while
we may be able to do this, because boot-drivers are resident in memory,
much like we are, we cannot insert ourselves in the system-driver list
however, since those drivers are expected to come from PE image files.)

Once the KdpDriverEntry() driver entrypoint is called, we register
KdpDriverReinit() for re-initialization with the I/O Manager, in order
to provide more initialization points. KdpDriverReinit() calls the KD
providers at BootPhase >= 2, and schedules further reinitializations
(at most 3 more) if any of the providers request so.
2023-03-11 01:22:19 +01:00
Hervé Poussineau
bf734e5373 [NTOS:KD] Move handling of Dmesg buffer from screen provider to KDBG provider. (#5143)
CORE-10749

The dmesg command is now available even if screen output is disabled.

Co-authored-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2023-03-10 23:59:08 +01:00
Katayama Hirofumi MZ
86e2f9e635 [MSPAINT] There were two "main" windows (#5147)
Our mspaint had two windows of window class "MainWindow".
class CToolBox should inherit CWindowImpl<CToolBox> instead of CWindowImpl<CMainWindow>.
CORE-18867
2023-03-11 07:42:04 +09:00
Joachim Henze
784946db8c [SYSSETUP] Tweak resources CORE-18870
de-DE: Harmonize the length of IDC_COMPUTERNAME with IDC_ADMINPASSWORD1 and IDC_ADMINPASSWORD2
which looks better and is already done like that in en-US.

de-DE: Also harmonize some 2nd stage captions. Some were named "Setup" and some were
named "Installation". I harmonized to "Setup" everywhere as that is what is also used in
1st stage, is shorter and no german person will have any issue understanding
that. It is also more likely to be kept in sync in the future if new dlgs would
be added, as it is the same word as used in en-US.

de-DE: Align the IDC_PROJECTS with the GPL button (which is slightly more wide in de-DE).

All languages:
Use same width for IDC_PRODUCT_OPTIONS as for IDC_PRODUCT_DESCRIPTION.
2023-03-10 21:36:46 +01:00
Hermès Bélusca-Maïto
dfb6996b45 [NTOS:KDBG] Split KdbInitialize into KdbSymInit and KDBG initialization proper.
- KdbSymInit() in kdb_symbols.c only initializes symbols implementation
  support.
- The rest of KdbInitialize gets moved into kdb_cli.c and initializes
  the KDBG debugger itself.
- Move KdbDebugPrint to kdb_cli.c as well.
2023-03-10 20:56:21 +01:00
Joachim Henze
793e9f20ef [DXDIAG] Fix text truncation on button for french fr-FR.rc CORE-18853
By shortening the text to what MS Windows uses there.
See the 2k3sp2 pic in the ticket.
2023-03-10 18:03:02 +01:00
Katayama Hirofumi MZ
02c647802f [MSPAINT] Fix use of uninitialized variable on startup (#5140)
There was an exception in starting up of mspaint of Visual Studio 2019 build. CORE-18594, CORE-18867
2023-03-10 07:31:31 +09:00
Joachim Henze
29d0deef13 [DXDIAG] Fix text truncation german de-DE.rc CORE-18853 (#5137) 2023-03-09 23:27:49 +01:00
Katayama Hirofumi MZ
87e905ecd8 [NOTEPAD] Use Globals.hMainWnd in ShowLastError (#5132)
Improving UI/UX by making Globals.hMainWnd the owner of the message box. CORE-18837
2023-03-10 07:25:06 +09:00
Hermès Bélusca-Maïto
a49732e5b6 [NTOS:KD] KdpDebugLogInit: Fix ZwCreateFile flags for appending to debug logging file.
However, ReactOS currently doesn't handle FILE_APPEND_DATA correctly,
so temporarily add a hack for fixing its support.

CORE-18789
2023-03-09 18:59:16 +01:00
Hermès Bélusca-Maïto
a8b09eddc4 [NTOS:KD] Add some annotations. 2023-03-09 18:32:36 +01:00
Hermès Bélusca-Maïto
cee893be99 [NTOS:KD] Simplify min-values calculations in KdpPrintToLogFile and KdpScreenPrint. 2023-03-09 18:26:53 +01:00
Hermès Bélusca-Maïto
4585372c6d [NTOS:IO/KD/KDBG] Formatting fixes only. 2023-03-09 18:26:02 +01:00
Ratin Gao
df7ab5d8f7 [KERNEL32] Remove a pointless SEH in VirtualAllocEx (#5117)
Win2K3 just wraps in SEH only this syscall, which appears pointless
and was removed since NT6.0. We remove it too as an experiment.
Revert the change that added SEH here from commit 6d97180 (r52899).
2023-03-09 17:08:08 +01:00
Katayama Hirofumi MZ
139809b747 [NOTEPAD] Use DestroyIcon instead of DeleteObject to destroy icon (#5130)
CORE-18837
2023-03-09 08:24:19 +09:00
Katayama Hirofumi MZ
bc89074cd5 [NOTEPAD] Remove some needless type casts (#5134)
CORE-18837
2023-03-09 08:23:08 +09:00
Hermès Bélusca-Maïto
abece16776 [WORDPAD][WRITE] Remove redundant pragma code_page(65001)...
... since this is done in the main RC file, from which the per-language
resource files are included.
2023-03-09 00:13:59 +01:00
Doug Lyons
2f43d9c183 [MSAFD] Work around regression of CORE-18848 from 0.4.12-dev-693-g2b1f6c8 (#5102)
Fix winetest for ws2_32:sock that crashes on 'test_AcceptEX' by modifying return values of WSPIoctl for 'case SIO_GET_EXTENSION_FUNCTION_POINTER'
2023-03-08 21:47:45 +01:00
Mark Jansen
5bc045c041 [SDK:SCRNSAVE] Implement mouse move threshold.
This makes it easier to start the screensavers by double-clicking.
2023-03-08 20:19:19 +01:00
Katayama Hirofumi MZ
f91b92c3f9 [NOTEPAD] Delete main.h (#5133)
Reduce files to improve readability. Move the codes in main.h into notepad.h. Make the size of Globals.szFilter 512.
CORE-18837
2023-03-09 03:41:11 +09:00
Katayama Hirofumi MZ
9ac20a7fe2 [NOTEPAD] Reduce lines in and around comments (#5131)
Reduce lines. CORE-18837
2023-03-09 03:11:57 +09:00
Thomas Faber
8e0c920fd2 [WINESYNC] user32/edit: Allow buffer access after EM_GETHANDLE.
wine commit id f62d8dc58fb3fb5f11a8ab55620ab9b2fbdaf967 by Nikolay Sivov <nsivov@codeweavers.com>
2023-03-07 21:48:06 -05:00
Thomas Faber
1ee9ea4518 [REGEDIT] Avoid buffer overflow in SelectNode. CORE-18602 2023-03-07 19:43:57 -05:00
Thomas Faber
910822b8f5 [REGEDIT] Add back import prompt message lost during Wine sync. CORE-18770 2023-03-07 19:41:51 -05:00
George Bișoc
8b75dce45a [NTOS:SE][FORMATTING] Fix the file header
This fixes the copyright file header at the top of the file, reflecting
the Coding Style rules. No code changes!
2023-03-07 18:39:46 +01:00
George Bișoc
b284e82f47 [NTOS:SE] Do not allocate memory pool just for the access rights
Access check is an expensive operation, that is, whenever an access to an
object is performed an access check has to be done to ensure the access
can be allowed to the calling thread who attempts to access such object.

Currently SepAnalyzeAcesFromDacl allocates a block of pool memory for
access check rights, nagging the Memory Manager like a desperate naughty
creep. So instead initialize the access rights as a simple variable in
SepAccessCheck and pass it out as an address to SepAnalyzeAcesFromDacl so
that the function will fill it up with access rights. This helps with
performance, avoiding wasting a few bits of memory just to hold these
access rights.

In addition to that, add a few asserts and fix the copyright header on
both se.h and accesschk.c, to reflect the Coding Style rules.
2023-03-07 17:50:39 +01:00
Katayama Hirofumi MZ
064ac123d1 [NOTEPAD] Improve printing (header/footer/tabs/performance) (#5111)
- Fix GetPrintingRect function.
- Add DrawHeaderOrFooter, DoPrintBody, DoPrintPage, DoCreatePrintFonts, and DoPrintDocument helper functions.
- Implement page header/footer and tabs printing in DIALOG_FilePrint function.
- Improve printing performance.
- Modify the header/footer resource strings.
- Delete the needless resource strings.
CORE-18837
2023-03-07 14:42:27 +09:00
George Bișoc
a804ba3200 [NTOS:SE] Print debug output only if NDEBUG is not defined
This mutes a lot of debug spam that fills up the debugger when an access
check fails because a requestor doesn't have enough privileges to access
an object.
2023-03-06 20:03:44 +01:00
Doug Lyons
b0a03a7caa [WS2_32] Fix Two DPRINT typo errors (#5113) 2023-03-06 12:22:28 +01:00
Katayama Hirofumi MZ
fdedc549d0 [MSVCRT] Follow-up of Follow-up of #5032 (f172503)
Fix for system/_wsystem.
Use _set_errno(ENOMEM) for malloc failure.
Rename status variable as exit_code.
2023-03-05 23:28:00 +09:00
Katayama Hirofumi MZ
5a7dbd6064 [MSVCRT] Follow-up of #5032 (f172503)
Use _cwait() instead of WaitForSingleObject and GetExitCodeProcess.
Use malloc/free instead of LocalAlloc/LocalFree.
2023-03-05 23:20:12 +09:00
Katayama Hirofumi MZ
f172503d57 [MSVCRT][CRT_APITEST] Implement _wsystem (#5032)
Implement _wsystem(), by referring system().
Improve system().
Use WaitForSingleObject in system() and _wsystem().
Check existence of COMSPEC.
Thanks ChatGPT.
2023-03-05 21:01:14 +09:00
Atharva Kulkarni
72974d2bac [MSPAINT] Treat as a file even if the bitmap file is empty
CORE-18508
2023-03-05 20:53:38 +09:00
Katayama Hirofumi MZ
77e6348f5f [NTUSER][USER32] Refactor NtUserLoadKeyboardLayoutEx (#5107)
- Split some code of NtUserLoadKeyboardLayoutEx to newly-added co_IntLoadKeyboardLayoutEx helper function.
- Modify NtUserLoadKeyboardLayoutEx prototype.
- Move co_UserImmLoadLayout code.
- Implement KLF_REORDER.
- Rename UserLoadKbdLayout as co_UserLoadKbdLayout.
- Improve LoadKeyboardLayoutEx.
CORE-11700
2023-03-05 11:41:32 +09:00
Joachim Henze
0fb580a855 [SDK] Improve gen_baseaddress.py and its output files (#4964)
* [SDK:TOOLS] Improve gen_baseaddress.py

Adds some kbd layout modules into the excludes-section:
that we do lack for todays master: e.g._ kbdeo, kbdsf, kbdrost

and also some that we lacked in the past
(for improving backwards compatibility of the script to older rls-branches):
kbdgm, kbdes, kbdgrist, kbdja, kbdko, kbdsk, kbdsk1

* [SDK:CMAKE] Highlight in the output files where the script does misbehave
2023-03-04 11:45:06 +01:00
Carlo Bramini
6d57c6c91c [CMDUTILS] Add Italian (it-IT) translation for WHERE command 2023-03-01 22:05:04 +01:00
Katayama Hirofumi MZ
f8c7bd6898 [NOTEPAD] Don't reset Find/Replace if lpstrFindWhat is set (#5104)
We don't want to reset the status of the checkboxes even if the Find/Replace dialog was closed. If lpstrFindWhat is set, do not reset the Find/Replace settings at DIALOG_SearchDialog. CORE-18837
2023-03-01 20:17:27 +09:00
Katayama Hirofumi MZ
8c7233e015 [NOTEPAD] Fix NOTEPAD_FindTextAt (#5103)
The whole-word search of Notepad had a bug around punctuation. For example, the text "Windows" didn't match in the text "MS-DOS,Windows,ReactOS". Use _istalnum instead of _istspace. Fix the position to check. _istalnum matches an alphabet letter or numeric digit. CORE-18837
2023-03-01 19:57:10 +09:00
Katayama Hirofumi MZ
55e3feba53 [NOTEPAD] Shift+F3 for backward search (#5101)
- Add Shift+F3 accelerator as command CMD_SEARCH_PREV.
- Extend DIALOG_SearchNext function with bDown argument for the action of CMD_SEARCH_PREV.
- Modify the message loop for effective F3 key on Find/Replace dialog.
CORE-17064
2023-03-01 07:16:28 +09:00
Joachim Henze
a9b1e059f4 [RAPPS] Style-addendum, no functional change (#5091)
* Just rename the 4 new files. Absolutely no other change.
* CMakeLists.txt, adapt the filenames
* Adapt all includes to make it compile
* CApplicationDB->CAppDB
* CApplicationInfo->CAppInfo
* Follow Mark Jansens good example and antipad the headers
2023-02-28 01:00:29 +01:00
Doug Lyons
60851914a8 Fix ICO_ExtractIconExW causing explorer to crash when trying
to display icon for bad EXE PE header.

See CORE-15879

 Co-authored-by: Thomas Faber <thomas.faber@reactos.org>
2023-02-27 22:28:41 +01:00
Katayama Hirofumi MZ
781fb4a55e [IMM32] Fix ImmGetCompositionStringA/W (#5105)
Fix some typos in Imm32GetCompStrA/W. CORE-11700
2023-02-27 12:33:45 +09:00
Katayama Hirofumi MZ
88b1d89e95 [IMM32] Silence 'Out of boundary' log-spam
CORE-18852
2023-02-26 11:57:44 +09:00
Rexx J. Larsson
909b165c4a [SYSSETUP] Removed qemu credit entirely (#4971) 2023-02-25 23:44:06 +01:00
Mark Jansen
76753cd342 [USER32] Fix edit UAF by importing wine commit b40ddf42370e8344a862fbbc40384678db3871a9 2023-02-25 23:41:41 +01:00
Mark Jansen
cf08f9271e [COMCTL32] Fix edit UAF by importing wine commit fed0c33fe02a3fcb477086a32dc8d52c1e347889 2023-02-25 23:41:25 +01:00
Jose Carlos Jesus
ed4b16b7ff [SHELL32] Give a chance to rename new file or folder when created (#4950) 2023-02-25 23:38:42 +01:00
Katayama Hirofumi MZ
2284aa6e8b [COMDLG32] Follow-up of #5097 (f4bb0ae)
Do not change flags unless necessary.
https://bugs.winehq.org/show_bug.cgi?id=54567
CORE-17064
2023-02-25 10:31:43 +09:00
Katayama Hirofumi MZ
f4bb0ae376 [COMDLG32] Find/Replace: Correctly set flags (#5097)
The flags were not updated correctly. CORE-17064
2023-02-25 09:16:36 +09:00
Katayama Hirofumi MZ
13cf4c52f5 [USETUP] Speed up DoFileCopy +24% (#5089)
Make STRING_COPYING cached. CORE-18838
2023-02-24 10:19:53 +09:00
Jose Carlos Jesus
6d2012ac3b [BOOTDATA][INF] Add pt-PT translation (#4926) 2023-02-23 09:51:33 +09:00
Jose Carlos Jesus
23cd14d78b [SHELL32] Move error message to rc files so can be translated (CORE-18786) (#4997)
CORE-18786
2023-02-23 09:43:53 +09:00
Katayama Hirofumi MZ
a351943caa [NOTEPAD] Improve DIALOG_GoTo (#5082)
- Don't use text directly in DIALOG_GoTo function. Rely the EM_* message handlers.
- Fix and improve DIALOG_GOTO resource dialog (that was wrong in some points).
- Add STRING_LINE_NUMBER_OUT_OF_RANGE.
CORE-18837
2023-02-22 21:18:05 +09:00
Katayama Hirofumi MZ
95a64cbdd2 [NTUSER] Send WM_IME_SYSTEM:IMS_UPDATEIMEUI (#5075)
Send WM_IME_SYSTEM:IMS_UPDATEIMEUI message after window position change to improve IME UI sync. CORE-11700, CORE-15289
2023-02-22 08:35:55 +09:00
Katayama Hirofumi MZ
ead9366ef7 [NOTEPAD] Avoid half-initialized status of settings (#5078)
- Avoid buffer overrun in QueryString helper function.
- Improve NOTEPAD_LoadSettingsFromRegistry function.
CORE-18837
2023-02-21 09:22:41 +09:00
Katayama Hirofumi MZ
4c1e83d514 [SHLWAPI][SHLWAPI_APITEST] Expand string in SHLoadIndirectString (#5084)
- shlwapi!SHLoadIndirectString expands the environmental strings if the first character was '@'.
- Implement SHLoadRegUIStringA function.
CORE-10667
2023-02-21 09:17:47 +09:00
Katayama Hirofumi MZ
acd3148c1a [USETUP] Speed up CONSOLE_SetStatusTextXV +17% (#5086)
Get more speed by omitting erasing and overwriting whole line. CORE-18838
2023-02-21 09:14:26 +09:00
Atharva Kulkarni
f1de615b9c [MCIAVI32] Add ifdef guards to prevent regression (#5090)
as an addendum to (#5063) and CORE-18669
2023-02-20 20:23:37 +01:00
Mark Jansen
647f74d4ab [ATL] Remove some code that doesn't exist in the native ATL 2023-02-20 19:32:59 +01:00
Mark Jansen
33c2903e6d [RAPPS] Rework application handling
Previously, there would be function duplication between installed and available applications.
Now this is handled with polymorphism, which allows to re-use a lot of code.
Additionally, toolbar buttons are properly disabled now.
The mutex used to guard rapps' single instance is renamed,
so that the 'new' and old rapps can be run at the same time for testing.

CORE-18459
2023-02-20 19:30:02 +01:00
Katayama Hirofumi MZ
0cd80c17f6 [NOTEPAD] Simplify GetSelectionText (#5083)
Use EM_GETHANDLE message to get text. CORE-18837
2023-02-20 22:00:49 +09:00
Katayama Hirofumi MZ
f7f2ed201a [NOTEPAD] Make "UTF-8 without BOM" default (#5081)
- Define a constant ENCODING_DEFAULT that is equal to ENCODING_UTF8.
- Initialize Globals.encFile as ENCODING_DEFAULT.
- Reset encoding and line ending in DIALOG_FileNew.
- AnalyzeEncoding returns ENCODING_DEFAULT for non-zero ASCII text.
- Remove unnecessary DIALOG_StatusBarAlignParts calls.
CORE-18837
2023-02-20 21:59:16 +09:00
Katayama Hirofumi MZ
b2cac5cd6c [USETUP] Slightly optimize CONSOLE_SetStyledText (#5087)
Do not calculate Length unless necessary. CORE-18838
2023-02-20 18:31:34 +09:00
Joachim Henze
a5cd42c1ea [NETSHELL] Repair "Network Connection 'State' does nothing" CORE-18844
It regressed in master by 0.4.15-dev-5613-g 7a17c7d9ad

It was the only place within the ros sources where message WM_SHOWSTATUSDLG
was sent also from code. And therefore the only one that needed to be updated as well.
2023-02-19 18:44:51 +01:00
Gabriel Grondin
e400bd0861 [SYSDM] Fix french translation and layout (#4992)
Based on earlier PR #4704
- Fixed alignment for too long text.
- Improved translation.
- Minor adjustments.

CORE-18381

Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
Co-authored-by: Kyle Katarn <contact@kcsoftwares.com>
2023-02-19 18:29:08 +01:00
Joachim Henze
9672dc5047 [AUDIOSRV] Overhaul logging interfaces CORE-16912 (#5067) 2023-02-18 18:28:30 +01:00
Katayama Hirofumi MZ
504bf68e2a [NOTEPAD] Simplify FileExists function (#5079)
Simplify FileExists helper function by using GetFileAttributes function. CORE-18837
2023-02-18 21:40:11 +09:00
Atharva Kulkarni
ebc69d089f [MCIAVI32] Media Player: Don't open empty files (#5063)
Opening an empty file in media player could cause a crash. CORE-18669
2023-02-18 19:33:58 +09:00
Doug Lyons
874d317a71 [IP] Allow 0xFFFF as Valid Network Port Number (#5074)
* Allow 0xFFFF as valid port number

* Note possible reason for failure in TCPAllocatePort

* Return NtStatus error on TCP/IP out-of-ports failure

* Replace unavailable "ERR" with "DbgPrint"
2023-02-18 00:11:00 +02:00
Katayama Hirofumi MZ
1fdbc80e58 [NOTEPAD] Follow-up of #5076 (621439d)
- Add DIALOG_StatusBarUpdateAll() and use it.
- Fix the status bar initial contents.
2023-02-17 15:17:44 +09:00
Katayama Hirofumi MZ
bb67913156 [BROWSEUI] Add CAddressEditBox::RefreshAddress and use it (#5062)
Follow-up of #5026 [BROWSEUI] Execute command line from address bar. Elegantly reset the address bar after command line execution. CORE-15453
2023-02-17 12:29:30 +09:00
Katayama Hirofumi MZ
621439d6f2 [NOTEPAD] Fix and simplify Status Bar handling (#5076)
- Rename DoCreateStatusBar as DoShowHideStatusBar.
- Simplify WM_SIZE handler.
- Enable/disable CMD_STATUSBAR menu item correctly.
- Make DoShowHideStatusBar independent from DoCreateEditWindow.
2023-02-17 09:23:25 +09:00
Joachim Henze
d04e148d1c [NTUSER] Optimize Window Snap Disabling (#5061) 2023-02-16 19:33:37 +01:00
Suleyman Poyraz
2ea56af2e8 [TRANSLATION] Add/Update Turkish (tr-TR) translations (#4959)
Programs: at, charmap, diskpart, drwtsn32, explorer, fc, fontview, format, reg, timeout, where, wmic,
mspaint, regedit, runas, rundll32, subst, utilman, umandlg, w32time, winlogon

Tools: arping, vgafontedit, explorer-old, fraginator, fontsub, systeminfo, vcdcontroltool
CPLs: desk, hotplug, input, sysdm
DLLs: newdev, syssetup, user32

Themes: lunar
Screensavers: blankscr, butterflies, circles, cylfrac, matrix, mazescr, ssstars, starfield

Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
2023-02-15 17:29:52 +01:00
Katayama Hirofumi MZ
a5aea8e537 [NOTEPAD] Simplify NOTEPAD_EnableSearchMenu (#5077) 2023-02-15 10:15:51 +09:00
Robert Naumann
efb923073c [REGEDIT] Work around a Wine bug. Fixes CORE-18603
See https://bugs.winehq.org/show_bug.cgi?id=54491
2023-02-14 22:19:52 +01:00
Thamatip Chitpong
0fee1fc80c [NTUSER] IntWinListOwnedPopups: Exclude default IME window from the list (#5069)
And in IntShowOwnedPopups: Remove the window owner check hack as it's no longer needed.
Based on my observation, the owner of the default IME window can change and it depends on
the window that is being focused.

CORE-18659
CORE-18768
2023-02-14 21:57:41 +01:00
Katayama Hirofumi MZ
38c0da9978 [CRT] printf/wprintf: Support %zu (#5056)
"%zu" is a printf format specifier for type size_t. Some apps assume the implementation of this specifier. CORE-17787
2023-02-14 20:54:53 +09:00
Katayama Hirofumi MZ
324cda0835 [SHELL32][SHELL32_APITEST] Improve CommandLineToArgvW (#5055)
This PR will reduce the failures of CommandLineToArgvW testcase of shell32_apitest.
- Use isspace and isblank in shell32!CommandLineToArgvW.
- Strengthen shell32_apitest:CommandLineToArgvW testcase.
CORE-17787
2023-02-14 20:53:48 +09:00
Katayama Hirofumi MZ
647b67c1ac [NOTEPAD] Optimize AnalyzeEncoding
CORE-14641
2023-02-14 13:34:20 +09:00
Katayama Hirofumi MZ
361e0c72b8 [NOTEPAD] Follow-up of d3da0cb; *pBytes should be unsigned
CORE-14641
2023-02-14 13:25:44 +09:00
Katayama Hirofumi MZ
d3da0cb7ed [NOTEPAD] Follow-up of #5012 (0a851ea); Fix encoding
There was a bug in encoding analyzer.
CORE-14641
2023-02-14 13:12:47 +09:00
Katayama Hirofumi MZ
7014f63057 [NTUSER] Add 'Win:' comments to co_UserHideCaret and co_UserShowCaret
CORE-11700
2023-02-14 10:57:25 +09:00
Katayama Hirofumi MZ
73c1a8d19f [NTUSER] Add 'Win:' comment to IntRealChildWindowFromPoint
CORE-11700
2023-02-14 10:45:19 +09:00
Katayama Hirofumi MZ
83b8cb96f7 [NTUSER] Add 'Win:' comment to IntChildWindowFromPointEx
CORE-11700
2023-02-14 10:43:37 +09:00
Katayama Hirofumi MZ
798d0352a0 [NTUSER] Add 'Win:' comment to IntDeferWindowPos
CORE-11700
2023-02-14 10:39:26 +09:00
Katayama Hirofumi MZ
9140300c2a [NTUSER] Add 'Win:' comment to IntEndDeferWindowPosEx
CORE-11700
2023-02-14 10:30:22 +09:00
Mark Jansen
460a01b167 [BROWSEUI] Fix crash while editing a label in the folder tree
+ Add a missing break
CORE-18646
2023-02-13 23:20:20 +01:00
Atharva Kulkarni
2f6f24d0f6 [BROWSEUI] Don't show file names in Relevance column in search results (#5072)
* Dont show file names in Relevance column
* Define new column names
* Update CompareIDs to use newer defines
2023-02-13 20:49:45 +01:00
Atharva Kulkarni
a777cc2cc4 [EXPLORER] Fix crash on backspace while editing a label in the folder panel (#5059)
While editing a label, accelerator events should not be propagated.
2023-02-13 20:45:39 +01:00
Tibor Lajos Füzi
e60c0f6970 [DESK] Update Hungarian (hu-HU) translation (#5060) 2023-02-13 15:29:45 +01:00
Doug Lyons
57eb2a6bf4 [NTUSER] Missing "X" on "Folder" pane when Right Click > Explore from Desktop icons & Rapps toolbar errors (#5068)
Fix for right-clicking on 'My Computer' and selecting 'explore' and there is no 'X' for the title bar in the Folders pane
Also fixes Rapps missing toolbar combo box and edit box controls that were not displayed.

This is a complete revert of #4995 (commit 7866eb2) while still retaining its fixes.

CORE-18830, CORE-18817

Co-authored-by: I_Kill_Bugs
2023-02-13 15:27:40 +01:00
Katayama Hirofumi MZ
97db8a258d [NOTEPAD] Fix and improve DoSaveFile (#5066)
- Use EM_GETHANDLE to get the text.
- Check zero size and handle it elegantly.
CORE-18832
2023-02-13 08:32:09 +09:00
Doug Lyons
a050be0895 Fix Wine Internet Explorer Print hang (#5064)
When using wine internet explorer it crashes if you click print even if you click cancel, this fixes that issue.
nsIWebBrowserPrint_Print apparently causes issues for unknown reasons.

JIRA issue: CORE-16884

By returning S_OK print doesn't cause a crash.
Use ERR and S_OK return before hitting nsIWebBrowserPrint_Print
2023-02-12 19:17:55 +01:00
Rexx J. Larsson
3b5d917699 [RAPPS] Fix Installed Apps information display (#4973)
This fixes hyperlinks highlighting the text before it.

CORE-18397
2023-02-12 16:15:51 +01:00
Joachim Henze
5ad5737370 [NTUSER] Delete temporary workarounds in co_IntSetScrollInfo() (#4985)
fixes JIRA issue: CORE-18050

improves the code by removing ancient hacks (the static variables)

reduces testbot failures
VBox: https://reactos.org/testman/compare.php?ids=85831,85832 LGTM (-2 failures in user32:scroll for both bots)
KVM: https://reactos.org/testman/compare.php?ids=85829,85833 LGTM (-2 failures in user32:scroll for both bots)

co-authored by Doug-Lyons
2023-02-12 00:35:27 +01:00
Joachim Henze
a38d19ebce [BROWSEUI] Update de-DE.rc German translation
German accelerator for "&Datei" collided with "A&dresse".
Fix by switching to what MS uses in german XPSP3.

see the before-state with the [BROWSEUI] collision here:
https://jira.reactos.org/secure/attachment/65116/ros.png

Please note that in current master head the accelerators in
[BROWSEUI] filebrowser are generally broken for other reasons.
So this commit will not entirely fix CORE-18824

Also update to new-style header (inspired by es-ES.rc) and
https://reactos.org/wiki/Coding_Style
and add a missing translation.
2023-02-11 21:35:57 +01:00
Joachim Henze
cc54ecd779 [SYSSETUP] Fix a space-typo in IDS_WZD_PASSWORDEMPTY for *.rc (#5049)
Also update any existing old-school-headers to more compact newstyle.
2023-02-11 21:09:47 +01:00
Jose Carlos Jesus
f691efefc2 [SHLWAPI] No need extension to execute '.bat' files CORE-17612 (#4932)
When no extension is provided, add default extension with correct precedence using PathFileExistsDefExtW.
- Use PathFindOnPathExW when searching in current directory and PATH environment variable.
- Fix Width String terminator to UNICODE_NULL.
- Fix all failed tests on PathFindPathExW KVM test.
CORE-17612
2023-02-11 00:05:11 +09:00
Ratin Gao
5c22ce3742 [SHELL32] Remove unused flag SEE_MASK_UNICODE (#5033)
SEE_MASK_UNICODE does nothing, so we needn't mark it as "unsupported flag" and output FIXME
2023-02-10 23:56:13 +09:00
Ratin Gao
2f70f79904 [TRANSLATION] Improve Simplified Chinese (zh-CN) translation (#4979)
- Add and improve translation
- Fix mistakes
2023-02-10 23:15:25 +09:00
Katayama Hirofumi MZ
1b20c7312f [NOTEPAD] Treat empty file correctly (#5057)
#5012 had a regression on opening an empty file.
CORE-14641, CORE-18826
2023-02-09 21:54:20 +09:00
Joachim Henze
06b25bc9dd [EXPLORER][BROWSEUI] de-DE.rc fix 3 german keyboard accelerators
[BROWSEUI] German accelerator for "F&avoriten" collided with "&Ansicht".
[EXPLORER] German accelerator for "F&avoriten" must be "&Favoriten" also in the startmenu.
[BROWSEUI] German accelerator for "S&chnellstartleiste" was missing.
Fix all 3 by switching to what MS uses in german XPSP3.

see the before-state with the [BROWSEUI] collision here:
https://jira.reactos.org/secure/attachment/65116/ros.png

Please note that in current master head the accelerators in
[BROWSEUI] filebrowser are generally broken for other reasons.
So this commit will not entirely fix CORE-18824 yet, but just
rules out the small related glitches in the german rc-files.
2023-02-08 10:05:04 +01:00
Thamatip Chitpong
f73ac17e30 [WINMM] Constify some variables
Wine commit: 4aca7601265ca76339662aa4e1a9c6669cebc9a0

author: Andrew Talbot <andrew.talbot@talbotville.com>
Mon, 22 Aug 2011 19:31:51 +0000 (20:31 +0100)

committer: Alexandre Julliard <julliard@winehq.org>
Tue, 23 Aug 2011 14:53:53 +0000 (16:53 +0200)
2023-02-07 20:53:08 +01:00
Thamatip Chitpong
940bbd2e02 [WINMM] Fixed boundary condition in mmioOpen file name parsing
Wine commit: 4431c32c91206040d59d3eb82a971245594d1243

author: Alexander Puzankov <alxpnv@gmail.com>
Sun, 5 Dec 2010 14:24:59 +0000 (17:24 +0300)

committer: Alexandre Julliard <julliard@winehq.org>
Sun, 5 Dec 2010 15:44:28 +0000 (16:44 +0100)
2023-02-07 20:53:08 +01:00
Thamatip Chitpong
d27e2b0b23 [WINMM] Revert "Handle playing of files containing a '+' as part of the filename."
Wine commit: cc5f2b2c766bbe4975d7ee4a7c3b269650cbf874

author: Alexander Puzankov <alxpnv@gmail.com>
Mon, 29 Nov 2010 18:15:16 +0000 (21:15 +0300)

committer: Alexandre Julliard <julliard@winehq.org>
Wed, 1 Dec 2010 16:16:20 +0000 (17:16 +0100)
2023-02-07 20:53:08 +01:00
Joachim Henze
09dde2cff9 [REACTOS] "http://www.reactos" -> "https://reactos" (#5043)
To harmonize, to save some bytes, and last but not least for security reasons.
This can be understood as an addendum to (#2619).
2023-02-06 17:01:52 +03:00
Katayama Hirofumi MZ
7ce58e177c [BROWSEUI] Execute command line from address bar (#5026)
CORE-15453
2023-02-06 22:46:26 +09:00
Mark Jansen
ed972708f3 [ROSAPPS] Remove pice 2023-02-05 17:53:02 +01:00
Mark Jansen
c548b97328 [USERENV_WINETEST] Compare variable case insensitive
This fixes a test for TestWHS
2023-02-03 19:15:47 +01:00
Mark Jansen
eeaddf5bbc [DBGHELP_APITEST] Skip more tests on 2k3's dbghelp.dll 2023-02-03 17:45:14 +01:00
Mark Jansen
3bf4ef6fec [KMTESTS:CC] Disable Cc tests that seem to hang TestWHS 2023-02-02 19:08:00 +01:00
Mark Jansen
c35e75897d [UXTHEME_APITEST] Skip some tests that fail without a theme 2023-02-02 15:13:54 +01:00
Mark Jansen
83f076918a [KMTESTS:CC] Disable broken CcCopyRead / CcCopyWrite 2023-02-02 15:08:40 +01:00
Timo Kreuzer
9d19f8bf65 [WINESYNC] msvcrt: Use memmove to copy memory in memcpy_s.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 055ca5e4d9770d4f14e3c157f1288fa6308b86dd by Jacek Caban <jacek@codeweavers.com>
2023-02-02 14:58:08 +01:00
Timo Kreuzer
6b8a981010 [WINESYNC] msvcrt: Use memmove to copy memory in wmemcpy_s.
Fixes memory corruption in Outlook 2016.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id be56a83fd00cdaf9583a973b1e041f47c5277768 by Jacek Caban <jacek@codeweavers.com>
2023-02-02 14:58:08 +01:00
Timo Kreuzer
c50fb470b4 [WINESYNC] msvcrt: Add DECLSPEC_HOTPATCH to functions patched by libtcmalloc.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45199
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b917cc66f4f7b786e7f19f63ab0c0819a5455222 by Alex Henrie <alexhenrie24@gmail.com>
2023-02-02 14:58:08 +01:00
Timo Kreuzer
3ff17d5d71 [WINESYNC] msvcrt: Don't include MSVC 8.0+ heap functions in SOs for older DLLs.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 42ab0af66b74f7572db2f6d0256f49fae7527221 by Alex Henrie <alexhenrie24@gmail.com>
2023-02-02 14:58:08 +01:00
Timo Kreuzer
8fdc1b0d38 [WINESYNC] msvcrt: Add helper for exception throwing.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 90307e067f985f5963b62829993b320537578333 by Piotr Caban <piotr@codeweavers.com>
2023-02-02 14:58:08 +01:00
Timo Kreuzer
6360937cd4 [WINESYNC] ucrtbase: Implement _realloc_base.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8a69c5d81f8deb472df18a8e16e57efef2eb9a9a by Alex Henrie <alexhenrie24@gmail.com>
2023-02-02 14:58:08 +01:00
Timo Kreuzer
aa77776eb0 [WINESYNC] ucrtbase: Implement _free_base.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e4b8bc0edc640b36f2a2a26c53e18edea04fa74c by Alex Henrie <alexhenrie24@gmail.com>
2023-02-02 14:58:08 +01:00
Timo Kreuzer
7757ebfbad [WINESYNC] ucrtbase: Implement _malloc_base.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5325b8c95112be75f4fa0e2e2e45bcc88434fb5d by Alex Henrie <alexhenrie24@gmail.com>
2023-02-02 14:58:08 +01:00
Timo Kreuzer
0dfd5665c0 [WINESYNC] ucrtbase: Implement _calloc_base.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fdc57d497bb305e90680c3b450fa172042fd79cd by Alex Henrie <alexhenrie24@gmail.com>
2023-02-02 14:58:08 +01:00
Timo Kreuzer
1d6ec8555d [WINESYNC] msvcrt: Handle overflow in calloc().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 50dd4b892825c75db35cd1f378291b51fa782f3e by Nikolay Sivov <nsivov@codeweavers.com>
2023-02-02 14:58:08 +01:00
Timo Kreuzer
977e236102 [WINESYNC] msvcrt: memmove_s shouldn't zero its output buffer on error.
wine commit id 49560458426cf25b6a36bbf9bad35aa75c9f7aa7 by Dan Kegel <dank@kegel.com>
2023-02-02 14:58:08 +01:00
Timo Kreuzer
8fa0886fb9 [CRT] Reduce diff to wine by adjusting white space 2023-02-02 14:58:08 +01:00
Thomas Faber
d5999c6b66 [ACPI_APITEST] Mark test failures as todos.
This is a true unit test and runs the same code on Windows as it does on
ROS, so this uses unconditional todos rather than todo_ros.
This avoids test failures on Windows and hopefully makes things less
confusing.
2023-02-01 20:20:17 -05:00
Katayama Hirofumi MZ
0a851eadcb [NOTEPAD] Speed up notepad loading (#5012)
- Use EM_GETHANDLE/EM_SETHANDLE message to get/set the internal buffer handle.
- Use LocalReAlloc to re-allocate the buffer.
- Use file mapping to speed up loading.
- Use also IS_TEXT_UNICODE_REVERSE_STATISTICS for IsTextUnicode.
CORE-14641
2023-02-02 10:10:30 +09:00
Katayama Hirofumi MZ
b6aaf5e332 [SHELL32_APITEST] Add CommandLineToArgvW testcase (#5013)
CORE-17787
2023-02-02 10:09:00 +09:00
Thomas Faber
04b35ecc23 [KMTESTS:IO] Fix some failures in IoDeviceObject test. ROSTESTS-380 2023-02-01 20:05:57 -05:00
Gabriel Grondin
144e984b40 [ZLIB] Update to v1.2.13. CORE-18752 2023-02-02 02:18:39 +03:00
Mark Jansen
6ae2f432b3 [APPHELP_APITEST] dwMinor indicates the current date on Windows below vista.... 2023-02-01 18:29:59 +01:00
Mark Jansen
c7b83d2ce4 [ZIPFLDR_APITEST] Fix the test on 2k3, where a zip folder is marked as 'file', not as 'folder' 2023-02-01 15:43:32 +01:00
Katayama Hirofumi MZ
64527aa948 [RICHED20] Fix word break procedure for punct (#5021)
Fix the hyperlink on Chinese Rapps. Check punctuation in the word break procedure by using iswpunct function.
Wine Bug: https://bugs.winehq.org/show_bug.cgi?id=54419
CORE-17091
2023-02-01 18:29:41 +09:00
Katayama Hirofumi MZ
ea55101aad [NTUSER] Allow Window Snap to be disabled (#5014)
- Add IntIsWindowSnapEnabled helper function that reads registry value WindowArrangementActive.
- Check the registry and store the value to newly-added g_bWindowSnapEnabled global variable on startup.
- Check the global variable before Window Snap.

Win+Left, Win+Right, Win+Up, and Win+Down can be disabled by registry value WindowArrangementActive.
Snapping mouse can be also disabled. CORE-16379
2023-02-01 18:13:32 +09:00
Mark Jansen
0dde428d00 [APPHELP_APITEST] Fix the db test again 2023-02-01 00:44:51 +01:00
Mark Jansen
b4bf2cda31 [DBGHELP_APITEST] Be less strict on error codes 2023-02-01 00:42:32 +01:00
Mark Jansen
2cd219eb23 [ATL_APITEST] Ignore known to be bad values for type 2023-02-01 00:34:39 +01:00
Victor Perevertkin
a0a19c60d0 [TCPIP] Rearrange LwIP glue code.
Reduce unnecessary stuff in LwIP itself.
2023-02-01 02:31:14 +03:00
Victor Perevertkin
1734f29721 [IP][LWIP][TCPIP] Move ip and lwip libraries to drivers/network/tcpip
These libraries are used only inside tcpip.sys driver so move them close
to it.
2023-02-01 02:31:14 +03:00
Victor Perevertkin
6c2df5a199 [TCPIP][ROSTESTS] Remove old and unused TCP tests code 2023-02-01 02:31:14 +03:00
Victor Perevertkin
d43d898ea9 [ACD] Remove the driver stub 2023-02-01 02:31:14 +03:00
Victor Perevertkin
b82353cadd [WINEFILE] Remove Winefile application.
Please use Explorer on ReactOS or download the latest Winefile from Wine
2023-02-01 02:30:09 +03:00
Timo Kreuzer
684b5ce86a [NTDLL_APITEST] Comment out a test that fails on Windows Server 2003 2023-01-31 18:39:21 +01:00
Timo Kreuzer
9237c1a455 [NTDLL_APITEST] Fix test for ProcessUserModeIOPL in Nt[Query/Set]InformationProcess 2023-01-31 18:39:21 +01:00
Timo Kreuzer
e6c192b556 [NTDLL_APITEST] Fix tests for StackOverflow 2023-01-31 18:39:21 +01:00
Timo Kreuzer
dda076a8b3 [COMPILER_APITEST] Comment out some tests, when PSEH is used 2023-01-31 18:39:21 +01:00
Timo Kreuzer
a6faa1b82d [CRT_APITEST] Fix test for strlen
The direction flag in eflags is preserved on x64, but not on x86.
2023-01-31 18:39:21 +01:00
Timo Kreuzer
8233aa5667 [COMPILER_APITEST] Fix pseh test that failed when compiled with GCC 2023-01-31 18:39:21 +01:00
Timo Kreuzer
6cad84a769 [WIN32KNT_APITEST] Fox tests for NtGdiCreateDIBSection 2023-01-31 18:39:21 +01:00
Timo Kreuzer
180207c516 [WIN32KNT_APITEST] Fix test for NtUserEnumDisplaySettings 2023-01-31 18:39:21 +01:00
Timo Kreuzer
82b3cd36d0 [WIN32KNT_APITEST] Comment out broken test for NtUserSystemParametersInfo 2023-01-31 18:39:21 +01:00
Timo Kreuzer
e5da567d87 [WIN32KNT_APITEST] Fix tests for NtGdiPolyPolyDraw 2023-01-31 18:39:21 +01:00
Timo Kreuzer
be7a7f8c22 [WIN32KNT_APITEST] Comment out broken test for NtGdiGetFontResourceInfoInternalW 2023-01-31 18:39:21 +01:00
Timo Kreuzer
329e065dbb [WIN32KNT_APITEST] Fix a test for NtGdiExtTextOutW 2023-01-31 18:39:21 +01:00
Timo Kreuzer
f981345756 [WIN32KNT_APITEST] Comment out btoken tests for NtGdiDdQueryDirectDrawObject 2023-01-31 18:39:21 +01:00
Victor Perevertkin
886670e914 [DRIVERS] Remove unused __NTDRIVER__ and KERNEL definitions 2023-01-31 20:18:18 +03:00
Julen Urizar Compains
8866b9d7b0 Update win32ss/user/ntuser/winpos.c
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2023-01-31 01:08:45 +01:00
Julen Urizar Compains
7866eb2886 [WIN32SS] Fix winpos hyperlink&images loop rendering (CORE-7652) 2023-01-31 01:08:45 +01:00
Mark Jansen
9bb0b9137f [USBSTOR_NEW] Add missing poppack.h 2023-01-30 15:12:06 +01:00
Katayama Hirofumi MZ
c3644fd4d3 [NTUSER] Move IME window creation code (#5009)
Move the code that creates the default IME window, from IntCreateWindow to co_UserCreateWindowEx, just before sending WM_NCCALCSIZE message.
CORE-18723 CORE-18754 CORE-18773 CORE-18785 CORE-18802 CORE-18803
2023-01-30 12:19:39 +09:00
Katayama Hirofumi MZ
f156f9a137 [SHELL32] Follow-up of #5008 (8e036fe)
Now the menu item actions on start button should work. CORE-16544
2023-01-30 08:01:15 +09:00
Joachim Henze
7a17c7d9ad [NETSHELL] LanStatusDlg should show on LBUTTONUP in systray CORE-18813
not on LBUTTONDOWN.
2023-01-29 21:05:33 +01:00
Thomas Faber
6b863f63c2 [KMTESTS:MM] Fix MmReservedMapping test failures on PAE kernels. 2023-01-29 11:39:56 -05:00
Katayama Hirofumi MZ
8e036fe74d [SHELL32] Improve StartButton context menu (#5008)
- Add uFlags argument to CDefaultContextMenu::AddShellExtensionsToMenu- CCopyToMenu, CMoveToMenu, and CSendToMenu check the uFlags against (CMF_NOVERBS | CMF_VERBSONLY).
CORE-16544
2023-01-29 22:40:40 +09:00
Thomas Faber
5f1fff696b [KMTESTS:KE] Correctly handle MP builds in KeSpinLock test. 2023-01-28 23:26:30 -05:00
Thomas Faber
2f63da62e3 [KMTESTS:MM] Fix failures in MmMdl test on machines with 2GB of free RAM. 2023-01-28 23:17:52 -05:00
Thomas Faber
afb953ae4d [BUTTERFLIES] Do not release the DC passed to OpenGL. CORE-18498 2023-01-27 22:31:37 -05:00
Thomas Faber
8b19b6ec5a [GDI32] Fix memory leak in case of public DC. CORE-18498 2023-01-27 22:30:35 -05:00
Timo Kreuzer
f34e425e1a [WINESYNC] msvcrt: Don't fail when _aligned_offset_malloc is used with size=0.
wine commit id 7771552f247660acc472b4862f32c4f8426be180 by Piotr Caban <piotr@codeweavers.com>
2023-01-24 18:53:13 +01:00
Timo Kreuzer
739c9a1e77 [WINESYNC] msvcrt: Fixed strncpy_s behavior when count equals 0.
wine commit id bdf9a9f9bd56354f70a7431a9682183b84353211 by Piotr Caban <piotr@codeweavers.com>
2023-01-24 18:53:13 +01:00
Timo Kreuzer
c36ea58f32 [CRT] Add a number of functions from wine
This adds _aligned_msize, _recalloc, wmemmove_s, memcpy_s, wmemcpy_s
2023-01-24 18:53:13 +01:00
Timo Kreuzer
d0a52a6d71 [CRT] Reduce diff
- use msvcrt_set_errno
- MSVCRT_CHECK_PMT already sets the error.
- NULL check is already in HeapFree
2023-01-24 18:53:13 +01:00
Timo Kreuzer
c47506a5f4 [CRT] Use the original wine heap functions 2023-01-24 18:53:13 +01:00
Timo Kreuzer
cf40758d76 [CRT] reduce diff to wine of heap code
No functional changes intended.
2023-01-24 18:53:13 +01:00
Timo Kreuzer
73ef1c3c8b [CRT] Get back MSVCRT prefix in wine heap code 2023-01-24 18:53:13 +01:00
Katayama Hirofumi MZ
d992c07239 [NTUSER] Check IME-like after WNDS_DESTROYED check (#5005)
The guilty commit a2c6af0 enabled the IMM mode. So we have to take care of the default IME windows.
Using IS_WND_IMELIKE against WNDS_DESTROYED window was the cause of BSoD. CORE-18777
2023-01-23 12:22:54 +09:00
Roy Tam
1321c802fc [USER32_WINETEST] Add test for WM_CONTEXTMENU from grandchild window
Cherry-picked from 3af8415ca9
2023-01-22 22:18:11 +03:00
Roy Tam
0bab3a1048 [NTUSER][USER32] Set WM_CONTEXTMENU's wParam to the child window's handle
Cherry-picked from 3af8415ca9

CORE-18801
2023-01-22 22:18:11 +03:00
Ratin Gao
5b3b4151e2 [OLEAUT32] OaBuildVersion: Add Windows Server 2003 case (#5004)
Fixes debug print in Visual Studio 6 PRO installation. CORE-18419
2023-01-22 21:34:54 +03:00
Ratin Gao
21a168e574 [ATL] CImage::Load(): Return E_FAIL without ATLASSERT on failure (#4993)
Application won't be interrupted by ATLASSERT when image load failure happens,
just like it was done in MS ATL.

CORE-18589
2023-01-22 20:38:16 +03:00
Thamatip Chitpong
74c45e0975 [WIN32K:NTUSER] ValidateHwndNoErr: Fix window handle validation (#4981)
Also check window state. Addendum to 4d48b88b.
2023-01-22 17:44:52 +03:00
Thomas Faber
c0e7eaf403 [NTOS:PNP] Avoid recursion when walking the device tree. 2023-01-22 09:42:08 -05:00
Dmitry Borisov
3dd3d10531 [PCI] Fix I/O range size of the resource descriptors
Fixes incorrect PCI IDE resources in VPC 2007
CORE-17256
2023-01-21 07:33:03 +01:00
Thomas Faber
d3a718eb01 [COMPBATT] Add inf entry. CORE-18167 2023-01-21 00:10:06 -05:00
Roy Tam
9293b975ef [NTDLL_APITEST] Add test for a section where PointerToRawData = 0 while SizeOfRawData != 0. CORE-18797 2023-01-20 17:02:37 +08:00
Roy Tam
0d4a8d0ea6 [NTOS:MM] Ignore sections either PointerToRawData or SizeOfRawData is zero
VC1 Linker fills BSS.SizeOfRawData with data in IMAGE_OPTIONAL_HEADER.SizeOfUninitializedData but keeps PointerToRawData to zero.

CORE-18797
2023-01-20 17:02:12 +08:00
Joachim Henze
e89675768b [SHELL32] Add 3 accelerators for IDM_DRAGFILE MENU de-DE.rc (#5001)
They got lost when the menu was translated to german during 0.4.9-dev'ing.
2023-01-18 22:40:05 +01:00
Julio Carchi
a999c43746 [NTGDI] Check if face->charmap is not zero before accessing its encoding (#4390)
This allows DevExpress Ribbon Notepad sample to start.

Also add a fat DPRINT1 suggested by Timo Kreuzer,
because there is a lot wrong in the code.

CORE-18091 CORE-18558
2023-01-18 21:24:40 +03:00
Wu Haotian
346477fb3c [NTOS:MM] Use image prefix in MmLoadSystemImage
MmLoadSystemImage has a PUNICODE_STRING NamePrefix parameter which is
currently unused in ReactOS. When the kernel loads the crash dump
storage stack drivers, the drivers will be loaded with MmLoadSystemImage
with a "dump_" or "hiber_" (for hibernation, which uses crash dump
stack too) prefix. This change adds in the prefix support, and is
supposed to push crash dump support forward.

CORE-376
2023-01-18 02:35:19 +03:00
Thomas Faber
543d390259 [NTOS:IO] Handle missing device instance in IopInitializeBuiltinDriver. CORE-18793 2023-01-14 17:52:17 -05:00
Thomas Faber
6c06760547 [HIVESYS] Move ndis to the "NDIS Wrapper" group. CORE-18790
Miniport drivers import from NDIS, but NDIS does not support being
loaded as a dependent driver (it does not have DllInitialize).
Instead, NDIS needs to load before all possible miniport drivers,
even boot-start ones. We achieve this by placing it in its own service
order group, which loads before the NDIS group.

All our miniport drivers are demand-start, so would automatically start
later. The ndisprot driver from the ticket is likely the first boot-start
miniport we've encountered. Since DriverEntry did not run,
AdapterListHead was NULL, resulting in the crash.
2023-01-14 15:33:30 -05:00
Denis Malikov
669b2f4465 [WIN32SS:NTUSER] restore snapped window to normal size by dragging window caption
CORE-15638
2023-01-08 22:49:59 +03:00
Joachim Henze
8d5011fb6b [THEMES][DOC] "Open Sans" -> "Trebuchet MS" (#4983)
[THEMES] Eliminates the last references to "Open Sans" font.

This is an addendum to 0.4.13-dev-765-g 04a361d091
"Open Sans" has been replaced by "Trebuchet MS" back then.

[DOC] Mention trebuc*.ttf as being based on 'Open Sans Fonts'
2023-01-08 16:07:30 +01:00
Hermès Bélusca-Maïto
84e32e4e90 [NTOS:KD] Revisit KdSendPacket() and KdReceivePacket() for DBGKD_DEBUG_IO. (#4914)
- Use SAL2 annotations.
- KdSendPacket(): Validate DEBUG_IO API call.
- KdReceivePacket(): Take the LengthOfStringRead into account; use
  KdbpReadCommand() to read the input, so that correct line edition
  is available (backspace, etc.)
2023-01-06 18:57:32 +01:00
Hermès Bélusca-Maïto
e619f89020 [NTOS:KDBG] Fix and improve KdbpReadCommand(). (#4914)
- Don't read anything and return immediately if the buffer size is zero.

- Allow the controlling keys (up/down arrows, backspace) even if the
  buffer is full! (especially backspace if too much has been written).

- Return the number of characters stored, not counting the NULL terminator.
2023-01-06 14:44:50 +01:00
Hermès Bélusca-Maïto
1b25fe161c [KERNEL32][NTOS:PS][RTL] Cleanup some DbgPrompt() calls. 2023-01-06 14:44:49 +01:00
Joachim Henze
51b4a38ab7 [BOOTDATA] Use the standard "Helv" -> "MS Sans Serif" (#4982)
This is what Windows does. And we forgot this location here.
This is an addendum to
0.4.15-dev-5365-g 9bb5627df6 [SETUP][INF] Use the standard "Helv" -> "MS Sans Serif" substitution... (#4864)
2023-01-06 13:31:03 +01:00
Thamatip Chitpong
51c38aeb89 [RAPPS] Add tooltip for "Refresh" and "Update Database" (#4975) 2023-01-06 13:23:25 +01:00
Hermès Bélusca-Maïto
2714e3ee48 [LIBWINE] Fix GCC build warning. (#4938)
In file included from ../sdk/lib/3rdparty/libwine/debug_ros.c:9:
../sdk/lib/3rdparty/libwine/debug.c: In function 'get_temp_buffer':
../sdk/lib/3rdparty/libwine/debug.c:343:33: warning: passing argument 1 of '_InterlockedExchangeAdd' from incompatible pointer type [-Wincompatible-pointer-types]
     idx = interlocked_xchg_add( &pos, 1 ) % (sizeof(list)/sizeof(list[0]));
                                 ^~~~
In file included from ../sdk/include/crt/mingw32/intrin.h:98,
                 from ../sdk/include/crt/intrin.h:1017,
                 from sdk/include/psdk/winnt.h:48,
                 from ../sdk/include/psdk/windef.h:202,
                 from ../sdk/include/reactos/wine/debug.h:26,
                 from ../sdk/lib/3rdparty/libwine/debug.c:32,
                 from ../sdk/lib/3rdparty/libwine/debug_ros.c:9:
../sdk/include/crt/mingw32/intrin_x86.h:215:70: note: expected 'volatile long int *' but argument is of type 'int *'
 __INTRIN_INLINE long __cdecl _InterlockedExchangeAdd(volatile long * Addend, long Value)
                                                      ~~~~~~~~~~~~~~~~^~~~~~
2023-01-06 13:17:21 +01:00
Timo Kreuzer
abb75b6214 [WIN32K] Add some NULL checks for THREADINFO::rpdesk
rpdesk should probably never be NULL, but it happens in rare circumstances, like csrss being terminated.
2023-01-04 10:32:28 +01:00
Timo Kreuzer
e56da4854f [WIN32K] Properly reference owner window 2023-01-04 10:32:28 +01:00
Timo Kreuzer
12ed9f30a7 [NTOS] Fix interrupt flag handling in KiPageFault
This fixes a crash in kmtest:ZwAllocateVirtualMemory
2023-01-04 10:32:28 +01:00
Timo Kreuzer
5b6e7eceda [NTOS] Fix KiGeneralProtectionFault 2023-01-04 10:32:28 +01:00
Timo Kreuzer
26f541aa97 [BEEPMIDI] Make DeviceInfo structure 64 bit compatible
Fixes winmm_winetest midi on x64
2023-01-04 10:32:28 +01:00
Timo Kreuzer
01f2426dcf [WINMM] Sync mci.c with wine
Date: 2022-02-22
Author: Eric Pouech
Commit: "winmm: Enable compilation with long types."
Hash 71189f62604c2cb8208c85372a0e027dd2b79055
2023-01-04 10:32:28 +01:00
Timo Kreuzer
7d4de5f8ea [SHELL32] Check for valid listview in CDefView::_PidlByItem and CDefView::RemoveObject
This fixes failing ATLASSERTs in shell32_winetest:shlview
2023-01-04 10:32:28 +01:00
Timo Kreuzer
902cdbc63a [ATL] Remove an assert that doesn't exist in the native ATL
This fixes an ATL assert in shell32_winetest:assoc and shell32_winetest:shfldr_special
2023-01-04 10:32:28 +01:00
Timo Kreuzer
d0c1df7882 [SHELL32] Add check to CMenuToolbarBase::ShowDW
This fixes an ATL assert in shell32_apitest:menu
2023-01-04 10:32:28 +01:00
Timo Kreuzer
c5158963a3 [ADVAPI32] Fix a buffer overflow in RegQueryValueExA
The code was trying to check whether the output string was already NULL terminated by RtlUnicodeToMultiByteN before NULL terminating it by checking DataStr[*count - 1] for a NULL terminator. But since RtlUnicodeToMultiByteSize always returns the size without the NULL terminator, DataStr[*count - 1] would always be the last actual character, never an optional NULL terminator.
For 0 sized strings this would actually lead to accessing the output buffer at position -1 (on 32 bit)  or 0xFFFFFFFF (on 64 bit).
Fix this by removing the check. This fixes a crash in advapi32_winetest:registry on x64.
2023-01-04 10:32:28 +01:00
Timo Kreuzer
2154e259e7 [PSDK] Fix definition of DRVCALLBACK for 64 bit 2023-01-04 10:32:28 +01:00
Timo Kreuzer
437f2b1b0e [KERNEL32] Silence 2 annoying DPRINTs 2023-01-04 10:32:28 +01:00
Cătălin Gabriel Drăghiță
911162a1c7 [TRANSLATIONS] Email update (#4974) 2023-01-03 19:47:55 +01:00
George Bișoc
0bdae2114a [NTOS:CM] Cleanup the hive in case linking it to master fails (#4969)
Currently the failure code path doesn't do any kind of cleanup against
the hive that was being linked to master. The cleanup is pretty
straightforward as you just simply close the hive file handles and free
the registry kernel structures.

CORE-5772
CORE-17263
CORE-13559
2023-01-03 16:48:03 +01:00
Hermès Bélusca-Maïto
95e5f07084 🎊 🍾 🥳 Happy New Year 2023 to the ReactOS Community! 🎆 ⚛️ ☢️
.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:
 __,  ,__)            __,  ,__)       __, ,__)        ░▄████▄░▄███▄░▄████▄░▄█▀▀█▄░
(--|__| _ ,_ ,_      (--|\ | _       (--\ | _  _ ,_   ░▀▀░▄██░██░██░▀▀░▄██░░░░▄█▀░
  _|  |(_||_)|_)(_|    _| \|(/_(_|_)     \|(/_(_||    ░░▄██▀░░██░██░░▄██▀░░▄░▀▀█▄░
 (        |  |  ,_|   (                (__|           ░██████░▀███▀░██████░▀█▄▄█▀░
.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:
2023-01-01 00:00:00 +03:00
Muthu R Kumar
7fff96e7fe [NTOBJSHEX] Return early from GetInfoFromPidl when pcidl is null in LPCITEMIDLIST (#4946)
This fixes a crash when attempting to drag-n-drop items from NTObject Namespace and System Registry.
CORE-18480, CORE-18481
2022-12-31 16:53:02 +01:00
Egor Ananyin
d395c30967 [MSPAINT] Don't allow to set image as wallpaper if it has the wrong format (#4924)
CORE-18661

Our Paint allows user to try to set a .ico file as a wallpaper, which isn't possible. Different Windows versions have different behaviour, so it was decided that the simplest fix would be to just grey out "Set as wallpaper" buttons as in 2K3 (See the Jira ticket).
2022-12-31 16:08:14 +01:00
George Bișoc
bfe06cbfca [SDK][CMLIB] Properly check for failure if hive free list creation fails
HvpCreateHiveFreeCellList returns a NTSTATUS code yet the way the code path checks
checks for failure is just wrong. This was spotted whilst working on #4571 PR.
2022-12-30 19:58:37 +01:00
Timo Kreuzer
afbc446ec7 [WIN32NT_APITEST] Fix entirely broken win32knt_apitest NtGdiDdQueryDirectDrawObject 2022-12-30 11:19:26 +01:00
Timo Kreuzer
ad8c446814 [DBGHELP_APITEST] Comment out rsym test for anything other than x86 for now 2022-12-30 11:19:26 +01:00
Timo Kreuzer
64135505f2 [GDI32_APITEST] Fix test results for SetWorldTransform on Windows 2003 x64 2022-12-30 11:19:26 +01:00
Timo Kreuzer
284ee9dc9c [GDI32_APITEST] Fix test results for CombineTransform on Windows 2003 x64 2022-12-30 11:19:26 +01:00
Timo Kreuzer
3d1ca45934 [XMLLITE_WINETEST] Fix stack corruption on 64 bit 2022-12-30 11:19:26 +01:00
Timo Kreuzer
c1362c64b0 [WS2_32_WINETEST] Fix use of uninitialized variable 2022-12-30 11:19:26 +01:00
Timo Kreuzer
91b51f6e9c [NTDLL_APITEST] Fix LdrEnumResources test for x64 2022-12-30 11:19:26 +01:00
Timo Kreuzer
3b437b8a1c [NDK] Fix definition of RTL_DEBUG_INFORMATION
Fixes ntdll_aiptest RtlDebugInformation on x64
2022-12-30 11:19:26 +01:00
Timo Kreuzer
918c98a239 [NDK] Fix definition of LDR_ENUM_RESOURCE_INFO
This fixes ntdll_apitest LdrEnumResources on x64 Windows
2022-12-30 11:19:26 +01:00
Mark Jansen
a09d5bae0f [LOG2LINES] Compile the tool for MSVC builds 2022-12-29 16:51:40 +01:00
Justin Miller
24d124f99f [NTOS] Set SwapBusy properly for i386
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2022-12-28 21:09:41 +01:00
Justin Miller
2a33aed7cf [NTOS] Increment ActiveProcessors accurately 2022-12-28 21:09:41 +01:00
Justin Miller
fbd033df0a [NTOS] fix timer lock data and hardcod 2022-12-28 21:09:41 +01:00
Justin Miller
b5c35c03b6 [NTOS] Swap MAXIMUM_PROCESSORS with NUMBER_POOL_LOOKASIDE_LISTS 2022-12-28 21:09:41 +01:00
Joachim Henze
83e1363065 [INF] More deduplication and style harmonization (#4952)
- deduplication of manufacturer strings
- at some places harmonizes the different length of separator lines within the same file, centers the words (as requested by hbelusca during review), harmonizes those lines to 74characters length each
- moving some strings that are not to be localized into the non-localization string section
- other minor formatting preferences coauthored by StasM
2022-12-28 02:26:17 +01:00
Joachim Henze
f9dfc45375 [SYSSETUP] Fix *.rc combobox for the timezone is too small CORE-18587
Use the same width for COMBOBOX IDC_TIMEZONELIST that we use in timedate.cpl to
prevent strings from getting cut off for some timezones with long names.
To still make it look appealing afterwards, enlarge and move a bit to the right also IDC_TIMEPICKER.

IDC_AUTODAYLIGHT used different widths in several translations, we can harmonize
for all languages to the biggest one that was used: 230 (taken from eu-ES.rc).

And also fix a few additional whitespace-glitches in zh-CN, zh-HK, zh-TW and en-GB.

After this commit the whole dialog IDD_DATETIMEPAGE uses the exact same dimension for
all of its controls for all languages.
2022-12-26 19:58:31 +01:00
Joachim Henze
2ac931ce34 [TIMEDATE] Limit the expanded combobox height by using CBS_NOINTEGRALHEIGHT CORE-18665
It is good practice to not make the expanded combobox larger than the dialog itself.
CBS_NOINTEGRALHEIGHT will allow to set a fixed amount of pixels for the v6 combobox,
and therefore allows us to hide the problem for this specific dialog.

The problem was unhidden by 0.4.12-dev-882-g e3e173ffaa

Even after this patch I think Wines comctl32 can be improved for comboboxes with very
many elements that do not use this small trick yet. I will create a follow-up-ticket.
2022-12-26 16:26:51 +01:00
Hermès Bélusca-Maïto
068fcd3894 [REG] Fix mis-converted Yes-No-All keypress shortcuts strings.
The PO \"#msgctx\" control strings were not stripped out.
2022-12-26 13:16:31 +01:00
George Bișoc
9385830b33 [NTOS:CM] Enable verbose debug output of registry lazy flushing component
Log debug output of the lazy flusher as much information as possible so that we can examine how does the lazy flusher behave, since it didn't work for almost a decade. Verbose debugging will be disabled once we're confident enough the registry implementation in ReactOS is rock solid.
2022-12-23 19:45:25 +01:00
George Bișoc
578f2fc512 [NTOS:CM] Don't lazy flush the registry during unlocking operation
Whenever ReactOS finishes its operations onto the registry and unlocks it, a lazy flush is invoked to do an eventual flushing of the registry to the backing storage of the system. Except that... lazy flushing never comes into place.

This is because whenever CmpLazyFlush is called that sets up a timer which needs to expire in order to trigger the lazy flusher engine worker. However, registry locking/unlocking is a frequent occurrence, mainly when on desktop. Therefore as a matter of fact, CmpLazyFlush keeps removing and inserting the timer and the lazy flusher will never kick in that way.

Ironically the lazy flusher actually does the flushing when on USETUP installation phase because during text-mode setup installation in ReactOS the frequency of registry operations is actually less so the timer has the opportunity to expire and fire up the flusher.

In addition to that, we must queue a lazy flush when marking cells as dirty because such dirty data has to be flushed down to the media storage of the system. Of course, the real place where lazy flushing operation is done should be in a subset helper like HvMarkDirty that marks parts of a hive as dirty but since we do not have that, we'll be lazy flushing the registry during cells dirty marking instead for now.

CORE-18303
2022-12-23 19:45:13 +01:00
Fernando Isnaldo Silva de Faria
1247a16863 Translate favorites menu
Improve translation for Favorites menu
2022-12-22 23:50:36 +01:00
Jose Carlos Jesus
ef10fd0109 [TRANSLATION] Don't translate Documents and Settings folder 2022-12-22 23:18:57 +01:00
Jose Carlos Jesus
f59304098d [SHELL32][USER32] Improve pt-PT translation 2022-12-22 23:18:57 +01:00
Tibor Lajos Füzi
55d816df7c [TRANSLATION] Hungarian translation update for sysdm 2022-12-22 23:13:07 +01:00
Fernando Isnaldo Silva de Faria
5b8886de26 [DXDIAG] Fix Portuguese (pt-BR) translation (#4953)
Fix minor translation error.
2022-12-22 13:30:51 +01:00
Thamatip Chitpong
ca9ded7af8 [NTUSER] Fix zombie window created by CTRL+ALT+DEL (#4935)
Based on patch by I_Kill_Bugs. CORE-18258
See also commit 58b0558f9.
2022-12-22 01:38:53 +01:00
Serge Gautherie
8efde69a25 [WIN32K:NTGDI] PATH_PathToRegion(): Update documentation (#4941)
Addendum to 215e0d9 (r64177).
2022-12-22 01:27:51 +01:00
Serge Gautherie
0b6775505a [NTOBJSHEX] Fix displayed registry value type and icon (#4949)
- RegistryTypeNames[]: Remove an unwanted space

- CRegistryFolderExtractIcon::GetIconLocation():
  Add the REG_ENTRY_VALUE_WITH_CONTENT case

- CRegistryFolder::GetDetailsOf(): Fix copypasta

- CRegistryFolder::FormatValueData(): Fix magic constant

CORE-18747
2022-12-21 15:42:36 +03:00
Egor Ananyin
e0248f4f51 [NTOBJSHEX] Fix sorting elements by different columns (#4947)
- Add ability to sort NT objects by symlinks
- Add ability to sort registry entries by type/value

CORE-18761 CORE-18762
2022-12-20 23:58:30 +03:00
Egor Ananyin
d1718366de [SHELL32] Read the label for a CD from autorun.inf (#4945)
Some CDs may set a custom label using autorun.inf.
Read the label from the file, and if it succeeds, show it to the user.

CORE-18567
2022-12-20 22:30:09 +03:00
Stanislav Motylkov
ba03ffd645 [NTOBJSHEX] Formatting only 2022-12-20 20:08:08 +03:00
Muthu R Kumar
4c25af5bd4 [SHELL32] Fix detailed list views in Control Panel and Registry Folder
- Add enums for Control Panel and Registry Folder columns
- Fix iColumn values in GetDetailsOf() and fix checks in
  GetDefaultColumnState()

Current CControlPanelFolder::CompareIDs was using wrong lparam column
index. Actual column index should be 1 instead of 4. Because of this
the comment column next to name in details view was not being displayed
correctly. The same fixes for CRegFolder class functions.

PR #4944. CORE-18743 CORE-18501
2022-12-20 18:42:07 +03:00
Eric Kohl
28088ab25d [RPCRT4_WINETEST] Remove obsolete todo_wine
Addendum to 00ccbd2f
2022-12-19 17:58:02 +01:00
Eric Kohl
00ccbd2f39 [RPCRT4] RpcStringBindingParseA/W must fail, if a colon is missing in the string binding
This fixes a bug in the rpc winetest.
This patch will be sent upstream.
2022-12-19 16:13:58 +01:00
Eric Kohl
d01de6dc8b [RPCRT4] Call WSAStartup in rpcrt4_ip_tcp_get_top_of_tower
This fixes the crash in the rpc winetest.
2022-12-19 13:39:52 +01:00
Eric Kohl
2a783979ff [RPCRT4] RpcStringFreeA/W must set the pointer to NULL
Add a matching wine test.

This change will be sent upstream.
2022-12-19 09:18:48 +01:00
Joachim Henze
5ecb9e8cb5 [DESK] Update german translation de-DE.rc (#4943) 2022-12-16 16:29:17 +01:00
Eric Kohl
5ff50741dd [NTOS:IO] Replace an outdated E-Mail Address
The old Address will be gone soon.
2022-12-16 10:34:51 +01:00
Joachim Henze
e8e38b8301 [SYSSETUP] Fix missing comma in german translation de-DE.rc
The old string lacked a *mandatory* comma before the word "übereinstimmen"
as the part "die Sie nutzen wollen" is a relative clause,
relative to the noun "Anwendungen".
But we can fix it without having to add the comma by some shuffling.
That also improves the reading flow.
2022-12-15 00:14:57 +01:00
Joachim Henze
e54c7fa740 [WINLOGON] Update german translation de-DE.rc
Addendum to 0.4.15-dev-2358-g 5f03339239
to avoid regressing the german translation compared to releases/0.4.14
2022-12-14 23:27:37 +01:00
Timo Kreuzer
9762ef9480 [WIN32K] Workaround for broken/retarded (on non-x86) FLOATOBJ_GetFloat
The official definition in winddi.h always returns the result in an ULONG. This works to assign to a FLOATL on x86, which is also an ULONG, but it doesn't work on any other architecture, where FLOATL is actually a FLOAT, so the assignment would convert the ULONG encoding of the FLOAT to an actual float, which gives broken results. Work around this by simply replacing the definition with a sane one in win32k.
2022-12-13 07:18:24 +01:00
Timo Kreuzer
a206b55838 [WIN32K] Fix memory leak on failure in REGION_SetPolyPolygonRgn 2022-12-13 07:18:24 +01:00
Timo Kreuzer
4f0f5f6ff8 [WIN32K] Fix a bug in PATH_PathToRegion 2022-12-13 07:18:24 +01:00
Timo Kreuzer
84b09285c8 [WIN32K] Fix missing NULL check in NtGdiPathToRegion 2022-12-13 07:18:24 +01:00
Timo Kreuzer
60af8194bb [WIN32K] Fix uninitialized variable in IntExtTextOutW 2022-12-13 07:18:24 +01:00
Timo Kreuzer
2e3fe5de90 [NTOS] Fix saving of XMM registers on some trap handlers 2022-12-13 07:18:24 +01:00
Timo Kreuzer
52fe43e87b [KMTEST] Add a NULL check 2022-12-13 07:18:24 +01:00
Timo Kreuzer
9e12af569f [KMTEST] Handle failure in KmtLoadDriver and KmtOpenDriver 2022-12-13 07:18:24 +01:00
Victor Perevertkin
53de4fd93e [NTOS:IO] Bring back the NDEBUG definition
Addendum to 947f60b207
2022-12-13 01:49:32 +03:00
Victor Perevertkin
947f60b207 [NTOS:IO] Allow REG_SZ type for ImagePath of a driver
Fixes the load of the Sysinternals FileMon driver.

CORE-18725
2022-12-13 01:46:20 +03:00
Serge Gautherie
475c0d1b4d [BTRFS] btrfs.inf: Comment out mkbtrfs.exe (#4937)
It is not imported into ReactOS.

Addendum to 0.4.13-dev-788-g c8875c182a and 0.4.14-dev-1535-g 194ea909fd
2022-12-11 23:10:02 +01:00
Hermès Bélusca-Maïto
e942eeaff8 ['OLD'_WORDPAD] General resources in rsrc.rc are language-neutral. 2022-12-10 00:40:53 +01:00
Hermès Bélusca-Maïto
1103104227 [ROSAPPS] Exclude the templates from compilation by default. 2022-12-10 00:36:13 +01:00
Hermès Bélusca-Maïto
49ceac2efc [MDI] Template MDI app is Win32 GUI, not CUI. 2022-12-10 00:36:12 +01:00
Joachim Henze
5123edd731 [CONSOLE] Improve font preview and Update de-DE.rc (#4933)
An addendum to bc1e2dbb92 == SVN r74465
from CORE13182 (I intentionally did not want JIRA to auto-link)
2022-12-09 21:28:38 +01:00
Thamatip Chitpong
7ca2710d64 [SHELL32] Improve "Empty Recycle Bin" sound code (#4927)
Split off from PR #4755. This change doesn't require WINMM fixes (#4635).

- Remove `MAX_PATH` limit
- Use ATL classes
- Play the sound asynchronously
2022-12-09 23:14:09 +03:00
Thamatip Chitpong
f0c20caf32 [SHELL32] Fix My Documents properties (#4906)
Tell the caller to run default action by returning S_FALSE in else case.

CORE-17509
2022-12-09 16:00:24 +03:00
Oleg Dubinskiy
82cf6c2b06 [NTOS:IO] Properly zero-initialize a file object created by IopParseDevice (#4931)
Fix uninitialized kernel memory leakage for a case when a file object extension is appended.

CORE-18711
2022-12-08 01:15:42 +03:00
Hermès Bélusca-Maïto
1341c384f2 [MSPAINT] Fix manifest for mspaint. 2022-12-06 15:26:30 +01:00
Thamatip Chitpong
ebf10528c2 [SYSDM] System Parameters: Add close button (#4928)
Follow-up of PR #4891 (commit f125cd1c7).
2022-12-06 13:50:12 +01:00
Hermès Bélusca-Maïto
b577ac073e [KDGDB] Fix compilation following commit de81021ba (#4930)
Use cast to be compatible with "public" structure definition.
2022-12-06 00:53:53 +01:00
Katayama Hirofumi MZ
599ba9cefb [BOOTDATA][INF] Add Japanese (ja-JP) translation to timezone
CORE-18706
2022-12-05 11:29:02 +09:00
Egor Ananyin
71123b72fa [DESK] Fix screensaver preview after calling its settings (#4921)
Fix a bug when after closing the settings window for a screensaver,
the preview for it wouldn't restart.

- Keep waiting for messages from the settings window while it's open
- Fix leaking two handles to avoid creating zombie processes

CORE-18680
2022-12-04 18:04:23 +03:00
Thamatip Chitpong
cae51e8f77 [MMSYS] Prevent the same sound from being added multiple times (#4898)
Check if the list already contains the sound.
2022-12-04 17:12:36 +03:00
Katayama Hirofumi MZ
11ee1fa88e [NTGDI][FREETYPE] Follow-up of #4920 (e316d61); Rename functions
Follow the naming policy.

- ftGdiGetRealGlyph --> IntGetRealGlyph
- ftGdiGlyphCacheGet --> IntFindGlyphCache
- ftGdiGlyphSet --> IntGetBitmapGlyphNoCache
- ftGdiGlyphCacheSet --> IntGetBitmapGlyphWithCache
- FtMatrixFromMx --> IntMatrixFromMx

CORE-11848
2022-12-04 22:11:46 +09:00
Katayama Hirofumi MZ
47f3a4e144 [OSK] Delete WS_EX_NOACTIVATE workaround code
CORE-18528
2022-12-04 10:15:56 +09:00
Katayama Hirofumi MZ
1fbed1710e [NTUSER] Fix SetActiveWindow return value
Apply set-active.patch. CORE-13257
2022-12-04 08:58:34 +09:00
Thamatip Chitpong
7c2b22c4de [SENDMAIL] Fix Send To -> Desktop (create shortcut) behavior (#4913)
Several fixes and improvements to the CDeskLinkDropHandler:
- Set default working directory for shortcuts (except folders and zip files)
- Copy existing shortcut to the desktop if the source file is a shortcut
- Prevent destination file name collision

Verified on Windows XP SP3 and Windows 7 SP1.
2022-12-03 20:06:45 +03:00
Thamatip Chitpong
feff2b1e6c [EXPLORER] Fix Windows XP compatibility (#4923)
CORE-18694
It regressed by 0.4.15-dev-4596-g 1aa95f3897
2022-12-03 16:00:22 +01:00
Katayama Hirofumi MZ
e316d61215 [NTGDI][FREETYPE] lfEscapement for TextOut (#4920)
Rotation and shearing transformation of font/text is now available. Retrial of PR #1207.
- Rename ftGdiGetTextWidth as IntGetTextDisposition and add a Y parameter.
- Apply lfEscapement values (by multiplying matrices).
- Add IntEngFillPolygon and IntEngFillBox helper functions.
CORE-11848
2022-12-03 13:03:28 +09:00
Timo Kreuzer
e7bbbf049e [NTOS] Fix double free on allocation failure in ObCreateObject 2022-12-01 20:17:40 +02:00
Timo Kreuzer
51a09e7358 [SPOOLSS] Fix prototype of BuildOtherNamesFromMachineName 2022-12-01 20:17:40 +02:00
Timo Kreuzer
561b71b644 [NTOS] Improve MmDeleteProcessAddressSpace 2022-12-01 20:17:40 +02:00
Timo Kreuzer
10fbefdeb0 [NTOS] Improve MmCleanProcessAddressSpace 2022-12-01 20:17:40 +02:00
Timo Kreuzer
9fc56bfc9d [WIN32K] Fix missing NULL check in IntCreateDIBitmap 2022-12-01 20:17:40 +02:00
Timo Kreuzer
b89a4eed72 [NTOS:EX] Initialize ExpTimeRefreshLock 2022-12-01 20:17:40 +02:00
Timo Kreuzer
eb502bbc10 [KERNEL32] Fix a bug in GetVolumeNameForRoot 2022-12-01 20:17:40 +02:00
Timo Kreuzer
866918c785 [WS2_32_APITEST] Fix uninitialized variable 2022-12-01 20:17:40 +02:00
Timo Kreuzer
f71940efb1 [CRT_APITEST] Restore direction flag to avoid false RTC break
With set direction flag the variables will not be initialized properly.
2022-12-01 20:17:40 +02:00
Timo Kreuzer
dacbc603b6 [CRT] Add simplistic fallback implementation of sincos to make GCC 11 happy 2022-12-01 15:21:59 +02:00
Timo Kreuzer
28c41b7d22 [CRT] Replace amd64 math functions/stubs with libm 2022-12-01 15:21:59 +02:00
Timo Kreuzer
20e6e17070 [FREELDR] Add stubs for pow and log to avoid pulling in the data from CRT (maybe fix printf functions instead?) 2022-12-01 15:21:59 +02:00
Timo Kreuzer
1ad4106b84 [CRT] Add basic version of handle_error 2022-12-01 15:21:59 +02:00
Timo Kreuzer
3d497ca883 [CRT] Improve _matherr handling 2022-12-01 15:21:59 +02:00
Timo Kreuzer
4d50f81419 [CRT] Implement _set_statfp 2022-12-01 15:21:59 +02:00
Timo Kreuzer
61cc62d1b2 [ASMPP] Implement asm preprocessor
This converts ML style assembly to GAS compatible syntax
2022-12-01 15:21:59 +02:00
Timo Kreuzer
7277e26944 [LIBM] Fix ldexp.c / ldexpf.c 2022-12-01 15:21:59 +02:00
Timo Kreuzer
4f348ee971 [LIBM] Add ldexp.c and ldexpf.c from aocl-libm-ose 2022-12-01 15:21:59 +02:00
Timo Kreuzer
105426b81a [LIBM] Fix up some asm files
This allows to compile them with GAS after translation
2022-12-01 15:21:59 +02:00
Timo Kreuzer
af6d3bb18f [LIBM] Convert tables from asm to C 2022-12-01 15:21:59 +02:00
Timo Kreuzer
9e8ed3f817 [LIBM] Fix build 2022-12-01 15:21:59 +02:00
Timo Kreuzer
4afb647c78 [LIBM] Import win-libm from AMD
Source: https://github.com/amd/win-libm
2022-12-01 15:21:59 +02:00
Timo Kreuzer
081c637c06 [XDK] Silence some GCC x64 warnings 2022-12-01 15:21:59 +02:00
Timo Kreuzer
06f1ac5fa4 [CRT] Add a workaround for CORE-18255 2022-12-01 15:21:59 +02:00
Katayama Hirofumi MZ
138eb58b95 [NTGDI][FREETYPE] lfWidth for GetTextMetrics and GetCharWidth (#4919)
- Add lfWidth member into FONTGDI structure.
- Delete IntWidthMatrix function.
- Fix IntRequestFontSize behavior for processing lfWidth value.
- Apply lfWidth in GetTextMetrics and GetCharWidth.
- Ignore the XFORM values in GetTextMetrics and GetCharWidth.
CORE-11848
2022-12-01 08:54:39 +09:00
Katayama Hirofumi MZ
4d0d22aee2 [NTGDI][FREETYPE] Add special structure for hashing (#4916)
Add FONT_CACHE_HASHED structure and use it.
CORE-11848
2022-11-29 19:41:09 +09:00
Mark Jansen
062a8f20a9 [RPCRT4] Sync msvc.S with WINE's inline assembly,
as suggested by Thomas

CORE-18505
2022-11-28 20:12:57 +01:00
Hermès Bélusca-Maïto
8398b28ae4 [PSDK] Fix x64 incompatibilities in ***Box_GetItemData(). Addendum to 6572dd7f4. 2022-11-28 15:02:39 +01:00
Katayama Hirofumi MZ
b85f0056a8 [NTGDI][FREETYPE] lfWidth for GetTextExtentPoint32 (#4912)
- Apply LOGFONT.lfWidth in TextIntGetTextExtentPoint function.
- Delete XFORM transformation in TextIntGetTextExtentPoint (to be simply ignored).
CORE-11848
2022-11-28 07:34:58 +09:00
Thomas Faber
991e2bd45b [LIBPNG] Update to version 1.6.39. CORE-18670 2022-11-27 10:10:53 -05:00
Thomas Faber
c5febe93f0 [LIBPNG] Update to version 1.6.38. CORE-18670 2022-11-27 10:10:51 -05:00
Jose Carlos Jesus
45c8e4dcd0 [NEWDEV][SHELL32][SYSSETUP] Improve browse driver folder dialog (#4293)
[NEWDEV] Enable OK button in "Browse For Folder" only when driver is found

Implement BrowseCallbackProc() function which sends BFFM_ENABLEOK message
to the browse dialog whether the driver is found in the selected folder.

Pass the search path to the browse dialog depending on the current index
of the drop down combobox. If the index is not set, just get window text.
Then, automatically expand the tree view to the specified path by sending
BFFM_SETSELECTION message.

Also fix a bug in SearchDriverRecursive() where a duplicate backslash
was added to the PathWithPattern string variable.

[SHELL32] Do not add Recycle Bin to the tree view items in FillTreeView()

[SYSSETUP] Add source path to the "Installation Sources" multi-string key

Each time the ProcessSetupInf() is being called, add the source path
to the "Installation Sources" registry key, if it's not added there yet.
The driver search path combobox will be then populated using its value.
2022-11-27 18:00:46 +03:00
Katayama Hirofumi MZ
015cd2596c [NTGDI][FREETYPE] Follow-up of #4901 (57702ed)
- Drop APIENTRYs for static functions.
- Use FIELD_OFFSET instead of offsetof.
- Delete unnecessary ASSERTs.
- Add annotations.
CORE-11848
2022-11-27 12:42:25 +09:00
Katayama Hirofumi MZ
57702ed401 [NTGDI][FREETYPE] Font cache: Use hash (#4901)
- Modify FONT_CACHE_ENTRY structure to use hash.
- Use hash in ftGdiGlyphCacheGet and ftGdiGlyphCacheSet functions.
- Reduce function call overheads by using FONT_CACHE_ENTRY, in getting glyph.
CORE-11848
2022-11-27 11:26:44 +09:00
Katayama Hirofumi MZ
430674022a [GDI32_APITEST] Strengthen TextTransform testcase (#4908)
- Simplify and refactor the tests.
- Add the tests for LOGFONT.lfWidth and LOGFONT.lfEscapement.
CORE-11848
2022-11-27 11:25:11 +09:00
Hermès Bélusca-Maïto
3c95c95369 [NDK] Fix description for PIO_APC_ROUTINE.
[RTL] Typo fix.
2022-11-26 02:38:52 +01:00
Hermès Bélusca-Maïto
5871716c64 [HALX86] Update the PCI hardware IDs database.
Extracted from the pci.ids database at https://pci-ids.ucw.cz/ from 2022-11-25 03:15:01 .
Maintained by Albert Pool, Martin Mares, and other volunteers from the PCI ID Project.
2022-11-25 16:17:10 +01:00
Thomas Faber
c0027d117c [LIBXML2] Update to version 2.10.3. CORE-17766 2022-11-25 09:30:40 -05:00
Thomas Faber
19da1718e5 [LIBXSLT] Update to version 1.1.37. CORE-17766 2022-11-25 09:30:40 -05:00
Thomas Faber
1dbad942d8 [LIBXML2] Update to version 2.10.2. CORE-17766 2022-11-25 09:30:39 -05:00
Thomas Faber
0d5a4166a4 [LIBXML2] Update to version 2.10.1. CORE-17766 2022-11-25 09:30:36 -05:00
Katayama Hirofumi MZ
3f3714bad4 [NTGDI][FREETYPE] Font cache: Use FT_Matrix instead of MATRIX (#4900)
- Use FT_Matrix instead of MATRIX in FONT_CACHE_ENTRY structure.
- Use FtMatrixFromMx and FT_Set_Transform instead of FtSetCoordinateTransform.
CORE-11848
2022-11-25 11:23:29 +09:00
Timo Kreuzer
9658c6a220 [NTOSKRNL] Print boot cycles on x64 just like on x86 2022-11-24 21:17:58 +02:00
Timo Kreuzer
225e0c89d9 [NTOS] Fix a bug in KiPrepareUserDebugData 2022-11-24 21:17:58 +02:00
Timo Kreuzer
e923912f94 [NTOS] Fix unwinding through KiThreadStartup 2022-11-24 21:17:58 +02:00
Timo Kreuzer
66aa25b1cd [RTL] Implement RtlUnwind 2022-11-24 21:17:58 +02:00
Timo Kreuzer
8d3bc7c572 [RTL] Set unwind flags in RtlUnwindEx 2022-11-24 21:17:58 +02:00
Timo Kreuzer
0c211b975f [RTL] Fixes for RtlpUnwindInternal 2022-11-24 21:17:58 +02:00
Timo Kreuzer
aade1ab01b [RTL] Fix RtlVirtualUnwind 2022-11-24 21:17:58 +02:00
Timo Kreuzer
90d2e12dfa [RTL] Fix RtlpCaptureNonVolatileContextPointers 2022-11-24 21:17:58 +02:00
Timo Kreuzer
f4d4b31c61 [RTL] Implement x64 version of RtlInterlockedPushListSList 2022-11-24 21:17:58 +02:00
Timo Kreuzer
20a6cff4dd [CRT] Implement _InterlockedCompareExchange128 intrinsic for GCC 2022-11-24 21:17:58 +02:00
Timo Kreuzer
3381bf39db [HAL/x64] Fix x86BiosCall
Use an INT call stub and exit on the address after the stub instead or using iret (some BIOS code uses int / iret internally). This fixes the messed up display when trying to switch modes.
2022-11-24 21:17:58 +02:00
Timo Kreuzer
38fc6e1274 [OLEAUT32] Implement x64 call_method in asm
This is based on the inline implementation for GCC.
2022-11-24 21:17:58 +02:00
Timo Kreuzer
a007f5e490 [NTOS] Fix NtContinue for x64 2022-11-24 21:17:58 +02:00
Timo Kreuzer
6744368755 [NTDLL_APITEST] Implement NtContinue test for x64 2022-11-24 21:17:58 +02:00
Hermès Bélusca-Maïto
f7024d6c72 [PSDK][NTOS:KD64] Turns out, that even Clang in MSVC mode needs the 64-bits pointer extension hack!
Addendum to commit de81021ba.
Otherwise, we get the following build error:

 \ntoskrnl\kd64\kddata.c(532,5): error: initializer element is not a compile-time constant
      PtrToUL64(RtlpBreakWithStatusInstruction),
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 \ntoskrnl\kd64\kddata.c(526,26): note: expanded from macro 'PtrToUL64'
 #define PtrToUL64(x)    ((ULPTR64)(x))
                          ^~~~~~~~~~~~
2022-11-24 13:30:43 +01:00
Katayama Hirofumi MZ
375b02f337 [NTGDI][FREETYPE] Simplify IntRequestFontSize and FONTGDI
FONTGDI.lfWidth and FONTGDI.EmHeight are not used.
Simplify code without setting these members.
CORE-11848
2022-11-24 14:18:20 +09:00
Katayama Hirofumi MZ
476f94c0fe [NTGDI][FREETYPE] Formatting code; Follow up #4865 (a620c6f)
CORE-11848
2022-11-24 12:28:10 +09:00
Thomas Faber
911153da10 [LIBXML2] Update to version 2.10.0. CORE-17766 2022-11-23 22:02:47 -05:00
Thomas Faber
608bbe1136 [MSXML3][MSXML3_WINETEST] Partial sync to Wine to enable libxml2 update. CORE-17766
xml2: Import upstream release 2.10.0.

wine commit id 015491ab32742ace5218d37b1149c58803858214 by Alexandre Julliard <julliard@winehq.org>

Note: Upstream msxml3_test has switched away from WINE_NO_LONG_TYPES, so
I've kept the old printf format specifiers for now. Once we do a full
sync, we can get rid of __ROS_LONG64__ for this test and use them
unmodified.
2022-11-23 22:02:47 -05:00
Thomas Faber
21ab4d93c7 [LIBXSLT] Update to version 1.1.36. CORE-17766
This version was released after libxml2 2.10.0, but it removes
usage of some now-deprecated functions that would break the build.
2022-11-23 22:02:43 -05:00
Katayama Hirofumi MZ
a620c6f82e [NTGDI][FREETYPE] Simplify font rendering (#4865)
- Add ftGdiGetRealGlyph and ftGdiGetTextWidth helper functions.
- Optimize font rendering.
CORE-11848
2022-11-24 11:51:04 +09:00
Hermès Bélusca-Maïto
968b264300 [NTOS:KD] Rename the private acquire/release lock functions to fix GCC compilation.
If you ask why there are two sets of functions that do the same, it's
because this file (and the kdmain.c) will very soon some day be moved to
a transport dll, outside the kernel, and it will need these functions.
2022-11-24 01:44:14 +01:00
Hermès Bélusca-Maïto
ffb05406e6 [NTOS:KD64] Implement KdLogDbgPrint() for the WinDbg !dbgprint command.
See this command's documentation:
https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/-dbgprint
and the section "DbgPrint buffer and the debugger"
https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/reading-and-filtering-debugging-messages#dbgprint-buffer-and-the-debugger
for more details.

- Loosely implement the function, based on our existing circular printout
  buffers in kdio.c.
- Enable its usage in the KdpPrint() and KdpPrompt() functions.

Notice that this function will *only* capture the strings being sent **to**
the debugger, and not the strings the debugger itself produce. (This means
that we cannot use the KdPrintCircularBuffer as a replacement for our
KDBG dmesg one, for example...)

How to test:
Run ReactOS under WinDbg, and use the !dbgprint command to view the
buffer. You can also use the Memory Window, place yourself at the
address pointed by KdPrintCircularBuffer and KdPrintWritePointer, and
read its contents.

What you should observe:
Prior notice: The circular buffer in debug builds of ReactOS and Windows
is 0x8000 bytes large. In release builds, its size is down to 0x1000.
1- When you start e.g. the 2nd-stage GUI installation of ReactOS, going
   past the initial "devices installation" and letting it stabilize on
   the Welcome page, break into WinDbg and run the !dbgprint command. You
   should notice that the end of its output is weirdly truncated, compared
   to what has been actually emitted to the debug output. Comparing this
   with the actual contents of the circular buffer (via Memory Window),
   shows that the buffer contents is actually correct.
2- Copy all the text that has been output by the !dbgprint command and
   paste it in an editor; count the number of all characters appearing +
   newlines (only CR or LF), and observe that this number is "mysteriously"
   equal to 16384 == 0x4000.
3- Continue running ReactOS installation for a little while, breaking back
   back into WinDbg and looking at !dbgprint again. Its output seems to be
   still stopping at the same place as before (but the actual buffer memory
   contents shows otherwise). Continue running ROS installation, and break
   into the debugger when ROS is about to restart. You should now observe
   that the dbgprint buffer rolled over:
     dd nt!KdPrintRolloverCount shows 1.
   Carefully analysing the output of !dbgprint, however, you will notice
   that it looks a bit garbage-y: the first part of the output is actually
   truncated after 16384 characters, then you get a second part of the
   buffer showing what ReactOS was printing while shutting down. Then
   you get again what was shown at the top of the !dbgprint output.
   (Of course, comparing with the actual contents of the circular buffer
   in memory shows that its contents are fine...)

The reason of these strange observations, is because there is an intrinsic
bug in the !dbgprint command implementation (in kdexts.dll). Essentially,
it displays the contents of the circular buffer in two single dprintf()
calls: one for the "older" (bottom) part of the buffer:
  [WritePointer, EndOfBuffer]
and one for the "newer" (upper) part of the buffer:
  [CircularBuffer, WritePointer[ .
The first aspect of the bug (causing observation 3), is that those two
parts are not necessarily NULL-terminated strings (especially after
rollover), so for example, displaying the upper part of the buffer, will
potentially also display part of the buffer's bottom part.
The second aspect of the bug (explaining observations 1 and 2), is due
to the implementation of the dprintf() function (callback in dbgenv.dll).
There, it uses a fixed-sized buffer of size 0x4000 == 16384 characters.
Since the output of the circular buffer is not done by little chunks,
but by the two large parts, if any of those are larger than 0x4000 they
get truncated on display.
(This last observation is confirmed in a completely different context by
https://community.osr.com/discussion/112439/dprintf-s-max-string-length .)
2022-11-24 01:18:18 +01:00
Hermès Bélusca-Maïto
36335d9cee [NTOS:KD64] Correctly initialize the KdPrint buffer data in KdDebuggerDataBlock so as to fix the WinDbg !dbgprint command.
Now, !dbgprint just shows an empty log (since we don't fill it), instead
of showing the following error:

  kd> !dbgprint
  Can't find DbgPrint buffer
2022-11-24 01:18:17 +01:00
Hermès Bélusca-Maïto
de81021bab [PSDK][NTOS:KD64] Rename GCC_ULONG64 to ULPTR64 to self-document the fact it stores a pointer as a 64-bit quantity.
But the underlying GCC stupidity is still there (15 years later).

However, enable it only in 32-bit GCC builds, not in 64-bits nor with MSVC.
See commit b9cd3f2d9 (r25845) for some details.

GCC is indeed still incapable of casting 32-bit pointers up to 64-bits,
when static-initializing arrays (**outside** a function) without emitting
the error:

  "error: initializer element is not constant"

(which might somehow indicate it actually tries to generate executable
code for casting the pointers, instead of doing it at compile-time).

Going down the rabbit hole, other stupidities show up:

Our PVOID64 type and the related POINTER_64 (in 32-bit archs), or the
PVOID32 and POINTER_32 (in 64-bit archs), are all silently broken in
GCC builds, because the pointer size attributes __ptr64 and __ptr32,
which are originally MSVC-specific, are defined to nothing in _mingw.h.
(And similarly for the __uptr and __sptr sign-extension attributes.)

Clang and other sane ompilers has since then implemented those (enabled
with -fms-extensions), but not GCC. The closest thing that could exist
for GCC is to do:

  #define __ptr64 __attribute__((mode(DI)))

in order to get a 64-bit-sized pointer type with

  typedef void* __ptr64 PVOID64;

but even this does not work, with the error:

  "error: invalid pointer mode 'DI'"
2022-11-24 01:18:16 +01:00
Hermès Bélusca-Maïto
1c0950b557 [PSDK][NTOS:KD64] Update the KDDEBUGGER_DATA64 structure with new fields.
Information from the Windows 10 SDK and from
https://github.com/DarthTon/Blackbone/blob/master/src/BlackBoneDrv/NativeStructs.h
2022-11-24 01:18:15 +01:00
Hermès Bélusca-Maïto
1847474aaa [PSDK] Clarify the FIXME comment about this mysterious warning.h (here for WDK compatibility). 2022-11-24 01:18:11 +01:00
Marcin Jabłoński
edb7575faa [NTOS:KE/x64] Implement KeDisconnectInterrupt() for amd64 (#4883)
Choose the correct element of the KiUnexpectedRange array,
depending on the interrupt vector, the same way as here:
a2c6af0da4/ntoskrnl/ke/amd64/except.c (L77)

And guard KeConnectInterrupt() execution with dispatcher lock.

CORE-14922
2022-11-22 23:52:18 +03:00
Hermès Bélusca-Maïto
d15f126143 [NTOS:KDBG] Fix the ANSI escape sequences used to get terminal characteristics when printing with paging.
- Line-wrapping is enabled with 'ESC[?7h' (the '?' was forgotten).
  Notice that the following reference also shows it wrong:
  https://www.cse.psu.edu/~kxc104/class/cse472/09s/hw/hw7/vt100ansi.htm

- Terminal type is actually queried with 'ESC Z' (VT52-compatible), or
  with 'ESC[c' (VT100-compatible). The antediluvian CTRL-E ('\x05')
  control code gives instead a user-configurable (usually empty) string,
  so it's not reliable.
  Also, we don't really care about the returned result, we just need to
  know that one has been sent.

Cross-checked with online documentation:
* "Digital VT100 User Guide" (EK-VT100-UG-001) (1st edition, August 1978,
  reviewed November 1978).
* https://www.real-world-systems.com/docs/ANSIcode.html
* https://geoffg.net/Downloads/Terminal/TerminalEscapeCodes.pdf
* https://invisible-island.net/xterm/ctlseqs/ctlseqs.html
* https://en.wikipedia.org/wiki/Enquiry_character

- Retrieve the size of the *controlling terminal* with escape sequences
  only when it's a serial one: serial output is enabled *and* KDSERIAL
  is set (i.e. user input through serial). See code for the actual logic
  (the corresponding truth table is left as an exercise for the reader).

- Fix also a "Buffer" vs. "InBuffer" mismatch, that caused the whole
  code to fail.

- For fallback terminal size values, use meaningful ones when SCREEN
  is instead the controlling "terminal" (based on full-size BOOTVID
  values).

- When echoing read characters during line-cooking, do direct output by
  using KdpDprintf() instead of going through the heavy KdbpPrint() function.
  This fixes some input artifacts like: 1. extra slowdowns due to
  querying terminal size at each keypress, and 2. getting obnoxious
  "--- Press q to abort ..." prompts in the middle of typing a long
  comamnd because you are at the very bottom of the screen.
2022-11-22 02:10:55 +01:00
Hermès Bélusca-Maïto
c29d6806b8 [NTOS:KD] Remove last remnant of KdpDetectConflicts, deprecated since 2007.
Addendum to commit be2645ad8 (r25987).
2022-11-22 02:10:54 +01:00
Hermès Bélusca-Maïto
9337ea6a3c [NTOS:KDBG] Deduplicate code between KdbpPrint() and KdbpPager(). 2022-11-22 02:10:54 +01:00
Thomas Faber
8940614a78 [LIBXML2] Update to version 2.9.14. CORE-17766 2022-11-21 19:46:12 -05:00
Thomas Faber
7244e0c5c6 [LIBXML2] Update to version 2.9.13. CORE-17766 2022-11-21 19:46:12 -05:00
Thomas Faber
df1adce32c [LIBXML2] Fix forgotten config.h update. CORE-17766 2022-11-21 19:46:11 -05:00
Thomas Faber
f7671c1be8 [LIBXSLT] Update to version 1.1.35. CORE-17766 2022-11-21 19:46:11 -05:00
Thomas Faber
e524b1bcf6 [LIBXSLT] Improve sync with upstream. CORE-17766
Makefile.am: this hasn't been updated in a while
security.c: WIN32 -> _WIN32 to keep the ROS-diff consistent with the rest
win32config.h/libxslt.h: remove unnecessary ROS-diff
xsltwin32config.h: this was missed in the 1.1.34 sync
xsltexports.h: mark a ROS-diff as such
2022-11-21 19:46:08 -05:00
Zebediah Figura
dee3e6e7cd [WINESYNC][WORDPAD] paint_ruler(): Use GetSysColorBrush()
Import wine-4.7 commit:
dcd9376ae7

Follow-up to 0.4.15-dev-5248-g be014129a5.
2022-11-21 23:08:27 +03:00
Zebediah Figura
0828e16462 [WINESYNC][USER32] MDI_AugmentFrameMenu(): Use GetSysColorBrush()
Import applicable part of wine-4.7 commit:
8d251a1dd1

Follow-up to 0.4.15-dev-5248-g be014129a5.
2022-11-21 23:08:09 +03:00
Thomas Faber
79b0fce5dc [NTOS:CM] Consistently use synchronous I/O for registry hives.
Our current CmpFileRead/CmpFileWrite do not wait for completion,
so will cause stack corruption if used on files opened in async
mode.
2022-11-20 16:02:39 -05:00
Jose Carlos Jesus
dfb7e2d639 [TRANSLATION] Improve Portuguese (pt-PT) translation (#4886)
- [APPWIZ] Improve pt-PT translation
- [INPUT] Update pt-PT translation
- [INTL] Fix typos in pt-PT translation
- [LICCPA] Improve pt-PT translation
- [SYSDM] Update and improve pt-PT translation
- [NTOBJSHEX] Update pt-PT translation
- [ZIPFLDR] Update and improve pt-PT translation
2022-11-20 23:20:11 +03:00
Jose Carlos Jesus
685728bc24 [SHELL32] Prevent a second call to Drive Properties dialog (#4888)
CDefaultContextMenu::DoProperties provides a fallback call
to the property sheet testing the return value of the _DoCallback method,
which is ultimately the return value of SH_ShowDriveProperties().

SH_ShowDriveProperties() sometimes returns an HRESULT, however it is marked
as returning a BOOL. Then, DrivesContextMenuCallback() always handles this
result as an HRESULT.

Fix SH_ShowDriveProperties() to always return a BOOL as it is intended,
and in DrivesContextMenuCallback() handle the result accordingly.

CORE-18537
2022-11-20 21:10:11 +03:00
Jose Carlos Jesus
c093d4f803 [TASKMGR] Prevent context menu on idle process (#4889)
In Win2K3, there is no context menu on the System Idle Process.

CORE-18640
2022-11-20 20:22:30 +03:00
Thamatip Chitpong
f125cd1c71 [SYSDM] System Parameters: Close dialog on ESC (#4891)
CORE-18610
2022-11-19 20:08:04 +03:00
Katayama Hirofumi MZ
f908d37bb3 [REGEDIT] F4, Alt+D, Tab, and Shift+Tab (#4885)
CORE-12323
2022-11-19 08:42:20 +09:00
Hermès Bélusca-Maïto
ffe3109d37 [NTOS:KD] Handle work-buffer allocation failure in KdpDebugLogInit. It can be ignored in KdpScreenInit. 2022-11-18 18:48:46 +01:00
Hermès Bélusca-Maïto
271b985981 [NTOS:KD] Cleanup of some old code.
- Remove KdbInit() macro and directly use KdbpCliInit() (since the place
  where it was used was already within an #ifdef KDBG block).

- Declare KdpKdbgInit() only when KDBG is defined, move its definition
  into kdio.c and remove the legacy wrappers/kdbg.c file.
  And in KdbInitialize(), set KdpInitRoutine directly to the former,
  instead of using the KdpKdbgInit indirection.

- Don't reset KdComPortInUse in KdpDebugLogInit().

- Minor refactorings: KdpSerialDebugPrint -> KdpSerialPrint and make it
  static; argument name "Message" -> "String", "StringLength" -> "Length".
2022-11-18 18:11:30 +01:00
Hermès Bélusca-Maïto
98e585364b [NTOS:KD] Annotate KdInitSystem and remove redundant declaration in kd.h 2022-11-18 18:11:29 +01:00
Hermès Bélusca-Maïto
4a93b0a463 [NTOS:IO] Show the captured/generated driver name in one failure path of IoCreateDriver. 2022-11-18 18:11:28 +01:00
Hermès Bélusca-Maïto
56be4eafd5 [NTOS:IO][NDK] Add the exported IoDeleteDriver to the NDK headers. 2022-11-18 18:11:26 +01:00
Joachim Henze
9c5bb096bc [COMCTL32] Remove a rosdiff TOOLBAR_EraseBackground() (#4887)
This fixes the toolbar in FileZilla 3.8 being drawn wrong (grey)
It regressed by 0.4.15-dev-1603-g 232c45fcd7

And todays fix is a partial revert of that guilty rev.
The reverted part is not even necessarily needed for what we had in mind back then,
It was just a first tiny step with the aim to get rid of the comctl32.h changes of that commit.
But that goal was and even is far out of reach for many other reasons also.
Actually we should have reverted the toolbar.c change back then already,
before committing the "flipfix9".

CORE-18263
2022-11-18 12:42:32 +01:00
Katayama Hirofumi MZ
7cc89e520c [NTUSER] Implement IntCheckImeShowStatusInThread
CORE-11700
2022-11-17 10:27:12 +09:00
Joachim Henze
bcb9abc133 [SYSDM][SMSS] Addendum to (#4843) (#4844) CORE-18574
[SYSDM] Prevent my german-teacher from getting a heart-attack by that misplaced comma.

[SMSS] Prevent myself from getting a heart-attack by that superfluous dot.

Furthermore this addendum serves the purpose of actually linking both PRs
and their 4 previous commits to the actual JIRA ticket CORE-18754, which wasn't
the case before:
0.4.15-dev-5392-g 04b2d35f5b
0.4.15-dev-5391-g a8e06d92e8

0.4.15-dev-5390-g a4274ad548
0.4.15-dev-5389-g 5dc43c0f32
2022-11-16 23:08:52 +01:00
Serge Gautherie
770b3a3ce5 [HHPCOMP:CHMC] chmc_crunch_lzx(): Disable a dead check (#4880)
CORE-18642
2022-11-16 22:19:52 +01:00
Hermès Bélusca-Maïto
04b2d35f5b [SYSDM] Improvements for the Paging File settings dialog. (#4844)
- Implement the architecture-specific pagefile size limits.
  In particular, verify that the selected volume on which to create
  the page file can accomodate the theoretical maximum limit (e.g.
  FAT32 cannot accomodate a 16 TB pagefile on x64, and the limit must
  be lowered down to 4 GB).

- Change the IDS_WARNINITIALRANGE and IDS_WARNMAXIMUMRANGE strings
  so that the maximum limit mentioned is the dynamic one.

- Review, improve and fix other aspects of the code.

Parts of this PR: addendum to commits 4d2d2dbb2 (#2597), 3bee3b92a (#2706).
2022-11-16 21:55:23 +01:00
Hermès Bélusca-Maïto
a8e06d92e8 [SYSDM] Make ResourceMessageBox() support printf-like messages. (#4844)
+ Make usage of this new functionality.
+ Cleanup precomp.h.
2022-11-16 21:55:22 +01:00
Hermès Bélusca-Maïto
a4274ad548 [SMSS][NTOS:MM] Implement the architecture-specific pagefile size limits + code review. (#4843)
What we have:
- Maximum number of pagefiles: 16
- Minimum pagefile size: 256 pages (1 MB when page size = 4096 bytes)
- Maximum pagefile size:
  * 32-bit platforms: (1024 * 1024 - 1) pages (~ 4095 MB)
  * x86 with PAE support: same size as for AMD x64
  * x64 platform:  (4 * 1024 * 1024 * 1024 - 1) pages (~ 16 TB)
  * IA64 platform: (8 * 1024 * 1024 * 1024 - 1) pages (~ 32 TB)

Those are the values as supported and verified by the NT kernel.
Now,  user-mode programs (including SMSS.EXE)  have different opinions
on these, namely, they consider estimates directly in MB, respectively:
4095 MB, (16 * 1024 * 1024) MB, and (32 * 1024 * 1024) MB
(verified on Win2k3 and Win7 32 and 64 bits).
Also here, the minimum pagefile size is set to 2 MB.

Starting Windows 8+ (and 10), those values change slightly, and are
still not fully synchronized between NTOS:MM and SMSS. Finally, while
(x86 PAE and) AMD64 and ARM64 seem to share the maximum pagefile
size limit, 32-bit ARMv7 appears to use different limits than regular
x86 (2 GB instead of 4).

Please keep those values as they are for NT compatibility!

See the following references:
https://www.geoffchappell.com/studies/windows/km/ntoskrnl/api/mm/modwrite/create.htm
https://techcommunity.microsoft.com/t5/ask-the-performance-team/what-is-the-page-file-for-anyway/ba-p/372608
+ Manual extraction of the values from different NT 6.2,6.3,10 builds.

[SMSS] Fill out in particular the x86-specific case for PAE.

[NTOS:MM] Some cleanup in the NtCreatePagingFile() code, namely:
- Clarify some comments;
- Validate the lower and upper bounds of the Minimum and Maximum sizes
  (based on Windows behaviour as explained by Geoff + manual tests).
- Open the pagefile in case-insensitive;
- Simplify the loop that finds an existing matching pagefile;
- Simplify some failure exit paths;
- Add a "Missing validation steps TODO" comment block explaining the
  existing code-hole.
2022-11-16 21:54:31 +01:00
Hermès Bélusca-Maïto
5dc43c0f32 [SMSS] Improve some comments. 2022-11-16 21:54:21 +01:00
Hervé Poussineau
12ef61ba10 [WIN32SS:ENG] Set VGA device as child of primary device
That way, we don't have anymore the VGA device together with primary device in device list.

Change also EngpUnlinkGraphicsDevice() function to add back VGA device to device list
when removing its parent from device list.

CORE-18522
2022-11-15 23:16:10 +01:00
Hervé Poussineau
b3cdb7e713 [WIN32SS:ENG] Add EngpLinkGraphicsDevice, to add a device to gpGraphicsDeviceFirst list 2022-11-15 23:16:10 +01:00
Hervé Poussineau
3d01a103d7 [WIN32SS:ENG] Zero memory when allocating GRAPHICS_DEVICE structures 2022-11-15 23:16:10 +01:00
Hervé Poussineau
ea30b96334 [WIN32SS:ENG] When VGA mode is requested, drop all graphic devices except VGA one
We don't need driver cooperation anymore to handle VGA mode request.
2022-11-15 23:15:26 +01:00
Hervé Poussineau
0ecd997bdf [WIN32SS:NTUSER] Extract InitVideo() prototype and gbBaseVideo variable to header 2022-11-15 23:15:26 +01:00
Hervé Poussineau
79f16507c4 [VGAMP/VGADDI] Be consistent in IOCTL_VIDEO_GET_CURRENT_MODE and IOCTL_VIDEO_SET_CURRENT_MODE
As IOCTL_VIDEO_GET_CURRENT_MODE returns 2 as ModeIndex, wait for the same value
in IOCTL_VIDEO_SET_CURRENT_MODE.
Also change vgaddi to send this hardcoded value.

vga_new also uses 2 as index for 640x480x16
2022-11-15 23:15:26 +01:00
Katayama Hirofumi MZ
a2c6af0da4 [BOOTDATA][NTUSER] Add UserIsIMMEnabled and use it (#4882)
This PR enables SRVINFO_IMM32 also for non-CJK. You can disable this flag by setting zero to the LoadIMM registry value if you're non-CJK.
CORE-11700
2022-11-15 17:10:06 +09:00
Serge Gautherie
ba1ed89f91 [HALX86] HalpQueryInterface(): Debug log InterfaceType param (#4772)
This should help to find out which GUIDs are actually wanted.
Based on CircularTriangle06's patch.

CORE-11632
2022-11-15 02:04:04 +03:00
Serge Gautherie
5efb6e3d97 [NTFS] NtfsCreateFCB(): Check allocation result (#4795) 2022-11-15 01:28:33 +03:00
Stanislav Motylkov
a09e903398 [SHELL32] CDrivesFolder: Unhardcode pqcminfo->idCmdFirst value
DFM_MERGECONTEXTMENU handler works better now. However there is difference
between ours and Windows' menu building systems, which has to be fixed.

Addendum to 64657051c3. CORE-13841 CORE-18577
2022-11-14 21:56:01 +03:00
Katayama Hirofumi MZ
2628309baf [IMM32_APITEST] Follow-up of #4876 (7355810)
CORE-11700
2022-11-14 22:02:17 +09:00
Katayama Hirofumi MZ
73558102e7 [IMM32_APITEST] Add ImmEnumInputContext testcase (#4876)
Verify the IMM implementation. CORE-11700
2022-11-14 18:01:42 +09:00
Hermès Bélusca-Maïto
2dddbd5c54 [SMSS] Fix three SmpLoadSubSystem bugs related to the SB_CREATE_SESSION callback.
This fixes starting the Windows 2000 POSIX subsystem in ReactOS.

- The CreateSession pointer was initialized against the SbApiMsg variable, but
  it was the other SbApiMsg2 that was being initialized and sent through LPC.

- Do not overwrite the MuSessionId (Terminal Services session ID) variable with
  the generated environment subsystem session ID from SmpAllocateSessionId().

- Actually initialize the SbApiMsg ApiNumber for the CreateSession LPC call.

(dll\win32\kernel32\client\proc.c:3690) Retrying with: POSIX /P C:\ReactOS\system32\posix\ls.exe /C ls
Breakpoint 1 hit
csrsrv!CsrSbApiRequestThread+0x64:
001b:1000ac34 837dfc00        cmp     dword ptr [ebp-4],0
kd> ??ReceiveMsg
struct _SB_API_MSG
   +0x000 h                : _PORT_MESSAGE
   +0x018 ConnectionInfo   : _SB_CONNECTION_INFO
   +0x018 ApiNumber        : 0xcccccccc (No matching name)
   +0x01c ReturnValue      : 0n0
   +0x020 u                : <unnamed-tag>
kd> p
...
(base\system\smss\smsubsys.c:393) SMSS: SmpLoadSubSystem - NtRequestWaitReplyPort Failed with  Status c0000002 for sessionid 2
...
<Retrying>
...
(base\system\smss\smsubsys.c:393) SMSS: SmpLoadSubSystem - NtRequestWaitReplyPort Failed with  Status c0000002 for sessionid 3

All those bugs could have been avoided *IF*, rather than (badly) duplicating
its code, the existing SmpSbCreateSession() function had been used instead.

- "Not sure these field mean what I think they do -- but clear them" ... ◔_◔
  Those fields are related to the debug client interface (DbgUi) and session
  in case the subsystem being started is going to be debugged. These have
  nothing to do with the MuSessionId. Clarify this in the SB_CREATE_SESSION_MSG
  structure and in the SmpSbCreateSession() function.
2022-11-14 00:10:35 +01:00
Hermès Bélusca-Maïto
f43ce46566 [SMSS] Improve comments/code/some DPRINTs. Reorganize smss.h header. 2022-11-14 00:10:35 +01:00
Hermès Bélusca-Maïto
06a0451415 [SMSS][CSRSRV] Undefine CreateProcess symbol. Name the union inside SB_API_MSG.
Undefine CreateProcess because it can be #define'd (to CreateProcessA/W)
if winbase.h is included prior (as it is in SMSS).
2022-11-14 00:10:32 +01:00
Hermès Bélusca-Maïto
9c8a8cf2aa [CSRSRV][NTOS:PS] Misc typos fixes. 2022-11-14 00:10:30 +01:00
Joachim Henze
1dd9d2ef37 [NTUSER][USER32] Classic Theme: disabled "checked" checkboxes should be grey (#4874)
Classic Theme: disabled "checked" checkboxes should be grey CORE-18609
and not black, like they erroneously were.
This patch does not seem to have any impact on how they are rendered
for themed ros.

Ftr: We experimented also with COLOR_GRAYTEXT instead of COLOR_BTNSHADOW
but that did result in incorrect drawing of disabled "checked" checkboxes for
the 'High Contrast' Color Schemes.
2022-11-14 00:01:29 +01:00
Joachim Henze
45e79c3f23 [MSPAINT] Update de-DE.rc CORE-12356
An addendum to 0.4.14-dev-843-g	15bc263b07
2022-11-13 22:41:05 +01:00
Katayama Hirofumi MZ
3d298831db [IMM32] Get gHighestUserAddress in ImmInitializeGlobals
CORE-11700
2022-11-13 20:04:34 +09:00
Stanislav Motylkov
51f78918da [USER32] Rewrite CharPrev(Ex)A functions and fix tests (#4860)
Fixes 48 failing tests of user32:CharFuncs.
Only 12 minor failing tests are left!

Thanks to Simone Mario Lombardo for the problem analysis!

CORE-18415 CORE-18452
2022-11-13 13:22:26 +03:00
Katayama Hirofumi MZ
6b53f6d824 [USER32] Follow-up of e1f8b32; Delete unnecessary empty line
CORE-11700
2022-11-13 11:50:54 +09:00
Katayama Hirofumi MZ
e1f8b32c3d [INCLUDE][USER32] Add WM_FINALDESTROY and improve ImeWndProcA/W
CORE-11700
2022-11-13 09:59:17 +09:00
Katayama Hirofumi MZ
c7e8b544bc [USER32] Fix ImeWndProc_common comment
CORE-11700
2022-11-13 08:49:38 +09:00
Hermès Bélusca-Maïto
9bb5627df6 [SETUP][INF] Use the standard "Helv" -> "MS Sans Serif" substitution... (#4864)
... and let the latter one substitute to whatever we want.
Hindi however had "Helv" -> "Tahoma", but "MS Sans Serif" -> "FreeSans".
Now its "Helv" will go to "FreeSans".
2022-11-13 00:26:13 +01:00
Hermès Bélusca-Maïto
34c0bd0d5a [SETUP] muifonts.h Formatting only. 2022-11-13 00:25:53 +01:00
Marcin Jabłoński
6a3a79bb72 [DISKPART] Fix help for multi-word command crashing. (#4873)
* [DISKPART] Fix help for multi-word command crashing.

When the HELP command is executed for a multi-word command,
for example "HELP CREATE PARTITION PRIMARY", diskpart crashes.
This happens because before the desired form of the command
is encountered, its single word form is found - since the first word
of the command matches the one HELP is looking for, it tries to
compare the second word of the input command with the second
(nonexistent) word of the encountered single word command,
which is NULL. This results in diskpart crashing.
The fix makes HELP check if the to-be-compared word is not NULL,
before calling wcsicmp.
2022-11-12 13:02:33 +01:00
Joachim Henze
c47758b102 [SETUP][INF][MEDIA] Get rid of the last Ubuntu references CORE-18607 (#4871)
An addendum to 0.4.14-dev-20-g 2f4fb903b4
because since then we don't have the Ubuntu font anymore.

The substitutes are also not needed any longer.
We can use Tahoma here without causing any change in the current rendering,
because for all languages the former
Ubuntu substitutions did point either to Tahoma,
or to the same thing, that Tahoma atm points to
(for those language that do require additional glyphs).

This way we do not only get the substitutions closer to 2k3sp2, but will also
simplify our maintenance and testing, because the same font is guaranteed to be used then
for all themes: Classic, Blackshade and Lautus: The font which has the needed glyphs for
that specific language.

E.g.
"FreeSans" for Hindi,
"Tahoma" for most Western languages, and
"Droid Sans Fallback" for Chinese and Japanese language.

Things are cleaner and simpler this way.
2022-11-12 12:44:54 +01:00
Katayama Hirofumi MZ
0bc6bd6480 [NTGDI][NTUSER][INCLUDE] Add 'See also:' comments for structures (#4872)
Add 'See also' URLs to some undocumented structures.
2022-11-12 20:27:50 +09:00
Katayama Hirofumi MZ
f73a4d6bab [IMM32] ImmDllInitialize's first argument is an HINSTANCE
CORE-11700
2022-11-12 20:25:29 +09:00
Joachim Henze
a33fe38418 [SHELL32] Show 'comment' column for folders, make it rightmost CORE-18615 (#4868)
In explorer filebrowser 'details' view
the column 'comments' had invalid length of zero, and therefore
was hidden under the 'attributes' column.

I guess even after this patch, it will not display any
sane contents in there yet.
Therefore I chose a small width of 10 only, to reduce the chance for
it to trigger an undesired horizontal scrollbar.

As far as I see we don't support manual showing and hiding of additional columns yet.
By default my Windows does not show this column. But when activated manually, it is always
shown on the right hand side of the 'attributes' column.
2022-11-11 18:25:50 +01:00
Hervé Poussineau
d117765e71 [BOCHSMP] Move related registry entries to bochsmp directory 2022-11-11 15:14:13 +01:00
Katayama Hirofumi MZ
11a71418d5 [SHELL32] Implement IsLFNDriveA/W and improve PathResolve (#4866)
- Fix IsLFNDriveA and IsLFNDriveW functions.
- Add IsRemovableDrive helper function.
- Fix PathQualifyExW by using IsLFNDriveW.
CORE-11335
2022-11-10 23:18:04 +09:00
Katayama Hirofumi MZ
40863aebc4 [NTUSER] Add 'Win:' comments around IntDefWindowProc 2022-11-10 15:59:52 +09:00
Katayama Hirofumi MZ
0484beb04b [NTUSER] Don't redraw scrollbar if it is hidden (#4849)
Fix redrawing bug on Command Prompt. CORE-18593
2022-11-10 13:12:20 +09:00
Piotr Hetnarowicz
3fc6d90c58 [SYSSETUP] Update Polish (pl-PL) translation (#4859)
Reviewed-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-11-10 02:10:19 +03:00
Piotr Hetnarowicz
2a400b29c0 [INPUT] Update Polish (pl-PL) translation (#4858)
Reviewed-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-11-10 02:08:40 +03:00
Simone Mario Lombardo
6755921560 [DDRAW] Sync the fix for swap_interval from Wine (#4831)
Sync the barebone fix from Wine (wine-7.19-557-g13cc08e32d6):
https://source.winehq.org/git/wine.git/?a=search&h=HEAD&st=grep&s=ddraw_surface_update_frontbuffer%28
and
13cc08e32d:/dlls/ddraw/surface.c

- Added "swap_interval" argument to ddraw_surface_update_frontbuffer()
- Added ddraw_swap_interval_from_flags() function for dispatching
  the integer type of required swap interval
- Updated ddraw_surface_update_frontbuffer() function for managing the
  swap interval between backbuffer and frontbuffer (and relative flipping)
- Updated the ddraw_surface7_Flip() function for relaying the swap interval
  to ddraw_surface_update_frontbuffer() function.
- Added 0 value (as Wine) when the swap interval is not required

This fixes empty white screen issue on rendering because of lacking
swap interval for the software / games that use ddraw.

CORE-18547
2022-11-09 20:44:30 +03:00
Hermès Bélusca-Maïto
f1908c8959 [SMSS] Fix build. 2022-11-09 00:05:13 +01:00
Hermès Bélusca-Maïto
b076800dd8 [SMSS] Fix the displayed subsystem name in the failure path of SmpSbCreateSession().
The SubSystemNames array didn't correlate with the possible values of
SubSystemType (e.g. index 4 was "Posix" whereas Posix is type 7; Posix
and OS/2 entries were inverted; Windows CUI subsystem (type 3) was
mapped to "Posix"), and the array dereferencing was out of bounds if the
SubSystemType of the image happened to be larger than 8.

I know (strings extraction from debug build of Windows' SMSS.EXE) that
they use that same old'n'broken array. Perhaps a leftover from very old
times (NT 3.1 betas) where the PE format was under work and the
subsystem numbers didn't have their definitive values... (This has
already happened with the NT PDK v1.196 from September 1991.)
2022-11-08 23:47:02 +01:00
Hermès Bélusca-Maïto
bcbfcd2278 [CSRSRV] Minimally-adapt CSRSRV to make it able to host other subsystems than Win32.
This is really ReactOS-specific, so I surround them with __REACTOS__
(even if this is our code) to differentiate these from Win2k3 behaviour,
even though they were strongly inspired by what was possible in the beta
versions of NT 3.1 (pre-3.10.404).
Interestingly, Windows 7+ partially re-introduced that functionality
(just in differencing "Windows=On" from "Off").

See https://reactos.org/wiki/User:Hbelusca/CSRSS for more information.
2022-11-08 23:46:32 +01:00
George Bișoc
2fef8be892 [NTOS:SE] Dump security debug info in case no every right has been granted in SepAccessCheck
The "failed to grant access rights" message isn't enough to understand what kind of access rights haven't been granted and why. Dumping information of the captured security descriptor, the ACL and its ACEs with mask rights and token SIDs should be enough to understand the reason of the failure in question.
2022-11-08 18:24:37 +01:00
George Bișoc
e2ee126c23 [NTOS:SE] Add new ACE types for SepGetSidFromAce routine 2022-11-08 18:24:37 +01:00
George Bișoc
caa3571cd7 [NTOS:SE] Implement security debug facility routines
debug.c will serve as a centralized facility for security debugging routines and everything related to that. This file will be expanded with further debug functions for the Security subsystem if needed.
2022-11-08 18:24:37 +01:00
Hermès Bélusca-Maïto
9f48c69231 [SMLIB][SMSS] Implement SmLoadDeferedSubsystem() client and server-side. (#4821)
Loosely based on the deprecated ReactOS-specific SmExecuteProgram().
On server-side, we lookup into the list of deferred subsystems that
has been initialized at init time.

Dedicated to Justin Miller (The_DarkFire) work on reviving the
POSIX subsystem!
2022-11-08 17:41:02 +01:00
Hermès Bélusca-Maïto
8fea507d9b [SMSS] Logically group the LIST_ENTRY-ies. 2022-11-08 17:41:01 +01:00
Hermès Bélusca-Maïto
0e14378d3e [SMDLL][SMLIB] Deprecate the legacy ROS-specific SMDLL and improve SM client functions. (#4821)
This DLL was exporting legacy NT-incompatible or ROS-specific SM client
functions, that have been since 10 years now (2012) replaced by the new
NT-compatible SM:

- SmConnectApiPort(): was just SmConnectToSm().

- SmCompleteSession():
  The legacy SMSS used it for when a subsystem initialization was finished.
  Now (NT-compatible) this function is called by subsystems **only** when a
  subsystem session **terminates**: SmSessionComplete().

- SmExecuteProgram(): was just the client side of SmLoadDeferedSubSystem()
  (whose server side is not implemented yet). The legacy SM "old" SmExecPgm
  implementation actually was "SmLoadDeferedSubSystem"...

- SmLookupSubsystem(): is a utility-only function to read any registry value
  inside "Session Manager\SubSystems".

Move SMDLL's readme into SMLIB and update its contents.

Collect some residual useful functions into smutils.c (and moved in SMLIB,
though not compiled yet):
- SmExecuteProgram(), now implemented as a wrapper around SmExecPgm();
- SmLookupSubsystem(), described above;
- SmQueryInformation(), that retrieves a list of currently-running subsystems.

[SMLIB] Validate SbApiPortName's length in SmConnectToSm().
Fix CommandLine length validation in SmStartCsr().

Add documentation (+ SAL annotations) to the NT-compatible SMSS client functions.

smmsg.h: Add both Win32 and Win64 struct sizes C_ASSERTs for those whose size
change between these two processor architecture sizes.

[SMLIB] Introduce SmSendMsgToSm() as helper to send data into the SM LPC port.
+ Make the other API functions use it.

It should be observed that in Vista+, both functions SmConnectToSm() and this
new SmSendMsgToSm() are exported by NTDLL under the names RtlConnectToSm()
and RtlSendMsgToSm() (and use the same signature).
See: https://www.geoffchappell.com/studies/windows/win32/ntdll/history/names60.htm

[NTDLL] Correctly stub RtlConnectToSm() and RtlSendMsgToSm().
[NTDLL_VISTA] Link to SMLIB and simply export RtlConnectToSm() and RtlSendMsgToSm().
2022-11-08 17:40:53 +01:00
Katayama Hirofumi MZ
9f36a9d4a7 [NTGDI][FREETYPE] Optimize MatchFontNames (#4861)
Optimize MatchFontNames helper function for speed.
CORE-15554
2022-11-08 16:35:01 +09:00
Katayama Hirofumi MZ
467768f766 [NTGDI][FREETYPE] Reduce font size request (#4862)
- Delete some IntRequestFontSize function calls.
- Enable cache on font size requests.
- Add two members into FONTGDI structure, for font size cache.
CORE-15554
2022-11-08 16:31:10 +09:00
Katayama Hirofumi MZ
140aa11c36 [SHELL32] shlexec: Initial support of App Paths (#4850)
- Fix SHELL_TryAppPathW helper function by using SHRegQueryValueExW function.
- Fix SHRegQueryValueExA/W functions.
CORE-11335
2022-11-08 09:23:06 +09:00
Tony Lambregts
05d2935eed [USER32] Fix bug in CharPrevExA().
Import Wine commit wine-20050111-258-gffc17dbe0d0:
ffc17dbe0d

Fixes 20 failing tests of user32:CharFuncs.

CORE-18415 CORE-18452
2022-11-07 20:36:06 +03:00
Stanislav Motylkov
59f0ed43b9 [USER32] Coding style fixes only 2022-11-07 20:30:02 +03:00
Stanislav Motylkov
4b10fdbce9 [USER32_APITEST] Add tests for CharPrev/Next/Ex/A/W
CORE-18415 CORE-18452
2022-11-07 19:02:09 +03:00
Katayama Hirofumi MZ
bd40c13f6f [SETUP][BOOTDATA][FONTS][INF] Delete DejaVu Sans Mono and re-map (#4856)
- Delete "DejaVu Sans Mono" font files (DejaVuSansMono.ttf etc.).
- Re-map "Terminal" font substitute to "Lucida Console" except for HebrewFonts and UnicodeFonts.
- Re-map HebrewFonts "Terminal" font substitute to "Courier New".
- Re-map UnicodeFonts "Terminal" font substitute to "Courier New". And then, re-map UnicodeFonts "Courier" font substitute to "Courier New". Delete UnicodeFonts "Courier New" font substitute.
CORE-18605
2022-11-07 11:34:19 +09:00
Katayama Hirofumi MZ
a4193ade03 [SETUP][FONTS][INF][GDI32_APITEST] Delete FreeMono and re-map (#4852)
- Delete FreeMono fonts.
- Re-map "Courier" font substitutes to "Courier New" fonts.
CORE-18605
2022-11-07 08:04:38 +09:00
Tuur Martens
075ec50298 [DEVMGR] Fix wrong menu item hint (#4854)
Item hint for "Resources by connection" was incorrectly set to the hint for "Resources by type".

CORE-18608
2022-11-06 20:00:18 +03:00
Hermès Bélusca-Maïto
c48ca5b022 [SMSS] Fix some x64 warnings C4267 "conversion from 'size_t' to 'ULONG', possible loss of data" 2022-11-06 16:58:45 +01:00
Thomas Faber
f0dd1e7b57 [ACPICA] Update to version 20221020. CORE-17905 2022-11-06 08:33:29 -05:00
Thomas Faber
03b24380a7 [ACPICA] Update to version 20220331. CORE-17905 2022-11-06 08:33:29 -05:00
Thomas Faber
8129fee128 [ACPICA] Update to version 20211217. CORE-17905 2022-11-06 08:33:28 -05:00
Thomas Faber
9b247f6ae3 [ACPICA] Update to version 20210930. CORE-17905 2022-11-06 08:33:25 -05:00
Katayama Hirofumi MZ
7e9f1e67f3 [CHARMAP] Improve keyboard usability (#4839)
- Use IsDialogMessage function in message loop to enable Tab.
- Add WS_TABSTOP style to IDC_FONTCOMBO control.
- Set focus on create.
- Handle WM_KEYDOWN and WM_GETDLGCODE messages.
- Add UpdateCells, LimitCaretXY SetCaretXY, MoveUpDown, and MoveLeftRight helper functions.
- Delete DrawGrid, and DrawActiveCell functions for simplicity.
- Add and delete some members in MAP structure.
CORE-13806
2022-11-06 08:37:18 +09:00
Jeff Smith
c8ef276778 [COMDLG32] Set background to transparent for font dialog sample text
Import Wine commit wine-5.19-325-g4273004e65a:
4273004e65

CORE-18588
2022-11-05 02:42:13 +03:00
Mark Jansen
f89b406de6 [SDK] Fix missing comma in check_packing.py 2022-11-04 23:02:25 +01:00
Mark Jansen
2567a66399 [SHELL32] Fix CDefView UAF 2022-11-04 23:01:31 +01:00
Joachim Henze
d035452148 [SETUP][INF][ROSTESTS] Delete font substitutions and tests for "DejaVu Sans" (#4829)
I manually applied the final state of the reviewed (#4829) by hand.

The commit relies on (#4837) which added the Greek Tahoma glyphs, and the result now
does finally draw fine with unbold Tahoma also for the Greek ros installation.
See the final screenshot that I added today within (#4829).

Since 0.4.14-dev-6-g f45dd65 we do have a proper "Verdana" font,
so there is no need for substitution with "DejaVu Sans" any longer. That is the proper MS name for such a font.

And with 0.4.14-dev-20-g 2f4fb90 we even deleted the "DejaVu Sans" font,
so it makes no sense to keep it as a substitution target.

So adapt fonts.inf and muifonts.h, and also a test where it was still referenced.
MS 2k3sp2 does neither have such a font substitute, nor such a font.
2022-11-04 15:39:32 +01:00
Katayama Hirofumi MZ
94c8f271c9 [CPL:INTL] Use Japanese package for Far-East files (#4834)
Implement IDC_INST_FILES_FOR_ASIAN checkbox action. It will install/uninstall "ReactOS JPN Package" in Japanese ReactOS.
JIRA issue: CORE-12748
2022-11-04 21:48:07 +09:00
Katayama Hirofumi MZ
1a1a8a8303 [SHELL32][INCLUDE] Fix PathResolve for double-backslash (#4833)
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>

Fix shell32!PathResolve and shell32!PathQualifyExW functions for double-backslash. However it doesn't fix CORE-15204.
CORE-18080, CORE-15204
2022-11-04 21:44:46 +09:00
Katayama Hirofumi MZ
2c4cb40d8e [SHELL32_APITEST] Workaround on wine_dbgstr_w bugs
Double wine_dbgstr_w calls makes output broken.
I used two buffers and kept the results of wine_dbgstr_w to do workaround.

CORE-18080
2022-11-04 19:58:10 +09:00
Katayama Hirofumi MZ
02d92979d9 [SHELL32_APITEST] Add dots tests to PathResolve testcase
CORE-18080
2022-11-04 11:37:01 +09:00
Hermès Bélusca-Maïto
e944dfa75f Remove '.html' from spdx.org license page URLs. (#4845) 2022-11-03 18:25:37 +01:00
Tuur Martens
be970d8d31 [EXPLORER] Implement "Undo Cascade/Tile" menu items (#4817)
Implement taskbar context menu items "Undo Cascade" and "Undo Tile".
Based on patch by KRosUser.

CORE-18383
2022-11-03 15:48:18 +03:00
Katayama Hirofumi MZ
9642031d2a [MEDIA:FONTS] Add Greek glyphs to tahoma.ttf (#4837)
- Copy Greek vector glyphs from DejaVu Sans font by using FontForge.
- Add Greek bitmap glyphs by hand with using FontForge.
- Add Greek charset on font info.
- Underline position is hacked because FontForge has a bug in saving Underline position.
CORE-14343
2022-11-03 14:05:57 +09:00
Hermès Bélusca-Maïto
258caa85d1 [SMSS] Call SmpConfigureEnvironment() twice in order to resolve forward environment variables references.
Example: environment variable EnvVar1 that refers to a later-defined
variable EnvVar2.
2022-11-03 02:55:51 +01:00
Hermès Bélusca-Maïto
4ac263c93a [NTOS][NTDLL][NDK] Nt/ZwCreatePagingFile: Fix parameter names + use SAL; fix NTDLL spec file. 2022-11-03 02:55:50 +01:00
Hermès Bélusca-Maïto
ab5fdac922 [NTOS] Add TAG_DACL in tag.h and use it. 2022-11-03 02:55:49 +01:00
Hermès Bélusca-Maïto
33e0a69dad [NTOS] tag.h formatting (align values on 4-space tab stops). 2022-11-03 02:55:48 +01:00
Hermès Bélusca-Maïto
25958a7c3d [KERNEL32] Spec file: GetCurrencyFormatW takes wide strings in parameters. 2022-11-03 02:50:23 +01:00
Hermès Bélusca-Maïto
671d7e4741 [RTL] RtlDefaultNpAcl(): Don't hardcode SidBuffer size, but deduce it through FIELD_OFFSETs. 2022-11-03 02:50:21 +01:00
Hermès Bélusca-Maïto
9f938ea3bb [KERNEL32] Reformat K32CreateDBMonMutex(). 2022-11-03 02:50:20 +01:00
Adam Stachowicz
75da7ad212 [DESK] Improve Polish (pl-PL) translation (#4840)
Fix typo, addendum to f1102742.
2022-11-03 03:40:12 +03:00
Stanislav Motylkov
5daf5cd057 [REGEDIT] Use shell icons for the tree view
- This makes regedit.exe smaller
- Reduces resource duplication in the source tree
- Potentially improves support for theming

CORE-10764
2022-11-03 02:58:05 +03:00
Stanislav Motylkov
ed7b0d0bd9 [REGEDIT] Use MessageBoxW instead of outputting to console
Our regedit is a Win32 GUI application, so do it properly.
Also fix STRING_USAGE linebreak sync problem.

Addendum to 36a7f0dc.
2022-11-03 00:24:16 +03:00
Robert Naumann
683d81b7db [REGEDIT] Readd ILC_COLOR32 to the Treeview icons
Fixes regression introduced in 36a7f0dc
2022-11-02 21:17:40 +01:00
Jérôme Gardou
2ae9feb59f [NTOS] Properly implement and use FsRtlAcquireFileForModWriteEx 2022-11-02 19:41:04 +01:00
Robert Naumann
36a7f0dc7c [REGEDIT] Partially sync Regedit to Wine-7.17 (#4717)
* [REGEDIT] Partially Sync to Wine 7.17

- regproc.c and regedit.c are now in sync.
- some other mostly depending fixes for the remaining files

* [REGEDIT_WINETEST] Sync to Wine-7.0
2022-11-02 19:02:14 +01:00
Jose Carlos Jesus
66030257b1 [TRANSLATION] Improve Portuguese (pt-PT) translation (#4830)
- [RAPPS] Improve pt-PT translation
- [SNDVOL32] Add pt-PT translation
- [TASKMGR] Improve pt-PT translation
- [DESK] Update pt-PT translation
- [MMSYS] Update pt-PT translation. Adjust object size to fit all text
- [ACPPAGE] Improve pt-PT translation
2022-11-02 19:52:21 +03:00
Piotr Hetnarowicz
f110274208 [DESK] Improve Polish (pl-PL) translation (#4826)
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-11-02 18:50:23 +03:00
Katayama Hirofumi MZ
802a87dfb2 [EXPLORER] Hide Start Menu before Run dialog (#4823)
- Add HideStartMenu helper method.
- Hide Start Menu before opening Run dialog.
CORE-13330
2022-11-02 11:29:08 +09:00
Mark Jansen
e3ac541360 [RTL] Use RtlApplicationVerifierStop for DPH 2022-11-01 21:26:05 +01:00
Mark Jansen
d82185f104 [SDK] Define CCoInit in shellutils 2022-11-01 21:24:14 +01:00
Ratin Gao
8083ef9ad7 [IPCONFIG] Localized datetime format (#4777)
IPconfig used a fixed format for time/date display (for DHCP lease), while it should respect local settings.
CORE-18396
2022-11-01 20:56:43 +01:00
Artyom Ovsyannikov
b1854d7cad [TRANSLATION] Minor Russian (ru-RU) translation fixes (#4835)
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-11-01 17:22:18 +03:00
Katayama Hirofumi MZ
a17664cec2 [SHELL32_APITEST] Consider more tests in PathResolve testcase
Consider:
- Double-backslash.
- Name with trailing backslash.
- Directory with trailing backslash.
- Non full path.
CORE-18080
2022-11-01 11:19:55 +09:00
Serge Gautherie
b5fcf9fe07 [PSDK] SECURITY_ATTRIBUTES: Remove size_is(nLength) (#4832)
nLength is the size of the struct itself, not a number of descriptors.
Addendum to 1f12113 (r26428).
2022-11-01 03:14:09 +01:00
Hermès Bélusca-Maïto
d8cc88ca80 [KERNEL32][BASESRV] Fix interoperability with Win2k3 regarding NLS section security. (#4828)
Partially revert some aspects of commits 5696e4ba4 and bf40c7a31.
(See PR #4340.)

In order for Win2k3 kernel32.dll to operate with our basesrv.dll (or our
kernel32.dll to operate with Win2k3 basesrv.dll), we need in particular
to have the CreateNlsSecurityDescriptor() helper to exactly take the
expected parameters. Namely, a pointer to a **user-allocated**
SECURITY_DESCRIPTOR buffer, its size (and an access mask).

The function expects its caller to provide all this, and the caller expects
the function to initialize the security descriptor buffer. Note that the
function does *NOT* allocate a new descriptor buffer to be returned!

Indeed, with the way it currently is in master, using Win2k3 kernel32
with our basesrv is now failing with the errors:
```
NLSAPI: Could NOT Create ACL - c0000023.
(subsystems/win/basesrv/nls.c:279) NLS: CreateNlsSecurityDescriptor FAILED!: c0000023
NLSAPI: Could NOT initialize Server - c0000023.
(dll/ntdll/ldr/ldrinit.c:867) LDR: DLL_PROCESS_ATTACH for dll "kernel32.dll" (InitRoutine: 77E40D95) failed
```
(and, if we ever attempted to increase the so-claimed "dummy parameter"
descriptor size in the basesrv call, we would end up with its stack
corrupted and a crash).
Conversely, using our kernel32 with Win2k3 basesrv, would end up with
basesrv receiving a wrongly-initialized descriptor that would not work
(the buffer not being initialized with the contents of a descriptor, but
instead receiving some address to a descriptor allocated somewhere else).
2022-11-01 02:34:04 +01:00
Hermès Bélusca-Maïto
5bf0c00ddc [KERNEL32] Minor code style changes + add documentation for BasepMoveFileDelayed().
+ cut the too long lines; don't hardcode types in sizeofs; correctly specify COPY_FILE_FAIL_IF_EXISTS flag.
2022-11-01 02:29:24 +01:00
Hermès Bélusca-Maïto
b4dfef73e5 [PSDK] Formatting for COPY_FILE_* and FILE_FLAG_* defines.
As flags it's easier to see hex values than decimal numbers.
Also I wonder who made those headers, it's as if they "unformatted" them
on purpose (looks like some autodump from somewhere). Just ugly smh...
2022-11-01 02:29:23 +01:00
Hermès Bélusca-Maïto
df95d05f5f [SYSDM.CPL] Remove useless ', 0, 0, 0x0' in the resource dialog FONT statements.
Those are the default values, so...
2022-11-01 02:29:17 +01:00
Katayama Hirofumi MZ
346d12bcd9 [SHELL_APITEST] Add double-backslash tests for PathResolve testcase
- Add s_LinkTargetDoubleBackslash variable.
- Add double-backslash tests.
- Add curly brackets for for-loop.
CORE-18080
2022-11-01 10:11:20 +09:00
Katayama Hirofumi MZ
6fe0a082ec [SHELL32_APITEST] Follow-up of 83e690c
Forgotten the section numbers.
CORE-18080
2022-11-01 09:05:24 +09:00
Katayama Hirofumi MZ
83e690cd92 [SHELL32_APITEST] Improve PathResolve testcase
- Use line numbers instead of entry numbers.
- Add LFN check.
- Delete some test entries outside of test data directory.
- Add some test entries.
CORE-18080
2022-11-01 08:55:42 +09:00
Joachim Henze
4615c824db [SETUP][INF] Delete obsolete font substitutions "DejaVu Serif" (#4827)
[INF] These 2 lines are nonsense now for 2 different reasons even:
Since 0.4.13-dev-764-g dbb4432b25
we do have a proper "Times New Roman" font, so there is no need for
substitution any longer.

And since 0.4.14-dev-20-g 2f4fb903b4
we don't even have the substitution-target "DejaVu Serif" anymore.

[SETUP] Similar glitch in muifonts.h

[ROSTESTS] Thin out gdi32:GetTextMetrics test
 Deletes tests for 3 fonts that we do not longer have
2022-10-31 02:00:01 +01:00
Thomas Faber
885459d8b4 [WIN32K:NTUSER] Fix parameter check in NtUserGetAsyncKeyState. CORE-18124 2022-10-30 10:46:33 -04:00
Stanislav Motylkov
9c21d0c124 [DESK] Do not load system-defined class name
In fact Windows XP/2003 desk.cpl uses only user-defined values,
and performs fallback to shell32.dll strings in case they are missing.

CORE-18565 CORE-8427
2022-10-30 15:04:41 +03:00
Katayama Hirofumi MZ
6f03be8570 [KBSWITCH] Don't activate target window on WM_CREATE
CORE-10667
2022-10-30 08:30:10 +09:00
Katayama Hirofumi MZ
4d9026c852 [CPL:INPUT] Return TRUE against WM_INITDIALOG and add WS_TABSTOP
This affects control focus.
2022-10-30 08:01:57 +09:00
Katayama Hirofumi MZ
06cd45353b [KBSWITCH] Menu with icons (#4822)
Add icons to the left-click menu. CORE-10667
2022-10-30 06:18:58 +09:00
Hermès Bélusca-Maïto
6259be3afa [CSRLIB] Remove old hack in CsrpConnectToServer(). ObjectDirectory cannot be NULL (otherwise it's caller's bug). 2022-10-29 18:52:34 +02:00
Hermès Bélusca-Maïto
141daf4de8 [CSRLIB] Add comments regarding the calculation of the data and total message lengths in CsrClientCallServer(). 2022-10-29 17:36:09 +02:00
Hermès Bélusca-Maïto
8cd01eaf25 [CSRLIB] Add SAL annotations to the CSR client functions. 2022-10-29 17:17:30 +02:00
Hermès Bélusca-Maïto
d2aeaba5f8 [CSR][NTDLL] Move the CSR subsystem into its own "csr" sub-directory. (#4802)
Move CSRSS, CSRSRV there, as well as CSR client calls from NTDLL into a "CSRLIB" library.
2022-10-29 17:17:29 +02:00
Katayama Hirofumi MZ
a6df7ddb95 [KBSWITCH] Fix shutdown and logout dialog CORE-18563
20221028-0.4.15-dev-5273-g36f7d1a introduced bug.
Quick fix.
CORE-18563
2022-10-29 20:36:45 +09:00
Katayama Hirofumi MZ
433240feec [KBSWITCH] Follow-up of #4815 (36f7d1a); Less flicker Alt+Shift
Add bNoActivate argument to ActivateLayout function.
CORE-11700, CORE-2699, CORE-18546
2022-10-29 16:23:58 +09:00
Katayama Hirofumi MZ
8f9283398a [NTUSER] Add 'Win:' comment to InitThreadCallback 2022-10-29 14:08:15 +09:00
Katayama Hirofumi MZ
fb58782012 [IMM32_APITEST] Add JapanImeConvTestA/W testcases (#4820)
Add IME conversion tests to verify IMM/IME support. CORE-11700
2022-10-29 13:49:28 +09:00
Katayama Hirofumi MZ
36f7d1a953 [KBSWITCH][CPL:INPUT][NTUSER][EXPLORER] Fix keyboard layout icon (#4815)
Fix keyboard layout icon in taskbar notification area. JIRA issue: CORE-11700, CORE-2699, CORE-18546
- Call ActivateKeyboardLayout to select the keyboard layout correctly.
- Modify WM_INPUTLANGCHANGEREQUEST parameter.
- Modify BroadcastSystemMessageW parameter.
- Revert Taskbar Notification Area MA_NOACTIVATE HACK 8344291 . This fixes Context Menu display.
- Load the "IME File" value and set the IME icon if necessary.
- Correctly implement global hooks.
2022-10-29 07:35:19 +09:00
Mark Jansen
a06f10d0c0 [BROWSEUI] Fix CAutoComplete use after free
CORE-18395
2022-10-27 23:45:18 +02:00
Justin Miller
98b90e7394 [DBGHELP] Add ARM64 definitions into compat.h (#4810)
This fixes ARM64 build in preparation for PR #4809.
CORE-18200
2022-10-27 18:14:10 +03:00
Tuur Martens
df77f88f0d [CONTRIBUTING] Fix broken hash links. (#4816)
These links did not actually work, as GitHub expected no question mark, but we did provide one.
2022-10-27 16:37:16 +02:00
Katayama Hirofumi MZ
7a8ddbf147 [NTUSER] Support SM_DBCSENABLED and SM_IMMENABLED (#4806)
- Don't set SRVINFO_CICERO_ENABLED flag because we don't have Cicero support.
- Improve UserGetSystemMetrics for SM_DBCSENABLED and SM_IMMENABLED.
- Delete useless UserIsDBCSEnabled function.
CORE-11700
2022-10-27 21:53:58 +09:00
Hermès Bélusca-Maïto
58983061e9 [NTOS:MM] Remove residual hack from commit 864a1bc6a (r55323). 2022-10-27 01:08:07 +02:00
Mark Jansen
a0b1a01c59 [MSI] Add jira ticket to debug logging 2022-10-26 20:19:31 +02:00
Mark Jansen
d284c81494 [APPHELP] Stop shimeng being initialized multiple times
This is a hack, but is required when MSI is loaded in a process that is already shimmed.
It should be removed when the MSI shim integration is fixed.
CORE-18532
CORE-13283
2022-10-26 20:19:31 +02:00
Mark Jansen
21e68b0dba [SHELL32] Fix empty 'Send to' menu
CORE-18517
2022-10-26 20:18:40 +02:00
Mark Jansen
15d491fb29 [NTDLL] Implement LdrInitShimEngineDynamic.
This is the final step required to properly support SE_DynamicShim
CORE-13283
2022-10-26 20:12:21 +02:00
Robert Naumann
b544640c29 [SHELL32] Update German (de-DE) translation (#4808)
Reviewed-by: Joachim Henze <joachim.henze@reactos.org>
2022-10-26 19:48:27 +03:00
Konrad Dybcio
b55658b396 [WININET] Update Polish (pl-PL) translation (#4811)
Reviewed-by: Adam Słaboń <asaillen@protonmail.com>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-10-26 18:30:39 +03:00
Konrad Dybcio
97a61654c5 [BROWSEUI] Update Polish (pl-PL) translation (#4813) 2022-10-26 16:22:56 +03:00
Konrad Dybcio
e15490a2b8 [RASDLG] Fix typos in Polish (pl-PL) translation (#4812)
`tą` and `tę` are very often mistaken for each other by native speakers.
2022-10-26 16:22:05 +03:00
Konrad Dybcio
1f3cee73e9 [MMSYS] Fix English string in PL translation
Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
2022-10-26 14:54:53 +02:00
Katayama Hirofumi MZ
e1df4f2d8f [IMM32] Add reasoning for tracing (#4807)
Follow-up of c2a9436 (#4798).
Improve trace messages.
CORE-11700
2022-10-26 12:01:33 +09:00
Thamatip Chitpong
dd75ae8eca [WIN32SS] Use GDI_HANDLE_* macros for readability (#4797) 2022-10-26 02:17:01 +02:00
Adam Słaboń
23e5d3fe25 [NTOS:MM] MmPurgeSegment: Fix wrong return value (#4801)
Return TRUE instead of NTSTATUS code which has a value of FALSE and may confuse caller.
Fixes sporadic 0x7B bugcheck when booting from corrupted NTFS volume using WinXP ntfs.sys.
2022-10-26 02:15:16 +02:00
Hermès Bélusca-Maïto
e774423689 [NTDLL:CSR] Don't hardcode types in sizeofs; move local variables into code blocks where they are used. 2022-10-26 01:45:26 +02:00
Hermès Bélusca-Maïto
cb8c8693e0 [SMSS] Initial SmpInit() call initializes the *first handle* (index 0) in the array. 2022-10-26 00:44:41 +02:00
Hermès Bélusca-Maïto
5cfb71baf8 [NTDLL] Properly stub out RtlRegisterThreadWithCsrss() in spec file. 2022-10-26 00:43:57 +02:00
Hermès Bélusca-Maïto
0997e9023c [SMSS][NTOS:MM] Get rid of the remaining sprintf_nt hacks. (#4799) 2022-10-26 00:41:23 +02:00
Hermès Bélusca-Maïto
426598c6f7 [CSRSRV] Remove deprecated dependency on smdll. (#4799) 2022-10-26 00:41:13 +02:00
Jose Carlos Jesus
9701bbcf6d [NTUSER] Fix issue when cursor/caret is static
Also remove the check that Windows doesn't do.

CORE-17929
2022-10-25 23:54:31 +03:00
Jose Carlos Jesus
c0eb407130 [ACCESS][MAIN] Fix setting cursor/caret blinking rate
- Save uCaretBlinkTime to CursorBlinkRate registry key
- Also fix blinking rate never reaching None

CORE-17929
2022-10-25 23:54:28 +03:00
Jose Carlos Jesus
be014129a5 [ACCESS][MAIN] Do not delete system stock object 2022-10-25 17:42:39 +03:00
Piotr Hetnarowicz
126afdaa6f [DISKPART] Update Polish translation for message table (#4548)
Reviewed-by: Adam Stachowicz <saibamenppl@gmail.com>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-10-24 17:08:35 +03:00
Piotr Hetnarowicz
bb406c4c18 [DISKPART] Update Polish (pl-PL) translation v2 (#4547)
Reviewed-by: Adam Stachowicz <saibamenppl@gmail.com>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-10-23 14:00:51 +03:00
Katayama Hirofumi MZ
67d8ffb60b [USER32] Fix UpdatePerUserImmEnabling tracing bug
CORE-11700
2022-10-23 13:02:37 +09:00
Katayama Hirofumi MZ
a65014e3a0 [IMM32] Add UNEXPECTED() macro for detailed debugging
CORE-11700
2022-10-23 12:49:37 +09:00
Katayama Hirofumi MZ
c2a943653e [IMM32] Improve debuggability at all (#4798)
- Strengthen tracing.
- Introduce IS_NULL_UNEXPECTEDLY, IS_ZERO_UNEXPECTEDLY etc. macros to manage tracing.
CORE-11700
2022-10-23 09:51:24 +09:00
Joachim Henze
e6fb0e0c25 [SHELL32] Delete old unused implementation of OLD_SHAppBarMessage() (#4800)
SHAppBarMessage() was reimplemented at a different place by
0.4.14-dev-1209-g 10d1afea18
That was a reimport from Wine.
2022-10-22 21:48:11 +02:00
Katayama Hirofumi MZ
5166ffa447 [SHELL32] Improve Japanese translation (ja-JP) 2022-10-21 23:20:50 +09:00
Piotr Hetnarowicz
b4dedecff3 [DESK] Update Polish (pl-PL) translation (#4794)
- Addendum to bb43363416
- Also update resource file header

Reviewed-by: Adam Słaboń <asaillen@protonmail.com>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-10-21 16:22:10 +03:00
Katayama Hirofumi MZ
16ba3ff2ed [DESK.CPL] Improve Japanese translation (ja-JP) Part 2 2022-10-21 19:06:35 +09:00
Katayama Hirofumi MZ
b562f50707 [DESK.CPL] Improve Japanese translation (ja-JP) 2022-10-21 18:44:22 +09:00
Katayama Hirofumi MZ
5462d4adad [IMM32] Imm32InternalLockIMC: Unlock hIC on failure
CORE-11700
2022-10-21 16:40:25 +09:00
Katayama Hirofumi MZ
143ed5e72d [IMM32] Improve ImmSetCompositionFontA/W
CORE-11700
2022-10-21 16:37:59 +09:00
Katayama Hirofumi MZ
6585803681 [IMM32] Add uCodePage parameter to Imm32WideFromAnsi/Imm32AnsiFromWide
This needs for multiple codepage support.
CORE-11700
2022-10-21 16:04:59 +09:00
Katayama Hirofumi MZ
e1d3a7d08c [IMM32] Improve ImmGetCandidateWindow
CORE-11700
2022-10-21 15:22:06 +09:00
Katayama Hirofumi MZ
633ed86af2 [IMM32][INCLUDE] s/CLIENTIMC_UNKNOWN5/CLIENTIMC_ACTIVE/
CORE-11700
2022-10-21 13:21:02 +09:00
Katayama Hirofumi MZ
962c4557b5 [IMM32] Fix ImmSetActiveContext
CORE-11700
2022-10-21 13:08:49 +09:00
Katayama Hirofumi MZ
2865423abe [IMM32] Minor fix of ImmSetCompositionWindow
CORE-11700
2022-10-21 11:29:47 +09:00
Katayama Hirofumi MZ
b086f910d8 [IMM32] Fix and improve Imm32SelectInputContext
CORE-11700
2022-10-21 11:23:34 +09:00
Katayama Hirofumi MZ
edbeaa3c87 [IMM32] Move CtfImmTIMCreateInputContext calls
CORE-11700
2022-10-21 10:52:43 +09:00
Katayama Hirofumi MZ
db16a1f783 [IMM32] ImmGetImeInfoEx minor fix
CORE-11700
2022-10-21 10:40:38 +09:00
Katayama Hirofumi MZ
1f1dc9d84a [IMM32] s/ImmNt3Trans/WINNLSTranslateMessage/
CORE-11700
2022-10-21 10:32:33 +09:00
Katayama Hirofumi MZ
8f0e22ac23 [IMM32] Simplify Imm32WriteImeLayout
CORE-11700
2022-10-21 10:11:59 +09:00
Stanislav Motylkov
a8ee11e0ff [HHCTRL.OCX] Fix toolbar icons order
In `hhtoolbar.bmp` the "Expand" icon comes first, then "Collapse".

Import Wine commit wine-7.19-39-g4f4b342ad44:
4f4b342ad4

CORE-12198
2022-10-20 21:20:36 +03:00
Katayama Hirofumi MZ
4572aad16a [IMM32][INCLUDE] s/IMEDPI_FLAG_UNKNOWN/IMEDPI_FLAG_UNLOADED/
CORE-11700
2022-10-20 13:50:37 +09:00
Katayama Hirofumi MZ
27cc079d90 [IMM32] Fix ImeDpi_Escape by adding !IS_16BIT_MODE()
CORE-11700
2022-10-20 13:48:11 +09:00
Katayama Hirofumi MZ
91e3d06cdb [IMM32] Fix and improve Imm32InquireIme
CORE-11700
2022-10-20 12:47:15 +09:00
Katayama Hirofumi MZ
72c56c2f1f [IMM32] Improve ImmAssociateContext readability
CORE-11700
2022-10-20 12:32:45 +09:00
Katayama Hirofumi MZ
f9b2b1a6cd [IMM32] Use UNICODE_NULL for null characters
CORE-11700
2022-10-20 12:29:29 +09:00
Katayama Hirofumi MZ
378d0e814c [IMM32] ImmTranslateMessage: Minor fix
CORE-11700
2022-10-20 11:32:23 +09:00
Katayama Hirofumi MZ
4af3372c23 [IMM32] s/Imm32PostMessages/ImmPostMessages/
CORE-11700
2022-10-20 11:29:33 +09:00
Stanislav Motylkov
5f14928763 [DESK] Refactor the work with registry parameters
Use SHGet/Set functions instead of talking directly to registry.
This makes the code a lot more simple and readable.

CORE-3567
2022-10-20 04:10:04 +03:00
Stanislav Motylkov
769fcd895b [DESK] Add desktop icon change feature
- All functions now implemented, except no support for themes.
- Fixed listview height to avoid vertical scrollbar in Windows.
- Refactored existing code for show/hide desktop icons.

CORE-3567 CORE-8427
2022-10-19 23:24:03 +03:00
Stanislav Motylkov
43ecf7e4e4 [SHELL32] Add missing strings for desktop icons
Reuse existing translations where possible.

CORE-8427
2022-10-19 21:00:22 +03:00
Katayama Hirofumi MZ
39fe905efa [NTUSER] Improve IntSetImeHotKey (#4789)
- Use the LOWORD value for VK_PACKET detection.
- IntGetImeHotKeyByKeyAndLang accepts the neutral language identifier (that is zero).
CORE-11700
2022-10-20 02:57:47 +09:00
Mark Jansen
122423238a [PSDK] Add arguments for SearchPathW 2022-10-19 19:39:29 +02:00
Mark Jansen
8e16f28789 [RUNDLL32] Try to resolve the manifest file manually
This fixes f.e. Ctrl+A not working in the Create Shortcut wizard
CORE-16669
2022-10-19 19:39:29 +02:00
Mark Jansen
0452d3415a [SHELL32] Fix 'Paste' command in context menu not working
Bug found by Rosen Iliev
2022-10-19 19:38:33 +02:00
Mark Jansen
5bd86b8487 [SHELL32] Fix menu item handling
This restores the 'properties' functionality on the desktop
Bug found by Hervé Poussineau
2022-10-19 19:37:41 +02:00
Mark Jansen
7b33915adc [SYSSETUP] Add support for shortcut arguments 2022-10-19 19:36:26 +02:00
Dmitry Borisov
9d06e79373 [FREELDR] Partially implement docking station detection (#4751) 2022-10-19 16:48:27 +02:00
Katayama Hirofumi MZ
774c3b3c92 [USER32] CliGetPreloadKeyboardLayouts: Use _ultow
CORE-11700
2022-10-19 17:52:31 +09:00
Katayama Hirofumi MZ
7523bf84a5 [USER32] Fix build; Appendum to 21feb52
CORE-11700
2022-10-19 17:40:40 +09:00
Katayama Hirofumi MZ
21feb529fe [USER32] Improve CliGetPreloadKeyboardLayouts
CORE-11700
2022-10-19 17:36:04 +09:00
Katayama Hirofumi MZ
10acb335fa [USER32] Improve CliGetImeHotKeysFromRegistry
CORE-11700
2022-10-19 17:03:54 +09:00
Katayama Hirofumi MZ
dff4579bd6 [NTUSER][USER32][INCLUDE] s/SETIMEHOTKEY_DELETEALL/SETIMEHOTKEY_INITIALIZE/
CORE-11700
2022-10-19 12:15:11 +09:00
Vadim Galyant
2580889cfa [SETUPLIB] Add NTFS boot support. (#3778) 2022-10-19 02:02:24 +02:00
Hervé Poussineau
a33719500c [BOCHSMP] Add driver for QEMU and Bochs graphic card 2022-10-17 18:20:22 +02:00
Katayama Hirofumi MZ
ac0a0adc51 [NTUSER][USER32] Improve DrawFrameControl:DFC_MENU and DFC_BUTTON (#4783)
A retrial of 13868ee (#4779).
- Fill the background if necessary, and set the text color and the back mode in DrawFrameControl:DFC_MENU.
- Use UITOOLS95_DrawFrameMenu in menu drawing instead of DrawFrameControl.
CORE-18515, CORE-18417
2022-10-17 13:28:56 +09:00
Katayama Hirofumi MZ
227e596f68 Revert "[USER32][NTUSER] Fill by white in DrawFrameControl:DFC_MENU (#4779)" (#4784)
This reverts commit 13868ee0e8.
CORE-18515
2022-10-16 00:18:50 +09:00
Hervé Poussineau
f0b8a1730e [VIDEOPRT] Correctly detach from device stack in case of failure 2022-10-15 15:06:53 +02:00
Katayama Hirofumi MZ
13868ee0e8 [USER32][NTUSER] Fill by white in DrawFrameControl:DFC_MENU (#4779)
DrawFrameControl:DFC_MENU draws the monochrome image of menu arrow or checkmark. However, the function didn't draw the entire rectangle correctly when the rectangle was not a square. CORE-18417
2022-10-15 21:00:13 +09:00
Mark Jansen
b448fbdf59 [SHELL32] Fix using the wrong context menu 2022-10-15 11:09:25 +02:00
Katayama Hirofumi MZ
dac807e237 [RAPPS] Improve Japanese translation (ja-JP) 2022-10-15 12:27:32 +09:00
Katayama Hirofumi MZ
26caef2336 [INCLUDE] immdev.h: Adapt INPUTCONTEXTDX to C++
CORE-11700
2022-10-15 08:13:22 +09:00
Mark Jansen
57d0e1d207 [SHELL32] Remove unused function 2022-10-15 00:01:45 +02:00
Mark Jansen
6a9696f10b [SHELL32] CFolderItemVerb: Zero-initialize output parameters 2022-10-14 21:04:19 +02:00
Mark Jansen
9efa7cc498 [SHELL32] Fix CDefaultContextMenu DFM_MERGECONTEXTMENU handling 2022-10-14 21:04:19 +02:00
Mark Jansen
6a1f287820 [SHELL32] Show file / drive properties at the position where the mouse was.
CORE-18386
2022-10-14 21:02:33 +02:00
Katayama Hirofumi MZ
26408144a1 [INF][INTL.INF][SETUPLIB] We don't have preinstalled IMEs (#4774)
Don't write the preinstalled IME keyboard layouts in Chinese, Japanese and Korean (CJK). CORE-18506
2022-10-14 07:17:24 +09:00
Robert Naumann
abaf0d1cbb [WMIC] Update German translation 2022-10-13 21:30:22 +02:00
Thamatip Chitpong
9cc9a26392 [SYSDM] Improve license dialog icon (#4773)
- Use `mimetypes/application-certificate` icon
  from Tango Icon Theme 0.8.90 instead of `IDI_CPLSYSTEM`
- Set large icon correctly
- Add NULL check for DestroyIcon
- Minor code formatting
2022-10-13 17:52:14 +03:00
Katayama Hirofumi MZ
bbef618032 [KBSWITCH][IMM32][USER32] Consider keyboard layout corner cases
Considering invalid Keyboard Layout registry entries.
CORE-11700
2022-10-13 16:01:02 +09:00
Katayama Hirofumi MZ
fb86db15bb [IMM32] Silence CtfImmDispatchDefImeMessage's fixme
Too noisy. CORE-11700
2022-10-13 12:08:02 +09:00
Katayama Hirofumi MZ
337cbf5888 [BROWSEUI] Follow-up of 2e67c18 (#4767); Also check 'MenuText'
CORE-18394
2022-10-13 11:07:03 +09:00
Katayama Hirofumi MZ
31a33c5fcb [IMM32] Implement Imm32ImeNonImeToggle (#4769)
- Rename Imm32ImeNonImeToggle as Imm32CImeNonImeToggle (Win: CIMENonIMEToggle).
- Add Imm32ImeNonImeToggle (Win: IMENonIMEToggle) function.
- Improve IME hot-key functions.
CORE-11700
2022-10-13 07:14:24 +09:00
Jose Carlos Jesus
a3eda784a5 [COMCTL32] Don't hardcode dwCaretWidth parameter while calling CreateCaret
Also replace 0 with NULL for the second argument of the function call.

CORE-18151
2022-10-12 22:12:19 +03:00
Jose Carlos Jesus
9789e9c409 [COMCTL32] Read caret width from registry
Add caret width value to EDITSTATE structure.
To keep the same behavior as Windows Server 2003,
we need to update dwCaretWidth when EDIT_WM_SetFocus is called.

CORE-18151
2022-10-12 22:12:19 +03:00
Jose Carlos Jesus
d794996217 [NTUSER] Call SpiSetDWord when processing SPI_SETCARETWIDTH message
This corresponds to REG_DWORD type of CaretWidth value.

CORE-18151
2022-10-12 22:12:12 +03:00
Hermès Bélusca-Maïto
0dd6aa6ca5 [WINDOWSX.H] Make header compatible with MS PSDK + Add missing original license. (#4768)
To hypothetical future sync'ers: If you ever try to sync this file with
MinGW-w64, please be extremely careful to port all the fixes (including
x64-compatible casting fixes, missing definitions, etc.) that have been
brought to this file along the years by your dear ReactOS colleagues.
2022-10-12 16:10:35 +02:00
Hermès Bélusca-Maïto
6572dd7f48 [WINDOWSX.H] Fix some x64 incompatibilities. (#4768) 2022-10-12 16:10:22 +02:00
Hervé Poussineau
162de4a0d8 [WIN32SS:ENG] Call display mouse functions only when using hardware pointer
Otherwise, use software pointer functions.

This fixes graphical glitches on cursor change, when the display driver
provides accelerated pointer functions (DrvSetPointerShape/DrvMovePointer),
but refuses to handle a certain cursor.

These graphical glitches may be reproduced:
- by using Voodoo driver SFFT 1.9
- by using framebuf_new.dll instead of framebuf.dll
- by using the panning driver (setting DefaultSettings.XPanning and
  DefaultSettings.YPanning in registry)
2022-10-11 19:04:59 +02:00
Stanislav Motylkov
e6841944b8 [RAPPS] Fix inconsistencies in the translations
- Fix truncated dialogs
- Fix element positions
- Fix element misc flags
- Also uniform resource file headers per Coding Style

Addendum to e3fdbe5806, 1866b89100, and 9186a358da.

CORE-18497
2022-10-11 19:32:12 +03:00
Katayama Hirofumi MZ
72dbd87b1a [IMM32] Follow-up of deb4f4e; Add comments
CORE-11700
2022-10-11 12:06:51 +09:00
Katayama Hirofumi MZ
00bd373e88 [NTOSKRNL] Revert 53ac8da and use UNIMPLEMENTED_DBGBREAK() 2022-10-11 07:39:40 +09:00
Stanislav Motylkov
e63be36c68 [BROWSEUI] Update Russian (ru-RU) translation
Addendum to 2e67c18d. CORE-18394
2022-10-11 00:48:31 +03:00
Katayama Hirofumi MZ
2e67c18d2b [BROWSEUI][INCLUDE] Localize 'Address' on CBandSiteMenu (#4767)
- Add IDS_ADDRESSMENUTEXT resource string (whose ID matchs the string of addressband.rgs).
- Add SHLoadRegUIStringA/W function prototype to <shlwapi_undoc.h>.
- Use SHLoadRegUIStringW to load MenuTextPUI.
CORE-18394
2022-10-11 06:15:28 +09:00
Stanislav Motylkov
bb43363416 [DESK] Implement dialog to manipulate desktop icons (#4766)
For now only add ability to show or hide desktop icons.

CORE-8427
2022-10-10 18:30:25 +03:00
Stanislav Motylkov
3188f93fd4 [PSDK] Add some missing Shell State Flags to shlobj.h
See https://docs.microsoft.com/en-us/windows/win32/shell/ssf-constants

CORE-8427
2022-10-10 18:30:24 +03:00
Peter Meerwald-Stadler
6bf909d66a [ZLIB] Restore 'uncrypt' functionality in minizip (using #ifdef REACTOS)
CORE-18339
2022-10-10 11:03:55 -04:00
Peter Meerwald-Stadler
3e1f407439 [ZLIB] Update to v1.2.12. CORE-18339
Upstream commit 21767c654d31d2dccdde4330529
2022-10-10 11:03:41 -04:00
Katayama Hirofumi MZ
deb4f4e4e2 [IMM32] Add ImmGetAppCompatFlags and epilogue of ImmProcessKey
CORE-11700
2022-10-10 15:50:13 +09:00
Katayama Hirofumi MZ
9a3a11d26b [USERINIT] Improve Japanese translation (ja-JP) 2022-10-10 14:58:22 +09:00
Katayama Hirofumi MZ
53ac8dae4d [NTOSKRNL] Write 'if (var) ASSERT(FALSE);' as 'ASSERT(!var);'
Based on Serge Gautherie's patch.
CORE-13216
2022-10-10 09:33:08 +09:00
Katayama Hirofumi MZ
92c904addc [SHELL32] DestroyMenu on m_pShellMenu->SetMenu failure
CORE-13194
2022-10-10 08:48:59 +09:00
Katayama Hirofumi MZ
924a8fea10 [SHELL32] De-select m_marlett on CMenuToolbarBase::OnCustomDraw
CORE-13194
2022-10-10 08:45:04 +09:00
Stanislav Motylkov
62f09debc1 [SYSDM] Fix element positions and general consistency 2022-10-09 18:12:02 +03:00
Stanislav Motylkov
c3daf56d6e [NETPLWIZ] Add Russian (ru-RU) translation 2022-10-09 16:40:28 +03:00
Andrei Miloiu
5b4a145453 [TRANSLATION] Big Romanian (ro-RO) translation update - part 1 (#4701)
- [CALC] Improve Romanian (ro-RO) translation
- [SOLITAIRE] Improve Romanian (ro-RO) translation
- [MSPAINT] Improve Romanian (ro-RO) translation
- [MSTSC] Improve Romanian (ro-RO) translation
- [SNDVOL32] Improve Romanian (ro-RO) translation
- [REACTOS] Improve Romanian (ro-RO) translation
- [USETUP] Improve Romanian (ro-RO) translation
- [DESK] Improve Romanian (ro-RO) translation
- [INPUT] Improve Romanian (ro-RO) translation
- [INTL] Improve Romanian (ro-RO) translation
- [JOY] Improve Romanian (ro-RO) translation
- [MMSYS] Improve Romanian (ro-RO) translation
- [POWERCFG] Improve Romanian (ro-RO) translation
- [SYSDM] Improve Romanian (ro-RO) translation
- [ACPPAGE] Improve Romanian (ro-RO) translation
- [DESKADP] Improve Romanian (ro-RO) translation
- [MYDOCS] Add Romanian (ro-RO) translation
- [NETPLWIZ] Add Romanian (ro-RO) translation
- [NTOBJSHEX] Improve Romanian (ro-RO) translation
- [SENDMAIL] Add Romanian (ro-RO) translation
- [ZIPFLDR] Improve Romanian (ro-RO) translation
- [JSCRIPT] Improve Romanian (ro-RO) translation
- [MSGINA] Improve Romanian (ro-RO) translation
- [SYSSETUP] Improve Romanian (ro-RO) translation
- [MC] Add Romanian (ro-RO) translation

Reviewed-by: Ștefan Fulea <stefan.fulea@mail.com>
Reviewed-by: Joachim Henze <joachim.henze@reactos.org>
Reviewed-by: George Bișoc <george.bisoc@reactos.org>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-10-09 14:00:20 +03:00
Robert Naumann
2e56c3bc14 [MORE] Update German translation (#4761) 2022-10-08 13:19:28 +02:00
Robert Naumann
20b915dab3 [FC] Add German translation (#4760) 2022-10-08 13:19:06 +02:00
Robert Naumann
19ab5fa310 [GIT] Add .DS_Store files to .gitignore (#4762)
When working on macOS, the system creates a .DS_Store file in every accessed directory. They are marked as new files
in git, which is very annoying. This change will exclude these files.
2022-10-08 13:18:18 +02:00
Katayama Hirofumi MZ
bf2f5a70a5 [USETUP] Clear underlined text correctly
CORE-18446, CORE-5052
2022-10-08 08:47:22 +09:00
Katayama Hirofumi MZ
d707916605 [USETUP][VGAFONTS] Improve Japanese character display
- Modify media/vgafonts/932-8x8.bin Japanese VGA font.
- Use special codepoints of new font 932-8x8.bin.
Appendum of #4750. Line connection bug still remains.
CORE-5052
2022-10-08 08:22:24 +09:00
Katayama Hirofumi MZ
3c5a56ed93 [USETUP][VGAFONTS] Improve Romanian character display (#4750)
- Modify media/vgafonts/28606-8x8.bin Romanian VGA font to display special characters.
- Add global variables for special characters "Char..." for Romanian VGA font.
- Toggle the global variables "Char..." in SetConsoleCodePage function.
CORE-18446
2022-10-08 07:46:00 +09:00
Jose Carlos Jesus
fece68b63f [TRANSLATION] Improve Portuguese (pt-PT) translation (#4758)
- [WINNLS] Update pt-PT translation
- [NETCFGX] Update pt-PT translation
- [SHELL32] Update pt-PT translation
2022-10-06 22:48:38 +03:00
Mas Ahmad Muhammad
0753202cf1 [TRANSLATION] Update Indonesian (id-ID) translation (#4585)
- [WRITE] Add Indonesian (id-ID) translation
- [WINLOGON] Update Indonesian (id-ID) translation
2022-10-06 22:44:46 +03:00
Hermès Bélusca-Maïto
3d64217f70 [FC] Add missing period at the end of the usage sentence.
Except for German as it's going to be handled by PR #4760.
2022-10-06 19:55:25 +02:00
Hermès Bélusca-Maïto
61cfc0f055 [KERNEL32] Fix DisableThreadLibraryCalls function argument type in spec file.
+ Remove space between function name and parentheses there too.
2022-10-06 16:16:46 +02:00
Hermès Bélusca-Maïto
b764a42db8 [ACLEDIT][MSIMG32][HIDCLASS] Fix DLL-main function argument type in spec file. 2022-10-06 16:16:40 +02:00
Hermès Bélusca-Maïto
2c244eafe0 [IMM32][LPK] Remove msvcrt dependency; fix entrypoint. (#4759) 2022-10-06 15:52:20 +02:00
Hermès Bélusca-Maïto
58740bfbc1 [GDI32][USER32] Order the set_module_type arguments the usual way ("UNICODE" before the entrypoint).
+ Harmonize the entrypoints as well.
2022-10-06 15:37:23 +02:00
Hermès Bélusca-Maïto
069b08da0b [EVENTVWR] Fix settings loading. Remove usage of Rtl functions. Use Win32 CRT assert. (#4752)
- Don't create the settings registry key when trying to load them.
  Defer its creation when saving the settings.

- Use more restricted access rights when opening/creating the key.

- Ensure read and written string settings are NULL-terminated.

- Use the Win32 CRT assert so that if an assertion fails we get a
  message on the screen, not via the kernel debugger.
2022-10-06 01:59:33 +02:00
Stanislav Motylkov
cdf907074d [KEYBOARD] Fix problems in our keyboard layouts
- Fix failing API tests added in 6aacfa93 and c1c12793:
  'KbdLayout' test: All failures fixed now
  'VirtualKey' test: One of two failures fixed

- This also should fix related problems with "F17" shortcut key
  in the menu items of some programs.

CORE-17906 CORE-3903
2022-10-05 21:28:15 +03:00
Stanislav Motylkov
6aacfa93c0 [USER32_APITEST] Add tests for Keyboard Layouts
CORE-17906
2022-10-05 16:18:16 +03:00
Ratin Gao
badd97043f [RTL][NTDLL_APITEST] Implement RtlRemovePrivileges (#4614)
Vista+ API, compile-time guarded.
Add tests for it.
2022-10-05 14:31:39 +02:00
Hermès Bélusca-Maïto
967f5b9898 [WINLOGON] Protect function calls to '3rd-party' DLLs by SEH. (#4743)
This includes:
- Notification dll calling in CallNotificationDll().
- winmm.dll API calling (e.g. PlaySound) in PlaySoundRoutine().

Also:
- Fix dwKeyName usage in RegEnumKeyExW() specifying a number of *characters*.
2022-10-04 23:14:35 +02:00
Stanislav Motylkov
ab3e0002a6 [DESK] Fix screensaver preview drawing
Use window subclassing to override WM_PAINT message handling
and use RedrawWindow function along with WS_CLIPCHILDREN style
for the parent window in order to preserve screensaver drawing.

CORE-15929
2022-10-04 21:16:08 +03:00
Stanislav Motylkov
092fc8edd0 [DESK] Show screensaver preview in a monitor
Reuse the same monitor bitmap for the top preview control.
Also use Windows-compatible class name for it.

CORE-10606
2022-10-04 21:16:07 +03:00
Stanislav Motylkov
d5bd08fca4 [REACTOS][CPL] Coding style fixes only 2022-10-04 21:14:31 +03:00
Hermès Bélusca-Maïto
ff3d1b7bb1 [EVENTVWR] Improve behaviour on event item selection. (#4746)
CORE-18438

- Each event detail control stores its own "current" item index, so
  that there can be different event detail dialogs showing different
  events concurrently (half-plemented; this is a Win7-like feature).
  As such, give the index of the selected event item when sending
  the EVT_DISPLAY message, instead of having the details dialog
  retrieve everytime by itself the current selected item (that may
  change in-between calls, and can trigger the "No Items in ListView"
  error).

- When pressing "Prev"/"Next" buttons, detect whether we already are
  at the top/bottom of the event log, and if so, prompt the user to
  continue around.
  Clear up any selected event in the list, before selecting the new
  one. (Note: the event list supports multiple selection, for future
  functionality.)
2022-10-04 17:29:10 +02:00
Katayama Hirofumi MZ
826bd41d88 [NTUSER][USER32] Initial support of WS_EX_NOACTIVATE flag (#4731)
WS_EX_NOACTIVATE flag forbids the window to be activated. CORE-18417
2022-10-04 09:40:43 +09:00
Doug Lyons
bd027c9de4 [NTUSER] Fix 'Trying to link windows to itself' (#4478) CORE-18132
Fix 'Trying to link windows to itself' on DestroyWindow. Patch by I_Kill_Bugs.
This fixes a potential BSOD 0x50 observable in the app Localizer Editor"
2022-10-04 00:26:02 +02:00
Hermès Bélusca-Maïto
efd11b7f56 [EVENTVWR] Simplify some duplicated code. (#4745) 2022-10-03 23:17:02 +02:00
Hermès Bélusca-Maïto
89bdca6177 [EVENTVWR] Update file headers. 2022-10-03 23:16:57 +02:00
Stanislav Motylkov
12526424d5 [DESK] Fix screensaver layouts for all translations
Also remove trailing "0" for the preview static control styles.
2022-10-03 21:04:33 +03:00
Stanislav Motylkov
3aa5e8b897 [DESK] Show monitor on "Settings" page when only one monitor detected
Hide multiple monitor selection controls in this case.
Otherwise, show them when multiple monitors are detected
and hide the monitor preview bitmap.

This fixes the focus on the resolution slider when tested in Windows XP.

Also use the monitor bitmap globally, because it's used on multiple pages.

CORE-17939 CORE-10606
2022-10-03 17:34:09 +03:00
Stanislav Motylkov
311fcc612e [WLANCONF] Fix getting the interface GUID value
GetInterfaceInfo returns interface name in Windows XP and 2003
in this format: `\DEVICE\TCPIP_{GUID}`.

MSDN says that the `Name` member of the `IP_ADAPTER_INDEX_MAP`
may start with '{' character on Windows Vista and later.
https://docs.microsoft.com/en-us/windows/win32/api/ipexport/ns-ipexport-ip_adapter_index_map

Change the code to support both cases. CORE-18032
2022-10-02 15:36:45 +03:00
Stanislav Motylkov
c1c127932d [USER32_APITEST] Add tests for MapVirtualKeyW
For @julcar. See PR #4730 for details. CORE-17906
2022-10-02 02:46:24 +03:00
Mark Jansen
cd2d284142 [EXPLORER][BROWSEUI][SHELL32][NETSHELL] Fix wrong usage of CComPtr 2022-10-02 00:38:23 +02:00
Mark Jansen
a414c88dae [ATL] Prohibit the use of AddRef/Release on objects inside CComPtr
This mimics what MS's CComPtr is doing:
https://learn.microsoft.com/en-us/cpp/atl/reference/ccomptrbase-class?view=msvc-170#operator_ptr
The reasoning behind this is that AddRef/Release is handled by the CComPtr,
so anyone calling that is most likely not using the CComPtr correct.
2022-10-02 00:38:23 +02:00
Mark Jansen
544b734498 [SHELL32] CDefView: Rework context menu handling
Previously, we would share one object between a multitude of options.
Now, the only two options that need to store something for later use each have their own space for it.
The context menu always cleans up after itself, the File menu does not.
CORE-18345
CORE-18361
CORE-18366
2022-10-02 00:36:42 +02:00
Hermès Bélusca-Maïto
3bb451b1d3 [ROSAPPS] Rename template filesystem to a better name. 2022-10-01 01:28:19 +02:00
Hermès Bélusca-Maïto
23b7c7b823 [FASTFAT] And now use the MS-open-sourced fastfat_new as our official FAT12/16/32 FS driver. 2022-10-01 01:28:19 +02:00
Hermès Bélusca-Maïto
b9217c0e35 [EXPLORER] Addendum in translation (missing indentation). 2022-09-30 18:08:14 +02:00
Nikolay Dimitrov
f2bc613fda [TRANSLATION] Update Bulgarian translation (#4429)
Update translations for:
Explorer, Calculator, MSPaint, MSGina, USetup.

Add translations for:
INetCPL, Crypt32, CryptUI.

Signed-off-by: Nikolay Dimitrov <delphipro@gmail.com>
Co-authored-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Rosen Iliev <winterhell2002@gmail.com>
2022-09-30 18:08:13 +02:00
Stanislav Motylkov
72bdbdd4fa [TRANSLATION] More Russian (ru-RU) translation fixes
Addendum to 3f411c5d.
2022-09-29 12:00:04 +03:00
Stanislav Motylkov
0ee5e4c7e3 [INPUT] Update Russian (ru-RU) translation
Addendum to 5f4bb73e.
2022-09-29 11:08:17 +03:00
Hermès Bélusca-Maïto
fb68e76c51 [TRANSLATION][INPUT.CPL] Update french translation. 2022-09-29 04:27:15 +02:00
Hermès Bélusca-Maïto
dbe4abab4f [KBSWITCH][INPUT.CPL] Correctly do the input language indicator.
Addendum to commits 5f4bb73e and c6ccb92b.

- GetLocaleInfo() returns an int, not a bool: makes it clear in the test.

- No need to use StringCchCopy() to just initialize two chars to the
  same value.

- The question about the test in https://github.com/reactos/reactos/pull/4723#discussion_r981331634
  was meant to discover that CreateDIBSection() was unnecessary, since
  the very original code (before commit 0991cedc) did not use it and was
  working fine in that regard. The simple fix was to use GetDC(NULL).

- Use SM_CXSMICON/SM_CYSMICON metrics for the KBSWITCH indicator as well.

- Override the font size obtained from SPI_GETICONTITLELOGFONT with a
  known one (allows to get a correct indicator even if the user font
  is very large).

- Do the initialization in such a way that in case SPI_GETICONTITLELOGFONT
  or CreateFontIndirect fails, we always fall back to the default stock
  font that is ensured to always exist.

- Initialize *all* the fields of the IconInfo structure.
2022-09-29 04:06:17 +02:00
Katayama Hirofumi MZ
c6ccb92bdd [KBSWITCH] Fix keyboard indicator text and font (#4723)
- Do the same behaviour as input.dll in getting indicator text.
- Use full color DIB (device-independent bitmap) to improve icon.
- Use SPI_GETICONTITLELOGFONT for font.
CORE-10667
2022-09-29 07:32:39 +09:00
Katayama Hirofumi MZ
5f4bb73eda [CPL][INPUT] Make the ListView a TreeView (#4726)
- Make the list a TreeView.
- Modify IDD_PROPPAGESETTINGS resource dialog for UI compatibility.
2022-09-29 07:31:43 +09:00
Serge Gautherie
f0e13157c6 [DNSAPI] DNSRSLVR_HANDLE_bind(): Demote 1 DPRINT1() (#4733)
Addendum to b79246c534 (0.4.14-dev-174).
CORE-18384
2022-09-28 22:38:35 +03:00
Serge Gautherie
421b89eea1 [DOC] 3rd Party Files.txt: Update WinBtrfs to v1.8.1 (#4732)
Addendum to 29d1938258 (0.4.15-dev-5113).
CORE-18322
2022-09-28 21:38:42 +03:00
Hervé Poussineau
7278ed2015 [WIN32SS] Change LDEVOBJ_bProbeAndCaptureDevmode to account for not provided fields when searching an exact mode
This fixes mode change if an application requests (for example) 640x480x32, without providing display frequency.
2022-09-28 18:31:19 +02:00
Johannes Obermayr
29d1938258 [BTRFS][UBTRFS][SHELLBTRFS] Upgrade to 1.8.1 (#4729)
CORE-18322

v1.8.1 (2022-08-23):
- Fixed use-after-free when flushing
- Fixed crash when opening volume when AppLocker installed
- Compression now disabled for no-COW files, as on Linux
- Flushing now scales better on very fast drives
- Fixed small files getting padded to 4,096 bytes by lazy writer
- Added NoDataCOW registry option
2022-09-28 18:08:10 +02:00
Hervé Poussineau
22d8c0fd54 [FRAMEBUF] Implement required DirectDraw functions
However, do not support any optional callback.

dxdiag now accepts to run DirectDraw tests.
2022-09-26 23:45:56 +02:00
Hervé Poussineau
06b3ee43c2 [NTOS:PNP] Partially implement NtPlugPlayControl(PlugPlayControlQueryAndRemoveDevice)
CORE-12307
2022-09-26 23:35:09 +02:00
Hervé Poussineau
5eeeb1c235 [NETSHELL] Return error if disconnection failed
CORE-12307
2022-09-26 23:33:57 +02:00
Katayama Hirofumi MZ
2469ce2c31 [NTUSER][KBSWITCH] Realize Alt+Shift keyboard switch (retry) (#4721)
Alt+Shift is a useful key combination to switch the current keyboard layout. CORE-11737
- Add ID_NEXTLAYOUT command to kbswitch.
- Send command ID_NEXTLAYOUT to kbswitch on Alt+Shift key combination in WM_SYSKEYDOWN handling of IntDefWindowProc function.
- Make IntFindWindow a non-static function.
2022-09-26 08:07:50 +09:00
Hermès Bélusca-Maïto
38870875ba [CMD] Fix build. Addendum to 67ac583b5. 2022-09-25 23:59:18 +02:00
Hermès Bélusca-Maïto
67ac583b5b [CMD] COPY: Always remove the read-only attribute, for MS-DOS backwards-compatibility.
Tested and compared with MS CMD.EXE when copying files within the
same directory, across directories and across drives.
This is not done for the MOVE, REN and REPLACE commands however.

CORE-18090
2022-09-25 23:55:27 +02:00
Serge Gautherie
66d50537f4 [BCRYPT_WINETEST] Wine Sync to 8d8936cbb6fea3cac862e059e814527f5361f48b (#208)
Import, as is, the next 2 commits from Wine:
8d8936cbb6fea3cac862e059e814527f5361f48b  2016-12-06  Bruno Jesus  bcrypt/tests: Normalize all tests to use function pointers.
b5e5be13d20adff5d7b784e71c7a48fb95fde2c8  2016-12-06  Bruno Jesus  bcrypt/tests: Workaround RegGetValueW not being present in XP.

These let this test load on WS03 and even WXP, too.
Notice though, that even after the change, the test does not manage to load bcrypt.dll yet on Windows XPSP3 yet, even when copying it next the test.

No functional changes.
ROSTESTS-296
2022-09-25 20:35:23 +02:00
Mark Jansen
815dd140c7 [ACLAYERS] Fix RtlGetVersion 2022-09-25 19:33:51 +02:00
Mark Jansen
05637a5e3d [MSI] Abuse SE_DynamicShim until we have proper shims integration
CORE-18362
2022-09-25 19:33:51 +02:00
Mark Jansen
93e88edbb6 [APPHELP] Implement SE_DynamicShim 2022-09-25 19:33:36 +02:00
Hermès Bélusca-Maïto
18d40ebe81 [BOOTDATA] hivesys.inf: Remove redundant fastfat "Start" entry.
The one in the [AddReg] section has the very same value.
2022-09-25 17:52:35 +02:00
Hermès Bélusca-Maïto
5901897933 [OPENGLCFG] Fix encoding of Japanese translation (was using Shift-JIS, now using UTF8).
Addendum to commit 555bec6a4.
2022-09-25 17:40:46 +02:00
Joachim Henze
63fa674782 [EXPLORER] Cleanup after last commit (#4722)
Improves code that was added by 0.4.15-dev-5078-g 46de3a22ac
without any review yesterday.

CORE-15369
2022-09-25 16:48:54 +03:00
Thamatip Chitpong
1f2b7e5a56 [MMSYS] Fix "Speaker settings" image transparency (#4716)
- Use 72x72 icon instead of a bitmap
- Use correct control position and size for IDC_SPEAKIMG
- VolumeDlgProc: Add NULL check for DestroyIcon and fix cleanup order

Addendum to 781c247b.
2022-09-25 16:46:30 +03:00
Andrei Miloiu
be04c6358a [DEVMGR] Update Romanian (ro-RO) translation (#4699)
Reviewed-by: Ștefan Fulea <stefan.fulea@mail.com>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-09-25 11:44:41 +03:00
Stanislav Motylkov
328cc41192 [FREELDR] Allow to boot from FATX volume using vfatfs driver
Also copy vfatfs.sys to disk in 1st stage setup.
CORE-16216 CORE-16329 CORE-16373
2022-09-24 23:56:10 +03:00
Stanislav Motylkov
542e9f2ba0 [FS_REC][VFATFS] Update headers per our current coding style
No code changes. Addendum to 14c39362 and 6d65da93.
2022-09-24 16:24:08 +03:00
Hervé Poussineau
6d65da93e3 [FS_REC] Add FATX recognizer
CORE-16373
2022-09-24 12:12:33 +02:00
Hervé Poussineau
fa809fd2fe [VFATFS] Correctly init dirIndex/startIndex on FATX subdirectories
'.' and '..' entries do not exist on FATX subdirectories. We have to fake them when
enumerating the directory, and ignore them when creating a FCB from a directory entry.

CORE-16373
2022-09-24 12:12:33 +02:00
Hervé Poussineau
0979fb29e2 [VFATFS] Always provide a short name for FATX files (equal to long name)
If no short name is provided, driver will think that the partition is corrupted.

CORE-16373
2022-09-24 12:12:33 +02:00
Hervé Poussineau
b935bfe6cb [VFATFS] Return 'FATX' as FsType for FATX volumes
CORE-16373
2022-09-24 12:12:33 +02:00
Hervé Poussineau
15ea997774 [VFATFS] Use device name FatX, to not collide with fastfat.sys
CORE-16373
2022-09-24 12:12:33 +02:00
Hervé Poussineau
14c3936251 [VFATFS] Add it back to build on XBOX, with the name vfatfs.sys
Adapt some comments to new name.

CORE-16373
2022-09-24 12:12:33 +02:00
Katayama Hirofumi MZ
555bec6a49 [CPL][OPENGLCFG] Add Japanese translation (ja-JP) 2022-09-24 13:15:51 +09:00
Katayama Hirofumi MZ
b77b7919a1 [CPL][MMSYS] Improve Japanese translation (ja-JP) 2022-09-24 13:12:08 +09:00
Katayama Hirofumi MZ
8ee308d700 [CPL][LICCPA] Improve Japanese translation (ja-JP) 2022-09-24 13:09:12 +09:00
Katayama Hirofumi MZ
48141d2eb6 [HOTPLUG] Improve Japanese translation (ja-JP) 2022-09-24 13:07:03 +09:00
Katayama Hirofumi MZ
a509f9a30d [JOY] Add Japanese translation (ja-JP) 2022-09-24 13:03:59 +09:00
Katayama Hirofumi MZ
7f1c77c875 [SHIMGVW] Improve Japanese translation (ja-JP) 2022-09-24 12:33:22 +09:00
Katayama Hirofumi MZ
7b73da2c41 [SHELL32] Improve Japanese translation (ja-JP) 2022-09-24 12:31:07 +09:00
Katayama Hirofumi MZ
d29c27127d [EXPLORER] Improve Japanese translation (ja-JP) 2022-09-24 12:22:55 +09:00
Hervé Poussineau
3a32d5980c [ISAPNP] Generate hardware ids and compatible ids in upper case 2022-09-23 23:07:45 +02:00
Hervé Poussineau
f3506ee626 [SHELL32] Prevent use after free
'buffer' is local to the function, while m_sPath is an instance class member.
Fix that by calling the IShellLink::Resolve() function, which will allocate
and fill the m_sPath variable.

CORE-15229
2022-09-23 23:07:26 +02:00
Katayama Hirofumi MZ
f79e80c520 [USER32][IMM32] Use wcscspn instead of wcsspn
b4575ec and db00a75 were my mistakes.
CORE-11700
2022-09-23 13:50:24 +09:00
Katayama Hirofumi MZ
46de3a22ac [EXPLORER] Follow-up of #4718 (ba2cead)
Handle click OnNcLButtonUp instead of OnNcLButtonDown/OnNcLButtonDblClick.
CORE-15369
2022-09-23 08:25:27 +09:00
Katayama Hirofumi MZ
ba2cead8a2 [EXPLORER] 'Show Desktop' button should work on button up (#4718)
Follow-up of PR #4715. CORE-15369
- The 'Show Desktop' button of taskbar works on button up instead of button down.
- Add NULL checks for m_ShowDesktopButton.
- Fix hung-up in rebooting.
2022-09-22 23:01:12 +09:00
Katayama Hirofumi MZ
26efda4d8d [EXPLORER] Add 'Show Desktop' button at right edge of taskbar (#4715)
This PR adds a tiny button of window class "TrayShowDesktopButtonWClass" at right/bottom edge of taskbar.
This button allows the user to access "Show/Restore Desktop" feature by mouse.
You can toggle visibility of this button by registry value "TaskbarSd" in key "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced".
The button is themed when theme is available.
CORE-15369
2022-09-22 12:18:59 +09:00
Katayama Hirofumi MZ
34635e1585 [CPL][INTL] Realize automatic Japanese IME installation (#4705)
In intl.cpl, realize semi-automatic Japanese IME installation by checkbox "Install files for East Asian languages" by using rapps.exe. CORE-11700
2022-09-19 18:13:17 +09:00
Kyle Katarn
32c20ab112 [SHELL32] Fix property sheets that can't be closed due to failed init (#4709)
When a PropertySheet fails to init, that fact is being logged
and it shows an empty page, but it can't be closed.

Handle second failure properly by using FAILED_UNEXPECTEDLY macro.

CORE-18333
2022-09-19 04:06:47 +03:00
Kyle Katarn
456f9f96e7 [HOTPLUG] Add French (fr-FR) translation (#4703) 2022-09-19 02:14:23 +03:00
Andrei Miloiu
5f0132ee95 [APPWIZ] Update Romanian (ro-RO) translation (#4700) 2022-09-19 02:10:49 +03:00
Thamatip Chitpong
7244a4a2f5 [ZIPFLDR] Set large icon correctly (#4708)
Now it's correctly displayed in Alt+Tab window selection.
2022-09-19 01:56:35 +03:00
Joachim Henze
305aae75f5 [DDRAW] Handle DDLOCK_WRITEONLY in wined3dmapflags_from_ddrawmapflags() CORE-18378 (#4713)
Mutes the logging:
fixme:(dll/directx/wine/ddraw/utils.c:584) Unhandled flags 0x20.
gets logged many times per second.

It does affect several applications, e.g. the game 'Anno 1602' from 1998, and the 'Diablo 2 demo' from rapps,
For both games it can be observed with both: our VBEMP driver and the VBox4.3.12 3D-accelerated-driver.

Muting may improve performance a bit in such apps.
It gets logged although no missing features can be perceived visually in the rendering.

Fix it by importing Wine-commit b943c7910b3261c9603343369cd632f7a3b56bba
 ddraw: Handle DDLOCK_WRITEONLY in wined3dmapflags_from_ddrawmapflags().
 Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
 Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-09-18 20:53:30 +02:00
Mark Jansen
d84b76a69e [GDI32] Fix ExtTextOutA with ETO_GLYPH_INDEX
CORE-18365
2022-09-18 20:51:12 +02:00
Jérôme Gardou
75125228be [NTOS] Add some sanity checks when synchronizing PDEs 2022-09-17 13:48:56 +02:00
Katayama Hirofumi MZ
e5ebbc8afa [CPL] Boundary check of Control Panel applets (#4706)
- Check the boundary (i < NUM_APPLETS) of the variable i in CPlApplet functions.
- Use UINT type for the variable i.
2022-09-17 13:59:51 +09:00
Katayama Hirofumi MZ
37ccb9e594 [MEDIA][INF] The name of rapps in Japanese is too long (#4707)
Renaming: 「アプリケーション マネージャ」→「アプリ マネージャ」
2022-09-17 07:56:41 +09:00
Katayama Hirofumi MZ
fd46398b63 [INPUT] Fix IsRebootNeeded condition
If there is any IME HKL, reboot is needed.
Follow-up to #4666 (596f04b). CORE-11700, CORE-18364
2022-09-17 07:12:05 +09:00
Katayama Hirofumi MZ
75116d6b87 [USER32] Avoid szImeFileName buffer overrun
CORE-11700
2022-09-16 18:04:55 +09:00
Katayama Hirofumi MZ
b4575eccd7 [USER32] Don't allow invalid 'IME File' values
Improve security. CORE-11700
2022-09-16 18:01:19 +09:00
Katayama Hirofumi MZ
787bbf0693 [IMM32] Follow-up of db00a75
Add more invalid characters. CORE-11700
2022-09-16 17:54:15 +09:00
Katayama Hirofumi MZ
8a48446d11 [NTUSER] Use IS_CICERO_MODE() macro in co_UserActivateKeyboardLayout
CORE-11700
2022-09-16 17:41:12 +09:00
Katayama Hirofumi MZ
db00a75227 [IMM32] Don't allow invalid 'IME File' values
Improve security. CORE-11700
2022-09-16 17:38:48 +09:00
Katayama Hirofumi MZ
87f2950e1a [INPUT] Follow-up of #4666 (596f04b)
Reboot is still needed for IME settings.
CORE-11700, CORE-18364
2022-09-16 08:26:22 +09:00
Katayama Hirofumi MZ
596f04be6b [USER32][INPUT] Support various keyboard layouts (#4666)
- Fix IntLoadKeyboardLayout function to return the correct HKL value.
- Modify LAYOUT_LIST_NODE structure to add more information.
- Fix LayoutList_GetByHkl function to choose the IME HKLs correctly.
- Ignore DELETED entries correctly.
- Improve UI/UX.
CORE-11700, CORE-13244, CORE-18364
2022-09-16 08:09:37 +09:00
Artyom Ovsyannikov
3f411c5da7 [REACTOS] Various Russian (ru-RU) translation fixes (#4696)
Reviewed-by: Stanislav Motylkov <binarymaster@mail.ru>
2022-09-15 18:46:03 +03:00
Thamatip Chitpong
474f406496 [HOTPLUG] Add title bar icon (#4695)
- Add small icon to the title bar
- Set large icon correctly

CORE-15445
2022-09-15 17:54:10 +03:00
Andrei Miloiu
cd6c7272a4 [HOTPLUG] Add Romanian (ro-RO) translation (#4693)
Signed-off-by: Andrei Miloiu <miloiuandrei@gmail.com>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
Reviewed-by: Ștefan Fulea <reactos-contributor@programmer.net>
2022-09-15 17:42:03 +03:00
Kyle Katarn
c994ba79d1 [MMC] Implement standard "About" menu action (#4639)
Reviewed-by: Serge Gautherie <reactos-git_serge_171003@gautherie.fr>
Reviewed-by: Mark Jansen <mark.jansen@reactos.org>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-09-15 16:56:31 +03:00
Kyle Katarn
67d063cbc8 [SNDVOL32][MMSYS] Fix French (fr-FR) layout and translation (#4678)
Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
Co-authored-by: Serge Gautherie <32623169+SergeGautherie@users.noreply.github.com>
2022-09-15 12:14:50 +02:00
Kyle Katarn
a623990b15 [SHELL32] Fix French message for "Overwrite Folder" confirmation message
[SHELL32] Fix French message for "Overwrite Folder" confirmation message
2022-09-15 12:08:34 +02:00
Stanislav Motylkov
0eb042b74c [INF] Update Russian (ru-RU) translation
Addendum to a03ef85b.
2022-09-14 23:48:21 +03:00
Stanislav Motylkov
c46b1d75f1 [HOTPLUG] Update Russian (ru-RU) translation
Addendum to 21824a25.
2022-09-14 23:44:17 +03:00
Dmitry Borisov
a03ef85b5a [INF] Add description for IDE-compatible controllers (#4690)
Add missing string. CORE-17256
2022-09-14 23:40:47 +03:00
Thamatip Chitpong
21824a2596 [HOTPLUG] Add missing string resources for applet (#4689)
Use `IDS_CPLNAME` for the window title.
This also fixes the missing title text on the taskbar.
2022-09-14 23:12:50 +03:00
Thamatip Chitpong
781c247bd3 [MMSYS] Multimedia Control Panel diverse fixes (#4572)
- Use Unicode (WCHAR) instead of TCHAR
- Code formatting
- Use string safe functions
- Close handles after calling `CreateProcess`
- Save sound path as `REG_EXPAND_SZ` only if the path
  contains '%' character, like Windows does
- Fix `wcsdup` leaks

Reviewed-by: Mark Jansen <mark.jansen@reactos.org>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-09-14 20:06:22 +03:00
Thamatip Chitpong
67f7971fa2 [INPUT] Fix taskbar icon and remove small icon hack (#4688)
- Use int for applet index (like other CPLs).
- Revert some changes from 976d48b.
2022-09-14 23:29:29 +09:00
Vitaly Orekhov
3647f6a5eb [LOGONUI] Make Logon UI compilable again (#4684)
Logon UI was excluded from CMake build, probably for not being compliant
with 'warnings are errors' standard introduced at some point.
In the future, I would probably try to make Logon UI usable
alongside with the classic msgina interface.

- Add logonui back to CMakeLists
- Replace 'wcscpy_s' Vista+ function with StringCchCopyW
- Exclude some unused functions

Signed-off-by: Vitaly Orekhov <crce2000@mail.ru>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2022-09-14 15:10:37 +03:00
Mark Jansen
c8f4e4de62 [REGEDIT] Fix possible buffer overflow 2022-09-13 20:49:00 +02:00
Katayama Hirofumi MZ
976d48baeb [CPL][INPUT] s/IDI_KEY_SHORT_ICO/IDI_CPLSYSTEM/ and small icon
The task icon of Taskbar was wrong...
2022-09-14 03:39:18 +09:00
Katayama Hirofumi MZ
8e110335e7 [USER32] Load keyboard layouts on logon correctly (#4686)
- Add IntLoadPreloadKeyboardLayouts helper function to load the layouts on log-on.
- In UpdatePerUserSystemParameters function, call CliImmInitializeHotKeys and IntLoadPreloadKeyboardLayouts functions.
CORE-16600
2022-09-14 02:58:28 +09:00
Jose Carlos Jesus
e215a088f9 [ATL] Fix window position to fit in screen area (#4512)
Clicking "Edit compatibility modes" button in the "Compatibility" tab
opens a window centered on the parent window. If we move the parent
window to one of the screen edges and then click this button again,
the new window will appear off screen.

Adjust position of created window, so now it would be completely visible.

CORE-17089

Reviewed-by: Mark Jansen <mark.jansen@reactos.org>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2022-09-13 18:00:45 +03:00
Joachim Henze
d7f75a88ea [SYSSETUP] Update German (de-DE) translation (#4679)
- Fix typos in existing translation
- Update new strings that were added during 0.4.15-dev'ing

Addendum to 3f053db3 and 6d09885c. CORE-18357
2022-09-13 16:22:51 +03:00
Serge Gautherie
8482972a41 [DOC] 3rd Party Files.txt: Fix Buslogic driver version (#4685)
Correct version is in the BusLogic958.rc file.
Addendum to 5ee633f7d7 (0.4.15-dev-4556).

CORE-18180
2022-09-13 15:30:13 +03:00
Serge Gautherie
8d6a11eaa3 [DOC] 3rd Party Files.txt: Add 3rdparty/ to some sdk/lib/ paths (#4642) 2022-09-13 15:08:45 +03:00
Katayama Hirofumi MZ
b6cabfd1f3 [BOOTDATA] Fix 'Layout Id' values of hivesys.inf
Fix them to Win2k3's settings.
CORE-11700
2022-09-13 15:50:18 +09:00
Katayama Hirofumi MZ
b76602ff22 [NTUSER] Fix UserSetDefaultInputLang by using reordering
- Move IntReorderKeyboardLayouts function.
- Fix UserSetDefaultInputLang function.
CORE-11700
2022-09-13 14:32:39 +09:00
Serge Gautherie
f308c6a2bc [NTFS] PrintAllVCNs(): Fix a typo in an ASSERT() (#4682)
It was introduced in 0.4.7-dev-590-g 5579428b4f.
2022-09-12 22:30:28 +03:00
Mark Jansen
96e3c7bcc5 [SHELL32] Only hide a window when there is a window to hide 2022-09-12 20:00:39 +02:00
Mark Jansen
d0ba8fd4a3 [SHELL32] Properly destroy window 2022-09-12 20:00:39 +02:00
Mark Jansen
a6b8d4f6f0 [SHELL32] Don't try to remove buttons on a nonexisting window 2022-09-12 20:00:39 +02:00
Joachim Henze
46ea5171bd [TASKMGR] Pixel-perfection for left border (#4680)
CORE-18061

This makes the left border 2 pixels smaller in
IDD_APPLICATION_PAGE and IDD_PROCESS_PAGE.

The goal is:
- matching XPSP3 taskmgr to 100% on left border.
- leaving more room for the content of the 2 SysListView32.
- better aligning left border of  IDD_APPLICATION_PAGE
  and IDD_PROCESS_PAGE to IDD_PERFORMANCE_PAGE
  upon tab-switching.

In addition: Update german (de-DE) translation:
Make wording of IDS_MSG_TRAYICONCPUUSAGE (used in tooltip)
match the wording used in IDS_STATUS_CPUUSAGE (used in status bar).
2022-09-12 14:26:19 +02:00
Kyle Katarn
3703bbd631 [NTOS:MM] Implement PeakCommitment (MmPeakCommitment, MmTotalCommittedPages) (#4650)
And return the corresponding values in SystemPerformanceInformation.
Lockless updating counters suggestion by Thomas Faber.
2022-09-12 14:22:52 +02:00
Hervé Poussineau
51dd0523c7 [SHELL32] Fill link path before initializing the dialog
This fixes the Target type, Target location and Target fields
in shortcut properties window.

CORE-15229
2022-09-12 08:14:03 +02:00
Artyom Ovsyannikov
167399cfa3 [SYSSETUP] Add Tango Desktop Project to the list of used projects (#4676) 2022-09-11 15:54:02 +03:00
Stanislav Motylkov
c4bd0db05d [MMSYS] Add proper description to Speaker Volume dialog
Spotted by Kyle Katarn.
2022-09-11 02:16:34 +03:00
Hervé Poussineau
b6d7571ebb [CMAKE] Set KDBG define only where required (fastfat, win32k, ntoskrnl) 2022-09-10 23:16:27 +02:00
Hervé Poussineau
9e19352492 [CMAKE] Set _WINKD_ define only where required (kernel and setuplib) 2022-09-10 23:16:26 +02:00
Hervé Poussineau
0676247932 [FLOPPY] Correctly return media changed information
If disk changed since last time, we must either return STATUS_IO_DEVICE_ERROR
or STATUS_VERIFY_REQUIRED, depending of VPB_MOUNTED flag.
This is already handled by the SignalMediaChanged() function.

CORE-18244
2022-09-10 22:52:00 +02:00
Mark Jansen
55343f04b0 [MSPAINT][EXPLORER][SHELL32] Enable ATL asserts in CMake
CORE-17505

In MSVC builds they would not work reliably when enabled in the precompiled header
2022-09-10 17:27:50 +02:00
Kyle Katarn
86addae3cc [SHELL32] Fix Assertion when opening "File" menu in MyComputer twice (#4675)
ReactOS explorer shell asserts when opening the "File" menu in MyComputer for the second time.
This is due to the cached copy of IContextMenu not being released before attempting to cache it again.

Fix based on the patch proposed by JIRA user I_Kill_Bugs

CORE-18353

Signed-off by: I_Kill_Bugs (original patch author)
2022-09-10 15:59:00 +02:00
Kyle Katarn
6dcc07c18d [NETSHELL] Fix Network Tray icon activity indication (#4669)
The network activity tray icon wasn't showing activity until the Properties
dialog was opened at least once.
This was due to the fact that the tray icon was initialized once with missing
initialization parameters for pContext (default state and Adapter index).
Fix this problem by adding the missing initialization.

CORE-4497, CORE-9017, CORE-15744
2022-09-09 23:51:51 +02:00
Thamatip Chitpong
d5382f91e6 [ZIPFLDR] Show icon on the taskbar (#4670) 2022-09-09 20:26:39 +02:00
Kyle Katarn
a1f6d8a3f6 [EXPLORER] Fix Start Menu context menu actions (#4643)
CORE-18336

The current design was not processing actions verbs correctly for some
Start Menu context menu actions (Properties, Open all users, Explore all users),
despite associated code being implemented.
This was due by incorrectly filtering command IDs, not routing to the appropriate processing.
2022-09-09 20:23:11 +02:00
Katayama Hirofumi MZ
5bd03d8b97 [NTUSER] Implement IntReorderKeyboardLayouts
This function is provided for KLF_REORDER flag.
CORE-11700
2022-09-08 11:00:04 +09:00
Katayama Hirofumi MZ
a4fa5ef435 [IMM32] s/Ime32LoadImeDpi/Imm32LoadImeDpi/
Typo. CORE-11700
2022-09-08 10:50:49 +09:00
Katayama Hirofumi MZ
020d7d582f [IMM32] Remove unnecessary NULL checks for function pointers
CORE-11700
2022-09-08 09:57:17 +09:00
Katayama Hirofumi MZ
8ba378c901 [IMM32] s/Imm32Is16BitMode/IS_16BIT_MODE/
CORE-11700
2022-09-08 09:43:43 +09:00
Katayama Hirofumi MZ
5b87c95e23 [IMM32] s/Imm32IsCiceroMode/IS_CICERO_MODE/
CORE-11700
2022-09-08 09:40:50 +09:00
Kyle Katarn
f47c261ad0 [DESKADP] Add some spacing between the "legend" and the data (#4668)
Follow up of PR #4665 (cb6b07ee).

Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-09-08 02:28:13 +03:00
Katayama Hirofumi MZ
e3f8f52f3d [BOOTDATA] Delete "Layout Id" from Japanese/Korean Keyboard Layout
CORE-11700
2022-09-07 17:40:51 +09:00
Mark Jansen
27bc31100e [STOBJECT] Add support for the mouse key tray icon 2022-09-06 21:11:09 +02:00
Mark Jansen
ab760e539d [PSDK] Add missing defines / argument names 2022-09-06 21:11:09 +02:00
Mark Jansen
8760852129 [PSDK] Add COWAIT_DEFAULT 2022-09-06 21:11:09 +02:00
Mark Jansen
334c7cee35 [STOBJECT] Keep the object alive while the thread is running,
Fix shutting down the thread.
2022-09-06 21:11:09 +02:00
Mark Jansen
f10d40f912 [KERNEL32] Fix BaseDefaultPath containing extra '.' 2022-09-06 21:09:38 +02:00
Katayama Hirofumi MZ
a5fa4891e5 [NOTEPAD] Follow-up of 'CJK font workaround'
- Revert some code.
- Add font name comments.
CORE-11700
2022-09-07 00:54:31 +09:00
Katayama Hirofumi MZ
5ecf017ce2 [NOTEPAD] CJK font workaround
Far East Asian users may not have suitable fixed-pitch fonts.
CORE-11700
2022-09-06 15:35:14 +09:00
Katayama Hirofumi MZ
2d725449d2 [NOTEPAD] Use DEFAULT_CHARSET instead of ANSI_CHARSET
Fix the font problem.
CORE-11700
2022-09-06 14:21:46 +09:00
Katayama Hirofumi MZ
cef42ec443 [NOTEPAD] Add STRING_DEFAULTFONT for default font
CORE-11700
2022-09-06 14:05:59 +09:00
Jérôme Gardou
98e8827a59 [AMSTREAM_WINETEST] Add missing dependency 2022-09-05 18:27:25 +02:00
Thamatip Chitpong
d73b6cedf2 [NOTEPAD] Improve UTF-8 encoding support and improve status bar (#4649)
- Add write support for UTF-8 without BOM.
- Add "UTF-8 with BOM" encoding to the "Save As" dialog.
- Show line endings and encoding on the status bar (like Notepad in Windows 10).
- Remove ignored WS_EX_STATICEDGE

- Add grip to the status window.
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2022-09-05 18:21:27 +02:00
Stanislav Motylkov
6b70fff808 [DESKADP] Add Russian (ru-RU) translation. Addendum to cb6b07ee. 2022-09-05 16:24:16 +03:00
Kyle Katarn
cb6b07eec8 [DESKADP] Improve default display of advanced adapter properties (#4665)
+ fix caption width in french resources.
2022-09-05 15:01:41 +02:00
Andrej Bartulin
3b0417d48e [TRANSLATION] Croatian translation of games (Solitare and Spider) (#4664) 2022-09-05 14:58:00 +02:00
Katayama Hirofumi MZ
b03ca35fb5 [NEWDEV] Improve Japanese translation (ja-JP) 2022-09-05 11:41:25 +09:00
Katayama Hirofumi MZ
f1ddb6c15f [SYSSETUP] Improve Japanese translation (ja-JP) 2022-09-05 11:28:04 +09:00
Katayama Hirofumi MZ
85e292d58f [NTUSER][USER32][IMM32] Initialize pKL->piiex by using ImmLoadLayout (#4645)
To recognize IME, we have to initialize pKL->piiex.
- Add co_ClientImmLoadLayout and User32CallImmLoadLayoutFromKernel functions to call imm32!ImmLoadLayout on user mode from kernel.
- Use co_ClientImmLoadLayout in NtUserLoadKeyboardLayoutEx.
- Improve Imm32LoadIME to sanitize the IME table.
CORE-11700
2022-09-05 08:34:00 +09:00
Kyle Katarn
15a0f7adb0 [TASKMGR] Fix number formatting to respect NLS Number format settings (#4657)
TaskMgr currently does not respect local NLS settings and forces 3 digits + comma (US convention) formatting.
Fix this with a direct reuse of SH_FormatInteger() as already implemented in other places
(dll/win32/shell32/dialogs/filedefext.cpp ...)

- Removal of CommaSeparateNumberString() and replace with SH_FormatInteger().
- PerfDataGetText(): Use a switch structure.  Return TRUE iftext could be retrieved; FALSE if not.

Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
Co-authored-by: Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
2022-09-04 19:10:11 +02:00
Mark Jansen
15b54c4123 [CODEOWNERS] Remove automatic assignment from cmake/apitests 2022-09-04 15:28:43 +02:00
Kyle Katarn
b42ddce11a [NETSHELL] Fix "ghost" network activity when opening Network Status page (#4662)
Opening Network Status page creates a systematic "ghost" network activity,
activating RX+TX activity icon both on property page and tray, while no Rx/Tx.
This is due to pContext->dw[In|Out]Octets being initialized to 0 and compared
to refreshed interface data.

To circumvent this, copy refreshed interface data to the context on first update.
2022-09-03 23:30:57 +02:00
Sam Watson
7dc58ccb0c [THEMES] Improve text colors of Modern Dark theme (#4655)
- Update colors for all different font sizes.
- Update caption color for other fonts too.
2022-09-03 23:18:36 +02:00
Kyle Katarn
22f0c3a84a [TRANSLATION] French translation update (#4638)
Update of various French translation files for several modules:
CALC, LABEL, DXDIAG, MPLAY32, RAPPS, SHUTDOWN, SNDVOL32, EXPLORER, WINLOGON;
CONSOLE.CPL, MMSYS.CPL; NETCFGX.DLL, SHELL32.DLL, SHLWAPI.DLL, SYSSETUP.DLL
2022-09-03 23:12:29 +02:00
Kyle Katarn
7ed0284e8e [NTOS:EX] Fix returned number of handles for Idle System Process (#4661)
PsIdleProcess and PsInitialSystemProcess share the same handle table. This
leads ObGetProcessHandleCount() to report the same number of handles
when called on those system processes, when being enumerated by
NtQuerySystemInformation(SystemProcessInformation).

Instead, just return 0 for the handle count of the Idle process in SystemProcessInformation.
This is not done in ObGetProcessHandleCount(), since a separate
NtQueryInformationProcess(ProcessHandleCount) for the idle process should return
a non-zero value.

CORE-16577
2022-09-03 22:56:33 +02:00
Kyle Katarn
de5af76811 [TASKMGR] Fix overlapping controls (French only) (#4658)
Controls are sized with 0 pixel gap, which is OK in general but show an overlap upon selection.
Add the extra 1 pixel gap.
2022-09-03 17:29:26 +02:00
Kyle Katarn
f8c28b9773 [TASKMGR] Fix UI on SwitchTo for multiple application (#4652) 2022-09-03 17:27:50 +02:00
Kyle Katarn
6b2eeb0a29 [CONSOLE.CPL] Use translated resource rather than hardcoded text (#4647) 2022-09-03 17:22:14 +02:00
Kyle Katarn
f07741e631 [USRMGR] Replace old (leftover) debug MessageBox with Wine trace macros (#4640)
Remove leftover of debug code. CORE-18276
2022-09-03 17:19:41 +02:00
Katayama Hirofumi MZ
bb9c5e8e3e [KERNEL32] Fix kernel32.rc for UTF-8 codepage (#4648)
- Move #pragma code_page(65001) line.
CORE-18177
2022-08-31 12:04:21 +09:00
Katayama Hirofumi MZ
facc2837a1 [NTUSER] Move TL structure definition to ntuser.h (#4644)
- Move struct _TL and TL definitions from win32.h to ntuser.h.
- Modify the type of TL.pfnFree as newly-defined TL_FN_FREE function pointer.
CORE-11700
2022-08-30 09:35:27 +09:00
Katayama Hirofumi MZ
8222c0e6d8 [KBSWITCH][NTUSER] Revert Shift+Alt handling
The current Shift+Alt handling is buggy. The keyboard won't work frequently.
It dislikes system-side Alt (VK_MENU) key handling.
It seems like Shift+Alt handling should be in kernel.
CORE-10667
2022-08-28 20:15:33 +09:00
Thamatip Chitpong
efe25648a5 [SYSDM] General page: Auto-update the system uptime (#4616)
- Also insert curly-brackets for switch-case in GeneralPageProc
- Use correct printf data type for the system uptime

Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2022-08-28 13:20:17 +03:00
Artyom Ovsyannikov
5f16fbcd47 [TASKLIST] Add Russian (ru-RU) translation (#4630)
Reviewed-by: Stanislav Motylkov <binarymaster@mail.ru>
2022-08-28 13:00:03 +03:00
Katayama Hirofumi MZ
6970b545af [USER32] Follow-up of "Follow-up of 2ba41ad"
You are careless. Do test.
CORE-18338
2022-08-28 16:20:40 +09:00
Katayama Hirofumi MZ
8edc22a2ca [USER32] Follow-up of 2ba41ad
Be careful about every case.
CORE-18338
2022-08-28 16:17:58 +09:00
Katayama Hirofumi MZ
2ba41ad4e0 [USER32] Retry: Fix build against 0aa9d9f and 1d10671
CORE-18338
2022-08-28 16:12:55 +09:00
Katayama Hirofumi MZ
1d106717bf [USER32] Fix build against 0aa9d9f (uninitalized variable hKey)
2022-08-28T00:37:16.2978407Z d:\a\reactos\reactos\src\win32ss\user\user32\windows\input.c(671) : error C4700: uninitialized local variable 'hKey' used

CORE-18338
2022-08-28 16:06:21 +09:00
Katayama Hirofumi MZ
43108ba763 [KBSWITCH] Simplify checking NULLs
CORE-10667
2022-08-28 09:48:56 +09:00
Katayama Hirofumi MZ
0aa9d9fdb7 [USER32] Fix HKL keyboard list values (Retrial)
CORE-18338
2022-08-28 09:08:12 +09:00
Katayama Hirofumi MZ
5d123ce5f1 Revert "[USER32] Fix HKL value in IntLoadKeyboardLayout (#4632)" (#4637)
This reverts commit ea2d32b9eb.
2022-08-28 08:11:01 +09:00
Thamatip Chitpong
0c324e350e [CPL] Use MAKEINTRESOURCE instead of LoadString (#4631)
Fixes for ACCESS, DESK, INTL, MAIN, MMSYS, OPENGLCFG, POWERCFG, TIMEDATE, USRMGR, and WINED3DCFG.
2022-08-27 16:01:55 +02:00
Serge Gautherie
730b13daac [NTOS:MM] kdbg.c: Fix Argv[n] copypastas (#4634) 2022-08-27 15:58:54 +02:00
Katayama Hirofumi MZ
ea2d32b9eb [USER32] Fix HKL value in IntLoadKeyboardLayout (#4632)
The loaded HKL values were wrong. CORE-11700
2022-08-27 07:42:37 +09:00
Katayama Hirofumi MZ
83442919e4 [EXPLORER] Do WM_MOUSEACTIVATE.MA_NOACTIVATE on notification area
Don't activate taskbar when clicked the notification area.
CORE-10667
2022-08-26 08:07:54 +09:00
Timo Kreuzer
3aa3b3af56 [CRT] Implement portable ceil/floor 2022-08-26 00:44:46 +02:00
Timo Kreuzer
2943ea2cfe [CRT_APITEST] Add tests for ceil/floor 2022-08-26 00:44:46 +02:00
Katayama Hirofumi MZ
e8b830d6bf [KBSWITCH] Fix GetNextLayout for three or more languages (#4629)
Typing Alt+Shift should work cyclically.
CORE-11737
2022-08-26 06:33:39 +09:00
Katayama Hirofumi MZ
b4114030a2 [RAPPS] Really update progress bar text (#4633)
- Invalidate rectangle at CDownloaderProgress::OnSetText.
- Unsubclass the progress bar if necessary.
- Set zero to the progress for each download beginning.
CORE-14686
2022-08-26 06:29:19 +09:00
Katayama Hirofumi MZ
844d447e03 [RAPPS] Don't send WM_SETTEXT directly
Use SetWindowText and SetDlgItemText.
CORE-14686
2022-08-25 17:40:23 +09:00
Katayama Hirofumi MZ
261416ddb9 [KBSWITCH] Follow-up of 0991ced
- Used FW_NORMAL.
- Added NULL checks.
CORE-10667
2022-08-25 14:19:50 +09:00
Katayama Hirofumi MZ
c7ba53e3fb [NTUSER] Follow-up of 9e7c2ba
CORE-11700
2022-08-25 12:07:32 +09:00
Katayama Hirofumi MZ
9e7c2ba460 [NTUSER] Improve NtUserGetImeInfoEx / NtUserSetImeInfoEx
CORE-11700
2022-08-25 10:20:42 +09:00
Katayama Hirofumi MZ
4d724b6fbb [INPUT] Refactor LayoutList_Create (#4626)
LayoutList_Create function was too complicated. CORE-11700
2022-08-25 08:38:49 +09:00
Thamatip Chitpong
0ed302ef65 [INPUT] Use MAKEINTRESOURCE instead of LoadString (#4628) 2022-08-24 15:17:14 +09:00
Katayama Hirofumi MZ
d4ed449ca2 [KBSWITCH] Total refactoring 2022-08-24 13:26:54 +09:00
Katayama Hirofumi MZ
82db0523e4 [KBSWITCH] Fix notification icon handle leak 2022-08-24 12:18:59 +09:00
Katayama Hirofumi MZ
eca08cfe98 [KBSWITCH] Refactor WndProc 2022-08-24 11:57:29 +09:00
Katayama Hirofumi MZ
7151c30079 [USER32] Get/SetWindowLongPtr about PIMEUI (#4625)
In ImeWndProc_common, correctly get/set the PIMEUI value by Get/SetWindowLongPtrW. CORE-11700
2022-08-24 11:10:23 +09:00
Katayama Hirofumi MZ
3892252bc5 [KBSWITCH] Use StringCchCopy instead of lstrcpyn 2022-08-24 10:23:51 +09:00
Katayama Hirofumi MZ
0991cedca7 [KBSWITCH] Refactor CreateTrayIcon 2022-08-24 10:21:50 +09:00
Katayama Hirofumi MZ
f974f02881 [KBSWITCH] Fix menu handle leak 2022-08-24 09:11:36 +09:00
Katayama Hirofumi MZ
b4f73f040f [KBSWITCH][NTUSER] Realize Shift+Alt language switch (#4622)
- Fix co_UserProcessHotKeys on modifiers-only hot-keys.
- Add Alt+Shift hot-keys to kbswitch window.
CORE-11737
2022-08-24 07:31:46 +09:00
Katayama Hirofumi MZ
372a445ad6 [IMM32] Add CtfImmIsGuidMapEnable and CtfImmGetGuidAtom (#4621)
- Add CtfImmIsGuidMapEnable and CtfImmGetGuidAtom functions.
- Modify imetable.h and imm32.spec.
CORE-11700
2022-08-23 21:57:45 +09:00
Katayama Hirofumi MZ
f34b8460e3 [NTUSER] Use assignment-lock against THREADINFO.KeyboardLayout (#4620)
- Assignment and locking are managed by UserAssignmentLock/UserAssignmentUnlock.
- Synchronize ClientInfo->hKL to pti->KeyboardLayout->hkl.
CORE-11700, CORE-18317
2022-08-23 19:32:23 +09:00
Hermès Bélusca-Maïto
5cadc268ef [BOOT][SDK:CMLIB] Compile a CMLIB for FreeLdr / NT bootloader with correct definitions. (#4619)
This also allows using the CMLIB with any reduced functionality
that could be required at boot-time.
2022-08-22 22:08:02 +02:00
Stanislav Motylkov
95b3e7508e [OSK] Fix text label height for Russian (ru-RU) translation
Addendum to e59e6ba0.
2022-08-22 16:50:17 +03:00
Timo Kreuzer
e9a129c1e2 [NTOS] Remove useless functions 2022-08-22 11:22:08 +02:00
Timo Kreuzer
620f9ee71a [NTOS] Add MxCsr handling to trap handlers 2022-08-22 11:22:08 +02:00
Timo Kreuzer
92c798c657 [NTOSKRNL] Implement KiXmmExceptionHandler 2022-08-22 11:22:08 +02:00
Timo Kreuzer
76086220fa [CRT] Fix amd64 floating point control functions 2022-08-22 11:22:08 +02:00
Timo Kreuzer
39f11249ff [NTOS][RTL] Initialize MxCsr where missing 2022-08-22 11:22:08 +02:00
Timo Kreuzer
a82e46e521 [CRT_APITEST] Add tests for floating point control and status functions 2022-08-22 11:22:08 +02:00
Artyom Ovsyannikov
5a9efc4081 [DRWTSN32] Add Russian (ru-RU) translation (#4617)
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-08-22 01:54:03 +03:00
Artyom Ovsyannikov
3dd5599fc4 [TRANSLATION] Improve Russian (ru-RU) translation (#4615)
[WINEMINE][INF] Improve Russian translation for Minesweeper
[TIMEDATE] Improve Russian translation
2022-08-22 01:42:24 +03:00
Artyom Ovsyannikov
e59e6ba017 [OSK] Update Russian (ru-RU) translation (#4611)
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-08-21 23:46:38 +03:00
Katayama Hirofumi MZ
6c748ca8a9 [NTUSER] Rewrite NtUserUnloadKeyboardLayout (#4613)
- Add co_IntUnloadKeyboardLayoutEx (Win: xxxInternalUnloadKeyboardLayout), IntUnloadKeyboardLayout (Win: xxxUnloadKeyboardLayout) helper functions.
- Rewrite NtUserUnloadKeyboardLayout function.
CORE-11700
2022-08-20 09:45:06 +09:00
Katayama Hirofumi MZ
c06cccea22 [USER32] Adjustment for IME/IMM (#4610)
- Add IS_CICERO_MODE() macro.
- Append DWORD dwLastStatus to IMEUI structure.
- Modify ImeWndProc_common, ImeWnd_OnCreate, ImeWnd_OnImeSelect, and ImeWnd_OnImeControl functions.
CORE-11700
2022-08-18 10:55:11 +09:00
Katayama Hirofumi MZ
93955f37de [NTUSER][USER32] Define NtUserSetWindowLongPtr for non-Win64 (#4612)
- Add NtUserSetWindowLongPtr macro on non-Win64.
- Use NtUserSetWindowLongPtr instead of NtUserSetWindowLong.
CORE-11700
2022-08-17 17:23:40 +09:00
Katayama Hirofumi MZ
fd1e799123 [USER32] Insert curly-brackts for switch-case
Follow-up of #4607 (60be15f).
CORE-11700
2022-08-17 08:04:11 +09:00
George Bișoc
3b00f98b94 [NTOS:SE] Fix new dynamic length calculation in TokenPrimaryGroup case
Not only primary group assignation was broken but new dynamic length calculation is also broken. The length of the captured SID is not taken into account so the new dynamic length gets only the size of the default ACL present in an access token.
Therefore, the condition is always FALSE and the code never jumps to the STATUS_ALLOTTED_SPACE_EXCEEDED branch because the length will always be small than the charged dynamic length.

Addendum to 86bde3c.
2022-08-16 20:27:27 +02:00
Thamatip Chitpong
3bd822366c [THEMES] New restore window button for Lautus and Mizu themes (#4590)
The original file for Lautus theme is made by JIRA user name Start.

CORE-15101 CORE-15936
2022-08-16 17:40:16 +03:00
Katayama Hirofumi MZ
e44e151840 [NTUSER] Empower co_UserActivateKeyboardLayout (#4608)
- Add code to co_UserActivateKeyboardLayout function for IME.
- Add IntImmActivateLayout helper function.
CORE-11700
2022-08-16 22:03:54 +09:00
George Bișoc
86bde3c76a [NTOS:SE] Fix the primary group assignation in TokenPrimaryGroup class case
With current master, what happens is that when someone wants to assign a new primary group SID for an access token, it results in an instant page fault because the primary group variable doesn't get assigned the dynamic part's address.
So the primary group variable gets an address which is basically a representation of the ACL size, hence the said address is bogus and it's where the page fault kicks in.

CORE-18249
2022-08-16 13:05:44 +02:00
Luke Luo
626fd4d240 [TRANSLATION] Improve Korean (ko-KR) translation (#4574)
- [SHELL32] Update Korean translation
- [EXPLORER] Update Korean translation

Reviewed-by: Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
Reviewed-by: Seungju Kim <admin@manateeshome.com>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-08-16 13:02:25 +03:00
Chan Chilung
ac87259fa2 [TRANSLATION] Update Traditional Chinese (zh-TW) translation - Jun 2022 (#4570)
- [REG] Update zh-TW translation
- [DISKPART] Update zh-TW translation
- [HHCTRL.OCX] Update zh-TW translation
2022-08-16 13:00:11 +03:00
Katayama Hirofumi MZ
fe8f80610e [NTUSER] Send WM_IME_SYSTEM:IMS_LOADTHREADLAYOUT at IntCreateWindow (#4606)
- Send WM_IME_SYSTEM:IMS_LOADTHREADLAYOUT message at IntCreateWindow function.
CORE-11700
2022-08-16 08:02:49 +09:00
Katayama Hirofumi MZ
60be15ff5d [USER32] RealDefWindowProcA/W WM_IME_SYSTEM handling (#4607)
- Add WM_IME_SYSTEM message handling on RealDefWindowProcA and RealDefWindowProcW functions.
- Improve WM_IME_... messages handling.
- s/IMMGWL_IMC/IMMGWLP_IMC/
- Don't set IMMGWLP_IMC value to the default IME window.
CORE-11700
2022-08-16 08:00:47 +09:00
Katayama Hirofumi MZ
eb674f353e [IMM32] Reduce magic numbers from CtfImmSetLangBand
CORE-11700
2022-08-15 23:00:54 +09:00
Katayama Hirofumi MZ
f9a11d1e0b [IMM32] Add 'Win:' comments more
CORE-11700
2022-08-15 21:46:33 +09:00
Katayama Hirofumi MZ
379188acfe [NTUSER] Refactor NtUserUnloadKeyboardLayout (#4605)
- Add IntHKLtoPKL, co_UserActivateKeyboardLayout, IntReorderKeyboardLayouts, and co_IntActivateKeyboardLayout helper functions.
- Rewrite NtUserUnloadKeyboardLayout by using helper functions.
CORE-11700
2022-08-15 08:25:06 +09:00
Katayama Hirofumi MZ
e8ccc8516f [USER32] Call CliImmInitializeHotKeys on LoadKeyboardLayoutW epilogue (#4604)
Enable the IME hotkeys.
- Call CliImmInitializeHotKeys.SETIMEHOTKEY_ADD on IntLoadKeyboardLayout epilogue.
CORE-11700
2022-08-14 10:53:58 +09:00
Katayama Hirofumi MZ
25fcdc5c2b [USER32][IMM32][INCLUDE] Empower WM_IME_SYSTEM handling (#4603)
- Add code to ImeWnd_OnImeSystem function.
- Add CtfLoadThreadLayout and User32DoImeHelp helper functions.
- Define IMS_... constants (for WM_IME_SYSTEM wParam) and fix some magic numbers.
CORE-11700
2022-08-13 07:08:18 +09:00
Katayama Hirofumi MZ
5fa84035cf [IMM32] Renaming around ImmSystemHandler (#4602)
- s/IMM_UNKNOWN_PROCESS1/IMM_DELAY_SET_LANG_BAND/
- s/Imm32UnknownProcess1Proc/Imm32DelaySetLangBandProc/ (Win: DelaySetLangBand)
- s/Imm32UnknownProcess1/CtfImmSetLangBand/ (Win: CtfImmSetLangBand)
- s/Imm32SendChangeProc/Imm32SendNotificationProc/ (Win: SendNotificationProc)
- s/Imm32SendChange/Imm32SendNotification/ (Win: ImmSendNotification)
CORE-11700
2022-08-12 09:17:46 +09:00
Katayama Hirofumi MZ
1381cea2a7 [USER32] Refactoring on LoadKeyboardLayout(W/Ex) (#4601)
- Add IntLoadKeyboardLayout (Win: LoadKeyboardLayoutWorker) helper function.
- Use it in LoadKeyboardLayoutW and LoadKeyboardLayoutEx functions.
CORE-11700
2022-08-12 09:16:18 +09:00
Andrew Boyarshin
c15a9c1d09 [KERNEL32] lpNumberOfCharsWritten is optional for WriteConsole (#1079)
Some applications (and libraries, like replxx) rely on this undocumented behavior.
2022-08-12 01:58:18 +02:00
Katayama Hirofumi MZ
934e5212e4 [IMM32] Implement ImmWINNLSEnableIME (#4599)
- Implement imm32!ImmWINNLSEnableIME function.
- Rename CLIENTIMC_UNKNOWN3 flag as CLIENTIMC_DISABLEIME.
- Modify imm32.spec.
CORE-11700
2022-08-09 20:09:23 +09:00
Katayama Hirofumi MZ
d519b11a28 [NTUSER] Security: Follow-up of #4595 (#4598)
Improve security. CORE-11700
2022-08-08 21:23:49 +09:00
Thamatip Chitpong
f7d068e2bd [SHELL32] Fix "Fonts" and "Administrative Tools" icon incorrectly displayed after 8d520f3 (#4597)
CORE-18251
2022-08-08 18:46:20 +09:00
Katayama Hirofumi MZ
2220e566a2 [KEYBOARD][BOOTDATA][TOOLS] Rename keyboard layout files (#4596)
The keyboard layout file names of ReactOS are different from Windows' ones. It was one reason why ImmInstallIMEW fails.
- s/kbdbgm/kbdbu/ Bulgarian (Typewriter)
- s/kbdgrist/kbdgr1/ German_IBM
- s/kbdes/kbdsp/ Spanish (non-alternate!)
- s/kbdja/kbdjpn/ Japanese
- s/kbdko/kbdkor/ Korean
- s/kbdsk/kbdsl/ Slovak
- s/kbdsk1/kbdsl1/ Slovak (QWERTY)
CORE-11700
2022-08-06 08:03:46 +09:00
Katayama Hirofumi MZ
3e42f7b478 [NTUSER][USER32] NtUserGetKeyboardLayoutName and GetKeyboardLayoutNameW (#4595)
#4594 has proved that the 1st argument of NtUserGetKeyboardLayoutName has type PUNICODE_STRING.
CORE-11700
2022-08-06 08:02:31 +09:00
Timo Kreuzer
786017c5b6 [NTOS] Don't assert, when dispatching an exception to user mode fails
Instead continue with second chance handling.
2022-08-04 16:15:24 +02:00
Timo Kreuzer
b3a8f8611d [NTOS] Treat page faults with interrupts disabled as access violation 2022-08-04 16:15:24 +02:00
Timo Kreuzer
e45af60560 [NTOS:KE/X64] Enable interrupts when accessing user mode memory 2022-08-04 16:15:24 +02:00
Timo Kreuzer
902c6eee1e [NTOS:KE] Restore interrupts in KiSwitchKernelStack 2022-08-04 16:15:24 +02:00
Timo Kreuzer
ae39ad4d10 [NTOS] Add a hack for VBox 2022-08-04 16:15:24 +02:00
Timo Kreuzer
f96bee30ed [KERNEL32] Fix printing exception address 2022-08-04 16:15:24 +02:00
Timo Kreuzer
f8b6cc249e [HAL] Add missing I/O port to int 10 BIOS emulator 2022-08-04 16:15:24 +02:00
Timo Kreuzer
74014e74c0 [NTOS:KDBG] Improve x64 stack trace printing 2022-08-04 16:15:24 +02:00
Timo Kreuzer
090ccb3d8e [WIN32K] Add missing NULL checks
Also fix an old copy-pasta.
2022-08-04 16:15:24 +02:00
Katayama Hirofumi MZ
5f4db56486 [NTUSER] KLF_UNLOAD flag of NtUserGetKeyboardLayoutList (#4592)
This implementation enables KLF_UNLOAD flag awareness on listing the KLs.
CORE-11700
2022-08-03 12:45:10 +09:00
Katayama Hirofumi MZ
bfa92268da [WIN32KNT_APITEST] Follow-up of Follow-up of #4594 (54b3b73)
CORE-11700
2022-08-02 13:25:35 +09:00
Katayama Hirofumi MZ
8043706bf0 [WIN32KNT_APITEST] Follow-up of #4594 (54b3b73)
CORE-11700
2022-08-02 12:07:09 +09:00
Katayama Hirofumi MZ
54b3b73c08 [WIN32KNT_APITEST] Add NtUserGetKeyboardLayoutName testcase (#4594)
The type of the 1st argument of NtUserGetKeyboardLayoutName is doubtful.
CORE-11700
2022-08-02 10:47:49 +09:00
Katayama Hirofumi MZ
b9ecf4b055 [NTUSER] Release WinSta->spklList at IntWinStaObjectDelete (#4593)
Call UserAssignmentUnlock((PVOID*)&WinSta->spklList); in IntWinStaObjectDelete function.
CORE-11700
2022-08-02 10:46:37 +09:00
Katayama Hirofumi MZ
6c1b65d7a4 [NTUSER] Improve WINSTATION_OBJECT compatibility (#4591)
- Modify WINSTATION_OBJECT structure with inserting struct tagKL *spklList member.
- Add some C_ASSERT(offsetof(WINSTATION_OBJECT, ...) == ...);.
CORE-18252
2022-07-31 10:25:07 +09:00
Eric Kohl
23ecbb3ed5 [SECLOGON][ADVAPI] CreateProcessWithLogonW: Return process information to the caller 2022-07-24 01:08:13 +02:00
Katayama Hirofumi MZ
bfe959e62c [IMM32] Follow-up of #4588 (ffbdb7d)
CORE-11700
2022-07-23 12:42:54 +09:00
Katayama Hirofumi MZ
ffbdb7d39e [IMM32][USER32] ImmPutImeMenuItemsIntoMappedFile (#4588)
Implement inter-process menu item retrieving.
CORE-11700
2022-07-23 05:58:17 +09:00
Timo Kreuzer
fe777bb52f [NTOS:KDBG] Nuke KdbEnter and KdbpCliModuleLoaded
They are not used anymore. Also clean up some obsolete prototypes.
2022-07-20 23:57:42 +02:00
Timo Kreuzer
6778fa157f [SETUP] Don't default to MP builds, when KDBG is enabled
The reason is that KDBG and the MP kernel don't like each other much and crash hard, causing VBox to shut down.
2022-07-20 23:57:42 +02:00
Timo Kreuzer
31a5fa61bb [NTOS:KDBG] Add KdbpPrintUnicodeString
Calling normal unicode functions is not allowed at IRQL > APC_LEVEL, so calling _vsnprintf with unicode parameters from KDBG is invalid.
2022-07-20 23:57:42 +02:00
Timo Kreuzer
253362509e [KDBG] Fix x64 KDBG 2022-07-20 23:57:42 +02:00
Timo Kreuzer
04fe666590 [NDK] Add missing x64 unwind definitions 2022-07-20 23:57:42 +02:00
Timo Kreuzer
2881b77302 [CMLIB] Don't redefine PAGED_CODE() to nothing in cmlib.h except for cmlib_host
This header is included by ntoskrnl which effectively disabled all PAGED_CODE checks since 2015. Thanks Alex.
Instead define _BLDR_ when building cmlib, which will avoid trying to import KeGetCurrentIrql()
2022-07-20 20:36:22 +02:00
Katayama Hirofumi MZ
8d520f3c27 [MAIN] Improve mouse UI icons (#4583)
- Replace IDI_MOUSE_SPEED icon.
- Add and use IDI_MOUSE_HIDE icon for "Hide pointer while typing".
CORE-10728
2022-07-19 20:50:54 +09:00
Katayama Hirofumi MZ
9fc9180a1c [SYSDM] Don't use magic number (ja-JP) 2022-07-19 13:05:07 +09:00
Katayama Hirofumi MZ
255f43086d [EXPLORER] Fix assertion failure on start button (#4581)
CORE-18024
2022-07-18 22:20:25 +09:00
Katayama Hirofumi MZ
5f80670040 [CONSOLE] Improve Japanese translation (ja-JP) 2022-07-18 21:46:15 +09:00
Katayama Hirofumi MZ
a7f06eb480 [APPWIZ] Improve Japanese translation (ja-JP) 2022-07-18 21:44:25 +09:00
Katayama Hirofumi MZ
01643b8d9e [INTL] Improve Japanese translation (ja-JP) 2022-07-18 21:39:29 +09:00
Katayama Hirofumi MZ
971e33b734 [SYSDM] Improve Japanese translation (ja-JP) 2022-07-18 21:01:05 +09:00
Timo Kreuzer
bc9409daba [CRT] Add round and roundf and add it to msvcrtex to make clang v14 happy 2022-07-17 17:32:32 +02:00
Victor Perevertkin
83faa2da5e [GITHUB] Fix LLVM version for the clang-cl build (#4578) 2022-07-16 16:10:56 +03:00
Timo Kreuzer
45f75d5d32 [NTOS:KE/x64] Handle user faults in KiGeneralProtectionFaultHandler 2022-07-14 18:35:28 +02:00
Timo Kreuzer
f659ac5201 [NTDLL_APITEST] Add test for some user mode exceptions 2022-07-14 18:35:28 +02:00
George Bișoc
54a00aa8eb [CMLIB][NTOS:CM] Deduplicate other common definitions between CMLIB and the NTOS CM
Addendum to commit 8c2454e (r70605). Credits and courtesy go to Hermès BÉLUSCA - MAÏTO.

CORE-10802 CORE-10793
2022-07-10 14:35:53 +02:00
Tuur Martens
10126e7710 [NTOS:MM] Fix VADs being inserted even though the quota would exceed
Since we were charging the pool quota after the VAD insertion,
if the quota charge failed, the VAD would still have been inserted.
This commit attempts to resolve this issue by charging quota
before inserting the VAD thus allowing the quota charge to fail early.

Addendum to 884356a0. CORE-18028
2022-07-06 18:48:32 +02:00
Timo Kreuzer
f606b36cff [NTOSKRNL] Fix a bug in MiDeleteVirtualAddresses
When a PDE gets empty, we skip the address to the next PDE boundary, which might introduce an AddressGap, which wasn't handled before.
2022-07-05 19:29:05 +02:00
Eric Kohl
57c84dd658 [DISKPART] Fix magic values in CreateLogicalPartition() and CreatePrimaryPartition() 2022-07-03 14:10:02 +02:00
Serge Gautherie
b671b1cf8f [WIN32K:ENG] EngAlphaBlend(): Release EnterLeaveSource on error (#4560)
Part of CORE-11156

Co-authored-by: Carlo Bramini <carlo.bramix@libero.it>
2022-07-02 12:30:03 +03:00
Thamatip Chitpong
8a3db976a2 [EXPLORER] Fix taskbar icon display problem (#4538)
- Use SMTO_NOTIMEOUTIFNOTHUNG to get the icon with least timeout.
- Replace GCL_* consts with GCLP_* since we're using GetClassLongPtr.

Now the icon is correctly displayed for control panel applets.

CORE-18137
2022-06-30 16:10:47 +03:00
George Bișoc
4471ee4dfa [NTOS:SE] Properly handle dynamic counters in token
On current master, ReactOS faces these problems:

- ObCreateObject charges both paged and non paged pool a size of TOKEN structure, not the actual dynamic contents of WHAT IS inside a token. For paged pool charge the size is that of the dynamic area (primary group + default DACL if any). This is basically what DynamicCharged is for.
For the non paged pool charge, the actual charge is that of TOKEN structure upon creation. On duplication and filtering however, the paged pool charge size is that of the inherited dynamic charged space from an existing token whereas the non paged pool size is that of the calculated token body
length for the new duplicated/filtered token. On current master, we're literally cheating the kernel by charging the wrong amount of quota not taking into account the dynamic contents which they come from UM.

- Both DynamicCharged and DynamicAvailable are not fully handled (DynamicAvailable is pretty much poorly handled with some cases still to be taking into account). DynamicCharged is barely handled, like at all.

- As a result of these two points above, NtSetInformationToken doesn't check when the caller wants to set up a new default token DACL or primary group if the newly DACL or the said group exceeds the dynamic charged boundary. So what happens is that I'm going to act like a smug bastard fat politician and whack
the primary group and DACL of an token however I want to, because why in the hell not? In reality no, the kernel has to punish whoever attempts to do that, although we currently don't.

- The dynamic area (aka DynamicPart) only picks up the default DACL but not the primary group as well. Generally the dynamic part is composed of primary group and default DACL, if provided.

In addition to that, we aren't returning the dynamic charged and available area in token statistics. SepComputeAvailableDynamicSpace helper is here to accommodate that. Apparently Windows is calculating the dynamic available area rather than just querying the DynamicAvailable field directly from the token.
My theory regarding this is like the following: on Windows both TokenDefaultDacl and TokenPrimaryGroup classes are barely used by the system components during startup (LSASS provides both a DACL and primary group when calling NtCreateToken anyway). In fact DynamicAvailable is 0 during token creation, duplication and filtering when inspecting a token with WinDBG. So
if an application wants to query token statistics that application will face a dynamic available space of 0.
2022-06-29 10:06:37 +02:00
Stanislav Motylkov
846c9aa1fd [TRACERT] Fix displaying hop address on last ping timeout
- Update source file header per coding rules
- Store intermediate responses to display the hop address
- Add separate function to get response stats from buffer
- Add Cleanup label to free resources in a single place
- Move local variables around to allow Cleanup goto

CORE-18232
2022-06-28 23:42:09 +03:00
Stanislav Motylkov
35a816a24e [FREELDR][SDK] Sync copyright years with our banner and boot logo
Addendum to 831e2dea. CORE-18191
2022-06-27 21:42:01 +03:00
Stanislav Motylkov
831e2dea3d [FREELDR][SDK] Use "ReactOS Project" for consistency
CORE-18191
2022-06-27 21:38:14 +03:00
Stanislav Motylkov
bbccad0ed6 [INF] Set manufacturer as ReactOS Project for consistency
Also make it non-localizable. CORE-18191
2022-06-27 17:00:18 +03:00
Gary Sims
6881d8c624 [REACTOS] Remove references to ReactOS Foundation (#4557)
See https://reactos.org/wiki/ReactOS_Foundation for more information.

CORE-18191
2022-06-27 16:00:20 +03:00
Stanislav Motylkov
e1c89ce397 [PROCESSR] Fix INF file formatting only 2022-06-27 15:40:50 +03:00
Stanislav Motylkov
c24e09401b [CDMAKE] Remove module
We've been using mkisofs for 5 years now and are not looking back.
- Colin Finck
2022-06-27 15:14:03 +03:00
Timo Kreuzer
ba0d16f3b3 [CRT] Add missing OP_* constants in fpieee.h 2022-06-26 23:08:14 +02:00
Timo Kreuzer
b7c6170a5f [CRT] Add emmintrin.h
Implementations are taken from clang.
2022-06-26 19:59:41 +02:00
George Bișoc
5da5e644bb [NTOS:OB] Include the security descriptor charge when charging the paged pool quota of an object
On ObpChargeQuotaForObject function, the kernel will either charge the default object type charges or the specified information charges obtained from ObCreateObject API call. What happens is that if a paged pool charge is specified on ObCreateObject call the kernel will charge that
but when an object is about to be de-allocated, the amount of quota to return back to the system is the amounting of the paged pool charge specified previously by the ObCreateObject call plus the amounting of the security descriptor charge (see oblife.c / line 98).

This will result in a fatal crash with a bugcheck of QUOTA_UNDERFLOW because we are returning quota with bits of it that was never charged and that's SecurityDescriptorCharge. A QUOTA_UNDERFLOW bugcheck occurs in two following scenarios:

-- When installing Virtualbox Guest Additions and prompting the installer to reboot the system for you
-- When logging off and on back to the system and then you restart the system normally

This bug has been discovered whilst working on #4555 PR.
2022-06-26 19:47:02 +02:00
Timo Kreuzer
b85afdfd25 [CRT] Implement portable + amd64 asm version of fabs/fabsf
Note: older versions of ML64 are broken and don't understand the register form of movq.
See https://stackoverflow.com/questions/24789339/move-quadword-between-xmm-and-general-purpose-register-in-ml64
2022-06-26 19:13:47 +02:00
Timo Kreuzer
8a67170616 [CRT_APITEST] Implement tests for fabs/fabsf 2022-06-26 19:13:47 +02:00
Timo Kreuzer
96b847fd04 [NTDLL_APITEST] Fix RtlGetNtProductType test 2022-06-26 16:09:52 +02:00
Timo Kreuzer
47842d7847 [NTDLL_APITEST] Check whether changing the product type in the registry has an effect on RtlGetNtProductType 2022-06-25 22:57:18 +02:00
Timo Kreuzer
8521f6d7b5 [RTL] Implement dynamic function tables for x64 2022-06-25 21:45:47 +02:00
Serge Gautherie
ef1311b7a4 [IP] AddrCountPrefixBits(): Fix loop condition (#4556)
Properly handle BitTest reaching 0.

CORE-18225
2022-06-25 17:14:03 +02:00
Eric Kohl
d4a398fb13 [DISKPART] Support quoted command options in script files 2022-06-25 15:20:40 +02:00
Thamatip Chitpong
3a72a52ce8 [HHCTRL.OCX] Don't break WineSync. Addendum to 65d7fb1. (#4554)
Also minor code formatting for HH_LoadString.
2022-06-21 15:48:54 +03:00
Stanislav Motylkov
994e2f289e [DESK] Pass the list of all display modes to extensions
Also implement mode switching from adapter advanced settings.
2022-06-20 14:38:03 +03:00
Stanislav Motylkov
fced1c1192 [DESKADP][DESKMON] Notify property sheet that DWLP_MSGRESULT is set
When FALSE is returned, Apply button ignores validation result
and becomes disabled after clicking as if settings were applied.
Fix it by setting the return value to TRUE.

See https://docs.microsoft.com/en-us/windows/win32/controls/psn-apply
2022-06-20 02:14:02 +03:00
Jose Carlos Jesus
568383c9b9 [REGEDIT] Fix issue at Find registry key (#4341)
- If we dont select a item as a starting point to search from, we need to set
  pszValueName to the first value name in current subkey.

- Check pszSubKey length before calling RegFindRecurse.

- Set focus to subkey when we search for it.
2022-06-19 21:57:30 +02:00
Thamatip Chitpong
65d7fb1a82 [HHCTRL.OCX] Add help viewer window icon and default title (#4541) 2022-06-19 21:22:28 +02:00
Thamatip Chitpong
a50d309c48 [TASKMGR] Process page: Fix DevicePathToDosPath (#4537)
- Fix DevicePathToDosPath, don't use the same in-out buffer.
- Also simplify functions related to 59dcec1

Co-authored-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2022-06-19 20:52:06 +02:00
George Bișoc
0c569e1ff3 [NTDLL_APITEST] NtQueryInformationToken: write tests for TokenGroupsAndPrivileges 2022-06-19 17:22:04 +02:00
George Bișoc
9d2de519b2 [NTOS:SE] NtQueryInformationToken: implement TokenGroupsAndPrivileges
TokenGroupsAndPrivileges is the younger sister of two TokenGroups and TokenPrivileges classes. In its purpose there's no huge substantial differences apart that this class comes with its own structure, TOKEN_GROUPS_AND_PRIVILEGES, and that this structure comes with extra information.
2022-06-19 17:22:04 +02:00
Eric Kohl
f79ec61bdc [DISKPART] Print proper file system information for the FILESYSTEMS command 2022-06-19 16:12:10 +02:00
Doug Lyons
b6d1d1fd7d Modified WINESYNC.txt to show individual tests for msxml3 and update for schema 2022-06-19 15:48:42 +02:00
Doug Lyons
967db49174 Fix winetests/msxml3/schema.c crashes and sync to Wine-6.14 2022-06-19 15:48:42 +02:00
Thomas Csovcsity
1a6f523e01 [WINESYNC]: reg is now in sync with wine-staging wine-6.23
Used winesync.py script, commits which needed obious adjustments have explicit
note in commit message, that it is manually adjusted. Internationalization is
skipped while automated sync and done in last manual step.

Additonal manual adjustments to compile in ros are in this commit:
- wcsupr -> _wcsupr
- only 3 arguments for swprintf, instead of 4 in wine
- disable tests for "/reg:32" and "/reg:64", because they fail on w2k3

Manually addjusted base/applications/cmdutils/reg/lang/zh-CN.rc while rebase to
actuall master (4a66cbb224) on 19.06.2022
2022-06-19 14:13:00 +02:00
winesync
958d4a884a [WINESYNC] reg: Use the standard va_list instead of __ms_va_list.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 942f9f71575d4a53ae032360e03f1297be1319f7 by Alexandre Julliard <julliard@winehq.org>
2022-06-19 13:06:39 +02:00
winesync
29992c17f1 [WINESYNC] reg: Support use of registry views in the 'copy' operation.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50962
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 04d52eb83fa5c37cfe1100f435e36c2f78918338 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:39 +02:00
winesync
be726bd769 [WINESYNC] reg/tests: Test use of registry views when copying registry data.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d92f26ed1264ec80f97c0a45a59b986f0b9cae38 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:39 +02:00
winesync
35b9e2d380 [WINESYNC] reg: Support use of registry views when exporting registry data.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fcf79426147adf0d9f1d80b0cf24d0b6abd8bf59 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:39 +02:00
winesync
bac2e89b05 [WINESYNC] reg/tests: Use correct file and line arguments with delete_file().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0b5ba1d0be04f7c6bc0e53e9a28984cf2941b4bc by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:39 +02:00
winesync
54f7d655e4 [WINESYNC] reg/tests: Split 'export' syntax tests into a separate function.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 959ea6677ea0571c5042a5ec5bec33fb5a5f1dc6 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:39 +02:00
winesync
73ac2fc096 [WINESYNC] reg/tests: Test use of registry views when exporting registry data.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fee692178cebd33220027ad6038f6acd8185b77f by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync
4e25c2d09b [WINESYNC] reg/tests: Add registry view syntax tests for the 'import' operation.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 49cde0995827b24aa9c1ef1b6a0372797f4166e0 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync
9f70f13ee7 [WINESYNC] reg: Support use of registry views in the 'import' command.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0c71a9879d894e4b82de2909c9c44e36c0bbb35e by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync
bed77337e8 [WINESYNC] reg/tests: Test use of registry views when importing keys and values.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f2ce614d85091500c071f9b7234f17d5d6418727 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync
7beb1390e2 [WINESYNC] reg/tests: Split 'import' syntax tests into a separate function.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e3d14e66f71193faeb532c28b5b5565d5ea9b12f by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync
c69933739b [WINESYNC] reg: Support use of registry views in the 'query' operation.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8eef4a873513cca9ffea61fb225fa8a9c8ac784d by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync
5caeeb0399 [WINESYNC] reg/tests: Check all error codes in delete_tree() before returning.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 48c73868720606ab62ae089ee3b9c978736bd530 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync
2592a360a0 [WINESYNC] reg/tests: Test use of registry views when querying registry values.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 45955658e18b65d3af701885e2cfa58bd0c95ceb by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync
df1bb03b05 [WINESYNC] reg/tests: Don't verify key deletion after calling delete_tree().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3186a0046336e82a2e8133f8a5958e6250c6fe61 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync
2d9dfc03d8 [WINESYNC] reg/tests: Verify key opening and key deletion in delete_tree().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5115e51adb103f023600269ddc1833386fcc1e79 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync
4e13fbcfcc [WINESYNC] reg/tests: Test use of registry views with the 'query' operation.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 76b30097525f755f572d835b0187d9496941d985 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync
e89696846f [WINESYNC] reg/tests: Split 'query' syntax tests into a separate function.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a899d743c585fe8004c41f12cf0a080ebe622fd1 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync
129ed8f5fb [WINESYNC] reg: Support use of registry views when deleting registry keys.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 31f070f7d3e312942d72e774a4a7dbd21b655a31 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync
fde082ff99 [WINESYNC] reg: Support use of registry views when deleting registry values.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8d42cb9c1ca72e02b8961d6703aaa2e3ddfda5e2 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync
db92c856fd [WINESYNC] reg/tests: Test deletion of keys and values using registry views.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 556121b1cafc2182edaeb7354caf46375205bef7 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync
92e39357b8 [WINESYNC] reg/tests: Remove duplicate test from test_registry_view_wow64().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8ad9c21b056d9f3119c363e0f7e56198985d5b08 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync
44c2f0d9d6 [WINESYNC] reg/tests: Modify delete_tree() to support the use of registry views.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d790c593490bfb363cf34ab2d00dddbaf04ddd15 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync
aabda6f608 [WINESYNC] reg/tests: Move 'delete' syntax tests into a separate function.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7c9f372480511cba8abd90ed04480911d96036de by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync
ad80ceabc3 [WINESYNC] reg: Support the use of registry views during the 'add' operation.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 304b80a9b5a6ed128dd8a89e22f05b99142310cd by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync
334c2e278c [WINESYNC] reg/tests: Test key and value creation in 32-bit and 64-bit registry views.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 24d0d6f524d6c51cc5d8c909bf6cd942d6ae443d by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync
77b2d21e9d [WINESYNC] reg/tests: Modify add_key() to support key creation in registry views.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0d60749c218ae76645006e6273fc2f6a5ea87a58 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync
64c8452688 [WINESYNC] reg/tests: Update delete_value() declaration to deconstify 'const HKEY'.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ff0445a5de192b2984bb558ac54e7f4d54e96129 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync
df92c0464b [WINESYNC] reg/tests: Modify verify_key_nonexist() to support registry views.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9780dfc01a460264b6088fe23eada214c21441bd by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync
cd3b6fe7a9 [WINESYNC] reg/tests: Modify verify_key() to support opening of registry views.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fdceb5ed7e5ce058cf9a64564e116f1bbe42d5ea by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync
ea4fae5116 [WINESYNC] reg/tests: Update reg_open() and reg_open_() definitions.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0eb85504b4b9bdeef8a402d39024e20ad99789a0 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync
0ea0084c73 [WINESYNC] reg/tests: Modify delete_key() to support use of RegDeleteKeyEx().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f06869199571466c989b0e75a8edfb55ad6e541a by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:36 +02:00
winesync
9ad9ae45ac [WINESYNC] reg/tests: Test how values are overwritten when copying.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8104629672db54fcc13f05f980149d2cc4170e24 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:36 +02:00
winesync
7d85b1aef4 [WINESYNC] reg: Prompt the user to confirm whether they want to overwrite existing values when copying a key.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48000
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id aeeda123b1185e6d6f6c975354fe567c4573502e by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:36 +02:00
winesync
07427368d3 [WINESYNC] reg/tests: Test whether the 'copy' command copies user-defined key classes.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 664f8b638d421540e73b4e046a9aa5e66f8cc4ff by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:36 +02:00
winesync
20aa38c6e7 [WINESYNC] reg: Fail if the source and destination keys are the same when copying.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0abc002a3e232be3445241e435ef17ac89d6c947 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:36 +02:00
winesync
ded0675d66 [WINESYNC] reg: Support recursion in the 'copy' command.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8d9a228e99e1252a0d82c88e6a64635548c478a6 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:36 +02:00
winesync
da2d23fb94 [WINESYNC] reg: Partially implement the 'copy' command.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b1ccb87d9debb1a07e35263a76b6e34a7dd6ee49 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:36 +02:00
winesync
34aed2639a [WINESYNC] reg: Group resource IDs by source location.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8f997a8b9b75320449711d3b05241b5f1f580ac3 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:36 +02:00
winesync
2964cf3b37 [WINESYNC] reg: Remove two unused string resources.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e4f3d51fdde4b762d2317ce7b2aa140ac030989b by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:36 +02:00
winesync
67493a4006 [WINESYNC] reg: Fail if one or more arguments follow a help switch.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6c466296a7629487930d4d6e4fa7d7ae66a7bf61 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:36 +02:00
winesync
181292dc07 [WINESYNC] reg: Add initial support for the 'copy' command.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ac32dd8abcdd93f5428ba93c8aff7f0bb5a7c2f2 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:36 +02:00
winesync
f6fb1eb081 [WINESYNC] reg: Fix a typo in a function definition.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 537cd26f7cf799bf51875d1bc4970ec79a1184a3 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:36 +02:00
winesync
552256c17b [WINESYNC] reg/tests: Add key and value order tests for the 'copy' command.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ca57a86074e6109fcc2254e3d58ff225f4335236 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:36 +02:00
winesync
927db6bec5 [WINESYNC] reg/tests: Add more data tests for the 'copy' command.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id baf0254bbb617c3b21c5b068e645615418a5be19 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:35 +02:00
winesync
6ae4684dca [WINESYNC] reg/tests: Add complex data and hex type tests for the 'copy' command.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3115276367e61f98436f8ba2feee9da491f7d69f by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:35 +02:00
winesync
105971e68e [WINESYNC] reg/tests: Add missing return code checks.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 48cd2588be54f7ab659ae3733456c826101f4c27 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:35 +02:00
winesync
d40c4ec10d [WINESYNC] reg/tests: Add data tests for the 'copy' command.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id bb609c6acbf53b822825e3077fe0996a85d5026d by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:35 +02:00
winesync
f27a0866a4 [WINESYNC] reg/tests: Add further syntax tests for the 'copy' command.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c0619c092962d1c14725ac6cdc84b8e80ecb09bc by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:35 +02:00
winesync
f9a0d83961 [WINESYNC] reg: Update an error message.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fa4268dcbcfe0b1bcbe3adafb7e3dd542eb6d928 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:35 +02:00
winesync
e7137d6832 [WINESYNC] reg: Update the STRING_VALUEALL_FAILED resource string.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5bee1882c009d399d4e9082bcf75a4ea9b51bfe0 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:35 +02:00
winesync
6fa073aacd [WINESYNC] reg: Fail if access is denied when deleting registry data.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ab64b0e33972b31b648ee92922b1df78cb6b5a70 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:35 +02:00
winesync
64312c4fd4 [WINESYNC] reg: Prevent buffer over-read when querying REG_NONE values with no data.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 60c8dfdd0bbaff4a2369f884ec1a553a06735676 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:35 +02:00
winesync
4f9404e600 [WINESYNC] reg: Avoid allocating zero bytes of memory when handling REG_BINARY data.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1dd785d1490f64c33e89003453f7c82292d185d5 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:35 +02:00
winesync
d8277eee6f [WINESYNC] reg: Allow the 'reg_data' pointer to be NULL.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e2dfb0aff42153f2c1a25e8c9b37ad10409aca36 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:35 +02:00
winesync
a5469189ad [WINESYNC] reg: Only prompt the user to overwrite registry data if the given key already exists and [/f] is not supplied.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cf1e6d3f3fcb726062b957a973bb0a78b7e00eab by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:35 +02:00
winesync
61d4db3fde [WINESYNC] reg: Fail if access is denied when adding registry data.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d433d1f122a85b7902b48bae1930eef503a239a5 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:35 +02:00
winesync
39593a1e16 [WINESYNC] reg: Add or modify the (Default) registry value if [/v] is not specified.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a0dc4d7ce37fa8cc515cd4c908245d12fc07cfae by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync
1bfb496303 [WINESYNC] reg: Replace the 'reg_count' variable name with context-specific names.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2c73949a46c2dda10b544cef44c0f6c3623cc74e by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync
5132711167 [WINESYNC] reg/tests: Update error messages.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 08786274e25461dc1af3684f0e46c896201b28cb by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync
44774b38b2 [WINESYNC] reg/tests: Add two REG_DWORD tests.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 357601a01b894ecdd0e26f5493914192d7ccae6f by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync
a260cccef6 [WINESYNC] reg/tests: Fix a typo in a REG_DWORD test.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a8e961ecacb845b3fc613401431ae9ca37bf9d4b by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync
fe627c0e6a [WINESYNC] reg/tests: Split the REG_DWORD_BIG_ENDIAN tests from the REG_DWORD tests.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 94b582b1a68cd07676618144537465bdf21d1847 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync
6802956e33 [WINESYNC] reg/tests: Use string literals instead of a char buffer for REG_MULTI_SZ tests.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1110421da93ebd6cc2648008fed874a49b8bbf28 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync
5e7302ebfd [WINESYNC] reg/tests: Add and amend tests adding a (Default) value.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1aae492dcbb2a0a7725a9cff40edd6a355f7fc79 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync
123e459be5 [WINESYNC] reg: Use correct error message if RegCreateKeyExW() fails.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id dedcd7c100461cf8be46387ebd65b60488c13ecf by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:34 +02:00
winesync
40d62f3c5b [WINESYNC] reg/tests: Verify that only the (Default) value is overwritten when neither /v nor /ve is specified.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8203c5db0248d38f06af55411ac4f4c89976fad2 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync
1aea6bdfcf [WINESYNC] reg/tests: Rework syntax tests for the 'copy' operation.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1ce21dbb5f2eed468c3748a2de1f25744e10e04c by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync
d9ac771683 [WINESYNC] reg: Don't enumerate a registry key for subkeys if we know the key does not have subkeys.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 33cfc644a055a9bc88253ae8d8c824ad603e7a02 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync
3dbd42081e [WINESYNC] reg: Print a new line when recursing and the current key has no registry values.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 35ccb87a767394ea3054c8890ad7b245e431290d by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync
14b77379a7 [WINESYNC] reg: Only print the name of the registry key if it contains values or we are recursing.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ec0a799ea8884479d7b56b81fb9fdd106f1a751b by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:33 +02:00
winesync
a3bf868efb [WINESYNC] reg: Do not print a line break after querying a registry key.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f32816268ed5715c5bce20daf9bb20aa194a7127 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:33 +02:00
winesync
f0c76942b7 [WINESYNC] reg: Consistently use 'hkey' for HKEY variables.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c809f9462455ffb0e03a9ae4057f0cd47c85ee5d by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:33 +02:00
winesync
a0060cdcee [WINESYNC] reg: Print the full key path without a trailing backslash.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e685718c3b701b67e1920a8e4f2ddce31d3ca800 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:33 +02:00
winesync
f42b63fd64 [WINESYNC] reg: Fail if a system key has a trailing backslash but no subkey path.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 797520db8f7eb708845891da6f08d3030393d6bc by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:33 +02:00
winesync
f55096783d [WINESYNC] reg: Drop key output from the "Invalid system key" error message.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6d2ab37a44c6d0bd58504cbc3ff20d2828afc841 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:33 +02:00
winesync
4771673c8f [WINESYNC] reg/tests: Add tests for querying a key only containing subkeys.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8b0602023add5c530e4f257ebf07ebae8e4ffdba by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:33 +02:00
winesync
d552b44ff8 [WINESYNC] reg/tests: Use 'hkey' in 'query' tests for consistency with other reg.exe tests.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c573fce35b80d60b38b720a82fee53941c7490ea by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:33 +02:00
winesync
2535ff3f1b [WINESYNC] reg/tests: Only try querying an invalid key once.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9752dfeea82c48e2230bacbf9db9564d5562de02 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:33 +02:00
winesync
00ef8711f9 [WINESYNC] reg/tests: Test key creation and initialization of the Default registry value.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e9412a8ae020fe614d96d20f20355d53593048cc by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:33 +02:00
winesync
ba10b11f88 [WINESYNC] reg/tests: Only pass a newly created HKEY if it is used in later tests.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 559086af62254a1f82c25f4fd4c145d93c60b973 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:33 +02:00
winesync
3969dcc3de [WINESYNC] reg/tests: Refactor 'add' tests into registry types, keys and syntax checks.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 45b66285c38462bb57e8ab8a577f8df2dba15363 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:33 +02:00
winesync
16cc1ad771 [WINESYNC] reg/tests: Test output of keys with a trailing backslash.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f6566bf7493dea2511238ad59aae873168b16963 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:33 +02:00
winesync
e77afe91c9 [WINESYNC] reg/tests: Compare output of some 'query' recursion tests.
Recursively querying a registry key for a given value name produces an extra
line specifying the number of matches found.

This line is locale-specific, so we only exclude it from the comparison
on a test-by-test basis.

Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f4b4398d797382f238f6a21da259fed0d0e2a286 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:32 +02:00
winesync
5132d26c4c [WINESYNC] reg/tests: Compare 'query'test output with expected output.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5983247c3a5a7b5b64498a2cdff0eadf5edc47b5 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:32 +02:00
winesync
a12c844899 [WINESYNC] reg/tests: Give 'query' tests some structure.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5bc2af7b1cf2e4e56311dad77acd8f67b3b7a13f by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:32 +02:00
winesync
b12d798037 [WINESYNC] reg/tests: Reorder failing 'query' tests.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3d772fe408970f6a1aad02321f21706408dd92e9 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:32 +02:00
winesync
b6bc8e1371 [WINESYNC] reg: Allow /reg:32 and /reg:64 switches to be passed via the command line.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=44755
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2b900e1c38d9bed0901ea036488e896e6df0cbe9 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:32 +02:00
winesync
9cf114d789 [WINESYNC] reg: Print additional help messages when syntax is invalid.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 010cb1b4057550b2eb6c371db5ba5a8d11ef337e by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:32 +02:00
winesync
a1330dea51 [WINESYNC] reg/tests: Add tests for trailing backslashes after the system key.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a47829e13d639831ab9f36ba4592b840259e6f80 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:32 +02:00
winesync
b6ad4f3d27 [WINESYNC] reg: Remove unneeded ternary operator in RegDeleteValueW().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fa24d458f5d9663fbefb1eb7406961b1c6ec3def by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:32 +02:00
winesync
d472925c90 [WINESYNC] reg: Avoid non-portable Unicode character.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 495d9b5fb3ab5bab885f9fe80cd6952cc4bbca6c by Alexandre Julliard <julliard@winehq.org>
2022-06-19 13:06:32 +02:00
winesync
a1c74056d1 [WINESYNC] reg: Only call get_long_key() when operations require it.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 07fdd5036ca40fd4f0475583b6e410192576d804 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:32 +02:00
winesync
091880d29b [WINESYNC] reg: Abort 'query' operation when parsing command-line arguments that are not switches.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2c7d74594f2bd421f6d904f334171a198a13c66e by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:32 +02:00
winesync
fa6d473e3d [WINESYNC] reg: Abort 'delete' operation when parsing command-line arguments that are not switches.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 51e83dec2959ce332264223832abc1a5f09dbf34 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:32 +02:00
winesync
0a5bdf825b [WINESYNC] reg: Abort 'add' operation when parsing command-line arguments that are not switches.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b2ead1ffcc8d28b488b561e8c5a9e3cc964699a3 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:32 +02:00
winesync
6c0f70db4d [WINESYNC] reg: Better indicate when a registry value is not found.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b80da20656feda99f9c6e749f5cd6d6f3c242cd3 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:31 +02:00
winesync
9a8e4a271a [WINESYNC] reg: Prepend 'reg:' to two message strings.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fbecd56db8889f9d349c2f807348cdddf397eab1 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:31 +02:00
winesync
235d5af3af [WINESYNC] reg: Add a new message to indicate when a registry key fails to import.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9b7a5cfb0e709e4434575daf960f803338bdf6bd by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:31 +02:00
winesync
e11511da86 [WINESYNC] reg: Add a message to better indicate when a specified registry key is not found.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fa2ed01352f8f027625d464915cd953e10766d73 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:31 +02:00
winesync
9b424b0080 [WINESYNC] reg: Improve initial syntax checks during the 'export' operation.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4df5c1641e7091f42c2313b275d999f2b9d25eff by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:31 +02:00
winesync
ec55298764 [WINESYNC] reg: Use wide-char string literals in export.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1b746c1e1c4da4a07a1293fe9e60429867c86697 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:31 +02:00
winesync
aae71dcb75 [WINESYNC] reg: Use wide-char string literals in import.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1fadcf240997f77b4bf31f708893051c94e299b2 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:31 +02:00
winesync
5eb878fe9c [WINESYNC] reg: Use wide-char string literals.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0c73f95b336ba2ae4b49fa7f652c622ce47038c5 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:31 +02:00
winesync
b1bb43c991 [WINESYNC] reg: Use RegCreateKeyExW() instead of RegCreateKeyW().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id aaf503e1de3f476639113b7ab7988c8628529e03 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:31 +02:00
winesync
cb66fe28ba [WINESYNC] reg: Fail if duplicate command-line switches are passed to 'reg add'.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 08976b3ee0db827bc5add829de1f148da89a6362 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:31 +02:00
winesync
65957cc65b [WINESYNC] reg: Parse 'reg add' command-line arguments in add.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9138f5893c2eb7cafabdd8ed49b99a633eeda462 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:31 +02:00
winesync
409d7663c1 [WINESYNC] reg: Parse 'reg delete' command-line arguments in delete.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 434c345e41222ae6eebe734e655a32bfd51871ae by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:31 +02:00
winesync
89f0bf94a3 [WINESYNC] reg: Update a comment.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cb749592e728119bdd5a30a1080a90cf1a53546a by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:31 +02:00
winesync
6b9db85aaf [WINESYNC] reg: Use RegOpenKeyExW() instead of RegOpenKeyW().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id eee0c1f8f97d2d77118abb692e277dd440eed693 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:31 +02:00
winesync
8dc46f32b0 [WINESYNC] reg: Fail if duplicate command-line switches are passed to 'reg query'.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2c84ec7ee04ab03883907691f115e01a7165b6e9 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:30 +02:00
winesync
354e15827d [WINESYNC] reg: Parse 'reg query' command-line arguments in query.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8e7738be92888c3aae19ab799d232d3f5112254c by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:30 +02:00
winesync
1b3f59f879 [WINESYNC] reg: Add extended help for supported operations.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e319a463a20b060c059de36058624639e04c12a0 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:30 +02:00
winesync
949e2a8ccc [WINESYNC] reg/tests: Test whether a .reg file extension is required when exporting.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cd03238dd0174382c503d7b6771e803d876a2fbf by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:30 +02:00
winesync
6d2c3a08bb [WINESYNC] reg/tests: Test whether overwriting a registry key modifies existing keys and values.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 89251073c7b7a919ca7c3450d53744921ac2979c by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:30 +02:00
winesync
26226dc572 [WINESYNC] reg/tests: Add tests for duplicate command-line switches.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a87a380a75723e0aa0e257c7efcc3024b56fb49d by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:30 +02:00
winesync
68d5548fd5 [WINESYNC] reg: Use malloc(), realloc() and free() from stdlib.h instead of wine/heap.h.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id be718697a2e1b30944c019218ef635f6737503d5 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:30 +02:00
winesync
9b91b79551 [WINESYNC] reg: 'export' sorts before 'import'.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 42420f4d6c13cc4818e10c9b0cd9ee64c3715db3 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:30 +02:00
winesync
fb4f651902 [WINESYNC] reg: Use 'argvW' array naming in export.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d37375e47033f92375ec4a431b5c3c2f28dd5829 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:30 +02:00
winesync
b4d8b76a2f [WINESYNC] reg: Move 'import' syntax checks to reg_import().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4cbf47054fc7d95bcbab368fa53fc71908472309 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:30 +02:00
winesync
f16c791548 [WINESYNC] reg: Simplify basic syntax checks.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8801118e384b7388a0fa5c43b5540bfd7f257ab6 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustments needed
2022-06-19 13:06:30 +02:00
winesync
01c1091e51 [WINESYNC] reg: Merge common header #includes into reg.h.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7803c53cfe6635a5d3e0d9f58e743235746ec9d2 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:30 +02:00
winesync
fa84e69673 [WINESYNC] reg: Use is_switch() where possible.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ab94653e8bb093b88406f7c509c7157ac7033f28 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:30 +02:00
winesync
bcb87edb6a [WINESYNC] reg: Split 'add' functions from reg.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7e7d92d5e97f89a409db0dd091419b4f1bfe7ed4 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:29 +02:00
winesync
6fc87692b3 [WINESYNC] reg: Split 'delete' functions from reg.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 81a3eecc3c2e7ddced2f25cabc6de47101fd4fb1 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:29 +02:00
winesync
761c3c9835 [WINESYNC] reg: Split 'query' functions from reg.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b80de8721690947bcd2e86b658b261f201002039 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustments needed
2022-06-19 13:06:29 +02:00
winesync
1007673889 [WINESYNC] reg: Stop parsing REG_SZ values containing NUL character sequences.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 272d35afc6905dfdf1ffcf0ef2963e3bded1303d by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:29 +02:00
winesync
252e8fd1c7 [WINESYNC] reg/tests: Try exporting registry values with escaped null characters.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 53fd4df85f004597161a26d86333755e7cbff0ff by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:29 +02:00
winesync
60a4a6313b [WINESYNC] reg/tests: Try importing registry files with escaped null characters.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1c2b96699973e198e72a01a969af0876387f08e1 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:29 +02:00
winesync
dbff9b0183 [WINESYNC] reg/tests: Try deleting strings containing escaped null characters.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id aa98e3f6da78135ecffaa50bb78ad906dfd4570d by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:29 +02:00
winesync
2d45084d7f [WINESYNC] reg/tests: Always specify the expected exit code in error messages.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 73f69d66b342af4c8339c23739ebeb1ff359e78b by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:29 +02:00
winesync
bfe2251b54 [WINESYNC] reg/tests: Update value names in 'add' overwrite test.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 37ad10d92ab71e69475bdf69ff3609fae5d701b7 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:29 +02:00
winesync
1e0e137f14 [WINESYNC] reg/tests: Add some tests for strings containing the characters backslash zero.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c5b7f04eea2d88ce8b2192168d0cb9dba340551f by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:29 +02:00
winesync
8789d86699 [WINESYNC] reg/tests: Group REG_SZ default value tests.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f5c24e2c341f872c8ed45c347b2fb357f9cedd7e by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:29 +02:00
winesync
0790755208 [WINESYNC] reg/tests: Pass __FILE__ from the caller so the correct filename is shown in error logs.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e3a738b1562de68bd92c4be6bc948ea31f6a2d79 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:29 +02:00
winesync
0b6ea9f2d7 [WINESYNC] reg/tests: Comprehensively check for elevated privileges before starting Windows 3.1 import tests.
The existing check fails to adequately determine the program's elevation
status on systems where the test key already exists. This can cause all
Windows 3.1 import tests to fail on systems with a standard user account.

Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 17023a8100a62852bbad342e5e7c705cafae9a1f by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:28 +02:00
winesync
2161165dca [WINESYNC] reg/tests: Fix copy/paste typo in reg.exe availability check.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b369af9ac5861f0ec49933ef657a53feeafefc21 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:28 +02:00
winesync
a09c8c41ee [WINESYNC] reg/tests: Rename reg.c to add.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3c2db20f66806074b047b0b3c76aa86ad79e3175 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:28 +02:00
winesync
295a04df51 [WINESYNC] reg/tests: Split 'copy' tests from reg.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cc4cc7086faf087590d22b9b58b6c45386e181c8 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:28 +02:00
winesync
15a1b9ab16 [WINESYNC] reg/tests: Split 'export' tests from reg.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 60701b02981980dbd821b59f46c102b6f80a79cb by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:28 +02:00
winesync
22af0f3d73 [WINESYNC] reg/tests: Split Windows 3.1 'import' tests from reg.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fc5816a61e1f203b5c004d9fd25b43043954f386 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:28 +02:00
winesync
b3c6571866 [WINESYNC] reg/tests: Split whitespace 'import' tests from reg.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 56d9d0f791046aeab85466e2ebadac63ce457f86 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:28 +02:00
winesync
c67c2bb20a [WINESYNC] reg/tests: Split first sequence of Unicode 'import' tests from reg.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2e33ab5559419655584716669505e7943613d3bb by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:28 +02:00
winesync
6498aac70c [WINESYNC] reg/tests: Split first sequence of 'import' tests from reg.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 58863f53316d2d88654d3a18c9481441dfabcb1a by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:28 +02:00
winesync
7fcb8aca93 [WINESYNC] reg/tests: Split 'query' tests from reg.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 81a8938fa31de3d5a7a4c741582b4e5d9a2d1818 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:28 +02:00
winesync
bcfd09deb7 [WINESYNC] reg/tests: Split 'delete' tests from reg.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d3f9eaeb54cd272cb34f2863c74b47e414c87bee by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:28 +02:00
winesync
1b41b722d0 [WINESYNC] reg/tests: Add tests for forward and back slashes in key and value names.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3fd57fd995c1af3770fd72effcec874529f17b6c by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:28 +02:00
winesync
d4dc3ccab1 [WINESYNC] reg/tests: Add additional tests with embedded NUL characters.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6c62ffeca7f381199bef1969452fcef46b979f0f by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:28 +02:00
winesync
f3c6b93bb6 [WINESYNC] reg/tests: Replace RegCloseKey() with the helper function close_key().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 93fbe09ed098f6356485c6390a533e04f6ff3959 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:27 +02:00
winesync
3b511b56d7 [WINESYNC] reg/tests: Verify registry export after each empty key test.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5cacd496a14b8f83c8e0209bb00bf2ea4ce90e01 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:27 +02:00
winesync
70f06b31a9 [WINESYNC] reg/tests: Always overwrite export test file during 'export' sequence.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b51b969a011c3efbddbbf29a312e49d0b5877faf by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:27 +02:00
winesync
5b42e659ce [WINESYNC] reg/tests: Check for key non-existence with verify_key_nonexist().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 597a12420be2bee4e69b9400a075ae4393863573 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:27 +02:00
winesync
4dbcf50583 [WINESYNC] reg/tests: Move /v* syntax tests to the 'add' and 'delete' test sequences.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e6e227f21de08c7ddfe3e48b3ceb2fef01b6c0a6 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:27 +02:00
winesync
855cf07c70 [WINESYNC] reg/tests: Ensure test key is fully removed before each sequence begins.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 405853adb53695c0fd3f7d38ac733dd6900a48dd by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:27 +02:00
winesync
e163213a0f [WINESYNC] reg/tests: Check for elevated privileges before cleaning up the Windows 3.1 test key and running unit tests.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id add814af3eb7368961fe5b37a66c616e4bd97e4b by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:27 +02:00
winesync
ee54c25871 [WINESYNC] reg/tests: Add initial syntax tests for 'reg copy'.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6cf0e7fe85ba2f9348cec4d4d555c5dac42033de by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:27 +02:00
winesync
7b9269fc8e [WINESYNC] reg: FormatMessage() now reports ERROR_NO_WORK_DONE error for empty string.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f81d15beb690c5e08c5995b90aec8015218bee55 by Alexandre Julliard <julliard@winehq.org>
2022-06-19 13:06:27 +02:00
Eric Kohl
4a66cbb224 [DISKPART] Add help text for the FORMAT command 2022-06-19 08:28:53 +02:00
Eric Kohl
3ca37d6eaf [DISKPART] Support quoted options in commands 2022-06-18 13:27:56 +02:00
Eric Kohl
4a305266e6 [DISKPART] Add help text for the CREATE PARTITION EXTENDED command 2022-06-18 10:15:04 +02:00
Eric Kohl
cba4ffbb5d [DISKPART] Add help text for the CREATE PARTITION LOGICAL command 2022-06-18 01:05:27 +02:00
Eric Kohl
2be7af18fe [DISKPART] Implement the clean command 2022-06-17 01:37:26 +02:00
Eric Kohl
74870c1ae1 [DISKPART] Add help text for the CREATE PARTITION PRIMARY command 2022-06-16 15:20:46 +02:00
Eric Kohl
966d674de1 [DISKPART] Add help text for the REM command 2022-06-16 11:55:39 +02:00
Eric Kohl
82a2c5903e [DISKPART] Add help text for the DETAIL VOLUME command 2022-06-16 10:50:40 +02:00
Eric Kohl
9b10dcba15 [DISKPART] Add help text for the DETAIL PARTITION command 2022-06-16 00:33:10 +02:00
Oleg Dubinskiy
1a41e62073 [CLB] Enable the dll
Required by MS Regedit. It works as well with our clb.dll.
Now we lack only ulib.dll.
CORE-17385
2022-06-14 22:48:06 +02:00
Eric Kohl
66f6c1ab88 [DISKPART] Add help text for the HELP command 2022-06-14 19:43:38 +02:00
Eric Kohl
6f1c7edaa5 [DISKPART] Add help text for the LIST VOLUME command 2022-06-13 21:18:35 +02:00
George Bișoc
8e0da736b7 [NTOS:SE] Fix MSVC build 2022-06-13 20:12:32 +02:00
George Bișoc
93381263a1 [NTOS:SE] Remove redundant ReturnLength NULL check
In NtQueryInformationToken function, remove the useless and redundant NULL check for two primary reasons. First, DefaultQueryInfoBufferCheck already does the necessary probing validation checks and second, ReturnLength must NEVER be NULL!
If the caller does not respect the calling rules of NtQueryInformationToken, the caller is expected to be miserably punished.
2022-06-13 19:28:12 +02:00
George Bișoc
2d1805504e [NTDLL_APITEST] NtQueryInformationToken: write tests for TokenSandBoxInert 2022-06-13 18:17:10 +02:00
George Bișoc
5e1f292062 [NTOS:SE] NtQueryInformationToken: implement token sandbox inert querying 2022-06-13 18:17:10 +02:00
Eric Kohl
124fe7504e [DISKPART] Add help text for the LIST PARTITION command 2022-06-12 23:26:53 +02:00
Eric Kohl
7c90ea83ef [DISKPART] Add help text for the LIST DISK command 2022-06-12 16:15:18 +02:00
George Bișoc
d0d86ab588 [NTOSKRNL] Force a probe against ReturnLength on query & Misc ICIF stuff
NtQueryInformationToken is by far the only system call in NT where ReturnLength simply cannot be optional. On Windows this parameter is always probed and an argument to NULL directly leads to an access violation exception.
This is due to the fact of how tokens work, as its information contents (token user, owner, primary group, et al) are dynamic and can vary throughout over time in memory.

What happens on current ReactOS master however is that ReturnLength is only probed if the parameter is not NULL. On a NULL case scenario the probing checks succeed and NtQueryInformationToken fails later. For this, just get rid of CompleteProbing
parameter and opt in for a bit mask flag based approach, with ICIF_FORCE_RETURN_LENGTH_PROBE being set on DefaultQueryInfoBufferCheck which NtQueryInformationToken calls it to do sanity checks.

In addition to that...

- Document the ICIF probe helpers
- Annotate the ICIF prope helpers with SAL
- With the riddance of CompleteProbing and adoption of flags based approach, add ICIF_PROBE_READ_WRITE and ICIF_PROBE_READ flags alongside with ICIF_FORCE_RETURN_LENGTH_PROBE
2022-06-12 11:05:05 +02:00
Eric Kohl
ad9b930354 [DISKPART] Add help text for the SELECT VOLUME command 2022-06-12 09:32:40 +02:00
Eric Kohl
7bea98592f [DISKPART] Add help text for the SELECT PARTITION command 2022-06-11 22:34:07 +02:00
Eric Kohl
7dec75ff67 [DISKPART] Implement the SETID command 2022-06-11 14:31:55 +02:00
Eric Kohl
f06066dc6e [DISKPART] Add help text for the SELECT DISK command 2022-06-11 13:13:27 +02:00
Timo Kreuzer
318d696f0e [CRT] Implement xmmintrin.h
This includes inline functions for GCC/Clang.
Note: the previous GCC definition of __m128 was broken and didn't work.
2022-06-10 23:21:41 +02:00
Timo Kreuzer
9c8a2bbc81 [CRT] Implement mmintrin.h
This includes inline functions for GCC/Clang.
2022-06-10 23:21:41 +02:00
Timo Kreuzer
c34c5e29f0 [CRT] Move __INTRIN_INLINE to mingw32.h to be available everywhere
Also use __attribute__((artificial)) for clang, too.
2022-06-10 23:21:41 +02:00
Eric Kohl
84512b7abd [DISKPART] Add help text for the SETID command 2022-06-10 22:02:07 +02:00
George Bișoc
bac1bce605 [NTDLL_APITEST] Write tests for NtQueryInformationToken and NtSetInformationToken 2022-06-09 19:20:31 +02:00
Mark Jansen
81e0f74a7a [WIN32K] Conditionally enable IMM32
MFC42 applications only expect an IME window when on a DBCS system,
so they will capture this IME window as their 'main' window on non-DBCS systems.
CORE-18212
2022-06-08 19:19:59 +02:00
Hervé Poussineau
63f042a5cd [SDK:REACTOS] Fix packing of GEN_ADDR structure, used in some ACPI tables 2022-06-08 07:58:27 +02:00
Hervé Poussineau
2915d16543 [WIN32SS:USER] Do not write error message at end of enumeration in UserEnumDisplayDevices() 2022-06-08 07:58:12 +02:00
Hervé Poussineau
cd8305494c [WIN32SS:ENG] Fix handling of Acceleration.Level parameter (was not read anymore) 2022-06-05 14:49:47 +02:00
Eric Kohl
dd2c7ea3ce [DISKPART] Add help text for the UNIQUEID DISK command 2022-06-07 23:08:05 +02:00
Eric Kohl
da0bff2a50 [DISKPART] Implement the UNIQUEID command 2022-06-07 19:42:09 +02:00
Eric Kohl
c8f6440a78 [DISKPART] Implement the ACTIVE and INACTIVE commands 2022-06-06 11:23:11 +02:00
Dmitry Borisov
734cd5e842 [PCI][HALX86] Support PCI debugging devices
Also optimize the PCI bus scanning

CORE-17360
2022-06-06 01:47:21 +03:00
Eric Kohl
216d69c59e [DISKPART] Add help text for the DETAIL DISK command 2022-06-05 22:22:16 +02:00
Eric Kohl
be88af54e7 [DISKPART] Implements part of the FILESYSTEMS command 2022-06-05 18:23:08 +02:00
Eric Kohl
d3d5eae19e [DISKPART] Add the SET command as a SETID alias 2022-06-05 17:36:32 +02:00
Eric Kohl
c70f5033ec [DISKPART] Implement the OVERRIDE option for the DELETE PARTITION command 2022-06-05 10:30:55 +02:00
Eric Kohl
58eb4e5bde [DISKPART] Add success and failure messages for the DELETE PARTITION command 2022-06-05 08:47:46 +02:00
Tuur Martens
d31642c712 [NTOS:MM] Fix memory leak in NtAllocateVirtualMemory
When an allocated VAD's insertion fails, the VAD is not freed. This commit attempts to fix this behaviour.
2022-06-04 22:44:27 +02:00
Mark Jansen
b60408c9f1 [CI] Increase operations-per-run for the stale script 2022-06-04 20:35:01 +02:00
Eric Kohl
6c797bf86a [DISKPART] Report success or failure for CREATE PARTITION commands 2022-06-04 20:27:11 +02:00
Eric Kohl
e636b14d7e [DISKPART] Add help texts for the ACTIVE and INACTIVE commands 2022-06-04 13:36:17 +02:00
Eric Kohl
f3ff7ddd09 [DISKPART] German translation part 1 2022-06-04 11:44:57 +02:00
Hermès Bélusca-Maïto
79dbb73b6f [DISKPART] Fix build...
- Fix the LANGUAGE declaration in de-DE.rc (originally was copy-pasted
  from en-US, and thus caused the build break).

- Include de-DE.rc in alphabetical order in diskpart.rc
2022-06-02 14:03:11 +02:00
Eric Kohl
a3a8fdc84b [DISKPART] Add german translation 2022-06-01 23:25:54 +02:00
Eric Kohl
ca51f00049 [DISKPART] Get rid of PrintMessageString() 2022-06-01 00:46:45 +02:00
Oleg Dubinskiy
31139c253f [WIN32SS][NTDDRAW][NTGDI] Implement some DxEng* callbacks (#3638)
Implement the following DxEng* functions:
- DxEngAltLockSurface
- DxEngDeleteSurface
- DxEngReferenceHdev
- DxEngSelectBitmap
- DxEngSetBitmapOwner
- DxEngUnreferenceHdev

Update their prototypes and call the appropriate win32k functions
inside them, since they are already implemented. Also get rid of
now unused IntGdi(Un)ReferencePdev, whose were called only by dxeng,
and whose are not used anymore. In Windows, DxEng(Un)ReferenceHdev calls
PDEVOBJ_vReferencePDEV and PDEVOBJ_vDeferencePDEV directly (those
correspond to our PDEVOBJ_vReference and PDEVOBJ_vRelease accordingly).

Required by MS DirectDraw stack (ddraw.dll & dxg.sys). CORE-17561
2022-06-01 00:58:35 +03:00
Mark Jansen
491dae1708 [ROSAPPS] Remove 'theme/dump' reference code 2022-05-31 23:24:16 +03:00
Mark Jansen
9e1199713e [ROSAPPS] Remove 'stats' utility 2022-05-31 23:24:01 +03:00
Jose Carlos Jesus
d432436fed [TRANSLATION] Improve Portuguese (pt-PT) translation (#4522)
- [REGEDIT] [INTL] [DEVMGR] Improve pt-PT translation
- [W32TIME] Add pt-PT translation
- [BOOTDATA] Add pt-PT to hivesys.inf
2022-05-31 02:04:41 +03:00
Stanislav Motylkov
26b88af642 [WIN32SS] Add missing code parts for monitor handling
- [VIDEOPRT] Add stub for IOCTL_VIDEO_ENUM_MONITOR_PDO.

- [WIN32SS:ENG] Add missing checks and comments.

- [WIN32SS:NTUSER] Add missing monitor handling and comments.

Addendum to 31827c43. CORE-18197 CORE-11715
2022-05-30 15:28:44 +03:00
Stanislav Motylkov
31827c43b6 [WIN32SS] EnumDisplayDevices: Fill DeviceID field properly
- [VIDEOPRT] Return the real PhysicalDeviceObject in Win32k callbacks.

- [WIN32SS:ENG] Pass PhysDeviceObject into the GraphicsDevice structure
  and rename the destination field accordingly.

- [WIN32SS:NTUSER] Request hardware identifiers from device PDO and
  fill DISPLAY_DEVICE's DeviceID field with the first identifier.

Now it's correctly passed to the usermode, and Desktop Propertes applet
can open the video adapter device properties.

Thanks to Hervé Poussineau for the help.

CORE-18197 CORE-11715
2022-05-30 15:28:21 +03:00
Hermès Bélusca-Maïto
ee613a18eb [DISKPART] Fix build. Simplify PrintMessageString(). 2022-05-30 02:41:31 +02:00
Eric Kohl
c287c08b27 [DISKPART] Convert command help to messages and fix some texts 2022-05-30 01:09:08 +02:00
Stanislav Motylkov
488643583d [USETUP] Fix several typos in Russian (ru-RU) translation
CORE-18203
2022-05-29 23:46:19 +03:00
George Bișoc
9a2c62b544 [NTOS:SE] Reorganize the security manager component
The current state of Security manager's code is kind of a mess. Mainly, there's code scattered around places where they shouldn't belong and token implementation (token.c) is already of a bloat in itself as it is. The file has over 6k lines and it's subject to grow exponentially with improvements, features, whatever that is.

With that being said, the token implementation code in the kernel will be split accordingly and rest of the code moved to appropriate places. The new layout will look as follows (excluding the already existing files):

- client.c (Client security implementation code)
- objtype.c (Object type list implementation code -- more code related to object types will be put here when I'm going to implement object type access checks in the future)
- subject.c (Subject security context support)

The token implementation in the kernel will be split in 4 distinct files as shown:

- token.c (Base token support routines)
- tokenlif.c (Life management of a token object -- that is Duplication, Creation and Filtering)
- tokencls.c (Token Query/Set Information Classes support)
- tokenadj.c (Token privileges/groups adjusting support)

In addition to that, tidy up the internal header and reorganize it as well.
2022-05-29 20:22:19 +02:00
Mark Jansen
96eacfc352 [GITHUB] Add workflow to close stale PR's 2022-05-29 20:10:31 +02:00
Eric Kohl
54efd75889 [DISKPART] Improve DETAIL commands 2022-05-29 17:32:34 +02:00
Tuur Martens
cc99b9d96e [NTOS:MM] Fix MiInsertSharedUserPageVad preventing boot on x64
Fix MiInsertSharedUserPageVad to not charge the system process pool quota.
Even though PsChargeProcessNonPagedPoolQuota itself checks if the process specified is the system process, this doesn't work here as we're too early into boot for the kernel to know what the system process is.
2022-05-29 13:28:27 +02:00
Eric Kohl
96d137a559 [DISKPART] Silence a debug message 2022-05-29 13:07:53 +02:00
Eric Kohl
5a1c00c117 [DISKPART] Improve the LIST VOLUME command 2022-05-29 12:41:42 +02:00
Eric Kohl
863400813a [DISKPART] Implement CREATE PARTITION LOGICAL 2022-05-29 10:05:51 +02:00
Eric Kohl
52bbf6078e [DISKPART] Implement CREATE PARTITION EXTENDED and warn about unimplemented options 2022-05-28 13:17:45 +02:00
Eric Kohl
723947eab1 [DISKPART] Implement CREATE PARTITION PRIMARY and DELETE PARTITION 2022-05-28 11:33:29 +02:00
Eric Kohl
166b88f95c [DISKPART] Fix crashes in the interpreter 2022-05-28 09:54:46 +02:00
Stanislav Motylkov
17e0e4428c [PC98VID] Fix video driver settings
- Store settings in non hardware-profile registry key.
- Rename driver file to vgapnp.sys to keep in sync with VBE.
- This makes PC-98 video driver working again.

Addendum to 073a1ea3 and f03750de. CORE-18201 CORE-17977
2022-05-27 18:56:13 +03:00
Stanislav Motylkov
5471363801 [XBOXVMP] Fix video driver settings
- Store settings in non hardware-profile registry key.
- This makes Xbox video driver working again.

Addendum to f03750de. CORE-16216
2022-05-27 18:54:20 +03:00
Victor Perevertkin
a5a6101ca0 [CMAKE] Fix buildbot builders 2022-05-27 01:48:52 +03:00
Victor Perevertkin
447ef2aa4a [CMAKE] Do not use USE_CLANG_CL variable in CMake scripts 2022-05-27 01:37:37 +03:00
Victor Perevertkin
f155b9377f [CMAKE] Elimitate the use of GCC and CLANG variables 2022-05-27 01:37:34 +03:00
Dmitry Borisov
6f4be52a1c [HALX86] Print the correct size of the BAR in HalpDebugPciDumpBus()
Reference: https://wiki.osdev.org/PCI#Address_and_size_of_the_BAR

To determine the amount of address space needed by a PCI device,
you must save the original value of the BAR, write a value
of all 1's to the register, then read it back.

Note: 64-bit BARs are not supported yet.
2022-05-26 16:40:17 +03:00
Mark Jansen
11e0ed3c2b [ASM x64] Fix UNIMPLEMENTED macro for MSVC 2022-05-25 23:16:04 +02:00
Mark Jansen
8ea46b53e3 [KERNEL32] Fix reading SafeDllSearchMode 2022-05-25 22:43:47 +02:00
Stanislav Motylkov
8b55d712a7 [GITHUB] Add MSVC ARM64 builder
This builds only some applications for now.

CORE-17518
2022-05-25 21:10:17 +03:00
Justin Miller
4363e74ddc [REACTOS] Finally get some ARM64 applications building (#4517)
- Add some missing ARM64 exports to ntdll, kernel32 and user32
- Create mmtypes header file based on WoA debug symbols
- Get the remaining headers in order, so we can build ARM64 apps
- Adjust subsystem version for binaries so they can run on WoA host
- Get calc, notepad and more base apps to build for ARM64 platform

CORE-17518

Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-05-25 17:06:32 +03:00
William Kent
3464df8c28 [CMAKE] Search the PATH for the compilers and cache the results
We are deliberately using a macro here instead of REQUIRED parameter
because it is available only in CMake 3.18+, so it won't work with
CMake version that is being shipped with RosBE.

On my dev box the RosBE tools are only in the PATH when needed.
Since my IDE inherits the PATH from the system and not from my shell,
I needed to be able to run configure.sh with the tools in my PATH
and then be able to successfully reconfigure when building
from a "regular" command prompt.
2022-05-25 16:34:16 +03:00
William Kent
6c38b251cf [DBGHELP] Fix rsym runtime crash on ARM64 host
CORE-17518
2022-05-25 16:34:16 +03:00
William Kent
21bd607758 [MKISOFS] Add ARM64 processor support
Also changed a "shouldn't-ever-happen" deliberate syntax error into a proper #error.

CORE-17518
2022-05-25 16:34:11 +03:00
George Bișoc
b922b6d7fc [NTOS:KE] Write a basic kernel mode test for FPU Save/Restore mechanism 2022-05-24 18:39:46 +02:00
George Bișoc
064a35dc67 [NTOS:KE] Fully implement FPU Save/Restore mechanism
This commit fully implements the inner logic of KeSaveFloatingPointState and KeRestoreFloatingPointState routines. On ReactOS we're currently simply doing a FNSAVE operation whereas on Windows it is a lot more than that.

On Windows Server 2003 the logic more or less goes like this. In order to save the FPU state the NPX state of the current thread has to be checked first, that is, if NPX is loaded and currently charged for the current thread then the system will acquire the NPX registers actively present. From that point it performs either a FNSAVE or FXSAVE
if FX is actually supported. Otherwise the control word and MXCsr registers are obtained.

FXSAVE/FNSAVE operation is done solely if the FX save area is held up in a pool allocation. Pool allocation occurs if it's been found out that the NPX IRQL of the thread is not the same as the current thread which from where it determines if the interrupt level is APC then allocate some pool memory and hold the save area there, otherwise
the save area in question is grabbed from the current processor control region. If NPX is not loaded for the current thread then the FPU state is obtained from the NPX frame.

In our case we'll be doing something way simpler. Only do a FXSAVE/FNSAVE directly of the FPU state registers, in this way we are simplifying the code and the actual logic of Save/Restore mechanism.
2022-05-24 18:39:45 +02:00
George Bișoc
c020966091 [NTOS:KE] Implement the internal FPU state context structure
This is needed to store FPU state information when saving or restoring the floating point state of a system due to a call to KeSaveFloatingPointState or KeRestoreFloatingPointState.
2022-05-24 18:39:45 +02:00
George Bișoc
d88cd0eefc [NTOS:KE] Move related FPU instrunctions to internal intrinsic file 2022-05-24 18:39:45 +02:00
George Bișoc
657bc083dc [NTOSKRNL] Add FPU pool tags 2022-05-24 18:39:45 +02:00
George Bișoc
66c1bb7eab [MC] Add INVALID_FLOATING_POINT_STATE bugcheck code
This kind of code will be used for FPU Save/Restore related code.
2022-05-24 18:39:30 +02:00
Wilson Simanjuntak
1f2d450599 [TRANSLATION] Improve Indonesian (id-ID) translation [part 1] (#4500)
[CALC] [DRWTSN32] [DXDIAG] Add Indonesian translation
[REACTOS] [USETUP] [EXPLORER] Improve Indonesian translation

Signed-off-by: Wilson Simanjuntak <wilsontulus5@gmail.com>
Reviewed-by: Mas Ahmad Muhammad <m.charly81@gmail.com>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-05-24 19:14:41 +03:00
Thamatip Chitpong
1aa95f3897 [EXPLORER] Implement CDesktopThread::Destroy (#4371)
Now Explorer exits properly without using ExitProcess hack.

Signed-off-by: Thamatip Chitpong <tangaming123456@outlook.com>
Reviewed-by: Mark Jansen <mark.jansen@reactos.org>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-05-24 14:58:24 +03:00
Marcus Boillat
4900dd3d87 [RAPPS] Improve localized display of installation date (#4498)
Parse InstallDate registry key in "YYYYMMDD" format. CORE-17422

Signed-off-by: Marcus Boillat <marcus.boillat@gmail.com>
Reviewed-by: Mark Jansen <mark.jansen@reactos.org>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-05-24 12:20:52 +03:00
Victor Perevertkin
505ac6565a [NTOS:PNP] Misc IoInvalidateDeviceState fixes
- Add a check for correct PDO before doing anything
- Process the request only for started devices
- Send the request synchronously during the start sequence

This makes Windows' i8042prt.sys work on ReactOS.
Addendum to cf0bc1c132
2022-05-24 05:04:11 +03:00
Stanislav Motylkov
17154c94c1 [DESKMON] Implement GetMonitorDevInstID function
- Now our deskmon.cpl extension works on Windows XP and 2003
  and does open the monitor device properties correctly.
- Also "Properties" button should be disabled
  when no Device Instance ID found for the monitor.
2022-05-23 23:54:41 +03:00
Stanislav Motylkov
fcba0968be [DESK] Add debug prints to pCDevSettings_GetDeviceInstanceId
Addendum to 3900cf88.
2022-05-23 23:50:47 +03:00
Hermès Bélusca-Maïto
985468d08a [NTOS:SE] Replace a bunch of RtlCopyLuid() calls into direct assignations (#4523)
Nowadays' compilers support such direct structure assignations,
and our existing codebase already uses that in other places.
2022-05-23 19:30:37 +02:00
Hermès Bélusca-Maïto
487d8601f9 [NTOS:SE] SepPerformTokenFiltering(): Fix corruption of DynamicPart (#4523)
The problem is that EndMem is changed to point to the DynamicPart of
the token, but the code after that expects it to still point into the
VariablePart instead.

Problem fixed by moving the insertion of RestrictedSids much sooner
(where the original ones are also being copied).
2022-05-23 19:30:36 +02:00
Hermès Bélusca-Maïto
9676188543 [NTOS:SE] NtAdjustGroupsToken(): Avoid double-free on ObReferenceObjectByHandle failure path (#4523) 2022-05-23 19:30:36 +02:00
Hermès Bélusca-Maïto
3370652dfc [NTOS:SE] Fix locking in SepDuplicateToken() and SepPerformTokenFiltering() (#4523)
Shared locking must be used on the source token as it is accessed for
reading only. This fixes in particular the kmtest SeTokenFiltering that
would hang otherwise on a (wrong) exclusive locking.

- SepPerformTokenFiltering(): Always shared-lock the source token.
  Its callers (NtFilterToken and SeFilterToken) just need to sanitize and
  put the parameters in correct form before calling this helper function.

- Sync comments in NtFilterToken() with SeFilterToken().
2022-05-23 19:30:35 +02:00
Hermès Bélusca-Maïto
b33911b93d [NTOS:SE] SepPerformTokenFiltering(): Remove useless SEH handling (#4523)
This function is either called inter-kernel (in which case, all
parameters must be valid, and if not, we have to bugcheck), or, it
is called with **captured** parameters (from NtFilterToken) and those
latter ones are now expected to be valid and reside in kernel-mode.
Finally, data copied between token structures reside in kernel-mode
only and again are expected to be valid (if not, we bugcheck).
2022-05-23 19:30:34 +02:00
Hermès Bélusca-Maïto
389a2da7ff [NTOS:SE] SepCaptureAcl(): Add missing validation of the captured ACL (#4523)
- The ACL is however not validated when the function is called within
  kernel mode and no capture is actually being done.

- Simplify aspects of the function (returning early when possible).
2022-05-23 19:30:34 +02:00
Hermès Bélusca-Maïto
a0bcf90f35 [NTOS:SE] SeValidSecurityDescriptor(): Add missing validation aspects (#4523)
- Add extra bounds checks.
- Add missing RtlValidAcl() calls for verifying the DACL and SACL.
2022-05-23 19:30:33 +02:00
Hermès Bélusca-Maïto
d21895e6ef [WIN32K:NTUSER] Only call IntFreeSecurityBuffer() when needed, don't free NULL buffers.
Addendum to 878c2f44.
2022-05-23 19:30:13 +02:00
Stanislav Motylkov
3900cf88b3 [DESK] Implement pCDevSettings_GetDeviceInstanceId properly
- CM_Locate_DevNodeW expects a Device Instance ID as second argument,
  so it cannot be used for converting a Hardware ID.
- Use SetupAPI functions here instead, as documented in:
  https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-enumdisplaydevicesw
- Now our desk.cpl passes correct identifier to CPL extensions,
  such as deskadp and deskmon, so clicking on "Properties" in the
  advanced display properties now works in Windows XP.
- Also fix copypasta in DisplayAdvancedSettings that affected applet
  built with MSVC - deskadp extension was loaded twice.
- Also fix magic flag value for EDD_GET_DEVICE_INTERFACE_NAME.
2022-05-23 19:04:47 +03:00
Stanislav Motylkov
6dc17389cb [DESK] Synchronize translations
- Fix differences in punctuation
- pt-PT had something out of place that other translations didn't had at all
2022-05-23 02:44:03 +03:00
Hervé Poussineau
d2a87f1b7f [WIN32K] Improve finding the best matching display mode
Search the display mode having the smallest difference with the requested one.
We can then remove the hardcoded values of 60 Hz and 32 bpp by default.

CORE-18189
2022-05-22 23:42:03 +02:00
Hervé Poussineau
63e59e10f3 Revert "[WIN32SS] Only refresh graphics mode list when iModeNum = 0"
This reverts commit c243133b2c.

Without the revert, VirtualBox auto-resize doesn't work on first attempt,
but only on next ones.
However, according to documentation, we must only initialize device and
cache information when iModeNum = 0.

CORE-18189
2022-05-22 23:42:00 +02:00
Hervé Poussineau
588285881e [WIN32SS] Change LDEVOBJ_bProbeAndCaptureDevmode to load missing settings from registry
- use EngpGetDisplayDriverParameters to get display settings from registry
- update searched display settings with the provided ones (+ add missing SEH2)
- then, search exact mode

User can now change only one display setting, without specifying other ones.
2022-05-22 17:32:44 +02:00
Hervé Poussineau
9acd895f18 [WIN32SS] Copy loading of registry settings from mdevobj.c to new function
This function will be used in next commit, and duplicated implementation
in mdevobj.c will be dropped.
2022-05-22 17:32:40 +02:00
Hervé Poussineau
900beca021 [WIN32SS] In LDEVOBJ_bGetClosestMode, search 60 Hz if everything failed
This function needs probably to be rewritten.
2022-05-22 17:32:08 +02:00
Hervé Poussineau
22dac3447f Revert "[WIN32SS] Handle panning in LDEVOBJ_bProbeAndCaptureDevmode"
This reverts commit 37c2bb3985.

CORE-18189
2022-05-22 17:31:44 +02:00
Hervé Poussineau
c243133b2c [WIN32SS] Only refresh graphics mode list when iModeNum = 0
We don't expect graphics mode list to change while enumerating it.
2022-05-22 17:31:40 +02:00
Eric Kohl
434cf85d96 [DISKPART] Do not print command descriptions twice 2022-05-21 16:59:45 +02:00
Eric Kohl
417687e92e [DISKPART] Improvements to the dump, help and delete commands
- Print help only if a help string exists.
- Use the command table for the dump sub commands.
- Add sub commands for the delete command.
2022-05-21 10:43:38 +02:00
Luke Luo
de972e2bc2 [TRANSLATION] Improve Simplified Chinese (zh-CN) translation (#4513)
- Changed some wording according to the translation requirements.
- Fixed some mistakes.
- Changed my name.

Reviewed-by: He Yang <1160386205@qq.com>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-05-20 15:38:24 +03:00
Marcus Boillat
05183677d9 [FRAGINATOR] Fix some uninitialized variables and make it work again (#4497)
Set BitmapSize to zero so DeviceIOControl doesn't fail.

ROSAPPS-332
2022-05-20 14:59:01 +03:00
Tuur Martens
4f8bbd141e [NTOS:MM] Fix memory leak in MiMapViewOfDataSection
If inserting the allocated VAD fails, MiMapViewOfDataSection will make no attempt to free the allocated VAD. Nor will it call MiDereferenceControlArea(ControlArea); like other failure return paths. This commit fixes this behavior.
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2022-05-18 12:31:31 +02:00
Eric Kohl
032c50f87c [DISKPART] Clean up the help system and fix translations
@Translators: You can translate text again, but please do no translate placeholder text.
2022-05-16 01:46:32 +02:00
Hermès Bélusca-Maïto
15be457b6d [NOTEPAD] Simplify code for UpdateWindowCaption(). Addendum to 1d690f04.
One StringCbPrintf() call is sufficient, that can cover both
clearModifyAlert == TRUE or FALSE cases.
Also, only SendMessage(EM_GETMODIFY) when clearModifyAlert == FALSE
(during text edition).
2022-05-15 19:22:57 +02:00
Stanislav Motylkov
6612682b87 [DISKPART] Fix MSVC build. Addendum to 566e898. 2022-05-15 15:10:05 +03:00
Eric Kohl
566e8989c3 [DISKPART] Improve the command table to support subcommands and start work on the create command
- Extend the command table to support subcommands.
- Get rid of the existing subcommand code.
- Use the new subcommand suport for the help system.
- Start work on the create command.

@Translators: Please do not translate any changes yet, because I will improve help system in one of the next steps.
2022-05-15 12:27:53 +02:00
Katayama Hirofumi MZ
1d690f0411 [NOTEPAD] Less flickering title bar (#4516)
When typing text on NotePad, then NotePad title bar flickers.
- Save previous modification flag.
- If no change in modification flag, do not set the title bar text.
2022-05-15 14:38:43 +09:00
Katayama Hirofumi MZ
99d9fc698f [KBDJA][NTUSER] Improve scancode_to_vk data (#4515)
- Fix scancode_to_vk variable.
- Add special handling to win32k!ProcessKeyEvent function for Japanese.
CORE-11700
2022-05-15 12:53:12 +09:00
Hervé Poussineau
81aa81e38f [WIN32SS] Implement display acceleration level 5 (ie no acceleration)
This is a easy as forcing usage of panning driver.
2022-05-14 21:29:12 +02:00
Hervé Poussineau
4e0f2fc01c [WIN32SS] Implement panning driver
This can be configured in registry with DefaultSettings.XPanning and
DefaultSettings.YPanning, which describe the real screen resolution.

DefaultSettings.XResolution and DefaultSettings.YResolution describe
the resolution of the virtual screen.
2022-05-14 21:29:12 +02:00
Hervé Poussineau
83d2c8ce33 [WIN32SS] mouse: call panning driver when moving pointer
Yes, if a driver supports both hardware pointers and panning, it will be called twice on each move.
2022-05-14 21:29:12 +02:00
Hervé Poussineau
57c07ba117 [WIN32SS] mouse: use pointer flags in PDEVOBJ
When changing pointer cursor:
- use PDEV_HARDWARE_POINTER flag if using hardware pointer
- use PDEV_SOFTWARE_POINTER flag if using software pointer
- keep pfnMovePointer as an accelerator to driver function (if available) and never change it
- fix bug (2 pointers) when switching between hardware and software pointer

When moving pointer:
- check PDEV_HARDWARE_POINTER flag to know if we need to call the driver
- check PDEV_SOFTWARE_POINTER flag to know if we need to call EngMovePointer
2022-05-14 21:29:12 +02:00
Hervé Poussineau
37c2bb3985 [WIN32SS] Handle panning in LDEVOBJ_bProbeAndCaptureDevmode
- search a graphic mode corresponding to real screen resolution (not virtual panning one)
- when capturing the selected mode, copy from input the virtual panning resolution
- when searching the best mode, also try without panning
2022-05-14 21:29:12 +02:00
Hervé Poussineau
185f2dac85 [WIN32SS] Copy function table earlier, and use it in all PDEVOBJ operations 2022-05-14 21:29:12 +02:00
Tuur Martens
884356a06e [NTOS:MM] Charge and free quotas for VAD allocations
Charge quotas for VAD allocations and free the quotas again when the VADs are freed.

CORE-18028
2022-05-14 15:09:50 +02:00
Stanislav Motylkov
5ee633f7d7 [BUSLOGIC] Fix reference link to VMware driver source page
- Clarify driver version in 3rd Party Files.
- Fix some minor formatting problems.
- Also add missing OBJ_KERNEL_HANDLE to match Zw*() uses. (#4499)

CORE-10207 CORE-18180

Co-authored-by: Serge Gautherie <reactos-git_serge_171003@gautherie.fr>
2022-05-13 17:24:02 +03:00
Katayama Hirofumi MZ
6fec06b8e5 [KBDJA] Fix key names (#4507)
They will be used at user32!GetKeyNameText function. CORE-11700
2022-05-12 20:39:56 +09:00
Katayama Hirofumi MZ
5c4b8e474f [KDBJA] Delete duplicate key entries (#4508)
Delete the duplicated key data. CORE-11700
2022-05-12 17:55:59 +09:00
Katayama Hirofumi MZ
2038087d9e [KBDJA] Delete temporary hacks (#4506)
Improve readability of Japanese keyboard.
- SC_13 (0xDE) --> VK_OEM_7
- SC_27 (0xC0) --> VK_OEM_3
- SC_40 (0xBB) --> VK_OEM_PLUS
- SC_41 (0xBA) --> VK_OEM_1
CORE-11700
2022-05-12 14:05:16 +09:00
Katayama Hirofumi MZ
1c3474be48 [KBDJA] Enable VK_CONVERT/VK_NONCONVERT keys (#4505)
Enable VK_CONVERT/VK_NONCONVERT keys for Japanese keyboard.
- ScanCode 121 (0x79) --> VK_CONVERT.
- ScanCode 123 (0x7B) --> VK_NONCONVERT.
CORE-11700
2022-05-12 12:48:29 +09:00
Katayama Hirofumi MZ
fcc4384554 [USER32][KBDJA] Implement CliImmSetHotKey (#4504)
- Fix Japanese keyboard about [Shift]+[0] and [半/全] (VK_PROCESSKEY).
- Add user32!CliSaveImeHotKey helper function.
- Implement user32!CliImmSetHotKey function. This function is forwarded from imm32!ImmSetHotKey.
- Fix user32!TranslateMessage by using imm32!ImmTranslateMessage.
CORE-11700, CORE-18183, CORE-18182
2022-05-11 21:42:32 +09:00
Katayama Hirofumi MZ
7396ba84ce [USER32] Implement UnloadKeyboardLayout (#4503)
- Add IntSetFeKeyboardFlags, CliImmSetHotKeyWorker, CliSetDefaultImeHotKeys, CliGetPreloadKeyboardLayouts, CliGetImeHotKeysFromRegistry, CliImmInitializeHotKeys, CliSetSingleHotKey, and CliReadRegistryValue helper functions.
CORE-11700
2022-05-11 10:03:02 +09:00
Marcus Boillat
fa52f2fae0 [NTOS:KE] Fix CPU extended family and model detection
Based on documentation from Geoff Chappell:
https://www.geoffchappell.com/studies/windows/km/cpu/cpuid/00000001h/eax.htm

CORE-17974
2022-05-09 21:50:24 +03:00
Marcus Boillat
00b3e4bc68 [NTOS:KE] Use bitfield structure for x86 CPU signature in EAX register
This makes code a lot more readable. CORE-17974
2022-05-09 21:50:24 +03:00
Stanislav Motylkov
cc82bc14e2 [NTOS:KE] Move KiGet/SetProcessorType function below KiGetCpuVendor
CORE-17974
2022-05-09 21:50:19 +03:00
Raymond Czerny
d74ceb6559 [SHELL32] Fix visual glitch appeared after fixing CORE-18137 (#4488)
- Check if the parent window of RunDLL is the desktop,
  only in this case add the system control applet to the taskbar.
- Try loading small 16x16 icon for the taskbar button.

CORE-18175
2022-05-09 21:36:23 +03:00
George Bișoc
081ffbeb4f [IMM32] Silence two debug prints
These two debug prints are spammy as fuck and it makes shit harder to debug ReactOS, apart that these prints barely serve any purpose.
2022-05-08 21:49:14 +02:00
George Bișoc
07227562c0 [WINLOGON] Let Winlogon assign security to desktop when a user logs in now 2022-05-08 20:16:18 +02:00
George Bișoc
aa815e1cfa [WIN32K:NTUSER] Assign a security descriptor when parsing the desktop object
The problem ReactOS currently faces is this -- whenever the desktop is being parsed we aren't assigning a security descriptor to it. As a matter of fact when Winlogon tries to assign new security information to the application desktop when a user logs in, Winlogon fails because no prior descriptor has been created for it even though we already do this when initializing security buffers in Winlogon.

With that said, we must assign a descriptor when parsing the desktop as well. This fixes a hack in Winlogon where security assigning of application desktop during a log in is disabled (which we can now enable such code path back).
2022-05-08 20:16:15 +02:00
Serge Gautherie
ed125de9f3 [SACDRV] Add 2 OBJ_KERNEL_HANDLE
Match Zw*() uses.

Plus:
- GetRegistryValueBuffer(): Add missing ZwClose(Handle), Fix a copypasta.
- SetRegistryValue(): 1 s/NtClose/ZwClose/.

CORE-10207
2022-05-08 19:42:49 +02:00
George Bișoc
9f8fbe14f5 [NTOS:OB] Specify the query security descriptor tag when freeing the allocation
We are allocating blocks of pool memory for a security descriptor with its own specific tag, TAG_SEC_QUERY, so just use it when freeing when releasing the descriptor as well (aka freeing the said pool).
2022-05-08 19:16:34 +02:00
Hermès Bélusca-Maïto
94c25baf85 [HAL][HALARM] The HAL should only use KPCR.
And why the ARM HAL uses KPCR::InterruptRoutine, a field only defined
in *powerpc*/ketypes.h, is beyond me, but OK...

See Timo vs. Alex discussion, explaining that KIPCR is a ReactOS-only
thing: https://reactos.org/archives/public/ros-dev/2008-August/010549.html
2022-05-08 17:21:44 +02:00
Hermès Bélusca-Maïto
c026b5950e [FREELDR][MINIHAL] Move KefAcquireSpinLockAtDpcLevel stub back to HAL, #ifdef'ed in _MINIHAL_ where it's only needed. 2022-05-08 17:21:43 +02:00
Katayama Hirofumi MZ
242e0b4303 [NTUSER][USER32] Implement IME status (#4472)
- Add IntCheckImeShowStatus, IntSendMessageToUI, IntSendOpenStatusNotify, IntNotifyImeShowStatus, and xxxBroadcastImeShowStatusChange helper functions.
- Renaming: s/X_ROUTINE_IMESHOWSTATUSCHANGE/TWOPARAM_ROUTINE_IMESHOWSTATUSCHANGE/
- Implement NtUserCallNoParam.NOPARAM_ROUTINE_GETIMESHOWSTATUS.
- Implement NtUserCallHwndParamLock.TWOPARAM_ROUTINE_IMESHOWSTATUSCHANGE.
- Fix hung in User32GetTopLevelWindow and rename it as IntGetTopLevelWindow.
CORE-11700
2022-05-08 20:16:17 +09:00
Hermès Bélusca-Maïto
a849125947 [NDK][XDK] Improve some HAL-related definitions.
- Add more accurate definitions for the values of HAL_DISPATCH_VERSION
  and HAL_PRIVATE_DISPATCH_VERSION.
  See https://www.geoffchappell.com/studies/windows/km/ntoskrnl/inc/ntos/hal/hal_dispatch.htm
  and https://www.geoffchappell.com/studies/windows/km/ntoskrnl/inc/ntos/hal/hal_private_dispatch.htm

- Make the conditionals for HalDispatchTable definition MS-WDK-compatible,
  and do the same for HalPrivateDispatchTable.

- Remove MinGW-only non-MS-WDK-compatible PHAL_DISPATCH_TABLE and
  PHAL_PRIVATE_DISPATCH_TABLE definitions.

- Remove hackish #define _NTSYSTEM_ in the wdm.h header.
2022-05-08 04:15:52 +02:00
Hermès Bélusca-Maïto
39b8d45592 [MINIHAL] Compile with _NTSYSTEM_ since it's also part of the bootloader.
Fixes compilation because the Hal(Private)DispatchTable's, defined in
the bootloader's NTOS stub, are not external imports, as they would be
for a standard HAL.
2022-05-08 04:15:51 +02:00
Hermès Bélusca-Maïto
ec1def3f31 [FREELDR] Remove unnecessary includes and deprecated defines. 2022-05-08 04:15:43 +02:00
Serge Gautherie
46db6573ab [DRIVERS] Add some missing OBJ_KERNEL_HANDLE (#4493)
Match Zw*() uses. CORE-10207
2022-05-07 22:12:19 +03:00
Hermès Bélusca-Maïto
b414e1e4d7 [NTOS] Don't define _IN_KERNEL_ globally for the kernel, but just where it's needed: when including regstr.h. 2022-05-07 18:38:35 +02:00
Hermès Bélusca-Maïto
551d28e09f [HALARM] Update defines in hal.h 2022-05-07 18:23:29 +02:00
Hermès Bélusca-Maïto
9ea2b803c8 [NDK][HAL][NTOS] Add missing PRCB_MINOR_VERSION / PRCB_MAJOR_VERSION and use them. 2022-05-07 18:14:38 +02:00
Hermès Bélusca-Maïto
cfbb734799 [NTOS] Remove ROS-specific __NTOSKRNL__
See https://reactos.org/archives/public/ros-kernel/2004-June/003878.html
> In the source files one set of headers is included if
__NTDLL__ is defines and onother set if __NTOSKRNL__ is defines (dirty
workaround for our messy headers).
2022-05-07 17:53:51 +02:00
Stanislav Motylkov
11d3e3252d [NVNET] Add more controller descriptions
Addendum to b79fbe23. Based on NvNetRecognizeHardware function in nic.c
2022-05-07 18:00:15 +03:00
Stanislav Motylkov
b5e7797604 [AC97] Fix driver provider name
- Also sort out non-localizeable lines
- Fix German translation encoding and add missing one
- Add Russian translation

Addendum to 9c79a798, 68e19a95 and 9ca32a2b.
2022-05-07 18:00:13 +03:00
Eric Kohl
c70d755059 [NETAPI32] NetSessionEnum: UncClientName and username are optional
Do not fail if UncClientName and username are null.
2022-05-07 16:54:04 +02:00
Serge Gautherie
abe8f0ab1d [PCIX] Add 2 OBJ_KERNEL_HANDLE
Match Zw*() uses.

CORE-10207
2022-05-07 16:23:42 +02:00
Hermès Bélusca-Maïto
4bf32102ab [SHELL32_APITEST] ShellExecCmdLine: Do **NOT** use TerminateProcess to close the opened windows.
This design, introduced in 418edcd2b, is fundamentally flawed as it
can also close windows unrelated to the running test (e.g. windows
of programs that the user can start, while the test is running).

But since we cannot do much better, mitigate instead the other main
problem of this design: Just use PostMessageW(WM_CLOSE), as it used
to be, instead of TerminateProcess().

Indeed, using TerminateProcess() otherwise could kill unrelated
processes the test hasn't created. In particular it could kill the
csrss.exe system process if, during the testing procedure, a hard-error
popup shows up.
And this is precisely the case when this test runs with limited memory,
and a hard-error
  "Insufficient system resources exist to complete the requested service."
arises.
2022-05-06 21:32:08 +02:00
Hermès Bélusca-Maïto
307ce1a503 [SHELL32_APITEST] ShellExecuteEx: Introduce a CleanupNewlyCreatedWindows() helper similar to the one of the ShellExecCmdLine test. 2022-05-06 21:32:01 +02:00
George Bișoc
55c117c4c9 [NTOS:SE] Deny access to the caller if access is not allowed by the object
There are two fundamental problems when it comes to access checks in ReactOS. First, the internal function SepAccessCheck which is the heart and brain of the whole access checks logic of the kernel warrants access to the calling thread of a process to an object even though access could not be given.

This can potentially leave security issues as we literally leave objects to be touched indiscriminately by anyone regardless of their ACEs in the DACL of a security descriptor. Second, the current access check code doesn't take into account the fact that an access token can have restricted SIDs. In such scenario we must perform additional access checks by iterating over the restricted SIDs of the primary token by comparing the SID equality and see if the group can be granted certain rights based on the ACE policy that represents the same SID.

Part of SepAccessCheck's code logic will be split for a separate private kernel routine, SepAnalyzeAcesFromDacl. The reasons for this are primarily two -- such code is subject to grow eventually as we'll support different type ACEs and handle them accordingly -- and we avoid further code duplicates. On Windows Server 2003 there are 5 different type of ACEs that are supported for access checks:

- ACCESS_DENIED_ACE_TYPE (supported by ReactOS)
- ACCESS_ALLOWED_ACE_TYPE (supported by ReactOS)
- ACCESS_DENIED_OBJECT_ACE_TYPE
- ACCESS_ALLOWED_OBJECT_ACE_TYPE
- ACCESS_ALLOWED_COMPOUND_ACE_TYPE

This gives the opportunity for us to have a semi serious kernel where security of objects are are taken into account, rather than giving access to everyone.

CORE-9174
CORE-9175
CORE-9184
CORE-14520
2022-05-06 10:09:53 +02:00
George Bișoc
f48191b4b5 [NTOS:SE] Enable support for principal and restricted SIDs
SepSidInTokenEx function already provides the necessary mechanism to handle scenario where a token has restricted SIDs or a principal SID is given to the call. There's no reason to have these redundant ASSERTs anymore.

In addition to that make sure if the SID is not a restricted and if that SID is the first element on the array and it's enabled, this is the primary user.
2022-05-06 10:09:53 +02:00
George Bișoc
bac67a65f2 [NTOS:SE] Implement SepGetSidFromAce
This function will be used to retrieve a security identifier from a valid access control entry in the kernel. Mostly and exclusively used within access checks related code and such.
2022-05-06 10:09:53 +02:00
George Bișoc
c93bf84747 [NTOS:SE] Add SepGetSidFromAce prototype & Niscellaneous Stuff 2022-05-06 10:09:52 +02:00
George Bișoc
bcf0aebb13 [XDK] Move security object related structures to appropriate place
ACCESS_ALLOWED_OBJECT_ACE and ACCESS_DENIED_OBJECT_ACE structures must be in the XDK section of SDK as these will be used in the future in the security subsystem of the kernel.
2022-05-06 10:09:52 +02:00
George Bișoc
9101a5dc6d [NTOSKRNL] Add security access check rights pool tag 2022-05-06 10:09:52 +02:00
George Bișoc
f559f63063 [SERVICES] Assign a World identity authority for Everyone SID, not Null authority
The current code allocates memory and initializes the Everyone "World" security identifier but with a Null authority identifier. This is utterly wrong on so many levels, more so partly because a Null authority identifier is 0 so after the Everyone SID is initialized, it is actually initialized as S-1-0-0 instead of S-1-1-0.
2022-05-06 10:09:52 +02:00
George Bișoc
f340524ea4 [SERVICES] Grant ReactOS Setup component SYSTEM access
ReactOS Setup is an integral component that is part of the operating system responsible for the installation of ROS during 2nd installation stage. The situation with current master branch is like this -- the Services component always tries to create the process
on behalf of the logged in user with its own security context. That user doesn't have the privileges and access rights like SYSTEM thus the Services component tries to create the process but it fails to do so because of lacking of required access right, TOKEN_DUPLICATE, in order for the calling thread to impersonate as self.
2022-05-06 10:09:51 +02:00
George Bișoc
cd1070dfc4 [UMPNPMGR] Create a security descriptor for PnP installation device event 2022-05-06 10:09:51 +02:00
George Bișoc
fd25e2dc64 [POWRPROF] Create a security descriptor for power management semaphore 2022-05-06 10:09:51 +02:00
George Bișoc
56a2c0fec4 [RPCRT4] Set up a security descriptor for RPC named pipes
rpcrt4_create_pipe_security function will be held in charge to set up security descriptors specific for each named pipe upon creation in rpcrt4_conn_create_pipe. The descriptor is then freed after the pipe is no longer needed.
2022-05-06 10:09:51 +02:00
George Bișoc
eccae203e0 [DHCPCSVC] Set up a security descriptor for DHCP named pipe 2022-05-06 10:09:50 +02:00
George Bișoc
d862fa6fc8 [ADVAPI32] Implement security descriptor management in CreateProcessAsUserCommon internal function
Currently CreateProcessAsUserCommon doesn't set a default descriptor for the newly duplicated token object for the new process nor it sets any security information for both the process and thread. This is wrong, because when the process is created on behalf of the user's security context,
it still uses the previous security information of the creator that initially gave birth to the process. CreateDefaultProcessSecurityCommon function will serve as a placeholder until CreatePrivateObjectSecurity is implemented.
2022-05-06 10:09:50 +02:00
George Bișoc
e90e918039 [ADVAPI32] Soft rewrite of CreateProcessAsUserCommon
Refactor the function in such a way that it can jump to a single exit but most importantly, implement a "rinse and repeat" mechanism where we assign a primary token to process by disabling impersonation first and retry with impersonation later.

More info can be found in the documention within the code.
2022-05-06 10:09:50 +02:00
George Bișoc
bf40c7a310 [KERNEL32] Let KERNEL32 assign security to NLS section names
Currently Kernel32 doesn't make any server call to Basesrv in order to create NLS section names, instead it's Kernel32 itself that handles the job of NLS section names. With that said, let Kernel32 assign a security descriptor to NLS section names. See the FIXME comment on code for further dtails
2022-05-06 10:09:49 +02:00
George Bișoc
5696e4ba4d [KERNEL32][BASESRV] Implement NLS section security
Implement code that deals with the security side of NLS, more specifically, create two security descriptors for NLS directory and NLS section names and let the server use such code.
2022-05-06 10:09:49 +02:00
George Bișoc
2092dc06bb [WINLOGON][HACK] Allow network services access to default window station
HHHHHHHHHHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACCCCCCCCCCCCCCCCCCCCCCCKKKKKKKKKKKKKKKKKK!!!

There are two problems concerning with network services. First, a window station should be created for every network service process that gets started although this doesn't happen. Instead, network services like RPCSS and DNS service host process (svchost.exe) attempt to access the default window station (Winsta0).
This is because the access token of these two network service processes have an authentication ID that is uniquely generated. This is incorrect, because NetworkService is a special account with its own designed authentication ID for it. As a matter of fact, no window station is created for a network service and as such
both RPCSS and DNS svchost.exe attempt to access Winsta0 which they cannot.

The second problem, albeit not quite relevant to the first one but still worth mentioning nevertheless, is that network services have an access token that is primary which it should be an impersonation token. These problems all come from LSASS as LSA infrastructure is responsible for creating access tokens with security
context for objects.

For the moment being, add a hack on Winlogon that gives allow access to the default window station to network services. When LSASS and involved components are fixed, this hack must be removed.
2022-05-06 10:09:49 +02:00
George Bișoc
f96c39f6b0 [WINLOGON] Refactor the security management part
Refactor the security related code of Winlogon and move it to its own dedicated place, security.c. This includes code for preparation of security descriptors for window station and desktop objects when their created, helper functions which give allow access to such objects for the logged in user and whatnot.

==== DO NOTE ====
Currently new desktop security assignment fails because for whatever reason the system thinks the application desktop has no prior security even though a descriptor has been created for it before. See the FIXME comment on code for information.
2022-05-06 10:09:49 +02:00
George Bișoc
65a72fb527 [USER32] Capture the security descriptor from the caller when creating a window station
When creating a window station with CreateWindowStationW, the function ignores the security descriptor provided by the caller and instead it uses whatever descriptor the system can find.
2022-05-06 10:09:48 +02:00
George Bișoc
878c2f4444 [WIN32K:NTUSER] Implement security infrastructure for NTUSER component
Implement a base security infrastructure with code that sets up a security descriptor for the service that we're going to connect through it. Such service is based upon a desktop and a window station.

=== DOCUMENTATION REMARKS ===
The authenticated user, represented by an access token that describes its security context, is the main holder and has ultimate power against the default created desktop and window station objects in USER. The authenticated user in question
is the actual logged in user, this is the case when the server is impersonating a client. Administrators on the other hand have some share of power against default desktop but their power in question is extremely limited against the default
window station as admins can only just enumerate the available and valid handle stations within a desktop.
2022-05-06 10:09:48 +02:00
George Bișoc
bee9b2fcc6 [LSASRV] Set up a security descriptor for the token object
LSASS implements a default ACL inside the token structure field but it doesn't actually set a protective security descriptor for the token object itself. This happens so that the kernel gets whatever default ACLs it finds for the object which is incorrect.

SYSTEM has full and supreme control over tokens, administrators can only read the token as such. The logged in user of their own token has full access. Credits and courtesy goes to Thomas Faber for the patch.
2022-05-06 10:09:36 +02:00
Doug Lyons
de6c514c3e [WIN32SS] Fix CF_DIB format not being saved to clipboard on Print Screen key (#3265)
Use pool to allocate (potentially huge) clipboard data buffers.
CORE-17318
2022-05-05 17:54:15 +02:00
Doug Lyons
cc0e2a3672 [SHELL32] Fix Shift-Delete to Permanently Delete Files and Folders (#4004)
CORE-17802
2022-05-05 17:30:06 +02:00
William Kent
212cbb6fff [CABMAN] Make cabman exit with non-zero exit code if argument parsing fails (#4022)
Co-authored-by: Serge Gautherie <32623169+SergeGautherie@users.noreply.github.com>
2022-05-05 17:21:54 +02:00
William Kent
0ebad9f3c5 [TXT2NLS] Use delete[] to deallocate new[] output (#4022)
Per AppleClang 13.0 warning.
2022-05-05 17:21:54 +02:00
Thomas Csovcsity
860d3544af [SHELL32] Folders: Adjust column sequence in details view (#4279)
Adjust column sequence in folder view to match WinXP and Win2k3 order.
CORE-11846
2022-05-05 17:05:18 +02:00
Serge Gautherie
beefb07d18 [BROWSEUI] Remove useless variable and unreachable code (#4483)
Addendum to 0c47416 (r72003).
CORE-12804

Co-authored-by: Victor Martinez Calvo <vicmarcal@gmail.com>
2022-05-05 16:45:56 +02:00
Raymond Czerny
e0b9d6d9cd [SHELL32] CPrinterFolder: Validate string pointers properly. (#4486)
CORE-18174

Check string pointers before determining the length of strings.
2022-05-05 16:24:38 +02:00
Katayama Hirofumi MZ
056bb94edc [NTUSER] NtUserBuildHwndList should return NTSTATUS (#4487)
A follow-up to #4485 (c2a51c7). CORE-18173
2022-05-05 22:53:15 +09:00
Katayama Hirofumi MZ
c2a51c7249 [NTUSER][USER32] Make NtUserBuildHwndList exclusive (#4485)
- Modify prototype of NtUserBuildHwndList function.
- Wrap the code by UserEnterExclusive(); and UserLeave();.
CORE-18173
2022-05-05 08:49:00 +09:00
Katayama Hirofumi MZ
bbc9a877cc [NTUSER] Add Win: comments to window.c
CORE-18173
2022-05-04 15:40:46 +09:00
Serge Gautherie
03422451b3 [REACTOS] Add '\n' to debug logs
on TRACE, WARN, FIXME and ERR calls.

Plus a few nit picks.
2022-05-04 03:28:38 +03:00
Vincent Franchomme
079131faca [DOC] Update 3rd Party Files (#4417) 2022-05-03 17:30:11 +02:00
Vincent Franchomme
6e0cf03d92 [BTRFS][UBTRFS][SHELLBTRFS] Upgrade to 1.8.0 (#4417)
v1.8 (2022-03-12):

- Added minimal support for fs-verity
- ~~Added test suite~~ Not in ReactOS
- Fixed incorrect disk usage statistics
- Fixed potential crashes when renaming stream to file or file to stream
- Fixed potential crashes when querying hard links on file
- Fixed potential hang when opening oplocked file
- Fixed minor issues also uncovered by test suite
2022-05-03 17:30:11 +02:00
Vincent Franchomme
f5556fdc10 [BTRFS][UBTRFS][SHELLBTRFS] Upgrade to 1.7.9 (#4417)
v1.7.9 (2021-10-02):

- Fixed deadlock when mounting on Windows 11
- Added support for BitLocker-encrypted volumes
- Improved filename checks when renaming or creating hard links
- Miscellaneous bug fixes
2022-05-03 17:30:11 +02:00
Vincent Franchomme
08d1009892 [PSDK][BOOTMGR] Import NTSTATUS definitions of BitLocker (#4417) 2022-05-03 17:30:11 +02:00
Vincent Franchomme
3cfd8ab775 [BTRFS][UBTRFS][SHELLBTRFS] Upgrade to 1.7.8 (#4417)
v1.7.8.1 (2021-06-13):

- Fixed bug preventing new directories from appearing in listings
- Fixed Release version of driver still not working on XP

v1.7.8 (2021-06-09):

- ~~Upgraded zstd to version 1.5.0~~ Not in ReactOS as it introduces deprecated code
- Fixed regression stopping driver from working under XP
- Fixed compilation on clang
- Fixed corruption issue when Linux mount option inode_cache had been used
- Fixed recursion issue involving virtual directory \$Root
2022-05-03 17:30:11 +02:00
Vincent Franchomme
98654b54b4 [BTRFS][UBTRFS][SHELLBTRFS] Upgrade to 1.7.7 (#4417)
v1.7.7 (2021-04-12):

- Fixed deadlock on high load
- Fixed free space issue when installing Genshin Impact
- Fixed issue when copying files with wildcards in command prompt
- Increased speed of directory lookups
2022-05-03 17:30:11 +02:00
Vincent Franchomme
c982533ea9 [BTRFS][UBTRFS][SHELLBTRFS] Upgrade to 1.7.6 (#4417)
v1.7.6 (2021-01-14):

- Fixed race condition when booting with Quibble
- No longer need to restart Windows after initial installation
- Forced maximum file name to 255 UTF-8 characters, to match Linux driver
- Fixed issue where directories could be created with trailing backslash
- Fixed potential deadlock when Windows calls NtCreateSection during flush
- Miscellaneous bug fixes
2022-05-03 17:30:11 +02:00
Vincent Franchomme
b826992ab2 [BTRFS][UBTRFS][SHELLBTRFS] Upgrade to 1.7.5 (#4417)
v1.7.5 (2020-10-31):

- Fixed text display issue in shell extension
- Added support for mingw 8
- Fixed LXSS permissions not working in new versions of Windows
- Fixed issue where truncating an inline file wouldn't change its size
- Fixed crash with Quibble where driver would try to use AVX2 before Windows had enabled it
2022-05-03 17:30:11 +02:00
Vincent Franchomme
0604273535 [BTRFS][UBTRFS][SHELLBTRFS] Upgrade to 1.7.4 (#4417)
v1.7.4 (2020-08-23):

- Fixed issue when running compressed EXEs
- Changed build system to cmake
- Upgraded zstd to version 1.4.5
- Added support for FSCTL_GET_RETRIEVAL_POINTERS
- Miscellaneous bug fixes
2022-05-03 17:30:11 +02:00
Vincent Franchomme
174dfab667 [BTRFS][UBTRFS][SHELLBTRFS] Upgrade to 1.7.3 (#4417)
v1.7.3 (2020-05-24):

- Fixed crash when sending file change notifications
- Improved symlink handling with LXSS
- Added support for undocumented flag SL_IGNORE_READONLY_ATTRIBUTE
- Fixed corruption caused by edge case, where address allocated and freed in same flush
- Improved handling of free space tree
- Improved handling of very full volumes
- Fixed spurious warnings raised by GCC 10 static analyser
- Replaced multiplications and divisions with bit shift operations where appropriate
- Fixed combobox stylings in shell extension
2022-05-03 17:30:11 +02:00
Hermès Bélusca-Maïto
7ba5f703d2 [BROWSEUI_APITEST] Addendum to 7e22dc05. 2022-05-03 17:29:39 +02:00
Serge Gautherie
7e22dc05ca [BROWSEUI][BROWSEUI_APITEST] SHExplorerParseCmdLine(): Sync and improve (#3231)
ROSTESTS-302

- SHCreateFromDesktop(): Sync declaration and spec.
- SHExplorerParseCmdLine(): Sync declaration, header and spec.
- SHExplorerParseCmdLine: Enforce 'UINT_PTR' return type.
Addendum to e39876d and 0f8439a.

- SHExplorerParseCmdLine: Replace '*EXPLORER_INFO'
- SHExplorerParseCmdLine: Fix x64 support; Fix some results.
2022-05-03 16:32:14 +02:00
Olaf Schmerse
25019525f8 [NEWDEV] Stop update driver wizard from changing device class (#4480)
CORE-18166

The update driver wizard should not change the device class by default,
especially when there is already a class set. This is the case when the
wizard gets called from the device manager.
2022-05-03 16:13:37 +02:00
Sahil Shahane
3e6b2972a9 [DISKPART] Fixed Volume Number & Label Issue (#4471)
CORE-18138

- Made Volume label to output only 11 characters at max.
- Made Volume numbering left-padded.
2022-05-03 16:06:02 +02:00
Raymond Czerny
1461ca403f [SHELL32] Show system control applet in taskbar (#4437)
Display the control panel applet in the taskbar to allow better navigation between programs.
CORE-18137

This is proceeded by manipulating the window of the current instance of 'rundll32.exe':
- Set title text
- Set icon
- Show window (minimal)
- Engaging the corresponding button in the Taskbar.
2022-05-03 16:02:58 +02:00
Victor Martinez Calvo
b57be0a746 [GDI32] Fix GetObjectW() GDI_OBJECT_TYPE_BRUSH handling. (#4394)
This fixes the last GetObjectW apitest case:
ok_long(GetObjectA(hBrush, 0, &TestStruct), 0);

- When "cbSize" is "0", GetObjectW shouldn't return "sizeof(LOGBRUSH)" but 0.
- Rely in BRUSH::cjGetObject behavior which returns 0 when cjSize is 0.

Co-authored-by: Víctor Martínez Calvo <victormartinez@alub.io>
2022-05-03 16:00:21 +02:00
Russell Johnson
3e2df36561 [SHELL32] Add multiple status bar parts to the file browser (#4401)
The file browser now has a status bar like Windows Server 2003 does.
This includes the sizes of the files, as well as the location.
In certain folders (Network, Desktop, etc.) the status bar is hidden.

Currently it does not handle this in the same way as Windows Shell does,
however it's a good first step to make it work properly.

CORE-17603

Signed-off-by: Russell Johnson <russell.johnson@superdark.net>
Reviewed-by: Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
Reviewed-by: Mark Jansen <mark.jansen@reactos.org>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>	
Reviewed-by: Giannis Adamopoulos <gadamopoulos@reactos.org>	
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-05-03 16:52:23 +03:00
Katayama Hirofumi MZ
2ef605d428 [NTUSER] Fix UserDestroyInputContet (again and again) (#4482)
Add call of UserMarkObjectDestroy.
Fix hung-up. CORE-11700
2022-05-03 10:17:30 +09:00
Katayama Hirofumi MZ
4a748a3a97 [NTUSER] Fix UserDestroyInputContext (again) (#4476)
Fix the HIMC handle leak. CORE-11700
2022-05-03 03:43:26 +09:00
Hervé Poussineau
14d50cc6c0 [WIN32SS] Improve selection of 'closest graphic mode'
If color depth is not provided (in registry), try to find a 32 bit one.
If not found, fall back to first available graphic mode.

CORE-18027
2022-05-01 16:36:48 +02:00
Hervé Poussineau
d8b3402fe6 [WIN32SS] In PDEVOBJ_vRefreshModeList, do not change current stored mode
When changing current devmode, we must not only change ppdev->pdmwDev
pointer, but also update lots of other structures. This work is done by
PDEVOBJ_lChangeDisplaySettings.

CORE-18169
2022-04-30 23:33:42 +02:00
Hervé Poussineau
d1cd80c861 [WIN32SS] Set DISPLAY_DEVICE_PRIMARY_DEVICE flag
This flag was not set anymore since 2d2824f1b9
Note that this is still wrong for multi-monitor.

CORE-18169
2022-04-30 22:02:28 +02:00
Hervé Poussineau
1d66a0aa19 [DESK] Remove call to SetupDiRestartDevices()
This effectively reverts a6005299c6, and
parts of c3da00c42c.

This call is not required, as umpnpmgr already does what is needed.
However, keep the call to EnumDisplayDevices(), so win32k knows that a
new graphic card has been installed.

CORE-18168
2022-04-30 14:05:05 +02:00
Stanislav Motylkov
dea51f7830 [SETUPAPI] Clarify what functions are exported starting with NT 5.2
CORE-18168
2022-04-30 13:36:25 +03:00
Julen Urizar Compains
748d5c694e [CRT] Fix MinGW-arm intrin minor bug in _byteswap_ushort (#4475)
A little bug were in the CRT, found with RosBE and cegcc compiler:

../sdk/include/crt/mingw32/intrin_arm.h:44:32: error: '<<' in boolean context, did you mean '<' ? [-Werror=int-in-bool-context]

Thanks to @HBelusca for suggesting the fix. CORE-17604
2022-04-30 01:24:49 +03:00
Doug Lyons
dbc7eeb47e [ROSTESTS] Fix crash in winhttp:winhttp test (#4303)
Fix regression crash in wine_dbgstr_wn. ROSTESTS-377

This brings most of Wine's current wine_dbgstr_wn code into ReactOS.
It's not possible to completely sync this with latest Wine because
there is Wine-specific code regarding "debug_info" and their TEB
in remaining code. Confirmed by @ThFabba.
2022-04-29 21:50:54 +03:00
Serge Gautherie
57d7f6f6b3 [FREELDR:NTLDR] Add '\n' to debug logs (#4474) 2022-04-29 18:20:36 +03:00
Jose Carlos Jesus
4f72e9c9b0 [GDI32_APITEST] Add CursorIcon tests to GetObject test (#3955)
Thanks to @Doug-Lyons for testing.

CORE-17752
2022-04-29 16:45:02 +03:00
Jose Carlos Jesus
3b496432a8 [NEWDEV] Fix Update Driver wizard dialog position (#4274)
The Update Driver wizard dialog was not completely visible.
A part of the window was off the screen.

As in Windows XP the dialog box is positioned slightly below
and to the right of the parent window (Z-order).
2022-04-29 15:00:52 +03:00
Jose Carlos Jesus
f111d4a703 [TRANSLATION] Improve Portuguese (pt-PT) translation (#4445)
* [RAPPS][EXPLORER] Improve pt-PT translation
* [BROWSEUI][COMCTL32][SHELL32] Improve pt-PT translation
* [INPUT][INTL][POWERCFG] Improve pt-PT translation
* [MAIN] Adjust object position to fit all text
* [SYSSETUP][USERENV] Update pt-PT translation
* [INF] Update pt-PT translation
2022-04-28 18:14:33 +03:00
Katayama Hirofumi MZ
55065d3b51 [NTOS:PNP] Fix GCC build (ignoring return value) (#4473)
[NTOS:PNP] Fix GCC build (ignoring return value)

Properly handle RtlDuplicateUnicodeString return status. Addendum to de316477. Thanks to @HBelusca and @Doug-Lyons.
2022-04-28 22:16:37 +09:00
Eric Kohl
de316477b9 [NTOS:PNP] IopInitializeDevice: Create a device, allocate a device node and attach it to the root node 2022-04-27 21:52:21 +02:00
Stanislav Motylkov
03c8832a77 [BOOT:RTL] Fix GCC configuration problem for ARM platform
Addendum to 24cb57fd. CORE-17604
2022-04-27 21:52:05 +03:00
Serge Gautherie
7486dbe833 [EXPLORER] syspager.cpp: Add '\n' to debug logs (#4470) 2022-04-27 15:40:13 +03:00
Victor Perevertkin
cf0bc1c132 [NTOS:PNP] Halfplement IoInvalidateDeviceState
Implement the correct start-stop sequence for resource rebalancing
without the actual rebalancing. Also move IoInvalidateDeviceState
processing into the enumeration thread as it should be.

CORE-17519
2022-04-27 02:42:20 +03:00
Victor Perevertkin
8f40fc7ede [CMAKE] Build GCC and Clang builds with -fno-common 2022-04-26 04:22:27 +03:00
Victor Perevertkin
93dcc8436c [WBEMPROX] Global variable compatibility update for gcc 10.
Imported Wine commit da21c305164c3e585e29e20242afc5a31f91989f

Signed-off-by: Michael Cronenworth <mike@cchtml.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-26 03:38:38 +03:00
Victor Perevertkin
c6aac2bbfd [TWAIN_32] Global variable compatibility update for gcc 10.
Imported Wine commit 4a91eb362666b3af549c48b95e093051756628e0

Signed-off-by: Michael Cronenworth <mike@cchtml.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-26 03:38:38 +03:00
Victor Perevertkin
f4a01431ca [MSHTML] Global variable compatibility update for gcc 10.
Imported Wine commit e402fdf364fc76838ba4e11a11fef3c552110639

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-26 03:38:38 +03:00
Victor Perevertkin
351fa5120a [CRYPT32] Global variable compatibility update for gcc 10.
Imported Wine commit 5740b735cdb44fb89a41f3090dcc3dabf360ab41

Signed-off-by: Michael Cronenworth <mike@cchtml.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-26 03:38:38 +03:00
Victor Perevertkin
98aabbcf9f [SECUR32] Do not declare global variables in a header 2022-04-26 03:38:38 +03:00
Victor Perevertkin
d2c667c616 [WINED3D] Do not declare global variables in a header 2022-04-26 03:38:37 +03:00
Victor Perevertkin
4295b007ae [HALX86] Do not define unnamed enums 2022-04-26 03:38:37 +03:00
Victor Perevertkin
522e9f6dd3 [DBGHELP_APITEST][SDK_APITEST] Fix initializing global variables 2022-04-26 03:38:37 +03:00
Victor Perevertkin
590e36479c [WS2_32_APITEST] Convert global variables to static ones 2022-04-26 03:38:37 +03:00
Victor Perevertkin
5632aa5d82 [LIBTIRPC] Do not declare global variables in a header 2022-04-26 03:38:36 +03:00
Victor Perevertkin
6e5d80df69 [COMPILER_APITEST] Convert global variables to static ones 2022-04-26 03:38:36 +03:00
Victor Perevertkin
4571c96534 [COMPILER_APITEST] Remove unused variable from MS SEH tests 2022-04-26 03:38:36 +03:00
Victor Perevertkin
97f075a2ab [USER32_APITEST] Convert global variables to static ones 2022-04-26 03:38:29 +03:00
Eric Kohl
b9c4b6aa65 [BATT] Add the composite battery installer 2022-04-25 23:33:51 +02:00
Hervé Poussineau
cb504d7b0c [WIN32SS] Fix crash if releasing a PDEVOBJ before switching to graphic mode
- do not try to remove ppdev from gppdevList if gppdevList is NULL
- do not check (and maybe change) gpmdev, as it should be done only in MDEVOBJ_vDestroy
2022-04-25 22:18:41 +02:00
Katayama Hirofumi MZ
0b0e73d66e [NTUSER] Add locking at IntSendFocusMessage (#4468)
Fix access violation on IntFocusSetInputContext.
- Add locking on pWndPrev.
CORE-18163
2022-04-25 11:36:00 +09:00
Eric Kohl
74efe979a8 [UMPNPMGR] PNP_CreateDevInst: Create a device node for the device to be installed 2022-04-24 12:56:42 +02:00
Eric Kohl
969f950bf3 [NTOS:PNP] Add a stub for NtPlugPlayControl:PlugPlayControlInitializeDevice 2022-04-24 10:02:17 +02:00
Julen Urizar Compains
072dcafc1c [MSVCRT] Enable _wfindfirst64 and _wfindnext64 in msvcrt.spec (#4464)
CORE-17666
2022-04-23 19:19:09 +02:00
Hermès Bélusca-Maïto
ff293a1877 [CSRSRV] Acquire the necessary SE_INC_BASE_PRIORITY_PRIVILEGE at shutdown (#4461)
When increasing the base priority at shutdown, acquire the necessary
SE_INC_BASE_PRIORITY_PRIVILEGE in CsrSetToShutdownPriority(),
called by CsrShutdownProcesses(), which is necessary due to the increase
of process base priority (i.e. increase of scheduling) being done.

Dedicated to George Bișoc :)

The Shutdown privilege is however unnecessary (or unwanted) since this
has been already dealt with by the shutdown caller. Also, it will be
needed only by the caller of NtShutdownSystem() -- that we don't call
at all here.
2022-04-23 19:15:22 +02:00
Hermès Bélusca-Maïto
0d08c6429d [GITHUB] Fix MSVC 2015 (v14.0) build, until a clear consensus is reached for PR #3872 (#4454)
CORE-18146

Use the matrix.os + include/exclude technique, as suggested
by Serge Gautherie :)
2022-04-23 19:14:06 +02:00
Hermès Bélusca-Maïto
1170a5a493 [GITHUB] Use the correct worker to get MSBuild VS2019 working. (#4454)
CORE-18146
2022-04-23 19:14:05 +02:00
Eric Kohl
a7a222b52d [UMPNPMGR] PNP_CreateDevInst: Convert a phantom device to a normal device 2022-04-23 16:59:47 +02:00
Eric Kohl
33a0c66f30 [UMPNPMGR] PNP_CreateDevInst: Do not create a normal device if it is already present 2022-04-23 15:35:45 +02:00
Katayama Hirofumi MZ
b0b925d2b0 [IMM32] Add ValidateHandle function (#4467)
Set the last error on failure of handle validation.
CORE-11700
2022-04-23 08:16:53 +09:00
Katayama Hirofumi MZ
e9df3176f7 [IMM32_APITEST] himc: Show class on CreateWindow failure (#4466)
Display the window class name on failure of CreateWindow function call.
CORE-11700
2022-04-23 07:18:38 +09:00
Katayama Hirofumi MZ
8f719cb97e [NTUSER][IMM32] Create the default IME window! (retry) (#4463)
The default IME window has to be created for each top-level window in specific condition. It is needed for implementing Japanese input.
- Add IntFocusSetInputContext helper function.
- Call IntFocusSetInputContext after sending WM_KILLFOCUS message.
- Add IntWantImeWindow, co_IntCreateDefaultImeWindow, and IntDestroyOwnedWindows helper functions.
- Create the default IME window (spwndDefaultIme) for the specified window at IntCreateWindow.
- Fix Imm32InternalLockIMC function.
CORE-11700
2022-04-23 07:11:48 +09:00
Hervé Poussineau
2f2795ab4c [DESK] Correctly store display frequency, so we can rollback in case of error 2022-04-20 18:23:53 +02:00
Katayama Hirofumi MZ
4bcf23d1de [NTUSER] Destroy the default IME window (#4462)
- Add IntFindNonImeRelatedWndOfSameThread, IntImeCanDestroyDefIMEforChild, and IntImeCanDestroyDefIME helper functions.
- Do assignment unlock spwndDefaultIme at co_UserFreeWindow.
- Destroy the default IME window of the specified window if necessary at co_UserDestroyWindow.
CORE-11700
2022-04-20 16:10:06 +09:00
Hermès Bélusca-Maïto
944b942eb2 [CSRSRV] Use the PROCESS_PRIORITY_NORMAL_FOREGROUND constant instead of hardcoding its value (== 9). 2022-04-20 03:53:45 +02:00
Stanislav Motylkov
27453fb759 [UMPNPMGR] Fix hang when installing devices. Addendum to 0296fce00. 2022-04-20 02:38:41 +03:00
Eric Kohl
0296fce00e [UMPNPMGR] GenerateDeviceID must fail, if pszDeviceID contains backslashes 2022-04-19 23:14:23 +02:00
Katayama Hirofumi MZ
291a94cd6f [NTUSER] Implement NtUserSetImeOwnerWindow (#4460)
- Add IntImeSetFutureOwner, IntGetLastTopMostWindowNoIME, IntImeSetTopMost, and IntImeCheckTopmost helper functions.
- Implement NtUserSetImeOwnerWindow function.
CORE-11700
2022-04-19 19:03:12 +09:00
George Bișoc
11d9c88c35 [NTOS:SE] Add token debug code
Implement initial token debug code. For now debug information that is being tracked are: process image file name, process and thread client IDs and token creation method. More specific debug code can be added later only if needed.

As for the token creation method, this follows the same principle as on Windows where the creation method is defined by a value denoting the first letter of the said method of creation. That is, 0xC is for token creation, 0xD is for token duplication and 0xF is for token filtering. The debug field names are taken from Windows PDB symbols for WinDBG debug extension support purposes. The names must not be changed!
2022-04-19 11:04:59 +02:00
Katayama Hirofumi MZ
5df5ef2bdf [NTUSER] Do assignment lock at NtUserSetThreadLayoutHandles (#4459)
- Use UserAssignmentLock in NtUserSetThreadLayoutHandles.
- Add Win: comments to many functions.
- Rename glcid as glcidSystem.
CORE-11700
2022-04-19 08:41:13 +09:00
Katayama Hirofumi MZ
c35488ec70 [NTUSER][USER32] Implement ImeWnd_OnImeNotify (#4457)
- Add code to ImeWnd_OnImeNotify function.
- Insert ASSERT(pimeui->spwnd != NULL); to some functions.
- Renaming: s/THREADSTATE_UNKNOWN17/THREADSTATE_CHECKCONIME/.
- Improve ImeWnd_OnImeSetContext function.
CORE-11700
2022-04-19 07:48:16 +09:00
Eric Kohl
f3ac86713d [UMPNPMGR] PNP_CreateDevInst: A phantom device can only be created if the device did not exist before 2022-04-19 00:09:54 +02:00
Hervé Poussineau
2c391b1eab [WIN32SS] Fix buffer overflow in MDEVOBJ when having more than 10 display devices 2022-04-18 20:01:37 +02:00
Eric Kohl
8897a890c9 [UMPNPMGR] PNP_CreateDevInst: Support the creation of phantom devices 2022-04-18 19:53:18 +02:00
Hervé Poussineau
aa80cfb46e [WIN32SS] Fix some memory leaks (introduced in 21ddeb76d9) 2022-04-18 16:23:52 +02:00
Eric Kohl
f63e8f8a03 [UMPNPMGR] Move device id generation into a separate function and limit device instance number 2022-04-18 14:14:11 +02:00
Eric Kohl
426687becf [UMPNPMGR] PNP_CreateDevInst: Do not create a new device while generating a device id 2022-04-18 12:59:41 +02:00
Eric Kohl
11886ebec2 [UMPNPMGR] PNP_GetRelatedDeviceInstance must return the root device as the parent of non-existing devices 2022-04-18 09:48:03 +02:00
Hermès Bélusca-Maïto
94d144f8a5 [BOOTDATA] Fix some services groups + MUP driver group.
Restore MUP again back to its "Network" group. CORE-12107
This reverts commit 21fc538c (r75355), that reverted part of
commit e145ed06 (r72450).

In addition: noticed by Serge Gautherie (see CORE-12107):
- AudioSrv belongs to "AudioGroup" (and not "Audio" that doesn't exist).
- lanmanworkstation belongs to "NetworkProvider" (without a space).
2022-04-18 02:40:34 +02:00
Hermès Bélusca-Maïto
2c032f3fc9 [BOOTDATA][FS] Small adjustments of filesystem drivers registry parameters.
- Fix the ErrorControl values to 1 (SERVICE_ERROR_NORMAL).
- Fix RamDisk driver type (it's SERVICE_KERNEL_DRIVER, not FS).
- btrfs.inf : This is a filesystem driver, so fix its ServiceType.

- Move 3rd-party FS data (btrfs, ext2, nfs(d)) from the system
  hivesys.inf and into their dedicated **.reg.inf files.
2022-04-18 02:40:33 +02:00
Hermès Bélusca-Maïto
75e2fb4566 [KERNEL32] Improve annotation of BaseProcess/ThreadStartup(); remove useless cast; fix PPROCESS_START_ROUTINE return type. 2022-04-18 02:40:32 +02:00
Katayama Hirofumi MZ
7e13883723 [NTUSER] Do assignment lock pti->spDefaultImc (#4456)
According to JIRA user simonelombardo, there was crash in exiting a thread.
- Add UserAssignmentLock, and UserAssignmentUnlock helper functions.
- Lock and unlock pti->spDefaultImc by using those helper functions.
CORE-18044
2022-04-18 08:23:18 +09:00
Eric Kohl
851c5e0c3a [SETUPAPI] SetupDiCreateDeviceInfoW: Fix flags conversion for CM_Create_DevInst_ExW 2022-04-17 23:32:01 +02:00
Eric Kohl
dde7e6e254 [SETUPAPI] CM_Locate_DevNode_ExW: The root device does not need to be validated 2022-04-17 22:50:26 +02:00
Hermès Bélusca-Maïto
ea3e4bb4cb [CMAKE:MSVC] Refine ASM16 ml.exe path selection. Addendum to commit 60733590. 2022-04-17 19:31:48 +02:00
Hermès Bélusca-Maïto
8ed7d4b341 [SDK:CMLIB][FREELDR:NTLDR] Revert commit 168fea0ee and provide a better fix. Addendum to 93d8a1b7b.
Correct fix was to fix the HCELL_INDEX <-> HKEY conversions, much like
is being done with UlongToHandle / HandleToUlong.

The on-disk/in-memory hive file structures are platform-independent:
their layout must not depend on whether code is compiled in 32 or 64
bits.
2022-04-17 16:46:47 +02:00
Hervé Poussineau
0ce5985109 [WIN32SS] Do not call DrvEnableDriver/DrvDisableDriver for LDEV_IMAGE types 2022-04-17 16:20:04 +02:00
Stanislav Motylkov
168fea0eee [CMLIB] Fix 64-bit build. Addendum to 93d8a1b7b.
Thanks to Hervé Poussineau for help.
2022-04-17 16:16:41 +03:00
Eric Kohl
a355e8ad27 [SETUPAPI] SetupDiCreateDeviceInfoW creates phantom devices 2022-04-17 14:29:14 +02:00
Eric Kohl
7cc5163bfa [UMPNPMGR] Add checks to PNP_GetRelatedDeviceInstance
PNP_GetRelatedDeviceInstance must fail if we try to retrieve the parent or a sibling of the root device.
2022-04-17 13:52:59 +02:00
Hervé Poussineau
1744b01ad9 [WIN32SS] Rewrite LDEVOBJ reference counting
- introduce LDEVOBJ_vDisableDriver (reversal of LDEVOBJ_bEnableDriver)
- introduce LDEVOBJ_bUnloadImage (reversal of LDEVOBJ_pLoadDriver)
- introduce LDEVOBJ_vDereference, to remove a reference to a LDEVOBJ

Also:
- correctly handle success to unload the image, by removing it from pldev list
- correctly handle failure to unload the image, by re-enabling the driver
- simplify EngUnloadImage, as a wrapper around LDEVOBJ_vDereference
- move LDEVOBJ_ulGetDriverModes lower to prevent forward declaration of
  LDEVOBJ_vDereference

Unfortunately, disable driver unloading as long as ntoskrnl can't reload
a driver it just unloaded...
2022-04-17 08:48:33 +02:00
Hervé Poussineau
3a1a2aa16f [WIN32SS] Fix use of unitialized variable 2022-04-17 08:46:09 +02:00
Hermès Bélusca-Maïto
736331973e [FREELDR:NTLDR] Rewrite RegInitCurrentControlSet() using CmpFindControlSet().
Also remove useless "success" traces at the end of some registry functions.
(Only show when they enter and when they fail.)
2022-04-17 04:57:43 +02:00
Hermès Bélusca-Maïto
94874baf19 [FREELDR:NTLDR] Use NTOS kernel's CMBOOT functions to enumerate and build the boot-time driver list.
They are correct and are more performant.

- Rewrite WinLdrAddDriverToList() on the model of CmpAddDriverToList()
  with support for CmpIsDriverInList().

- Disable RegEnumKey() as it is now unused.
2022-04-17 04:57:42 +02:00
Hermès Bélusca-Maïto
02e659d248 [BOOTDATA] Remove hackish entries that really caused the CDFS to be loaded twice in the LiveCD.
They date back from commit a880f2ee (r9611), and were the root cause for
the bug that was tentatively fixed by commit 81a9ce44e (PR #755).

On Windows, boot file system drivers have either the SERVICE_DEMAND_START
or the SERVICE_DISABLED start type, and only the filesystem to access the
boot media is manually loaded by the OS loader (other FSes that are needed
later are loaded by the FSRecognizer).

Also there is no need to disable NTFS anymore.
2022-04-17 04:57:41 +02:00
Hermès Bélusca-Maïto
93d8a1b7b1 [FREELDR:NTLDR] Adapt the registry code to access from outside the underlying HHIVE and HCELL_INDEX (needed for cmboot). 2022-04-17 04:57:40 +02:00
Katayama Hirofumi MZ
567b0700fe [NTUSER] Add 'Win:' comments to some functions (#4453) 2022-04-17 06:53:37 +09:00
Hermès Bélusca-Maïto
6ff0232368 [NTOS:CM] Adapt cmboot.c for usage in NT/ReactOS bootloader.
- Add a new cmboot.h header to isolate the boot-support definitions
  shared with the NT/ReactOS bootloader.

- Move CmpFreeDriverList() to cmboot.c so that we can use it for
  cleanup paths in the NT/ReactOS bootloader.

- CmpFindControlSet(): Directly build the control set name in UNICODE,
  instead of doing an ANSI->UNICODE conversion.

- Directly assign the CurrentControlSet\Services constant string,
  instead of going the route of init-empty-string + append-string.
  This is possible since that string is not modified later.

- Remove ASSERT(FALSE), replacing them with correct failure handling.

- Add cleanup paths in CmpAddDriverToList().

- Simplify and fix CmpFreeDriverList(): it's the full DriverNode
  that needs to be freed; not the LIST_ENTRY pointer.

- Add other validity checks:
  * Registry value types and data sizes;
  * For multi-strings, verify that they are NULL-terminated.
  * For (multi-)strings, check whether they are NULL-terminated before
    optionally removing their trailing NULL character from the count.
    Check also whether they are of zero-length and take appropriate
    action where necessary.

- Add CmpIsDriverInList() for future usage in CMBOOT compiled in
  bootloader mode.

- Add SAL annotations and Doxygen documentation.

- Add debug traces.

- Formatting / code style fixes.

** TODO: Fix SafeBoot support **
2022-04-16 18:37:45 +02:00
Hermès Bélusca-Maïto
6a03fb7099 [SDK:CMLIB] Use Hive->Allocate / Hive->Free where possible. 2022-04-16 18:33:24 +02:00
Dmitry Borisov
b79fbe2333 [NVNET] Add driver for nForce-based NICs
The driver supports all nVidia chipset models from 2001 until 2010, starting from nForce.
All NICs are compatible with x86 and amd64 devices only.

Tested by Daniel Reimer on OG Xbox and by me on MCP board.

CORE-15872 CORE-16216
2022-04-16 11:54:24 +03:00
Dmitry Borisov
269f3a2b24 [HALXBOX] Do not claim interrupt resources for the KD COM port
The actual COM port lacks SERIRQ, IRQ 4 is hardwired to the NIC

CORE-15872 CORE-16216
2022-04-16 11:54:24 +03:00
Dmitry Borisov
96b40c9566 [DDK][PSDK] Add missing NDIS definitions for wake-up support
CORE-15872
2022-04-16 11:54:24 +03:00
Katayama Hirofumi MZ
34600f3ddf [USER32] Add 'Win:' info to misc/imm.c (#4452)
- Add many Win: comments to misc/imm.c.
- Rename GetImmFileName as User32GetImmFileName.
- Rename bImmInitializing as gbImmInitializing.
- Rename gnImmUnknownFlag1 as gfConIme.
- Formating UpdatePerUserImmEnabling code.
CORE-11700
2022-04-16 14:34:06 +09:00
James Tabor
001e300d92 [Win32SS] Fix Build 2
Fix Build 2
2022-04-15 19:30:59 -05:00
James Tabor
b1d27cd0fb [Win32SS] Fix Build
Fix Build
2022-04-15 19:27:50 -05:00
James Tabor
250e5ef38f [ENG] Update Structure
Update GRAPHICS_DEVICE monitor count and video monitor device pointer.
Update dwAccelerationLeve comments.
Updated for printer support.
2022-04-15 19:19:54 -05:00
Hervé Poussineau
9400063aae [WIN32SS] Enable multidisplay driver when required
For now, it is only a stub which returns an error.
2022-04-15 23:09:16 +02:00
Hervé Poussineau
f3f4cc0f25 [WIN32SS] Implement EngQueryDeviceAttribute 2022-04-15 23:09:16 +02:00
Hervé Poussineau
c89ac107ce [WIN32SS] Handle Graphics acceleration level (registry key Acceleration.Level)
- store the acceleration level in PDEVOBJ
- when searching a pdev, search a pdev with required acceleration level
- disable some functions when not at full acceleration level
  (levels 3 and 5 are not implemented)
2022-04-15 23:09:16 +02:00
Hervé Poussineau
494de7c2df [WIN32SS] Remove now unused code
Initialization of device mode list will be done later, just before switching to graphics mode.

If no graphic display is available, we will now fail when starting first GUI application in
co_IntGraphicsCheck(). Add a bugcheck here to prevent frozen screen.
2022-04-15 23:09:16 +02:00
Hervé Poussineau
2d2824f1b9 [WIN32SS] Implement PDEVOBJ_lChangeDisplaySettings to create initial MDEV
This function can create a MDEV for the whole display (maybe containing multiple
PDEVs), or update settings of a specific PDEV.

- call PDEVOBJ_lChangeDisplaySettings when switching to graphics mode.
- modify EngpGetPDEV to search requested PDEV only in current MDEV
2022-04-15 23:09:16 +02:00
Hervé Poussineau
9db63ad595 [WIN32SS] Add functions related to MDEV (creation, destruction...) 2022-04-15 23:09:16 +02:00
Hervé Poussineau
a0cfdcd409 [WIN32SS] Introduce the MDEVOBJ structure
This will be used (later) to store the list of all enabled display devices.

Add a global variable gpmdev (should really be stored in DISPLAYINFO structure)
Replace global variable gppdevPrimary by pmdev->ppdevGlobal.
2022-04-15 23:09:16 +02:00
Hervé Poussineau
0f617ddfbb [WIN32SS] Rewrite EngpCreatePDEV as PDEVOBJ_Create
- change first argument to be a PGRAPHICS_DEVICE instead of a device name
- add ldevtype (for now, only LDEV_DEVICE_DISPLAY is allowed)
- always pass a devmode if ldevtype is LDEV_DEVICE_DISPLAY
- insert the ppdev into gppdevList on success
- change callers to adapt them to new rules
2022-04-15 23:09:16 +02:00
Hervé Poussineau
c5fb89dced [WIN32SS] Add PDEVOBJ_vEnableDisplay and PDEVOBJ_bDisplayDisplay
Use them where appropriate.
2022-04-15 23:09:16 +02:00
Hervé Poussineau
34085be22d [WIN32SS] Rename PDEVOBJ_vSwitchPdev to PDEVOBJ_bDynamicModeChange
Even if it currently always succeeds, let it return a boolean for later.
2022-04-15 23:09:16 +02:00
Hervé Poussineau
241e579dfa [WIN32SS] Improve PDEVOBJ_bEnablePDEV/PDEVOBJ_vRelease/PDEVOBJ_pSurface
- use debug channels
- handle a NULL ppdev->pGraphicsDevice
- unreference graphic driver when needed
2022-04-15 23:09:16 +02:00
Hervé Poussineau
ded971c425 [WIN32SS] Remove useless parameter dwFlags in EngpFindGraphicsDevice() 2022-04-15 23:09:16 +02:00
Hervé Poussineau
75f4be53df [WIN32SS] Preparation to load internal drivers (ie entry point in win32k)
- Change LDEVOBJ_bEnableDriver to directly take the entry point
  (pGdiDriverInfo not required anymore)
- Add LDEVOBJ_pLoadInternal to load and start an internal driver
2022-04-15 23:09:16 +02:00
Hervé Poussineau
333f3382f6 [WIN32SS] Remove useless prototype (function never existed) 2022-04-15 23:09:16 +02:00
Hervé Poussineau
3cb1dd8ab2 [WIN32SS] Rewrite PDEVOBJ_pdmMatchDevMode to LDEVOBJ_bProbeAndCaptureDevmode
- make it return a new allocated PDEVMODEW instead of a pointer into
  existing PGRAPHICS_DEVICE (usefull when available display modes can
  dynamically change: VirtualBox, RDP, ...)
- update all callers
2022-04-15 23:09:16 +02:00
Hervé Poussineau
21ddeb76d9 [WIN32SS] Extract devmode list query to new function LDEVOBJ_bBuildDevmodeList
LDEVOBJ_bBuildDevmodeList() only queries the available display modes, without
choosing the one to use on the graphic device, and without immediately
creating a PDEV.

Replace first part of EngpPopulateDeviceModeList() function by a call
to this new function LDEVOBJ_bBuildDevmodeList().
Keep second part of EngpPopulateDeviceModeList() function, which
chooses the default display mode.
2022-04-15 23:09:16 +02:00
Hervé Poussineau
7d93362f5a [WIN32SS] Implement LDEVOBJ_ulGetDriverModes
- implement LDEVOBJ_ulGetDriverModes (which get modes from a not yet loaded driver),
  and use it in EngpPopulateDeviceModeList
- remove now useless LDEVOBJ_pdmiGetModes (replaced by LDEVOBJ_ulGetDriverModes)
2022-04-15 23:09:16 +02:00
Hervé Poussineau
3b234cce25 [WIN32SS] Rename EngLoadDriverEx to LDEVOBJ_pLoadDriver 2022-04-15 23:09:16 +02:00
Katayama Hirofumi MZ
3820744a18 [NTUSER][IMM32_APITEST] Associate HIMC to WND (#4451)
- Set the default input context to WND at IntCreateWindow function.
- Add more tests to the himc testcase of imm32_apitest.
CORE-11700
2022-04-15 13:16:50 +09:00
Katayama Hirofumi MZ
f848343bff [IMM32] Improve ImmLockClientImc (#4450)
CORE-11700
2022-04-14 14:10:19 +09:00
Katayama Hirofumi MZ
e5f637f93f [IMM32] Add Win: comments more (#4449)
CORE-11700
2022-04-14 11:23:16 +09:00
Serge Gautherie
0c5fc49f82 [CMAKE] msvc.cmake: Enable C4090 warning as error
C4090: different 'modifier' qualifiers

Follow-up to 42d2d5e (0.4.14-dev-847) and 41bc57d (0.4.15-dev-2952),
which silenced affected modules.
CORE-7538
2022-04-12 02:08:45 +03:00
Thamatip Chitpong
59dcec1faf [TASKMGR] Processes page: Add "Properties" and "Open File Location" context menu items (#4323)
Signed-off-by: Thamatip Chitpong <tangaming123456@outlook.com>
Reviewed-by: Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Joachim Henze <joachim.henze@reactos.org>
Reviewed-by: Mark Jansen <mark.jansen@reactos.org>
2022-04-11 19:28:28 +03:00
Serge Gautherie
4121b0e805 [MIDIMAP] MIDIMAP_modMessage(): Fix a MSVC amd64 C4133 warning
MSVC amd64
'...\dll\win32\winmm\midimap\midimap.c(474): warning C4133: 'function': incompatible types - from 'LPDWORD' to 'DWORD_PTR *''

Import missed parts of
29b00e1a8c

Addendum to b40e7f0 (r47900).
CORE-7538
2022-04-11 19:20:13 +03:00
Katayama Hirofumi MZ
05bbbd7d8b [NTUSER] Dereference spDefaultImc at UserCreateInputContext (#4446)
Dereference pti->spDefaultImc by UserDereferenceObject if pti->spDefaultImc is NULL at UserCreateInputContext function. CORE-11700
2022-04-11 10:53:36 +09:00
Katayama Hirofumi MZ
88c1d8c737 [NTUSER] Set error on NtUserCreateInputContext (#4444)
Set the error code correctly on NtUserCreateInputContext.
CORE-11700
2022-04-10 19:26:19 +09:00
Katayama Hirofumi MZ
0f1e19a7b6 [NTUSER] Simplify IntDestroyInputContext (#4443)
CORE-11700
2022-04-10 17:20:21 +09:00
Katayama Hirofumi MZ
eb902e5bee [NTUSER] Improve NtUserDestroyInputContext etc. (#4442)
CORE-11700
2022-04-10 12:27:38 +09:00
Katayama Hirofumi MZ
de38e3be61 [NTUSER][INCLUDE] Add IMC offset info (#4439)
Add C_ASSERT assertions on the offsets of the members of IMC structure. CORE-11700
2022-04-10 07:27:30 +09:00
Hermès Bélusca-Maïto
04eca8e2b2 [WIN32K] Remove incorrect packing specification around _TL, _WIN32THREAD and _THREADINFO structures.
CORE-18140

This was introduced historically in commit 583de66b3 (r7460) to
workaround some compiler problems (or replace already existing
GCC-specific __attribute__((packed)) annotations); however these
structures are in-memory-only, do not describe any on-disk data
format and don't describe hardware-specific data. So they should
have the "natural" alignment of the target platform.

They also have to match the documented layouts at:
https://reactos.org/wiki/Techwiki:Win32k/THREADINFO
https://www.geoffchappell.com/studies/windows/km/win32k/structs/threadinfo/index.htm
at least for the compatible parts that ReactOS shares.
2022-04-09 23:31:44 +02:00
Hermès Bélusca-Maïto
e5d17a0219 [HALX86:ACPI] Use the correct PCH file for compilation.
This also removes the following warnings, that were present because,
as the ACPICA acpi.h header was used as PCH (instead of none, or the
hal's own main header), it was "included" before any other header
-- and in particular, before hal.h -- and as a result, colliding defines
were still defined even if the #undef tricks were used for them.

rosbuilds\sdk\include\reactos\mc\bugcodes.h(1417): warning C4005: 'ACPI_BIOS_ERROR': macro redefinition
reactos\drivers\bus\acpi\acpica\include\acoutput.h(243): note: see previous definition of 'ACPI_BIOS_ERROR'
reactos\hal\halx86\include\hal.h(41): warning C4109: unexpected identifier '_read'
reactos\hal\halx86\include\hal.h(42): warning C4109: unexpected identifier '_read'
2022-04-09 20:18:03 +02:00
Katayama Hirofumi MZ
bc8a4ac37b [IMM32] Many renamings and 'Win:' info (#4438)
- Add many Win: comments.
- s/Imm32UnloadIME/Imm32FreeIME/
- s/Imm32LoadImeInfo/Imm32LoadIME/
- s/g_hImm32Inst/ghImm32Inst/
- s/Imm32AllocAndBuildHimcList/Imm32BuildHimcList/
- s/Imm32SelectLayout/Imm32SelectInputContext/
CORE-11700
2022-04-09 10:41:39 +09:00
Hermès Bélusca-Maïto
cfe387a9b0 [BOOTDATA] Add two missing separating commas in the ServiceGroupOrder List multi-string.
Typos introduced in commit 4d1ea554c.
These had the effect of enumerating "NetworkProviderRemoteValidation"
and "Extended BasePCI Configuration" as groups, which were of course
invalid/non-existent.
The actual groups are: "NetworkProvider", "RemoteValidation",
"Extended Base", and "PCI Configuration".

Fixing this may correct the loading order of drivers that belong to
these groups (if we do have such drivers).
2022-04-09 03:15:57 +02:00
Mark Jansen
fd00338b59 [WINESYNC] Fail gracefully when unable to delete a file 2022-04-09 01:26:30 +02:00
Mark Jansen
d4e38a630f [SYSSETUP] Add new Env section to unattend.inf
This allows to add environment variables during unattended setup
2022-04-09 01:25:06 +02:00
Mark Jansen
62d7486ef6 [PSDK] Add more argument names 2022-04-09 01:22:11 +02:00
Mark Jansen
513d0a6d2d [SHELL32] Copy without FILE_ATTRIBUTE_READONLY from a CDROM
CORE-18089
2022-04-09 01:21:57 +02:00
Mark Jansen
5606fb159e [MSVCRT_WINETEST] Mute _CRT_NON_CONFORMING_SWPRINTFS 2022-04-08 22:40:26 +02:00
Piotr Hetnarowicz
0b8891a7d3 [DISKPART] Update Polish (pl-PL) translation (#4413)
Addendum to 2ba6b097, 38b38bbf, and fd8dd586.
2022-04-08 19:14:51 +03:00
Katayama Hirofumi MZ
8de7439887 [IMM32] Fix & Rename: s/Imm32LockIMCEx/Imm32InternalLockIMC/ (#4436)
- Fix & Rename: s/Imm32InitContext/Imm32CreateInputContext/ (Win: IMM32!CreateInputContext).
- Fix & Rename: s/Imm32LockIMCEx/Imm32InternalLockIMC/ (Win: IMM32!InternalImmLockIMC).
- Add CtfImmTIMCreateInputContext stub.
CORE-11700
2022-04-08 22:23:30 +09:00
Katayama Hirofumi MZ
c3fac567ca [IMM32] Renaming: s/Imm32FreeImeDpi/Imm32UnloadIME/ (#4435)
Improve debuggability. CORE-11700
2022-04-08 19:50:41 +09:00
Katayama Hirofumi MZ
3c1697146f [IMM32] Renaming: s/g_pImeDpiList/gpImeDpiList/ (#4434)
Improve debuggability. CORE-11700
2022-04-08 19:02:08 +09:00
Katayama Hirofumi MZ
895909e695 [IMM32] Renaming: s/g_csImeDpi/gcsImeDpi/ (#4433)
Improve debuggability. CORE-11700
2022-04-08 18:21:54 +09:00
Justin Miller
eebe11ae0c [HALX86] Add support for parsing ACPI MADT tables 2022-04-07 22:54:32 +03:00
Justin Miller
5c79900519 [HALX86] Add a way to print the ProcessorTable data on bootup 2022-04-07 22:54:32 +03:00
Justin Miller
a09f925c1c [HALX86] Implement HalpSetupProcessorsTable
Add a helper function for getting a pointer to the PRCB of every processor
in the system and assign it to the PROCESSOR_IDENTITY struct.
2022-04-07 22:54:31 +03:00
Justin Miller
0fc21e5a9b [HALX86] Add function prototypes needed for parsing ACPI MADT table
- Use ACPICA headers to gather the information.
- Add PROCESSOR_IDENTITY structure that will be used by all APIC HALs.
2022-04-07 22:54:13 +03:00
Justin Miller
2204695f0a [SDK] Fix some arm64 stuff that was discovered during testing
Addendum to 6dfc13e4. CORE-17518
2022-04-07 19:50:43 +03:00
Justin Miller
3cee1f718b [XDK] Start define of xdk ke.h for arm64
CORE-17518
2022-04-07 19:50:42 +03:00
Katayama Hirofumi MZ
4342b84c9a [IMM32] Add ctf.c for Cicero (#4430)
Preparing of Cicero (modern input method) support.

- Add ctf.c and add some CTF functions.
- Modify the IMM table.
- Modify imm32.spec.
- Rename: s/Imm32FreeImeStates/Imm32DestroyImeModeSaver/.
- Improve Imm32DestroyInputContext.

CORE-11700
2022-04-07 22:55:33 +09:00
Jose Carlos Jesus
7a83e0a145 [SHELL32] Remove horizontal scrollbar in File Types property page (#4412)
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2022-04-07 16:10:50 +03:00
Raymond Czerny
1b5abe8837 [SHELL32] Make Control Panel applets start in single instance (#4405) (#4405)
In MS Windows all control panel applets are started in single instance.
This prevents conflicts of concurrent accesses to the configuration data.

Before starting applets, look up the dialog window of the existing instance
by checking several atoms, such as the applet path, CPLName, and CPLFlags.
If the dialog is found, it's brought to the foreground, and a new applet
instance not started.

CORE-7921 CORE-17025

Signed-off-by: Raymond Czerny <chip@raymisoft.de>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Joachim Henze <joachim.henze@reactos.org>
Reviewed-by: Mark Jansen <mark.jansen@reactos.org>
2022-04-07 15:58:13 +03:00
Hermès Bélusca-Maïto
184b8a30cb [BOOT:RTL] Fix AMD64 build. Addendum to 24cb57fde.
Turns out, that rtl/amd64/rtlmem.S doesn't currently compile fine with
ML64, and it wasn't included for compilation anyways in the original RTL.
So, just remove it from there as well.
2022-04-07 04:21:02 +02:00
Hermès Bélusca-Maïto
f10437b1e2 [FREELDR:NTLDR] Expose and use the CurrentControlSetKey handle.
This allows: (i) to shorten dramatically the lengths of the static
registry path strings being used (and thus, allow for reduced binary
file size), and (ii) to prepare future support for selecting different
control sets (and related Last-Known-Good configurations).
2022-04-07 03:19:11 +02:00
Hermès Bélusca-Maïto
57b9c6b2f2 [FREELDR:NTLDR] Improve NLS data loading.
- Use UNICODE_STRINGs wherever possible.
- Retrieve the OEMHAL font file name. TODO: Load it!

- In WinLdrLoadNLSData(), don't open/close each file twice (and showing
  we are loading them twice). Instead, open all files at once (and keep
  them that way), retrieve their sizes and do the calculations, then
  load their respective contents one by one -- giving loading feedback
  only at that point -- and finally close all of them at once.
2022-04-07 03:19:10 +02:00
Hermès Bélusca-Maïto
24cb57fdea [BOOT][SDK:RTL] Compile a reduced RTL library for FreeLdr / NT bootloader...
... as it should have always been done (and must be done for NTDLL
and NTOS kernel as well). This allows using the RTL with the correct
definitions and the reduced functionality available at boot-time.

+ Make the RTL main header compatible.

In addition, this will permit re-using existing code that already
uses the RTL (mostly string conversions).

See commits 427c90af3 (r36761) and b46e8cc18 (r36980) for some
background.
2022-04-07 03:19:09 +02:00
Hermès Bélusca-Maïto
2ac49f0824 [SDK:RTL] Minimal formatting for NLS functions + Remove inadequate assert in RtlUpcaseUnicodeToOemN(). 2022-04-07 03:19:06 +02:00
Hermès Bélusca-Maïto
7416328523 [SDK:NTOS_VISTA] Fix GCC AMD64 build. Addendum to commit 6f559e9c5. (#4426)
Instead of adding the rtl_vista library to the target, manually add
the related source files to compilation. That's not the best, but
this should definitively fix the linking problem.
2022-04-07 01:52:33 +02:00
Joachim Henze
2f7dc168f2 [WINHTTP] Fix 1 MSVC x86 warning LNK4199 (#4414) CORE-18104
Fixes
Creating library dll\win32\winhttp\winhttp.lib and object dll\win32\winhttp\winhttp.exp
LINK : warning LNK4199: /DELAYLOAD:ole32.dll ignored; no imports found from ole32.dll

which I could observe all the way from releases/0.4.7 up to releases/0.4.14
with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuration
2022-04-07 00:36:52 +02:00
Katayama Hirofumi MZ
a40f55bf6d [IMM32] Renaming: s/Imm32InitInstance/ImmInitializeGlobals/ (#4428)
- Rename Imm32InitInstance as ImmInitializeGlobals.
- Add Win: comments.
CORE-11700
2022-04-06 15:44:27 +09:00
Katayama Hirofumi MZ
2f7775c604 [NTUSER] Add 'Win:' comments to ime.c and window.c (#4427)
- Add 'Win:' comments to clarify the Windows-side function names.
CORE-11700
2022-04-06 13:11:57 +09:00
Thomas Faber
9f5cde9cbe [WIN32K:NTUSER] Remove broken assert in NtUserCreateWindowEx. CORE-18123 2022-04-03 23:44:09 -04:00
Thomas Faber
7d1a497619 [NTOS:EX] Only set WakeTimer-related status if timer handle is valid. CORE-18133
Since STATUS_TIMER_RESUME_IGNORED is a success status, we would
otherwise go into the success case with a NULL Timer object pointer.
2022-04-03 20:13:09 -04:00
Hermès Bélusca-Maïto
6f559e9c54 [RTL][NTOS_VISTA] Move the RTL UTF8 functions to the main RTL library, to be linked in the rtl_vista target instead.
The reason is that both RtlUTF8ToUnicodeN() and RtlUnicodeToUTF8N() are
exported in both kernel and user-mode (ntdll) in Windows 7+.

Conversion from and to UTF8 are fundamental enough that they indeed
deserve to be in a separate file.
2022-04-03 20:41:11 +02:00
Stanislav Motylkov
fe452a1dad [COMCTL32][COMDLG32] Fix Serbian (Latin) sublanguage identifiers
Should really fix MSVC build. Addendum to 64c87aab.
2022-04-02 23:36:28 +03:00
Stanislav Motylkov
64c87aab73 [TRANSLATION] Fix Croatian (hr-HR) sublanguage identifiers
Should fix MSVC build. Addendum to 4644e5b7.
2022-04-02 22:54:19 +03:00
Andrej Bartulin
4644e5b75d [TRANSLATION] Update Croatian (hr-HR) translation (#4375)
- [COMCTL32] Fix Croatian (hr-HR) MessageBox mnemonics
- [SYSSETUP] Add Croatian (hr-HR) translation

2nd stage of setup translated to Croatian and hotkey fix in MessageBox
("Napijed" and "Nazad" share the same keyboard mnemonic, Alt+N).
2022-04-02 20:32:28 +03:00
Hermès Bélusca-Maïto
64290dd2c9 [BOOT] Move boot-related commands from boot/CMakeLists.txt into a boot_images.cmake sub-file. (#4407)
This allows the CMakeLists.txt file to be less cluttered by unrelated stuff.
2022-04-01 04:58:08 +02:00
Hermès Bélusca-Maïto
88618f176d [BOOTSECT] ISOBOOT: Add missing trailing 0x55AA sector signature. 2022-04-01 04:57:31 +02:00
Hermès Bélusca-Maïto
3d3a5aa02e [SDK:REACTOS][SVCHOST] Add/complete all missing definitions in the SVCHOST global header. (#4295)
Following commit 24a727a23, give a lift to the SVCHOST global header
and add & complete all the missing definitions.

- Based on https://www.geoffchappell.com/studies/windows/win32/services/svchost/process/globaldata.htm
  from public debug symbols (e.g. svchost, mswsock, w32time, wscsvc...),
  adjust some of our symbols' names.

- Make the header C++-compatible.

- Even if the start/stop RPC server functions return an error code whose
  underlying storage type is a 32-bit long, they don't return an RPC
  status error code, but an NT status. Thus, use the adequate type
  instead.

- The PSVCHOST_STOP_CALLBACK is nothing but a WAITORTIMERCALLBACK function.

- Take the opportunity to fix some of these functions' SAL annotations.

- Remark: "LP" for pointers is old-fashioned Windows, avoid this in NT code.

[MSWSOCK][SECLOGON] Do the minor adjustments. Remove unnecessary function casts.
2022-04-01 04:55:31 +02:00
Joachim Henze
493bb8de46 [CMAKE] msvc.cmake: Remove redundant '/Gy' (#4424)
* [CMAKE] msvc.cmake: Remove redundant '/Gy'

Function-level-Linking '/Gy' is already enabled unconditionally
at line 26. So no need to enable it here another time.
Makes the differences between the multiple OPTIMIZE-levels more obvious.

* [CMAKE] msvc.cmake: Fix typo in comment
2022-03-31 21:18:26 +02:00
Luke Luo
f59c58d833 [TRANSLATION] Improve Simplified & Traditional Chinese translations (#4388)
Reviewed-by: Chan Chilung <eason066@gmail.com>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-03-31 20:38:52 +03:00
Wu Haotian
0c42866e64 [TRANSLATION] Review & update Simplified Chinese (zh-CN) translation (#3933)
Reviewed all Chinese Simplified translation files and updated those
inappropriate or outdated ones.

Co-authored-by: Liu Wenyuan <15816141883@163.com>
Reviewed-by: Chan Chilung <eason066@gmail.com>
Reviewed-by: He Yang <1160386205@qq.com>
Reviewed-by: Zheng Jianping <robsean@126.com>
Reviewed-by: Luo Yufan <njlyf2011@hotmail.com>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-03-31 20:30:52 +03:00
Chan Chilung
2752c42f0b [TRANSLATION] Update Hong Kong Chinese (zh-HK) translation - Part 2 (#4347)
- Added zh-HK translation for following files:
  - [BASE/SERVICES/W32TIME]
  - [BASE/SYSTEM/...] (except CMD console only applications)
  - [FDEBUG]
  - [DLL/CPL/...] (except Wine related applications)
  - [DLL/SHELLEXT/...]
  - [DLL/WIN32/...] (not all applications are translated, and Wine related applications are excluded from this part)
  - [MODULES/ROSAPPS/APPLICATIONS/...] (not all applications are translated)
  - [SCREENSAVERS]
  - [NTVDM]
  - [USERSRV]
- Translation Improvement
- Fix header for zh-TW and zh-HK translation files

Reviewed-by: Luo Yufan <njlyf2011@hotmail.com>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-03-31 17:10:21 +03:00
Joachim Henze
fd8dd5868e [DISKPART] *.rc Reduce likelihood of translators messing with indentation (#4421)
Colons in the neighbor-lines must be aligned to each other. It is easier for translators to respect this
in their translation if all strings start at the same column in their editor.
2022-03-31 15:57:59 +02:00
Jose Carlos Jesus
9c28ea3330 [REGEDIT][ACCESS] Improve Portuguese (pt-PT) translation (#4326)
- [REGEDIT] Update pt-PT translation and adjust objects
- [ACCESS] Improve pt-PT translation
- [ACCESS] Adjust object position for better appearance
2022-03-31 15:58:13 +03:00
Katayama Hirofumi MZ
6541c423f4 [IMM32] Add more 'Win:' comments (#4423)
CORE-11700
2022-03-31 19:36:11 +09:00
Katayama Hirofumi MZ
97f4c3c3af [IMM32] Renaming: s/ImmLockOrLoadImeDpi/Imm32FindOrLoadImeDpi/ (#4422)
- Rename ImmLockOrLoadImeDpi as Imm32FindOrLoadImeDpi.
- Imm32FindOrLoadImeDpi --> Win: FindOrLoadImeDpi.
CORE-11700
2022-03-31 19:35:31 +09:00
Katayama Hirofumi MZ
89846a2977 [IMM32] Renaming: worker functions (#4420)
Renaming: s/Imm32SetCompositionStringAW/ImmSetCompositionStringAW
Renaming: s/Imm32GetImeMenuItemsAW/ImmGetImeMenuItemsAW/
Renaming: s/Imm32RequestMessageAW/ImmRequestMessageAW/
CORE-11700
2022-03-31 14:34:08 +09:00
Katayama Hirofumi MZ
166786061c [IMM32] Renaming about IME layout (#4419)
CORE-11700
2022-03-31 13:52:16 +09:00
Katayama Hirofumi MZ
6dfe032152 [IMM32] Renaming: s/g_SharedInfo/gSharedInfo/ (#4418)
CORE-11700
2022-03-31 10:00:06 +09:00
Katayama Hirofumi MZ
ed765b7c3b [IMM32] Renaming: s/pImmHeap/ghImmHeap/ (#4416)
CORE-11700
2022-03-31 09:11:13 +09:00
Oleg Dubinskiy
5d81de7d5b [REACTOS] Update email in all my copyrights (#4415)
Change it to Gmail, because Yandex disabled ua domain, which was used in my previous email.
2022-03-31 01:53:30 +02:00
Katayama Hirofumi MZ
f8902dc327 [IMM32] Renaming: s/Imm32CleanupContext/Imm32DestroyInputContext/
CORE-11700
2022-03-29 19:02:56 +09:00
Katayama Hirofumi MZ
720da3b9be [IMM32] Renaming: s/Imm32GetContextEx/ImmGetSaveContext/
CORE-11700
2022-03-29 18:05:09 +09:00
Katayama Hirofumi MZ
46518ad601 [IMM32] Renaming: s/Imm32HeapAlloc/ImmLocalAlloc/
s/Imm32HeapFree/ImmLocalFree/
CORE-11700
2022-03-29 18:02:25 +09:00
Katayama Hirofumi MZ
0d744afbc7 [IMM32] Renaming: s/g_hImm32Heap/pImmHeap/
CORE-11700
2022-03-29 17:59:23 +09:00
Katayama Hirofumi MZ
82fa82d8e1 [IMM32] Renaming: s/g_psi/gpsi/
CORE-11700
2022-03-29 17:57:28 +09:00
Eric Kohl
a4f08c7746 [DISKPART] Fix duplicate resource IDs 2022-03-28 21:04:06 +02:00
Oleg Dubinskiy
7309801e5a [NTOS:IO] IoRegisterDeviceInterface: create non-volatile keys for new device interfaces
Always create only non-volatile (sub)keys when registering a new device interface, so then they are saved after reboot.
On Windows, nearly all device interface keys are non-volatile, except the "Control" subkey, which is managed by IoSetDeviceInterfaceState instead.
In particular, it fixes MS sysaudio loading failure with MS audio drivers replacement (ks, portcls, swenum, sysaudio, wdmaud). My IoGetDeviceInterfaceAlias implementation is also required to be applied. MS sysaudio implementation(s) except that those keys are non-volatile (but we're creating them volatile instead), and trying to create a subkey(s) there (via other IoDeviceInterface* routines), to read/write some needed data. But then they fail to do that with STATUS_CHILD_MUST_BE_VOLATILE (0xc0000181), obviously because our keys are volatile.
The volatile keys can never have non-volatile subkeys.
CORE-17361
2022-03-28 08:13:05 +02:00
Hermès Bélusca-Maïto
215148267e [HALX64] Do not claim to handle display reset if you don't. Fix bootvid display initialization in x64 as a result.
The HalpBiosDisplayReset() function is currently stub-plemented.
Returning FALSE will make bootvid take the route of fully
re-initializing the VGA display all by itself.
2022-03-28 00:32:25 +02:00
Eric Kohl
38b38bbf0c [DISKPART] Implement the detail command
Display disk and partition details.
2022-03-28 00:25:34 +02:00
Eric Kohl
8476ae6ed5 [DISKPART] Improve the conversion of numeric command parameters 2022-03-28 00:04:24 +02:00
Eric Kohl
72087c1e3a [DISKPART] Move helper functions to a separate file 2022-03-27 20:09:34 +02:00
Hermès Bélusca-Maïto
d873865971 [SDK:CMLIB] Const-ify the unicode strings that are only used as input and not modified. 2022-03-27 19:38:54 +02:00
Hermès Bélusca-Maïto
a6da36ed1b [BOOTDATA] Properly capitalize 'Boot File System'. 2022-03-27 19:38:53 +02:00
Hermès Bélusca-Maïto
ce641de1e0 [NTOS:CONFIG] Add missing HvGetCell casts. Addendum to a4cad7be6. 2022-03-27 19:38:53 +02:00
Hermès Bélusca-Maïto
8ccd435eb0 [SDK:CMLIB] HvGetCell is a macro calling the hive's GetCellRoutine callback.
In principle there should be different get-cell routines, depending
on the type of the hive (given by the OperationType parameter of
HvInitialize): for flat hives, memory-mapped hives, etc.
For now in ReactOS we only support a restricted subset of these,
therefore we are still happy with a single get-cell callback...
This may change in the future.
2022-03-27 18:37:16 +02:00
Hermès Bélusca-Maïto
a4cad7be6b [SDK:CMLIB][MKHIVE][BOOT:ENVIRON][NTOS:CONFIG] Add missing HvGetCell casts. Replace some ASSERT(FALSE). 2022-03-27 18:37:16 +02:00
Eric Kohl
641fdb342e [DISKPART] Store full scsi address in the diskentry 2022-03-27 18:05:04 +02:00
Eric Kohl
5a63f3e85a [DISKPART] Implement the uniqueid command
TODO: Set disk signatures.
2022-03-27 17:54:38 +02:00
Eric Kohl
2ba6b09754 [DISKPART] Add volume support
Add the 'list volume' and 'select volume' commands
2022-03-26 15:18:08 +01:00
Hermès Bélusca-Maïto
eeb4cbcb6b [FREELDR:INF] Change immutable input string pointers to PCSTR when it's possible. 2022-03-25 18:54:22 +01:00
Hermès Bélusca-Maïto
e51c305f51 [SDK:RTL] Consistently use the Allocate/FreeStringMemory helpers when allocating/freeing string buffers. 2022-03-25 18:54:21 +01:00
Hermès Bélusca-Maïto
ab827f5225 [SDK:RTL] Don't copy-paste rtl.h into rtl_vista.h; just include it instead. 2022-03-25 18:54:20 +01:00
Hermès Bélusca-Maïto
fa404fb2b4 [SDK:RTL] Place source files in alphabetical order in CMakeLists.txt 2022-03-25 18:54:19 +01:00
Hermès Bélusca-Maïto
9d3c3a757a [SDK:REACTOS][CMLIB][BOOT] Get rid of the FreeLdr-specific __FREELDR_H define, and use the standard NT _BLDR_ instead.
This standard _BLDR_ define is already defined for both FreeLdr and
boot/environ UEFI bootloader lib, so no actual behavioural changes
should occur.
2022-03-25 18:54:18 +01:00
Joachim Henze
44a6987493 [CRT_APITEST] wctomb.c Fix '\n.' typos CORE-18103
Addendum to 0.4.15-dev-139-g 3cb0bdaa0b

Those were the only new cases introduced in the ReactOS source tree since
our last cleanup in that regard.
Ftr I think adding such finishing dots in debug prints are nonsense in general.
2022-03-25 18:42:07 +01:00
Joachim Henze
a8107ee446 [REACTOS] Fix ' \n' typos in *.rc CORE-18103
Some new were introduced recently since we did that
replacement the last time. Kill them quickly.
2022-03-23 21:10:08 +01:00
Joachim Henze
b66389c140 [SERVICES] Restore Herves name and readd g_dwServiceBits CORE-18071
Partial revert of 0.4.15-dev-4274-g d31a557237

As hbelusca explained the special character will warn only
once for each non-UTF8-file and not every time, unlike I anticipated.

The g_dwServiceBits is not important right now, but hpoussin expects it
to be a preparation step for making the stuff passed to the
function SetServiceBits() persistent
https://docs.microsoft.com/en-us/windows/win32/api/lmserver/nf-lmserver-setservicebits
for (yet unknown) features to come.
2022-03-20 20:52:53 +01:00
Joachim Henze
d31a557237 [SERVICES] Tweak the binary size a bit CORE-18071
Fixes some typos like "alread"->"already"
and kill g_dwServiceBits in rpcserver.cpp
and omit points and exclamation marks at end of prints.

On GCC8.4.0dbg RosBE2.2.1 this shrinks the file for me from 210.432 to 209.920
The file is loaded many times into memory, therefore
optimization pays off here at runtime memory consumption.

Also shorten to H. Poussineau in the header sections,
to stop git from displaying diff in that line on each review
due to that special char.
2022-03-20 20:12:56 +01:00
Mark Jansen
80c56a5f6c [WINESYNC]: msi is now in sync with wine-staging wine-7.3 2022-03-20 19:28:46 +01:00
winesync
3b5586f635 [WINESYNC] msi: Create the custom action server as an elevated process.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51143
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>

wine-staging patch by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:45 +01:00
winesync
48d97683b3 [WINESYNC] msi: Do not sign extend after multiplying.
Signed-off-by: Mark Jansen <learn0more+wine@gmail.com>

wine-staging patch by Mark Jansen <learn0more+wine@gmail.com>
2022-03-20 19:28:45 +01:00
winesync
f162f02b5d [WINESYNC] msi/tests: Fix the trailing linefeed in an ok() message.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 194d1b72587756512c693df7c2fce505d591c905 by Francois Gouget <fgouget@free.fr>
2022-03-20 19:28:45 +01:00
winesync
0dd82beda9 [WINESYNC] msi/tests: Correctly free usersid.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1bab386adffce4cd5589cec43b407d53230ef1cd by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:45 +01:00
winesync
1b4acd3c65 [WINESYNC] msi/tests: Build without -DWINE_NO_LONG_TYPES.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 54b8c8c7eaafd19780cb4d91b763fe2f20327f50 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:45 +01:00
winesync
02f995b22e [WINESYNC] msi: Build without -DWINE_NO_LONG_TYPES.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c3135c632f1df0091afd5d0d62855f3dc7abe247 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:44 +01:00
winesync
36bf554942 [WINESYNC] msi: Use correct integral type.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 337d7911bfb83b0e775a34c96b67b4e67c1fa871 by Eric Pouech <eric.pouech@gmail.com>
2022-03-20 19:28:44 +01:00
winesync
d683397fb9 [WINESYNC] msiexec: Enable compilation with long types.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 081bd13f1159b43b4d9167d878217669d0eff3cd by Eric Pouech <eric.pouech@gmail.com>
2022-03-20 19:28:44 +01:00
winesync
848267813e [WINESYNC] msi: Fix memory leak in get_fusion_filename (Coverity).
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ad90181e1407bc4ffe81e55f07f83b23c09cccb8 by Alex Henrie <alexhenrie24@gmail.com>
2022-03-20 19:28:44 +01:00
winesync
6aefc5b976 [WINESYNC] msi/tests: Use CRT allocation functions.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 11ddaf067f80749fa1a40b28dba3aa3f88a70623 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:44 +01:00
winesync
1b18dc22d5 [WINESYNC] msi: Use CRT allocation functions.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0d5f28457e8eced81677509f5129a20f10df526c by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:43 +01:00
winesync
34c24483e5 [WINESYNC] msi/tests: Avoid "misleading indentation" warnings.
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 164664a34ee7f01395e8b9028728a026268c1595 by Fabian Maurer <dark.shadow4@web.de>
2022-03-20 19:28:43 +01:00
winesync
5deb0e6042 [WINESYNC] msi: Use custom action name for MsiBreak handling.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50433
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b74b634335c8d843e6dc2ef21e5d9248ca05bae9 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:43 +01:00
Mark Jansen
218a1ae241 [WINESYNC] include: Introduce winetest_push_context() and winetest_pop_context().
include: Introduce winetest_push_context() and winetest_pop_context().

Based on vkd3d's vkd3d_test_set_context(), but adding support for a stack of
context prefixes, to more easily accomodate tests with nested loops.

af39a1b0bce0622ed8df0e64f9c794380eb30c45

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-20 19:28:43 +01:00
winesync
eb75eae983 [WINESYNC] makefiles: Specify the bison prefix directly in the source files.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f4af3134dec425706b74428317e9ab327b6061cc by Alexandre Julliard <julliard@winehq.org>
2022-03-20 19:28:42 +01:00
winesync
9a05b53ce8 [WINESYNC] msi: Don't call RegCloseKey with uninitialized value.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4240e71a350b16d7ba048a839683c2023d03c831 by Eric Pouech <eric.pouech@gmail.com>
2022-03-20 19:28:42 +01:00
winesync
3d6aaff254 [WINESYNC] msi: GetBinaryType() doesn't accept DLLs.
With help from Dmitry Timoshkov.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51790
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4aa858c9badfb35bcc3cdd38abfd40dc5b06c696 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:42 +01:00
winesync
faea5bf012 [WINESYNC] msi: Wrap around to first record at end of view in MSI_ViewFetch.
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 547492007e17ed7fe3c2e5ffd5f58f0d46a40048 by Jinoh Kang <jinoh.kang.kr@gmail.com>
2022-03-20 19:28:42 +01:00
winesync
47b3e61d62 [WINESYNC] msi/tests: Add tests for MsiViewFetch wraparound behaviour.
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f26a9d093dff052e1db0c68db8801219d409cb3f by Jinoh Kang <jinoh.kang.kr@gmail.com>
2022-03-20 19:28:42 +01:00
winesync
91f589bcea [WINESYNC] makefiles: Directly generate resources also for non-registered typelibs.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 04d8725080fdc1c97fcd04065acf6b30f42057a7 by Alexandre Julliard <julliard@winehq.org>
2022-03-20 19:28:41 +01:00
winesync
6eaaa698cd [WINESYNC] msiexec: Append .msi extension to file name if file is not found.
Fixes Stellaris failing to install launcher at start.

Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fd5d942a733bf35b7c6b6644d2aed571c185baba by Paul Gofman <pgofman@codeweavers.com>
2022-03-20 19:28:41 +01:00
winesync
f56eca297a [WINESYNC] msi: Use the standard va_list instead of __ms_va_list.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 523553512a580a885b1783c773699dfe0928e3b6 by Alexandre Julliard <julliard@winehq.org>
2022-03-20 19:28:41 +01:00
winesync
8c1eae241a [WINESYNC] msi: Pass size in bytes to RegQueryValueExW().
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6a6bdd2cee87bb076d57aaa013b2492d8b70506f by Zhiyi Zhang <zzhang@codeweavers.com>
2022-03-20 19:28:41 +01:00
winesync
00510cf555 [WINESYNC] include: Use the standard va_list instead of __ms_va_list when building with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2a92c58e1152e1d80395cf31d7cd3f282d094540 by Alexandre Julliard <julliard@winehq.org>
2022-03-20 19:28:41 +01:00
winesync
d749abb725 [WINESYNC] msi: Fixup Installer\\Patches\\<...> key path (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 856e8ea298eebf0eaedd5f352476e6e986b1bd67 by Nikolay Sivov <nsivov@codeweavers.com>
2022-03-20 19:28:40 +01:00
winesync
a966ff8233 [WINESYNC] msi: Set dialog as parent in subsequent dialog.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51576
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4b88e290521ef9fde9290c9bcbae7420966a6f46 by Fabian Maurer <dark.shadow4@web.de>
2022-03-20 19:28:40 +01:00
winesync
e097431ffc [WINESYNC] msi: Don't leak the file handle on error in cabinet_close_file_info().
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a0a800ab1bd174e78b03d4592d1caca0322cd1c9 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:40 +01:00
winesync
bdddd67734 [WINESYNC] msiexec: Add system DPI awareness settings to the application manifest.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id aa3f2ccd1dbf963cd1bed5e15458719a0488017d by Zhiyi Zhang <zzhang@codeweavers.com>
2022-03-20 19:28:40 +01:00
winesync
c239da3a8a [WINESYNC] msi: Remove CDECL on static functions where not needed.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b60e4064508e79ca6fdb2937ca8cfd3f58423f79 by Francois Gouget <fgouget@free.fr>
2022-03-20 19:28:40 +01:00
winesync
026a2db614 [WINESYNC] msi: Fix ASCII / ANSI mixups in comments.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 45fb4ac4e2f94486e36d6d271c08b59feee4d12e by Francois Gouget <fgouget@free.fr>
2022-03-20 19:28:39 +01:00
winesync
0a1c22503d [WINESYNC] include: Fix size of MsiEnumClientsEx[AW]'s array argument (GCC).
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 14e205ff502ec7275d2c4cf59b1446ac0a294416 by Alex Henrie <alexhenrie24@gmail.com>
2022-03-20 19:28:39 +01:00
winesync
a8f4759920 [WINESYNC] msiexec: Enable visual styles.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 76e448bd7dc147443191b9f652f2f274f44e9fbe by Zhiyi Zhang <zzhang@codeweavers.com>
2022-03-20 19:28:39 +01:00
winesync
de80f2a3c1 [WINESYNC] msi: Check for a NULL return from deformat_string() when checking for failure.
An empty string is valid, and can occur if e.g. a nonexistent property is
expanded.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51091
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 814f18ab756cd69158ce893c4f7898e14d3e46dc by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:39 +01:00
winesync
8975937c00 [WINESYNC] msi/tests: Make check_reg_* helpers more verbose.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a0f54eee2a5dc985d7e16c382516c8b66e61e54f by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:39 +01:00
winesync
c595505376 [WINESYNC] msi/tests: Always explicitly test REG_MULTI_SZ strings.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 80426fdc76597768b787a38644f1c53110b26f05 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:38 +01:00
winesync
9d3876e40f [WINESYNC] msi: Write "Clients" value as REG_MULTI_SZ in PublishProduct.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1951853d06144e67b8a3d9d63c835e06a7232588 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:38 +01:00
winesync
8c80eb17f5 [WINESYNC] msi/tests: Pass an empty string to check_reg_str() instead of special-casing NULL.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2052d03fdf82ea9112c6ce3719936e245834eeb7 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:38 +01:00
winesync
7cface09ce [WINESYNC] winecrt0: Add a default implementation DllRegisterServer()/DllUnregisterServer().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5d82baf9747b7b133cad3be77c0cc9e24cc09582 by Alexandre Julliard <julliard@winehq.org>
2022-03-20 19:28:38 +01:00
winesync
4bf22783a8 [WINESYNC] msi: Use nameless unions.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cc2cc1463a493651f765fe18852a16c01184ad92 by Jacek Caban <jacek@codeweavers.com>
2022-03-20 19:28:38 +01:00
winesync
a3e22d8922 [WINESYNC] msi: Fix building the fusion filename.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50809
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 46424c6196a7b544ff6173d544fc120cc9f804d9 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:37 +01:00
winesync
1c1431b92f [WINESYNC] msi: Remove read-only bit when copying the package file.
CopyFileW also copies the file attributes, and the copy will be opened with
write access later on.

Signed-off-by: Jérôme Gardou <jerome.gardou@reactos.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e830975806df9ef283c89f7153b06b145dfb2cec by Jérôme Gardou <jerome.gardou@gmail.com>
2022-03-20 19:28:37 +01:00
winesync
34b3377879 [WINESYNC] msi: Return an error if trying to run a 64-bit custom action in a 32-bit prefix.
This matches native behaviour (manually tested).

This allows the Research in Motion (Blackberry) USB and Modem driver to fail
cleanly instead of hanging, if run in a 32-bit prefix.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 408662379281aa24f41b680f1aba9abf2b40c603 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:37 +01:00
winesync
fc7157139f [WINESYNC] msi: Check for failure from do_msidbCustomActionTypeDll().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5f21acdc9e9840b50a6991b8e8dc52758adb192d by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:37 +01:00
winesync
8585445613 [WINESYNC] msi: Also set "MsiRunningElevated" installer property.
This property is supposed to be set starting from Windows Installer
4.0 targeting Windows Vista. This patch fixes the installer that
checks this property in addition to VersionNT and ALLUSERS.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id dac655abce0397b3c1accec64039b8cd75beb561 by Dmitry Timoshkov <dmitry@baikal.ru>
2022-03-20 19:28:36 +01:00
winesync
0fdd4d83b3 [WINESYNC] msi/tests: Use wide-char string literals.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f211bd0a4e0b8e8911b6a64ff4f09bb9d4ec2f84 by Michael Stefaniuc <mstefani@winehq.org>
2022-03-20 19:28:36 +01:00
winesync
7d95ee4fe9 [WINESYNC] msi: Use a string literal for empty strings.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 17c745a9d253b888366831ce4b9e695297f0dac2 by Michael Stefaniuc <mstefani@winehq.org>
2022-03-20 19:28:36 +01:00
winesync
9ad17dd7b2 [WINESYNC] msi: Correct Query for loading an image.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 358d4f5a914e574c026380666964fcefb0495517 by Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2022-03-20 19:28:36 +01:00
winesync
b6228b299c [WINESYNC] msi/tests: Test the "VersionNT" property.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 990fc66274d68b915df62005ab93792129612fc1 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:36 +01:00
winesync
9fb472fc26 [WINESYNC] msi: Use the global is_wow64 variable in custom_start_server().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 12ae1f8528b18d0df018680747429be29fca7ea4 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:35 +01:00
winesync
f31e4044c2 [WINESYNC] msi/tests: Use wide character string literals.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 058ca3d04a4a712d86a111a1975045be02e03133 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:35 +01:00
winesync
74f53b4bcb [WINESYNC] msi: Use wide character string literals in the remaining files.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c4fc91f4bf0ffdc4a7dc2e582e5bd3fddca85222 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:35 +01:00
winesync
d012037f17 [WINESYNC] msi: Use wide character string literals in classes.c.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e7dd9b3f3694b276d50ccfb5515e7e0f70b1c555 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:35 +01:00
winesync
0f67ae4bda [WINESYNC] msi: Use wide character string literals in registry.c.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2672646eaeb1877e0d746e8554529396ec8d9eb1 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:35 +01:00
winesync
0272139cbc [WINESYNC] msi: Use wide character string literals in package.c.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 731bb72c3d00b089ee23297efdfe0496733e96a4 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:34 +01:00
winesync
a808407b15 [WINESYNC] msi: Use wide character string literals in msi.c.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8255da2249816b77b709d1e6c888760c5e59a8f8 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:34 +01:00
winesync
9066c718b0 [WINESYNC] msi: Use wide character string literals in dialog.c.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d9fbe788af65c2b2696c446d765a34ae40e3226b by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:34 +01:00
winesync
7ceaee6d19 [WINESYNC] msi: Use wide character string literals in action.c.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8e13b0b99c823bc22c7eef8b8dac04de283ca462 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:34 +01:00
winesync
ce6af3b1bc [WINESYNC] msi: Use 0 terminated WCHAR strings in the SQL tokenizer.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6705b959d0cf7635bf2ab16ab89fefb409a0a9c8 by Michael Stefaniuc <mstefani@winehq.org>
2022-03-20 19:28:33 +01:00
winesync
cdb9abd625 [WINESYNC] msiexec: Use wide-char string literals.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 64709fe7e9c629f476fb0dd7b62480e868b0174c by Michael Stefaniuc <mstefani@winehq.org>
2022-03-20 19:28:33 +01:00
winesync
dac7d6f23c [WINESYNC] msi: Fix a leak (Coverity).
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 462edf6e2a79208d6c88ac6aeb760733d571b7c5 by Sven Baars <sbaars@codeweavers.com>
2022-03-20 19:28:33 +01:00
winesync
1cdb30ec0d [WINESYNC] msi: Install feature when new component is added.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49350
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 877540b522c46134aa1b843519fa5694adb187ce by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:33 +01:00
winesync
aa0312d7cb [WINESYNC] msi: Add disabled feature to show that it's not getting installed by patch.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 99e7c801e4d5032110190acbb04d85eb069df867 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:32 +01:00
winesync
8bb4f0597d [WINESYNC] msi: Test adding new feature in patch.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cc8bc83e9ecd2aba8e322a974af268e715fbd372 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:32 +01:00
winesync
1c5160dca5 [WINESYNC] msi: Add support for appending data to _TransformView table.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3459c90cd6a49e817213b6e6764bdfafa7d4bcc7 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:32 +01:00
winesync
ed0e61b53a [WINESYNC] msi: Remove no longer needed parameter from TABLE_remove_column.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d579b17eb425ac5e28f9263ebf302ea2282996ec by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:32 +01:00
winesync
c6c4bdb242 [WINESYNC] msi: Fix use after free error in TransformView_set_row.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6a0a0d2a0b15bffa9d4a5b41e75be6765e731d69 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:32 +01:00
winesync
61167e123f [WINESYNC] msi: Remove MSICOLUMNINFO.temporary field.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b61455cb81714ff4f4108b70584816adbffbc68a by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:31 +01:00
winesync
791734c2e9 [WINESYNC] msi: Remove column_info.temporary field.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 76a2077c83048d8eead8ea0cbfafa70406c0cd88 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:31 +01:00
winesync
9cf1ecf2f3 [WINESYNC] msi: Fix adding temporary columns.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 15b47513a1926a103492e0774396119f57d2e8d5 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:31 +01:00
winesync
41e6537b69 [WINESYNC] msi: Add table existance tests for tables with temporary columns.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cb9cb83cda01fa873667e11038d9bdd01428f059 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:31 +01:00
winesync
8b9aafd97b [WINESYNC] msi: Test freeing _TransformView table.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id eb5a803bdbb8f602ae1212674a121cadd24642a5 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:31 +01:00
winesync
eb6788c943 [WINESYNC] msi: Remove ref_count from MSICOLUMNINFO.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7200257d0428b1e9b4da72e8c4e39f9cf27455e6 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:30 +01:00
winesync
caa225a496 [WINESYNC] msi: Fix table ref count on create.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 405486fbe6853c78744099fa1ebe07995e07a438 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:30 +01:00
winesync
5c718f5f5c [WINESYNC] msi: Support removing temporary columns in TABLE_remove_column.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5d568279dc0b842206918ba87a955298e72973ae by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:30 +01:00
winesync
f78dfeafac [WINESYNC] msi: Add MsiDatabaseApplyTransformA MSITRANSFORM_ERROR_VIEWTRANSFORM test.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 301dde9838563d33b610c2c09dc69cb07c4c8c9d by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:30 +01:00
winesync
4048c060fc [WINESYNC] msi: Support DELETE when MSITRANSFORM_ERROR_VIEWTRANSFORM flag is used.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b1f9f4ccee6f7d42dbeaf457e81db462a1b526af by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:30 +01:00
winesync
9d793f296e [WINESYNC] msi: Support DROP when MSITRANSFORM_ERROR_VIEWTRANSFORM flag is used.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6b6e1bd2c73ac23b03db0e656f895896936df5ba by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:29 +01:00
winesync
e6af2a5a61 [WINESYNC] msi: Support INSERT INTO when MSITRANSFORM_ERROR_VIEWTRANSFORM flag is used.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9130379710297cb487dbd8891b82f505e754c39d by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:29 +01:00
winesync
28c50c1ac7 [WINESYNC] msi: Support ALTER TABLE when MSITRANSFORM_ERROR_VIEWTRANSFORM flag is used.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ae6fd7b14792b932832da6f5d5088d500723c386 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:29 +01:00
winesync
27a430bda6 [WINESYNC] msi: Support CREATE when MSITRANSFORM_ERROR_VIEWTRANSFORM flag is used.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7e4077fb6d77810e40e842e7557c03ab3abe0593 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:29 +01:00
winesync
317c1f6c05 [WINESYNC] msi: Support UPDATE when MSITRANSFORM_ERROR_VIEWTRANSFORM flag is used.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6e7303a7006538d3df1a09e13f5a5f469098b35f by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:29 +01:00
winesync
1bbb87bb26 [WINESYNC] msi: Add stub support for MSITRANSFORM_ERROR_VIEWTRANSFORM flag in MsiApplyTransform.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8bc835b4517728fac8ff8a9cfa5e59b843e9a8df by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:28 +01:00
winesync
8e75cb8a26 [WINESYNC] msi: Introduce msi_record_stream_name helper.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5fc68884adec547a5343e8713e8727282b5aa25a by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:28 +01:00
winesync
ce486a09ef [WINESYNC] include: Add MSITRANSFORM_ERROR enum definition.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 57b870007dddd86c6772ce1707148ec7ad8bd8db by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:28 +01:00
winesync
5c7b97165c [WINESYNC] msi: Fix installing from administrative image with compressed source files.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49352
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 15c8e5dee6fa3b7eac1d1b3cd6d27aa744faff4d by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:28 +01:00
winesync
1c0e89646f [WINESYNC] msi: Return void from init_automation_object.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1726b7f46c03a543f5d682d951f29a4af41001e7 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:28 +01:00
winesync
c65efd0116 [WINESYNC] msi: Add support for bitmap buttons.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48974
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9cc044957791e0658ec3d0d8ad08eebfc08b522c by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:27 +01:00
winesync
f4d2571b7e [WINESYNC] msi: Report the real NT version number up to 6.3.
MSI always reports 6.3 even without a manifest, but does not report anything
higher.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48959
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 658183a803fced017e1e29f4001cec8b48748327 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:27 +01:00
winesync
ba60287fce [WINESYNC] msi: Add support for ListView dialog control.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 76606eaea034c51a73190aac92e75d8b20e82164 by Dmitry Timoshkov <dmitry@baikal.ru>
2022-03-20 19:28:27 +01:00
winesync
484e828005 [WINESYNC] msi/tests: Fix some format-overflow warnings.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f961817710edd81b5d91bb7cb3f78975c307bfa2 by Rémi Bernon <rbernon@codeweavers.com>
2022-03-20 19:28:27 +01:00
winesync
98d8ddaaa0 [WINESYNC] msi: Change unknown platform enum entry name.
Public shlwapi.h defines same name, it seems safer to rename internal type.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5aeb9ed82efd4a02d24eac4ffdb64e7badb5f8bd by Nikolay Sivov <nsivov@codeweavers.com>
2022-03-20 19:28:27 +01:00
winesync
3d671fafe3 [WINESYNC] msi: Properly declare variables in msi/tests/utils.h as extern.
Omitting the extern storage qualifier when declaring a global variable in
a header file is mistake. If that header is included by several files it
results in multiple definitions of the same variable (unless -fcommon is
specified or assumed, the latter being the case for GCC 9.x and earlier).

This fixes building with GCC 10.

Signed-off-by: Gerald Pfeifer <gerald@pfeifer.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ea032bb7f8daddfe308f86f52c54db5f657b658a by Gerald Pfeifer <gerald@pfeifer.com>
2022-03-20 19:28:26 +01:00
winesync
5741562d55 [WINESYNC] msi: Global variable compatibility update for gcc 10.
Signed-off-by: Michael Cronenworth <mike@cchtml.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cc7f698b8245a48669d248569e7589ff824f2c70 by Michael Cronenworth <mike@cchtml.com>
2022-03-20 19:28:26 +01:00
winesync
373ffef2ef [WINESYNC] msi: Add support for custom action type 7.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=44618
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 54ef6e5e3932a5ce747fca717c697b67f2bd3e24 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:26 +01:00
winesync
be64b5c843 [WINESYNC] msi/tests: Fix a crash on Windows 10.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4661c8d45b8f4b4b2adfb157bb16ce3466bc00f0 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:26 +01:00
winesync
ea5d4e807c [WINESYNC] msi/tests: Fix test_feature_override() to properly clean up its features on removal.
This was leaving behind registry entries (as well as the already accounted-for
program files), which apparently caused subsequent test failures when running
msi:action.

While Wine is not behaving exactly correctly here (i.e. and removing the feature
anyway), I suspect it is not sufficiently interesting to test whether we behave
correctly with what is essentially a buggy package.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 932ed6bf84a96efa6e0169eb7c9414824eef195c by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:26 +01:00
winesync
fb0b52255c [WINESYNC] msi/tests: Avoid test failure when running as an unprivileged user.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 90422f9bb59d4a2e34ad9cffbb4f04b896ab7235 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:25 +01:00
winesync
ad8c894b8f [WINESYNC] msi: Use %define api.pure instead of %pure-parser.
The latter is deprecated and causes warnings.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d977c55bb4b9c564f376c22b43c60c9be7dc782d by Alexandre Julliard <julliard@winehq.org>
2022-03-20 19:28:25 +01:00
winesync
796c6b07d2 [WINESYNC] msi: Use integers internally for MSIDBOPEN constants.
This fixes a bug where some verions of mingw and probably gcc
assume that the result of pointer subtraction will be non-NULL,
causing MSI_OpenDatabaseW to break when given the mode
MSIDBOPEN_READONLY + MSIDBOPEN_PATCHFILE.

Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cce9a5f124ae6d3fffcc7772cab6523f09a1e3d1 by Vincent Povirk <vincent@codeweavers.com>
2022-03-20 19:28:25 +01:00
winesync
694121b969 [WINESYNC] msi/tests: Remove workarounds for Windows 2000.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 71f755820642777261c54d3fe6a04ba202059340 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:25 +01:00
winesync
2b92436d82 [WINESYNC] msi/tests: Run the package tests from a temporary directory.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8503ad172229979e9929e8d54dac546c5b799a03 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:25 +01:00
Mark Jansen
427d8af7f1 [SDK/WINE] Add support for subtest
033196641b
2022-03-20 19:28:24 +01:00
winesync
d7c30ed194 [WINESYNC] msi/tests: Fix test failures.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1b4b37cc7e05724fac235cef278a97b358d0cba1 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:24 +01:00
winesync
3b27d975e8 [WINESYNC] msi/tests: Add missing UnpublishFeatures actions.
Reported by Sven Baars.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47992
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4f7bd33a838afca7086e993a9be7fa2d8dbdb5b6 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:24 +01:00
winesync
a57d95c134 [WINESYNC] msi: Fix the spelling of a comment.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a0c6c8c2ecdad0bf8992b6c89276ee7bf2402883 by Francois Gouget <fgouget@free.fr>
2022-03-20 19:28:24 +01:00
winesync
a88e131f97 [WINESYNC] msi/tests: Fix the case of an ok() message.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3f2cae1378cc14e98747af6c0de02cb1e6a69928 by Francois Gouget <fgouget@free.fr>
2022-03-20 19:28:24 +01:00
winesync
b248722082 [WINESYNC] msi/tests: Fix a test failure on Windows XP.
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id eec7f105124a58565fa35ca61c1bc8289321fedc by Sven Baars <sven.wine@gmail.com>
2022-03-20 19:28:23 +01:00
winesync
64fe3dd207 [WINESYNC] msi: Fix a leak on error path (Coverity).
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fe91ae51f1553875c1858df264c0603877d50737 by Sven Baars <sven.wine@gmail.com>
2022-03-20 19:28:23 +01:00
winesync
9e09d87f83 [WINESYNC] msi/tests: Declare the custom subtest.
It may print test failures and as such should be declared by its parent.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 208ff02005e183a9f9b153644e06ace3e865df5e by Francois Gouget <fgouget@codeweavers.com>
2022-03-20 19:28:23 +01:00
winesync
16273720a9 [WINESYNC] msi: Don't error when an ODBC Data Source fails to register.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e4f1f9b7bdd46bf1f18c1e337ac6864bee3b0733 by Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2022-03-20 19:28:23 +01:00
winesync
06129f8479 [WINESYNC] msi: Fix component Action for shared components in CostFinalize.
Fixes regression in wow .NET4.6.2 installation.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d95bffdadbf18b91c1bb15cc7132ae3b9f505f98 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:22 +01:00
winesync
f51751dd6b [WINESYNC] msi/tests: Actually test two return values.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8738075da4e59336898457fb381488aa3be877cb by Michael Stefaniuc <mstefani@winehq.org>
2022-03-20 19:28:22 +01:00
winesync
7235446447 [WINESYNC] msi: Close all handles opened by a custom action thread.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47418
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e4e7e956bd93f0ffd597a041a58c82c02c811ac0 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:22 +01:00
winesync
461c9cb74a [WINESYNC] msi/tests: Accept case variations for path properties.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 48f93bc3290596b8da4455496fa88cd13ea6f3c9 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:22 +01:00
Mark Jansen
eefbf83462 [SDK] Include stdio in wine/debug.h
Wine also has this, and they rely on it in some files
2022-03-20 19:28:22 +01:00
Mark Jansen
f1132155d9 [SDK][CRT] Add _CRT_NON_CONFORMING_SWPRINTFS support
This allows us to easier port wine changes, where swprintf with a size is used a lot
2022-03-20 19:28:22 +01:00
winesync
958f1addcf [WINESYNC] msi: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7cd3c9f0734d217e1d08319e72a9df91fe2ef882 by Alexandre Julliard <julliard@winehq.org>
2022-03-20 19:28:21 +01:00
winesync
984f969d62 [WINESYNC] msi/tests: Don't skip a 64-bit test on Wine.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3b621e6d6d0db956864907bc7960cdd20428b033 by Alexandre Julliard <julliard@winehq.org>
2022-03-20 19:28:21 +01:00
winesync
0f3c2a7956 [WINESYNC] include: Move inline assembly definitions to a new wine/asm.h header.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d5a372abbba2e174de78855bdd4a004b56cdc006 by Alexandre Julliard <julliard@winehq.org>
2022-03-20 19:28:21 +01:00
winesync
13f70a1e5f [WINESYNC] msi: Use strncmpiW instead of memicmpW for strings without embedded nulls.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 280d10b27715c86a5784bba8db7db1e52b1602fa by Alexandre Julliard <julliard@winehq.org>
2022-03-20 19:28:21 +01:00
winesync
f0decc7608 [WINESYNC] msi: Remove registration for no longer used WineMsiRemoteCustomAction coclass.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f73fefd24c175436f3623939973b377d0822e02e by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:21 +01:00
winesync
62230ae3d8 [WINESYNC] msiexec: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8dff0e34452f4874873c91a7ec3b92a7cf1c3e16 by Alexandre Julliard <julliard@winehq.org>
2022-03-20 19:28:20 +01:00
winesync
a32b4b85c6 [WINESYNC] makefiles: Build all tests with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d4ef782db7928e0deed5f0b43a8a1557cae0358e by Alexandre Julliard <julliard@winehq.org>
2022-03-20 19:28:20 +01:00
winesync
3b835aa0ab [WINESYNC] msi/tests: Avoid using snprintf().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 72f7f57a21d6e4dd63de56d4a9a265048ed930b6 by Alexandre Julliard <julliard@winehq.org>
2022-03-20 19:28:20 +01:00
winesync
bef1f25922 [WINESYNC] msi: Always use the 64-bit registry view to retrieve registered owner and organization.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0d17f36c13f129d5bfed290a0583b441657a6a9a by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:20 +01:00
winesync
0d7b11abec [WINESYNC] msi/tests: Check the NT key first when retrieving registered owner and organization.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id dec192ce22283c4c0cb80337e0ce0904d9d9be89 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:20 +01:00
winesync
8db2fe8cb4 [WINESYNC] msi: Get rid of redundant KEY_WOW64_64KEY flags.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id be02ecda3c27f4fa3ed574b1df4e51337f9304de by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:19 +01:00
winesync
c3c3655cab [WINESYNC] msi: Fix handling of architecture in MSIREG_{Open, Delete}UninstallKey().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47009
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3d9363446fad694b6e534d84fce63bfc9dbbf4d3 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:19 +01:00
winesync
435274d1ec [WINESYNC] msi: Fix architecture handling in the AppSearch action.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id eb508e5a014f59fbb2c70d9909ba0870ce2b901a by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:19 +01:00
winesync
6537d52d54 [WINESYNC] msi: Remove system environment variables on uninstall.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7f95ed7cd2d440420c0c3d1a938af8b48960f352 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:19 +01:00
winesync
4d61fb5224 [WINESYNC] msi: Take architecture into account when accessing the shared dll reference count.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5b6bf621cdc0b67528e2f0312d0a89d7cdfce5a7 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:19 +01:00
winesync
92a82b2faa [WINESYNC] msi: Get rid of a redundant get_registry_view call.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5caebb2650e386904544a2c0326e2b0f1bd39bc3 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:18 +01:00
winesync
3635da2096 [WINESYNC] msi: Use KEY_WOW64_* flags in ACTION_Register/UnregisterClassInfo.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 70732e273eb52821bfd725f3b1ea1919b8c0e3b0 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:18 +01:00
winesync
a3cf801a46 [WINESYNC] msi: Use case sensitive compare in handle_msi_break.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8c4b75f252dd5f127320144a43472d4558489af4 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:18 +01:00
winesync
b3eae05b11 [WINESYNC] msi: Add MsiSourceListForceResolution{A,W} stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46881
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2e95d2247d8fb83d040bdfce388ed4e96172427c by Louis Lenders <xerox.xerox2000x@gmail.com>
2022-03-20 19:28:18 +01:00
winesync
d672ffc384 [WINESYNC] msi: Handle the remote case in MsiViewGetError().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46830
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 942964fdfbd0cb2af1ea6a1c681fc73d399bcce3 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:18 +01:00
winesync
616d504d32 [WINESYNC] msi: Perform partial copies in MsiViewGetError().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6a3dbf11923b96c93f1869c9b9ed34d68bdb2576 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:17 +01:00
winesync
a7fd7860ad [WINESYNC] msi/tests: Separate and expand tests for MsiViewGetError().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fac04043d93b9e24f9f68954c6688310ab424954 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:17 +01:00
winesync
b720e4c0e2 [WINESYNC] msi: Return ERROR_INVALID_HANDLE when MsiOpenPackage() is called from a custom action.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b2d3567c1b4846905f01612d8f499f45ed9d24ac by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:17 +01:00
winesync
df4fa37bf9 [WINESYNC] msi: Return ERROR_INVALID_HANDLE when MsiEnableUIPreview() is called from a custom action.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4bb40d1a95e525c63f1f6f1f20f0c054d46f2fff by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:17 +01:00
winesync
6d0c1c59ca [WINESYNC] msi: Return ERROR_INVALID_HANDLE when MsiDatabaseImport() is called from a custom action.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 19420f5f7c146f0ade010b9fbfaf21f926ef10a8 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:17 +01:00
winesync
0b31064d1b [WINESYNC] msi: Return ERROR_INVALID_HANDLE when MsiDatabaseExport() is called from a custom action.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3ff7d30520e4450fd9efbf5569eb28b82fb81aeb by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:16 +01:00
winesync
115d04ba20 [WINESYNC] msi: Return ERROR_INVALID_HANDLE when MsiDatabaseApplyTransform() is called from a custom action.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ed5f4bd14f5cece4bca63918b924606a09a3300d by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:16 +01:00
winesync
72c4091cef [WINESYNC] msi: Return MSIDBSTATE_ERROR when MsiGetDatabaseState() is called from a custom action.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46812
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 60b1fd7e8764ab63d79382c1805d4c007a6be332 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:16 +01:00
winesync
f7e42b9b96 [WINESYNC] msi/tests: Test calling more functions from custom actions.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ae0298d46e8d4b7b689783b9c459ceafc3631780 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:16 +01:00
winesync
af2abfcb7a [WINESYNC] msi: Avoid a crash in RemoveFiles if the component directory is invalid.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46907
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c7f323107b3b956d206d8d0ee28851d60f19841c by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:15 +01:00
winesync
c611d50ecc [WINESYNC] msi: Append the custom action client PID to the endpoint name.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46833
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 27a7952a84d157caed21a663dd827728a02c443e by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:15 +01:00
winesync
e89ff1f99b [WINESYNC] msi: Don't fail the BindImage action if the BindImage table is absent.
This fixes a regression introduced with
15f852015a0332313821804cc1fbad79216408c6 and observable with several
installers, including dotnet472.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46885
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a3dfd2f251f336f1cc570863edb60251227cdf5d by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:15 +01:00
winesync
e342f3379d [WINESYNC] msi: Disable filesystem redirection only when really needed.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46846
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 15f852015a0332313821804cc1fbad79216408c6 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:15 +01:00
winesync
a5ae0e3add [WINESYNC] msi: Add support for exporting binary streams (Binary/Icon tables).
The Binary and Icon tables store their data in a different format from
other tables, one column of the data is stored as a "stream" instead
of a normal text field.  With this patch those tables can now be
exported properly by the MSI export functionality.

Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f1d8218169715fcb64d4c6d81be7ead9d8bbf6ed by Erich E. Hoover <erich.e.hoover@gmail.com>
2022-03-20 19:28:15 +01:00
winesync
3d9c99d37a [WINESYNC] msi: Break out field exporting into a separate routine.
msi_export_record is a lot more complicated than necessary, this patch
splits out the field export part of that functionality as
msi_export_field.  This also needs to be separate for exporting binary
stream data (next patch).

Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b08d9998635137475dae335f8b45c909274d3001 by Erich E. Hoover <erich.e.hoover@gmail.com>
2022-03-20 19:28:14 +01:00
winesync
87ce83f46a [WINESYNC] msi: Add support for exporting the _SummaryInformation table.
The _SummaryInformation table stores a lot of important information
about an MSI database.  This patch adds the ability to export that
table since, like _ForceCodepage, it is stored in a different format
than the other tables.

Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 79fd42fc1ae0747f509fce05cedf9e56c9f928bc by Erich E. Hoover <erich.e.hoover@gmail.com>
2022-03-20 19:28:14 +01:00
winesync
3ad01e9aad [WINESYNC] msi: Add support for deleting streams from an MSI database.
msidb allows developers to remove "streams" (cabinet files) from a
database with the "-k" mode flag.  To support that feature we need
MSIMODIFY_DELETE support in the underlying MSI implementation.

Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 51d5242a5fa07a76077f2318fbbff968d760389d by Erich E. Hoover <erich.e.hoover@gmail.com>
2022-03-20 19:28:14 +01:00
winesync
23993e205c [WINESYNC] msi: Skip the special SummaryInformation stream in msi_commit_streams.
Avoids adding a useless table stream when called on an existing database.

Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 02a25a9d4fb170755d8de7aa7cb5d388c206b337 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:14 +01:00
winesync
8530abce68 [WINESYNC] msi: Don't use globals to manage assembly cache state.
Based on a patch by Zebediah Figura.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46719
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c64d73c829c3bde7744362b2cd566075ab7e37df by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:14 +01:00
winesync
17a9073433 [WINESYNC] msi: Prevent uninitialized variable usage.
Observed with Lync 2010 setup in ReactOS. The embedded Silverlight
setup hits this case (no LASTUSEDSOURCE in the registry).

Signed-off-by: Mark Jansen <mark.jansen@reactos.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 145b4109205c385cf1bd1ecd8a18e47c9f27a9fd by Mark Jansen <mark.jansen@reactos.org>
2022-03-20 19:28:13 +01:00
winesync
3c78b826b3 [WINESYNC] msi: Do not leak rootkey.
Signed-off-by: Mark Jansen <mark.jansen@reactos.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c91f254a7740dacd5cb6bc3f8817cd1806bddeb4 by Mark Jansen <mark.jansen@reactos.org>
2022-03-20 19:28:13 +01:00
winesync
9a70868a53 [WINESYNC] msi: Link directly to sxs.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id aaead3e433239898c0747bab32a2d2dfe63e5b3c by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:13 +01:00
winesync
f474f080a1 [WINESYNC] msi: Initialize assembly caches before disabling redirection.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46638
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a70ece68b7fa98e55e62eaed1006ceea961666ce by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:13 +01:00
winesync
0e4c16b13b [WINESYNC] msi: Remove duplicate condition in msi_dialog_destroy().
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 57dd594865b002205edb4e053102241bed72bd1a by Andrey Gusev <andrey.goosev@gmail.com>
2022-03-20 19:28:13 +01:00
winesync
5da3f84d5a [WINESYNC] msi/tests: Add more tests for MSIMODIFY_INSERT.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4179189ec6638ec74cf54eea68798218798affc1 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:13 +01:00
winesync
693fc86646 [WINESYNC] msi/tests: Add more tests for MSIMODIFY_MERGE.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 535983743c6e7bccb515a823f2e9bf721740aada by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:12 +01:00
winesync
a38f680cef [WINESYNC] msi/tests: Add more tests for MSIMODIFY_REFRESH.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d2e51963a6218e1ecb3d8127004b9c8c128dd746 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:12 +01:00
winesync
d2c4626d98 [WINESYNC] msi/tests: Add more tests for MSIMODIFY_ASSIGN.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0628a7c8bf43388a3c2d14ec5d57566921ef436c by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:12 +01:00
winesync
f954f7ec69 [WINESYNC] msi: Translate records as appropriate in SELECT_modify().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e742319627e311cfc364901ed82517dba9990456 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:12 +01:00
winesync
3b4aa9822b [WINESYNC] msi/tests: Add some more tests for MsiViewModify() applied to joins.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b9faa8d170349ce48e7f572461e7c41422317e43 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:12 +01:00
winesync
5f1570f47d [WINESYNC] msi: Don't check the primary keys when handling MSIMODIFY_DELETE.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 96b6d6b58725f17f3faabeeffe82d2b8bd5f0445 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:11 +01:00
winesync
17ae3a2dd9 [WINESYNC] msi: Implement MSIMODIFY_REFRESH using msi_view_refresh_row().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 05976464556385e7a7ef5d04b2a56c4830ff33cf by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:11 +01:00
winesync
bef9fb0245 [WINESYNC] msi: Factor out msi_view_refresh_row().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 31628cee6e2ba63a1a08672d89ccd8d10836bf7e by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:11 +01:00
winesync
6425c406fb [WINESYNC] msi: Implement UPDATE queries using msi_select_update().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 40a08f8362c191b51db07a483c4f41fa61158c76 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:11 +01:00
winesync
580d3e1be0 [WINESYNC] msi: Support setting streams in msi_select_update().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 044c1dd23b307a0b7f2188855d5bf6e479cefd5e by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:10 +01:00
winesync
e734a9189b [WINESYNC] msi: Store the IStorage list as an array of STORAGE structures.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 33045101ca657b2b09a53e14711b3f6bcacbafe2 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:10 +01:00
winesync
01a3611583 [WINESYNC] msi: Remove an unnecessary call to SELECT_get_dimensions().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7728acd1b6994c553a046e3ff9ee1aebc20c38b6 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:10 +01:00
winesync
f6659d1de9 [WINESYNC] msi: Get rid of the get_row() view operation.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7c28a1dbddc012d497988f638b7ecb70e75b17c3 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:10 +01:00
winesync
97918c366e [WINESYNC] msi: Set table values directly in msi_select_update().
In order to avoid the need to create a temporary record and copy values back
and forth.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f45a7b04a6caca4eed1d08f4e69884b119f3aa17 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:10 +01:00
winesync
0e83dd032c [WINESYNC] msi: Factor out int_to_table_storage().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 99425f272f7807aea068629ef3e5fda6640b2845 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:09 +01:00
winesync
def8c91e2a [WINESYNC] msi: Use 0-indexed row numbers in the modify() view operation.
For consistency with other operations.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8aefa871ad3fcd28b8bc7e5b79f2e661dbab9435 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:09 +01:00
winesync
211c410496 [WINESYNC] msi: Use a BOOL to track string persistence.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a7f455b97fdd0ef07a15b66eea63f82522ff4f31 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:09 +01:00
winesync
fb72dff218 [WINESYNC] msi: Get rid of the remove_column() view operation.
It was added to the structure, rather unnecessarily, by ccef56f2c.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c2810f40a0af6496cfbb7d87685e2e018befd43b by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:09 +01:00
winesync
43025b17d1 [WINESYNC] msi: Get rid of the find_matching_rows() view operation.
It was introduced in 9f487ba1d as part of an optimization, but ceased to be used in a52c2bf94.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ced768f2ec163e25b7e1cf54a87f4b01369a846e by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:08 +01:00
winesync
eaa4c035ac [WINESYNC] msi/tests: Use check_record() in more places.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fe23e015278e318f9642c67384887f865e5f2ed3 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:08 +01:00
winesync
88f53494e9 [WINESYNC] msi/tests: Use check_record() in test_join().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5eab4a59de5f77f3d747b0f3e9eadd2c45dc7cf5 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:08 +01:00
winesync
8376f7c354 [WINESYNC] msi/tests: Use check_record() in test_select_column_names().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d7879eaa99b45d9f1263cad5f7e3699450ec1557 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:08 +01:00
winesync
b883a2b271 [WINESYNC] msi/tests: Use check_record() in test_dbmerge().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2ea8d809e9d2bc575abc3beb5b7c0de99e20f9f8 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:08 +01:00
winesync
c4131daacc [WINESYNC] msi/tests: Use check_record() in test_columnorder().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d2edcc9e24cf9919825dcd0480b3f22e25dc7115 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:07 +01:00
winesync
3417cf8659 [WINESYNC] msi/tests: Introduce a variadic check_record() helper.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7e083034d665fa8873c6d87a90d959f3351de7d3 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:07 +01:00
winesync
f8514c722b [WINESYNC] msi/tests: Add a trailing '\n' to an ok() call.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ad735ca1f329b9419aaaf59bda4e3c936f9d92f5 by Francois Gouget <fgouget@free.fr>
2022-03-20 19:28:07 +01:00
winesync
8c4b2b004b [WINESYNC] msi: Only perform the media check if the label of the disk entry differs from the last.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=40433
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 85fea53af80d324a4cf7f80a45f43fed8d8d65e1 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:07 +01:00
winesync
609c059647 [WINESYNC] msi/tests: Use more reasonable buffer sizes for guid strings (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a853bb6d0a91e5766ff1afbfaf1fcb9b8d27fc76 by Nikolay Sivov <nsivov@codeweavers.com>
2022-03-20 19:28:07 +01:00
winesync
6e5382cc5a [WINESYNC] msi: Return an error code instead of a button id in msi_change_media().
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a47343b97369e5f64bb78a7421f2d75258da282a by Alexandre Julliard <julliard@winehq.org>
2022-03-20 19:28:06 +01:00
winesync
d5012ca368 [WINESYNC] msi: Turn several variables and constants into static constants.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6a833ce0b39ae9f57162f6ffd3ff55f19f3ba540 by Alex Henrie <alexhenrie24@gmail.com>
2022-03-20 19:28:06 +01:00
winesync
0d13a87670 [WINESYNC] msi: Set stale function pointers to NULL.
A crash occurs during install of dotnet35 on a 64-bit prefix
as when msi_destroy_assembly_caches is called, the mscoree
library is unloaded but the function pointers are not set back
to NULL.

Signed-off-by: Brendan McGrath <brendan@redmandi.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 256ca317a2871c62ca121e49f29fc37a64b4fb64 by Brendan McGrath <brendan@redmandi.com>
2022-03-20 19:28:06 +01:00
winesync
537188d764 [WINESYNC] msi: Increase MSI_INITIAL_MEDIA_TRANSFORM_DISKID to avoid conflicts.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 49e9fa376ca1ab251a0b5ccc506b255a93071bc2 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:06 +01:00
winesync
de59794f36 [WINESYNC] msi: Allow ARM64 installations.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d5a169463b30af229368a5559b20f9ae415c3048 by André Hentschel <nerv@dawncrow.de>
2022-03-20 19:28:06 +01:00
winesync
3dfa0cce09 [WINESYNC] msi: Support substorage transforms in MsiDatabaseApplyTransform.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=40206
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ef86011ba40ef90eefb5e54059d907753ec8d694 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:05 +01:00
winesync
182a2d623e [WINESYNC] msi: Don't consider read-only drives when enumerating volumes.
Signed-off-by: Pierre Schweitzer <pierre@reactos.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0dd0d879a1c487dcefedd44762d4ea0fcebd98fe by Pierre Schweitzer <pierre@reactos.org>
2022-03-20 19:28:05 +01:00
winesync
8e17398c26 [WINESYNC] msi: In dialogs show titlebar buttons.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46080
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 84e6b331918d57f39e20a3063b67eb7fc0876288 by Fabian Maurer <dark.shadow4@web.de>
2022-03-20 19:28:05 +01:00
winesync
d30e40fc22 [WINESYNC] msi: Avoid duplicate product codes in FindRelatedProducts.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b33b8cab0dbef9571553a814c7bff501ae0a5b48 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:05 +01:00
winesync
14478462cc [WINESYNC] msi: Fix the remote case for MsiViewModify(MSIMODIFY_UPDATE).
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45972
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c494570d89f270c9240519c625c5c757a4e8ff23 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:05 +01:00
winesync
4b4baf5cb8 [WINESYNC] msi: Fix memory leaks.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 965ca1b4de78600366cde437c97a7208a954b18b by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:04 +01:00
winesync
0bbc2be92c [WINESYNC] msi/tests: Add tests for directory properties.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8386157caa9bfaea9a17c2d36e61f8a15138a791 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:04 +01:00
winesync
312627c75b [WINESYNC] msi: Remove unused fields from MSIFOLDER.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id de78ca24a5a2945e7431c1eb9a6e5404bbcfbf5d by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:04 +01:00
winesync
0922e524ec [WINESYNC] msi: Rename msi_reset_folders to msi_reset_source_folders.
It was always called with source parameter set to TRUE.

Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 14ddb49df278e44fd184a8fd73ff1341ce0885ec by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:04 +01:00
winesync
b608ba9798 [WINESYNC] msi: Add support for control event DirectoryListNew.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=25687
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 97a7a4ff0c8895c3ef1979eeee988c4c121d9839 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:04 +01:00
winesync
eab017d18f [WINESYNC] msi: Fix a couple of memory leaks (Valgrind).
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1cb43677632ded6aba8ba0b91937ded934c0c690 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:03 +01:00
winesync
0f342a37a3 [WINESYNC] msi: Add support for ARPNOMODIFY, APRNOREMOVE and ARPNOREPAIR.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 78af6e341fcdf1030bb5b0a4bed4b32e5caf09a3 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:03 +01:00
winesync
f0841e860f [WINESYNC] msi/tests: SQLGetInstalledDrivers fails if there are no ODBC drivers installed.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1be65cbb46bf792773a5aabc550851ed51f727cd by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:03 +01:00
winesync
bc149d9d14 [WINESYNC] msi: Allow recursive changes to the target folder path.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7bf2a1b2099b534fd4472962d2e945bc9ab9e2b8 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:03 +01:00
winesync
a49306360d [WINESYNC] msi/tests: Drop workarounds for Windows 2000.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6a3e79b00225a1186a01101cd5614141748e6a53 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:02 +01:00
winesync
6ff51864fb [WINESYNC] msi/tests: Add a test for repetitive MsiGetActiveDatabase calls.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 06fd9bb3178c363bdcc89586248a2ce707f94041 by Dmitry Timoshkov <dmitry@baikal.ru>
2022-03-20 19:28:02 +01:00
winesync
dbebec3065 [WINESYNC] msi/tests: Also test full range of properties for MsiSummaryInfoSetPropertyW.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ff0129370869ed4ffb4acd69d7123f3d5ca294c3 by Dmitry Timoshkov <dmitry@baikal.ru>
2022-03-20 19:28:02 +01:00
winesync
7c8b6fdf82 [WINESYNC] msi: Do not attempt to copy a non-string property in MsiSummaryInfoGetProperty.
This patch fixes the crashes when running the tests under Wine.
Currently the crashes are hidden by a custom action exception handler.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b857369f87c49f812b23320099dcb91dbdb6f320 by Dmitry Timoshkov <dmitry@baikal.ru>
2022-03-20 19:28:02 +01:00
winesync
e58cc02596 [WINESYNC] msi: Move parameter checks to a common helper in MsiSummaryInfoSetProperty.
Currently MsiSummaryInfoSetProperty tests don't have a chance to execute under
Wine because the tests crash earlier, and the crashes are hidden by a custom
action exception handler. This patch simplifies the next one.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7929c31ea7b9f47f68cd434393f1212e448a9cf7 by Dmitry Timoshkov <dmitry@baikal.ru>
2022-03-20 19:28:02 +01:00
winesync
bf1ca65888 [WINESYNC] msi: Fix a typo.
Should fix the regression introduced by baea371c3d4153bc4a718c07f46971d4d39aa9f3.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 09e4240f33425eda3ea05eb2a98adaec184b7ba4 by Dmitry Timoshkov <dmitry@baikal.ru>
2022-03-20 19:28:02 +01:00
winesync
4ad772129d [WINESYNC] msi/tests: Add more tests for remote MsiSummaryInfoGetProperty.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 69b7e09fa76d73c51fd290b511400060ef7c20f0 by Dmitry Timoshkov <dmitry@baikal.ru>
2022-03-20 19:28:01 +01:00
winesync
0bde253621 [WINESYNC] msi: Handle the remote case in MsiSummaryInfoGetProperty.
This patch fixes the regression introduced by bf5589311de8ac2c74e3bd73bef32337a2ce8df2.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ce2ebd72750ca85e7307372de1a73831ad9e73a8 by Dmitry Timoshkov <dmitry@baikal.ru>
2022-03-20 19:28:01 +01:00
winesync
28c46d90e1 [WINESYNC] msi: Handle the remote case in MsiSummaryInfoGetPropertyCount.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 00b8b3c5e0e04d229cfb9f8d8294113e5b30e9b4 by Dmitry Timoshkov <dmitry@baikal.ru>
2022-03-20 19:28:01 +01:00
winesync
636f46adb6 [WINESYNC] msi: Handle the remote case in MsiSummaryInfoSetProperty.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 190ef475fa3164d2f468d5b09c58c8150d30f129 by Dmitry Timoshkov <dmitry@baikal.ru>
2022-03-20 19:28:01 +01:00
winesync
a8bfcb28ab [WINESYNC] msi/tests: Add some tests for remote MSI summary info APIs.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4acd7b6c45faa960aee3d753d2979315ad4d2b46 by Dmitry Timoshkov <dmitry@baikal.ru>
2022-03-20 19:28:01 +01:00
winesync
2a9ae85885 [WINESYNC] msi: Add exception handling around all custom action RPC calls.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id baea371c3d4153bc4a718c07f46971d4d39aa9f3 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:00 +01:00
winesync
9af3c0ad3e [WINESYNC] msi: Skip publishing a local assembly with no corresponding file.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45735
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 12195e450fea6885eb2d3be05a8ed92dd93752c9 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:00 +01:00
winesync
3671579f96 [WINESYNC] msi/tests: Remove some workarounds in test_publish_assemblies().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9a96657910c2ce30f6f8492bdd562932d63ba430 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:00 +01:00
winesync
9792c08fe4 [WINESYNC] msi: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a9cb67bb7ffb5b25469ba6a732f8913ac8778c36 by Michael Stefaniuc <mstefani@winehq.org>
2022-03-20 19:28:00 +01:00
winesync
49439bc1b4 [WINESYNC] msi: Don't assume that WoW64 redirection is enabled in custom_start_server().
As of 3a884c2ef the server is started on the main thread, so this is no
longer a valid assumption. In particular, we disable WoW64 redirection while
running standard actions, including the top-level INSTALL action.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45663
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 51ad009bacd297c0607bc6de4d5dae18afe6ea98 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:00 +01:00
winesync
d79a5e413e [WINESYNC] msi: Unlock msi_custom_action_c on the error paths.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45483
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c2add8a030b63d79f94d516d2dbee9fb09b9c09c by Michael Stefaniuc <mstefani@winehq.org>
2022-03-20 19:27:59 +01:00
winesync
dc4f732a06 [WINESYNC] msi/tests: Add a test for asynchronous custom actions.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6387476d99f4f762628cb0d72b2d43c23f76f563 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:59 +01:00
winesync
33595a42c9 [WINESYNC] msiexec: Don't keep the custom action GUID in the main thread's stack.
Since it could potentially change on us during an asynchronous custom action.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2592690540a87498db09753a32c416cfe7f26e81 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:59 +01:00
winesync
8c067cc02c [WINESYNC] msi: Don't refcount the msi_custom_action_info struct.
This is unnecessary, and may have always been so. The struct will either be
freed after it completes synchronously, or after it has completed
asynchronously in ACTION_FinishCustomActions().

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b7f06accb05edd70239dbd7b04b956bf10456dee by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:59 +01:00
winesync
b1b2cc1e8d [WINESYNC] msi: Protect communication with the custom action server with a critical section.
Avoids a potential race whereby an asynchronous custom action receives the
wrong thread handle.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 583edf7f59866cf0a58c978e692f3077e74b4938 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:59 +01:00
winesync
eca4d999d6 [WINESYNC] msi: Don't start the custom action server inside of custom_client_thread().
Asynchronous custom actions don't wait for custom_client_thread() to
terminate, so it's possible for two consecutive actions to both try to start
the server at once, causing failures when the second action e.g. receives
ERROR_PIPE_BUSY from CreateNamedPipe().

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3a884c2ef7a5828a5b42bf9d2532422afeac0fd8 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:58 +01:00
winesync
55b4e50af8 [WINESYNC] msi: Avoid an ARRAY_SIZE-like macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b8027768b88eed2376ea484aa7adef20c82483f4 by Michael Stefaniuc <mstefani@winehq.org>
2022-03-20 19:27:58 +01:00
winesync
ac9d876fe9 [WINESYNC] msi: Generate unique names for 32- and 64-bit custom action server pipes.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6925846988fb78a2dd217d2b837e59ec53234f87 by Zebediah Figura <zfigura@codeweavers.com>
2022-03-20 19:27:58 +01:00
winesync
fd8b07bdfc [WINESYNC] msi: Implement deferral for standard and custom actions.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2a9e0f1fada4a414cc750f6d45595342f473e02f by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:58 +01:00
winesync
426052d1aa [WINESYNC] msiexec: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id effac73e7275e40d717ccf21af84b34fe3e0844a by Michael Stefaniuc <mstefani@winehq.org>
2022-03-20 19:27:58 +01:00
winesync
4c8ffed7ec [WINESYNC] msi: Do not free hPackage twice or uninitialized (Coverity).
Signed-off-by: Marcus Meissner <marcus@jet.franken.de>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9f1cdb4970c569460c96a143b126d1c298116d7d by Marcus Meissner <marcus@jet.franken.de>
2022-03-20 19:27:57 +01:00
winesync
980ce9db3f [WINESYNC] msi: Use msi_get_package_code in msi_publish_product_properties.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ddf762a82f2c578cd3b0d4ff0c13c8a08641a666 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:27:57 +01:00
winesync
331be61263 [WINESYNC] msi: Fix condition evaluation when comparing literal and integer.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45445
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7837ae20cdeabab661da7bb5dae24f5ffefe17ee by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:27:57 +01:00
winesync
82decec5f1 [WINESYNC] msi: Reuse the custom action server process where possible.
We use a named pipe to communicate between the client (i.e. the process that
called MsiInstallProduct() and the custom action server. The naïve approach
has the client send custom action GUIDs to the server and the server send
back the results of executing the action, but this fails in the case of
nested custom actions, so instead we send back handles of threads for the
client to wait on.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 457431ab5bc1dd10c4957f145de85c4ba6d0ef72 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:57 +01:00
winesync
dfdb6d1050 [WINESYNC] msi: Avoid connecting to the RPC server more than once.
This is a no-op as is, but is necessary as of the next patch in the case of
nested custom actions.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6135b38d7d60e7bceb36a57630cad72d3e7e4b2e by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:57 +01:00
winesync
1fa71cf3c5 [WINESYNC] msi: Create the custom action thread inside msiexec.exe.
This patch is effectively a no-op by itself, but makes the next patch
architecturally much simpler. We need the main thread to be non-blocking
to allow nested custom actions to work, so creating the thread inside of
msiexec allows the custom action thread to write the result of the action to
the server pipe while the main thread simply reads from it.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7908d6ee399f4ef556e194dfa5cdef746fc091b6 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:57 +01:00
winesync
0a327bfe94 [WINESYNC] msi: Avoid starting the RPC server more than once for a given package.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5c7cf0a47d9d43b11f84914f5890eae3fd694592 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:56 +01:00
winesync
55dcc258b1 [WINESYNC] include: Add a generic available ARRAY_SIZE().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 962b31c80b74cfc479da386a8c76d55d26aed752 by Michael Stefaniuc <mstefani@winehq.org>
2022-03-20 19:27:56 +01:00
winesync
306890e8c4 [WINESYNC] msi: Remove checks for negative value.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5bd1b6f41032d1e133a8d9a96fba711ee491d634 by Andrey Gusev <andrey.goosev@gmail.com>
2022-03-20 19:27:56 +01:00
winesync
a237138534 [WINESYNC] msi: Add support for re-caching package.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5924321ad63edc1d3fabf22d7b047e4efacbce66 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:27:56 +01:00
winesync
b7b9c0c4cb [WINESYNC] msi: Report error when cached installer has different version.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0657d966ffb9afdcd7cf8bd0c2ac7289a8bfbe5e by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:27:56 +01:00
winesync
fbdb719be0 [WINESYNC] msi: Add ProductToBeRegistered property tests.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4c5d24ae20a51f4ddf3fde6a57417a442282ed67 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:27:55 +01:00
winesync
366dd26e41 [WINESYNC] msi: Add REINSTALLMODE=v installation mode test.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cecff8a353652606924f152c26d25ea89a25cb90 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:27:55 +01:00
winesync
74196b8000 [WINESYNC] msi: Re-publish product if previous installation with different package is detected.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 21836b79dd0acbd16f802f7364c070e1004e48ea by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:27:55 +01:00
winesync
da8483616c [WINESYNC] msi: Add support for ProductToBeRegistered property.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6dc49e4b685850a76a35b1d1d102903a0231c5cc by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:27:55 +01:00
winesync
d27e3499c7 [WINESYNC] msi: Mark exported wine functions CDECL.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d0451d57348c0a25290f9326ca150843cd7d4486 by Zebediah Figura <zfigura@codeweavers.com>
2022-03-20 19:27:55 +01:00
winesync
96486643cf [WINESYNC] msi/tests: Add package minor/major upgrade tests.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id bdf8895d7671aa9b9a749a9fb99e82295f7b5c8f by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:27:54 +01:00
winesync
8667645111 [WINESYNC] msi/tests: Use the available ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b716661c4a5c492fff79bed14190f33b47afebc8 by Michael Stefaniuc <mstefani@winehq.org>
2022-03-20 19:27:54 +01:00
winesync
42961bd8b0 [WINESYNC] msi/tests: Avoid ARRAY_SIZE-like macros.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 74b0dec3c1be0e16c7c2d487e0780a150d15e75c by Michael Stefaniuc <mstefani@winehq.org>
2022-03-20 19:27:54 +01:00
winesync
0d762dcba3 [WINESYNC] msi: Store the current script in the package.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 756bbb5bb756d1fcbeea41e10a6fdf2149fa1323 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:54 +01:00
winesync
19863c8002 [WINESYNC] msi: Resolve source when executing InstallFiles.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 536a86f21ff0f8432309225b61695138be95cb3a by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:54 +01:00
winesync
88888f8f4f [WINESYNC] msi/tests: Test that some actions cause resolution of SourceDir.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 38747c32347afc4d8be18a577fe91f8325a68340 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:53 +01:00
winesync
a2e86899fd [WINESYNC] msi/tests: Test deferral of WriteRegistryValues.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ed2861c28cdfd2bb97abb7d376f9aa2d975ea97d by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:53 +01:00
winesync
158d7545ab [WINESYNC] msi/tests: Simplify and clarify WriteRegistryValues and RemoveRegistryValues tests.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3c2b229431805ff771f4c20be52d1a9d7ff0ced3 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:53 +01:00
winesync
ba86f76417 [WINESYNC] msi: Only delete empty registry keys in delete_key().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 91e418073f64368110a9339d17fad36ad26c1a7f by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:53 +01:00
winesync
cdbd0095f0 [WINESYNC] msi/tests: Remove duplicate service tests.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f655bb7ee71a5e271fc7091013a60bb799b315df by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:27:53 +01:00
winesync
5239ed572c [WINESYNC] msi/tests: Test deferral of WriteIniValues and RemoveIniValues.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 377d32c4fb6ea72c68436eb590541ec88d0c74f9 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:52 +01:00
winesync
759a987243 [WINESYNC] msi/tests: Add a simple test for WriteIniValues.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1a78380e6fbaafb78a9d1b522a5b18b251ac4787 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:52 +01:00
winesync
39c835f2a3 [WINESYNC] msi/tests: Test deferral of WriteEnvironmentStrings and RemoveEnvironmentStrings.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id aae3d6b5afaa67530ee62f922a301fce1967151a by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:52 +01:00
winesync
7b0084e68a [WINESYNC] msi/tests: Simplify and combine environment variable tests.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2765b4778092a9ee25156c2b0facc34fe3861587 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:52 +01:00
winesync
342159af51 [WINESYNC] msi/tests: Test deferral of SelfRegModules and SelfUnregModules.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a08438afbd1d111e78ebb7fb0743a456f1da4d19 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:52 +01:00
winesync
761e72c7d0 [WINESYNC] msi/tests: Test self-registration of a valid DLL.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8867712944d839385837ae4db8b50fff1380c507 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:51 +01:00
winesync
cc5bb28b0c [WINESYNC] msi/tests: Test deferral of RegisterTypeLibraries and UnregisterTypeLibraries.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d3023ad3f7c87f29da762e82c7e0d47f6830df19 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:51 +01:00
winesync
45a3a9f56b [WINESYNC] msi/tests: Test registration of a valid typelib.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f5da1902aa24433375fc3c99eaadad00917daa9f by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:51 +01:00
winesync
b493df633a [WINESYNC] msi/tests: Test deferral of RegisterUser.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d0ab6deb773912b427251f041e7413669fdef702 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:51 +01:00
winesync
d6a9b26126 [WINESYNC] msi/tests: Test deferral of RegisterProgIdInfo and UnregisterProgIdInfo.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2fe0388d0cf205926cc9b8686b8f7ebd692261ef by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:51 +01:00
winesync
e0bf393210 [WINESYNC] msi/tests: Test deferral of RegisterProduct.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 71f3f2a6edf8db909a756d25d2acf96ef9258dbc by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:50 +01:00
winesync
742877db6d [WINESYNC] msi/tests: Simplify key access flags in test_register_product().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8d72829a874810c788bddbd46cee98366165fdb0 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:50 +01:00
winesync
c6f0b6c95e [WINESYNC] msi/tests: Test deferral of RegisterMimeInfo and UnregisterMimeInfo.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f181e71400eb25a9aa4e1bf6355116269d04c0b7 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:50 +01:00
winesync
13c16770a5 [WINESYNC] msi/tests: Test deferral of RegisterFonts and UnregisterFonts.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a364e1a9c8aeba972f13f1af13cd0643b9a05a8e by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:50 +01:00
winesync
22740df97c [WINESYNC] msi/tests: Test deferral of RegisterExtensionInfo and UnregisterExtensionInfo.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 884d146b3243f01f00efb527bf3f3f578344da94 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:50 +01:00
winesync
a4c6f8f2c9 [WINESYNC] msi/tests: Test deferral of RegisterClassInfo and UnregisterClassInfo.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fc6bd87375a945aa456505c9b83d2e7e08c2f891 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:50 +01:00
winesync
6a9321b897 [WINESYNC] msi/tests: Test deferral of PublishProduct.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4f2bb46fd1b7e190946b288312b2be30a68c02c1 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:49 +01:00
winesync
074bd3b468 [WINESYNC] msi/tests: Test deferral of PublishFeatures and UnpublishFeatures.
test_publish_assemblies() was leaving behind feature data that caused this
test to fail when run multiple times.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 920dde0b1e1d137720a277ee05b65c6bf2387ad6 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:49 +01:00
winesync
3a2e2e6560 [WINESYNC] msi/tests: Test deferral of PublishComponents and UnpublishComponents.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 625ef14967984ef2f35638e0012ceb7c816f346c by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:49 +01:00
winesync
29e57f7808 [WINESYNC] msi/tests: Test deferral of ProcessComponents.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5e0e25d4b4eb2ebd0a97bbbe02bf9a5d1ece7ff8 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:49 +01:00
winesync
ef7637bf77 [WINESYNC] msi/tests: Test deferral of MsiPublishAssemblies and MsiUnpublishAssemblies.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6eb74409147751a69cbf7dff34d79bd7e3a5dc7a by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:49 +01:00
winesync
51f5b07762 [WINESYNC] msi/tests: Test deferral of MoveFiles.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id af737f9c2f78c448b914570005d34d61d95e7b83 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:48 +01:00
winesync
a06d5f3df5 [WINESYNC] msi/tests: Test deferral of InstallODBC and RemoveODBC.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7305e5fd8c1262e369c2807e83adfb9aaf4f2e7a by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:48 +01:00
winesync
d15d81da99 [WINESYNC] msi/tests: Test installation of ODBC driver.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7f69ea3c57b9caa0fd39e6cb3c0164d7b37aa21b by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:48 +01:00
winesync
49fb19da45 [WINESYNC] msi/tests: Test deferral of InstallFiles and RemoveFiles.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 99562a56170f51002c817cd353fa62325c056ab3 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:48 +01:00
winesync
07ea0dc651 [WINESYNC] msi/tests: Test deferral of DuplicateFiles and RemoveDuplicateFiles.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4d9d73e1b95ced3c66beaeab0e337c4b9eec52d5 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:48 +01:00
winesync
c5b7f9f395 [WINESYNC] msi/tests: Avoid calling MsiSetTargetPath("TARGETDIR").
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 30fe6f43612ce0a7d65ec16f751d3212cb78c1fe by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:47 +01:00
winesync
df90c9beba [WINESYNC] msi/tests: Test deferral of StartServices and StopServices.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7f0c8b3c6130bf1181e83bcdd9ab6b71583208f5 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:47 +01:00
winesync
07f42a0af1 [WINESYNC] msi/tests: Test deferral of InstallServices.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b8f982fa4b190398edce45290cd49159d586a26b by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:47 +01:00
winesync
49a44f014f [WINESYNC] msi/tests: Test deferral of DeleteServices.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5d8e16f7018b4fb0382ec991adc08e1f305bd353 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:47 +01:00
winesync
0c2c3863ef [WINESYNC] msi/tests: Test deferral of CreateShorcuts and RemoveShortcuts.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ab9ab2a8f701064af3212a91ecd89ffa6a4a331b by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:47 +01:00
winesync
31eeb62486 [WINESYNC] msi/tests: Test deferral of CreateFolders and RemoveFolders.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0f7d50c02ea301ceebf0c18c1a49797ae9a93788 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:46 +01:00
winesync
6fc5d381f1 [WINESYNC] msi: Avoid using awstring in MsiGetSourcePathW().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 48aeef69fc99ff1460da934f4933f0499ff33b13 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:46 +01:00
winesync
2491afaa14 [WINESYNC] msi: Handle the remote case directly in MsiGetSourcePathA().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 43ce218a48f5b3420f48379e911e974b8bb9ef88 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:46 +01:00
winesync
2f2e68eb50 [WINESYNC] msi: Avoid using awstring in MsiGetTargetPathW().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ce3fc1af555106bcc614a1b9259172357035517f by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:46 +01:00
winesync
c33915e409 [WINESYNC] msi: Handle the remote case directly in MsiGetTargetPathA().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c9fc3510218f3426b9b448b4569ff4fd275044f8 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:46 +01:00
winesync
02726bbc20 [WINESYNC] msi: Avoid leaking memory on failure paths in MsiGetPropertyA().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2e2934e455318c2753741a051876bc0a3c2399fa by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:46 +01:00
winesync
4f51867f22 [WINESYNC] msi/tests: Break out of the loop if both components are found in test_MsiEnumComponentsEx.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f5b1a6b5c507fd2766725251af00efa5eb8431ee by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:27:45 +01:00
winesync
4748b31284 [WINESYNC] msi: Avoid using awstring in MsiGetPropertyA/W().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 389ad808d2ac1a443d4a4190928e665b25214c1a by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:45 +01:00
winesync
e12fb5036c [WINESYNC] msi: Handle the remote case directly in MsiGetPropertyA().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 84d972010fcf7bc94534c7bb20890ce88381f943 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:45 +01:00
winesync
0b125236c6 [WINESYNC] msi: Avoid using awstring in MsiFormatRecordW().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6b54a4bc2eadd0b5cbc2553e2969ff572ff042d1 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:45 +01:00
winesync
d5e04177e7 [WINESYNC] msi: Handle the remote case directly in MsiFormatRecordA().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 75aa132b521f426fa670c05774a50c87247e9834 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:45 +01:00
winesync
56c14436f4 [WINESYNC] msi/tests: More accurately calculate estimated size.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 40b211b6c2d61effba333cb64fb30289d3a18ee1 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:44 +01:00
winesync
b016bb6bcc [WINESYNC] msi/tests: Add the custom action DLL in create_database_wordcount().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id bf0b9b97e08879637750f721fc96ca766e6ff61a by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:44 +01:00
winesync
0e76906074 [WINESYNC] msi/tests: Add a header for some common functions.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ab522d694d5ffe08a410320988100b1a0fb2f077 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:44 +01:00
winesync
0bca61ed83 [WINESYNC] msi: Avoid leaking custom action data.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f4bcd95fa78172a3a07c5f065adf4287fe69af02 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:44 +01:00
winesync
8e940ff11f [WINESYNC] msi: Disable WoW redirection when installing a 64-bit package.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 540c48b91175b11c7b8646d0a036b20c46425080 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:44 +01:00
winesync
8baf528d3f [WINESYNC] msi: Check return value of GetBinaryType().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id deb4f970009d6fd85a61d3183877e67e1ccf66fe by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:43 +01:00
winesync
3ec0ea99c6 [WINESYNC] msi: Set the correct values for ProgramFiles64Folder and CommonFiles64Folder.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a6e9622439c4fd22578e737e60ca2af44a32f8b1 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:43 +01:00
winesync
d817f7cfa1 [WINESYNC] msi: Don't load a custom action DLL in the main process.
This has no effect anymore, and won't work if the architecture doesn't match.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e355cb62775f7fd39a03458c62334a603dcb0c78 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:43 +01:00
winesync
20260e3310 [WINESYNC] msi: Execute the custom action server with the correct bitness.
The bitness depends solely on the bitness of the DLL (tested manually).

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6049b0f8c3637b6ef55b05a57893191ab808c69f by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:43 +01:00
winesync
7a16dc22c5 [WINESYNC] msi/tests: Add trailing '\n's to ok() calls.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4d1c3a022bcf28d46aa38cec458ac701b3cc615f by Francois Gouget <fgouget@free.fr>
2022-03-20 19:27:43 +01:00
winesync
db6dce432d [WINESYNC] msi: Initialize [out] strings to NULL.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 71c0738c0e2598d2af9e31e2e82b69e6a5081e51 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:42 +01:00
winesync
a8bc3902ba [WINESYNC] msi: Execute custom actions in a separate process.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 85d1fb62b321e890004bc8d0ded7a0183216c42d by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:42 +01:00
winesync
c2e9daf59e [WINESYNC] msi: Make remote_GetActionInfo() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2635333922f13c0312b3cdae08f7cf870e10f49a by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:42 +01:00
winesync
3919813408 [WINESYNC] msi: Make MsiEnumComponentCosts RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id efb8ed4748e75e88240cb27f3f917f6ed3446901 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:42 +01:00
winesync
9f3e4bbbec [WINESYNC] msi: Make MsiGetFeatureCost() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e500af2b678da519011588ee6973bda19999f34d by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:42 +01:00
winesync
818a84dd11 [WINESYNC] msi: Handle some invalid parameters in MsiGetFeatureCost().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1b6adcb7216a6b4a0706ac7255f3ddb832656127 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:41 +01:00
winesync
03faa10759 [WINESYNC] msi: Make MsiEvaluateCondition() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0fc1b6f2f31952f9dab4a22805fe0f098548cb25 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:41 +01:00
winesync
cde5f24cd9 [WINESYNC] msi: Make MsiFormatRecord() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ef7ed29348584fc0385d42b707fd6fcc03dfddc5 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:41 +01:00
winesync
d20dc08f61 [WINESYNC] msi: Make MsiSetInstallLevel() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5ab576b8a09f715401a1de2bb384ccc9ffb37750 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:41 +01:00
winesync
fdca309017 [WINESYNC] msi: Make MsiGetLanguage() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5f45959adc55961a9787b54cd7814f18c056ebef by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:41 +01:00
winesync
1c8fdff293 [WINESYNC] msi: Make MsiSetComponentState() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 11702a31d2a31bfc5ac13e5d7995b2e71578f25f by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:40 +01:00
winesync
709d0f5b57 [WINESYNC] msi: Make MsiGetComponentState() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 35b1b87dc90b5d0700ec0893bc3918e15a43b07d by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:40 +01:00
winesync
5bbed50795 [WINESYNC] msi: Make MsiSetFeatureState() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 863680d5edcdb9fd62910cd7266658d2e3a0e743 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:40 +01:00
winesync
ed5fbe399d [WINESYNC] msi: Make MsiGetFeatureState() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9f428f592dc949d528c149692addf8e34f3f005b by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:40 +01:00
winesync
5219367eac [WINESYNC] msi: Make MsiSetMode() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1723536058c73b71894f60ab2c030e78948abe45 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:40 +01:00
winesync
83bbe8c85b [WINESYNC] msi: Make MsiGetMode() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9091c3dcf2e4c7775926c0a7a3f82f2e491eb849 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:39 +01:00
winesync
8c04add139 [WINESYNC] msi: Avoid returning an uninitialized variable.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 859f455cb95a37e11f1187731be530fc9b48da8a by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:39 +01:00
winesync
4253f35129 [WINESYNC] msi: Make MsiGetSourcePath() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d2b0981a2ceb8371460f009e0250ad2690ca0e93 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:39 +01:00
winesync
a5e210012b [WINESYNC] msi: Make MsiSetTargetPath() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e5fba6d23ee82229582a0cf19a455b3c5ca43776 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:39 +01:00
winesync
a529a627a9 [WINESYNC] msi: Make MsiGetTargetPath() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 49d67080c97cbe89ea6f665f692c6d32db272a0f by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:39 +01:00
winesync
10abb6f6bc [WINESYNC] msi: Make MsiSequence() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 676376d1d3b87a8843e15baf6c7f7b958c2bdf83 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:38 +01:00
winesync
c65c209a0c [WINESYNC] msi: Make MsiDoAction() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c49abc8ce006441163c4a0b25d42ad1e9650d9da by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:38 +01:00
winesync
6f8e5d88d9 [WINESYNC] msi: Make MsiGetSummaryInformation() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id bf5589311de8ac2c74e3bd73bef32337a2ce8df2 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:38 +01:00
winesync
9943fe3a65 [WINESYNC] msi: Make MsiDatabaseGetPrimaryKeys() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ed0a8dd3bfb5dbe6899cd1315c366d9fd833f060 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:38 +01:00
winesync
b2b149a09e [WINESYNC] msi/tests: Add tests for MsiDatabaseGetPrimaryKeys().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3a1d9bb915952fd69f16c32cbea29983d9a5a5fc by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:38 +01:00
winesync
aede536c83 [WINESYNC] msi: Make MsiViewModify() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c79fbc241e3c9a62ab50fb0826e33e85e97ae883 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:37 +01:00
winesync
ec581d9fc9 [WINESYNC] msi: Make MsiViewGetColumnInfo() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cea37419f1d16798ca24ad14712f14dac136f7d6 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:37 +01:00
winesync
ae286278fc [WINESYNC] msi: Make MsiViewClose() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9ab15d4edea1ab0c80f9d3ea15d9855aba2f4880 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:37 +01:00
winesync
795da5286b [WINESYNC] msi: Make MsiViewFetch() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 39c116fd0c0aca6517b9c1f31296bf8665cf7834 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:37 +01:00
winesync
ce495d7a38 [WINESYNC] msi: Make MsiViewExecute() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id afb5eede24c35308d2370fd3b492545aed607ce6 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:37 +01:00
winesync
00684fb410 [WINESYNC] msi: Make MsiDatabaseOpenView() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c6bd4d8c35de1ae452a5b5bec69d4779c813b37f by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:37 +01:00
winesync
b4fb978270 [WINESYNC] msi: Make MsiDatabaseIsTablePersistent() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 252dd11f20a7ac2285d4f082f3ab3f3168f494dc by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:36 +01:00
winesync
7cc54a4f48 [WINESYNC] msi: Make MsiGetActiveDatabase() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a6934768d1070d91c764d5c88fe276a9d6163683 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:36 +01:00
winesync
cd631b7912 [WINESYNC] msi/tests: Improve COM test.
Test for a class that Wine actually supports, and also make sure our
apartment is uninitialized.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fdb9bdc88b27ffdaea5ad31256f250b66bdf6b78 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:36 +01:00
winesync
18123440c0 [WINESYNC] msi: Support NULL value in INSERT query.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 63ccdfeaaab56aca42d21a884789eb5048064276 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:27:36 +01:00
winesync
2dce4ee7d2 [WINESYNC] msi: Only mark non-registered features as absent if we haven't done anything with them.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b052fc3c893a0fa946c1dd6065047f4b5538cbe0 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:27:36 +01:00
winesync
34c2011c9f [WINESYNC] msi: Don't cache the base URL.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 99aa0eb5d8777b790f1aa3c643217571274b744f by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:27:35 +01:00
winesync
2e19edd6a0 [WINESYNC] msi: Make MsiProcessMessage() RPC-compatible.
Instead of passing a remote MSIHANDLE and creating a set of remote_Record*()
methods, we marshal the whole record as a wire struct. We do this for two
reasons: firstly, because chances are whoever is reading the record is going
to want to read the whole thing, so it's much less taxing on IPC to just pass
the whole record once; and secondly, because records can be created on the
client side or returned from the server side, and we don't want to have to
write a lot of extra code to deal with both possibilities.

The wire_record struct is designed so that we can simply pass the relevant
part of an MSIRECORD to the server.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id bbf0f2da8211da73066fb36a444593ab0e8901f2 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:35 +01:00
winesync
78fc7f9ea8 [WINESYNC] msi: Store a record's associated query privately.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9d121203955da5c761cfb5c22b6428278e41f0c7 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:35 +01:00
winesync
11702b643d [WINESYNC] msi/tests: Test properties from custom actions.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5808f1ddd49930ad49aeab640fced8305db476ea by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:35 +01:00
winesync
66669aedea [WINESYNC] msi: Also null-terminate WCHAR strings.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f37e61817f0393132c75b2e5d86778d1a4ceab45 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:35 +01:00
winesync
c20004294d [WINESYNC] msi/tests: Clean up property tests.
Remove many redundant tests, and print relevant values on failure.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c6b84cee179ac538c3a596fe9e7d10aaacd56321 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:34 +01:00
winesync
3431091c60 [WINESYNC] msi: Make MsiSetProperty() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a73182ca542c00d15becd1d9e09f1c213082999d by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:34 +01:00
winesync
62ababd70d [WINESYNC] msi: Make MsiGetProperty() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2192c9a50a91d175f367534d2ed84fe24f4253aa by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:34 +01:00
winesync
b74b77aa65 [WINESYNC] msi: Convert the IWineMsiRemote* remote interfaces to RPC stubs.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8bfb4e8b6209d02a18be3299717b1f38db7045fe by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:34 +01:00
winesync
f9131763ed [WINESYNC] msi: Allocate the remote handle on the server side.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b9b459810f646c48bdac981a066f0102acb9201c by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:34 +01:00
winesync
a5f9ac3b85 [WINESYNC] msi: Stop vending WineMsiRemotePackage.
Since we return it from WineMsiRemoteCustomAction::GetActionInfo().

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d26336a944e0b516e56dd69fa06543404402b45f by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:33 +01:00
Eric Kohl
691a739b02 [UMPNPMGR] Improve UpdateServiceStatus()
- Set dwCheckPoint
- Set dwControlAccepted depending on the service state
2022-03-20 17:21:45 +01:00
Eric Kohl
b0a73746cd [UMPNPMGR][SETUPAPI] Fix notification handles in PNP_RegisterNotification and PNP_UnregisterNotification
- Notification handles must be context handles
- Register and unregister notification targets
2022-03-20 14:59:30 +01:00
Vadim Galyant
d4a05ad7aa [FREELDR:NTLDR] Stub out x86 PAE support in preparation for PR #4272.
- Move boot options parsing early on in LoadWindowsCore().

- Add WinLdrIsPaeSupported(), move in it the PAE options parsing.
  The aim is to perform other tests to determine whether or not to
  enable PAE, and select an adequate kernel image.

Co-authored-by: Vadim Galyant <vgal@rambler.ru>

- Fix parsing of the NOEXECUTE options, taking their precedence
  into account. Most of these are also x86-specific.
2022-03-20 04:12:58 +01:00
Hermès Bélusca-Maïto
52275a92bd [WIN32SS:DISPLAY] Fix some return values (use correct types) in display drivers.
See for example, in DrvEnableSurface(), etc.

TODO: framebufacc's comments need to be "translated" into actual English...
2022-03-19 17:51:44 +01:00
Hermès Bélusca-Maïto
5e93daa9ce [WIN32SS] Use the DCFLAGS and DCTYPE flags defined in ntgdi/dc.h instead of the old ones in include/ntgdihdl.h
The names of these new flags match the documented ones at
https://reactos.org/wiki/Techwiki:Win32k/DC
https://books.google.hr/books?id=-O92IIF1Bj4C&pg=PA197&lpg=PA197
and the gdikdx debug extension.
2022-03-19 17:26:09 +01:00
Hermès Bélusca-Maïto
1c2b757a64 [WIN32SS:NTUSER] Use kernel handle in W32kOpenFile(). 2022-03-19 17:04:30 +01:00
Hermès Bélusca-Maïto
d535ecf1dc [FREELDR] Use safe-string buffer printf to initialize the returned strings in WinLdrGetNLSNames().
This will also stop the GCC 9+ warnings, see PR #4385.
2022-03-19 16:56:13 +01:00
Vadim Galyant
d01f948925 [FREELDR] Allow booting from NTFS volume. (#3775) 2022-03-19 15:44:42 +01:00
Mark Jansen
1eed7ca9a9 [RAPPS] Fix uninstalling applications
- 'WindowsInstaller' setups do not fill the UninstallString and ModifyPath with the needed info, so manually calculate those.
- Fix the case where REG_EXPAND_SZ is used instead of REG_SZ
- Take NoModify into account
2022-03-19 13:32:51 +01:00
Stanislav Motylkov
40fe3e5dd9 [NTDLL][ARM] Add missing definition for RtlFillMemoryUlong
[GITHUB] Build entire base module for ARM platform

CORE-17604
2022-03-18 22:52:05 +03:00
Adam Słaboń
d811fca7c0 [WINLOGON] Make PC Speaker "beep" similar to Windows 2003 one (#4397) 2022-03-17 22:31:06 +03:00
Thomas Faber
be33631629 [COMSUPP] Relicense as BSD. 2022-03-15 22:54:17 -04:00
Thomas Faber
680f103f3d [NETCFGX] Fix uninitialized variable use. 2022-03-13 16:20:44 -04:00
Stanislav Motylkov
d3f3a97b1e [DISKPART] Fix GCC build. Addendum to 28d565ae9a. 2022-03-13 17:58:06 +03:00
Eric Kohl
a2aaa28436 [DISKPART] Add dump command to dump a sector of a disk or partition
Select a disk and run "dump disk 0" to dump the MBR of the disk.
2022-03-13 14:26:10 +01:00
Eric Kohl
28d565ae9a [DISKPART] Add dump command to dump a sector of a disk or partition
Select a disk and run "dump disk 0" to dump the MBR of the disk.
2022-03-13 14:20:47 +01:00
Mark Jansen
af33607a27 [SHELL32] Do not reopen the drive properties dialog on cancel (#4383)
CORE-18073
2022-03-12 15:25:48 +01:00
Joachim Henze
248fe4714a [WINFILE] de-DE.rc White-space addendum in context of CORE-18077
Addendum to 0.4.15-dev-3887-g c3f4c11af1
2022-03-10 23:58:48 +01:00
Dmitry Borisov
dc6dfbf668 [NETKVM] Fix calling convention for callback and variadic functions
Addendum to 4c37757e81.
2022-03-10 13:31:10 +03:00
Katayama Hirofumi MZ
dd5a634611 [ATL] Add atlsync.h (#4382)
- Add atlsync.h and implement CCriticalSection, CEvent, CMutex and CSemaphore classes.
CORE-13950
2022-03-07 11:02:42 +09:00
Katayama Hirofumi MZ
6cb1e57a63 [SHELL32] Support CSIDL_FLAG_NO_ALIAS (#4381)
Adding the CSIDL_FLAG_NO_ALIAS flag to SHGetSpecialFolderLocation should return the physical PIDL if possible.
CORE-18079
2022-03-06 15:25:45 +09:00
Katayama Hirofumi MZ
c5f6e744e7 [SHELL32] Follow-up of 'Simplify CChangeNotifyServer'
Do DestroyAllItems() on OnDestroy().
CORE-13950
2022-03-06 12:33:10 +09:00
Katayama Hirofumi MZ
08bd879247 [SHELL32] Simplify CChangeNotifyServer
- Rename ITEM as CWatchItem.
- Change CWatchItem::hRegEntry to CWatchItem::pRegEntry.
- Simplify code around CWatchItem.

CWatchItem::hRegEntry was local to server, so we could change it to a pointer. CORE-13950
2022-03-06 11:49:28 +09:00
Thamatip Chitpong
79eb14deb5 [TASKMGR] Add version resource info (#4376) 2022-03-06 01:06:58 +03:00
Thamatip Chitpong
9ca32a2b95 [AC97] Improve driver version info (#4368) 2022-03-06 01:04:56 +03:00
Adam Słaboń
68e19a95d0 [AC97] Enable on all Intel AC'97 audio controllers (#4366) 2022-03-06 01:04:22 +03:00
Joachim Henze
c3f4c11af1 [REACTOS] de-DE.rc in all modules: DIE! EINGABETASTE! DIE! CORE-18077
harmonize the mixed usage of EINGABETASTE and ENTER
in favor of ENTER.

Allows us even to omit a linebreak in the format utility and
therefore get closer to en-US.rc
2022-03-05 21:25:30 +01:00
Joachim Henze
c791d4ee4e [USETUP] de-DE Update 2022-03-05 CORE-18075
Avoids some typos like
 gew\201nste -> gew\201nschte
 gew\204hlten -> gew\204hlte

Global replacement of
 fahr->setz
to harmonize the mixed usage of Fortfahren vs Fortsetzen

Also recently someone started using ENTER instead of EINGABETASTE
and although I was pissed off by that in the beginning, after thinking
twice: ENTER is the much better alternative to EINGABETASTE, because:
- it does not need to be translated from english
- it is shorter and therefore helps to avoid some needed abbreviations
- it allows to avoid articles and therefore aligns better with other selections
- it avoids translation errors like EINGABETASTER (and EEINGABETASTE in older branches)
So I use that consistently throughout the translation now.

Also shorten "Der PC wird automatisch neu gestartet" because that line was
so long, that it looked odd.

88 Lines touched: "Der Führer wär stolz"
2022-03-05 18:23:33 +01:00
Julio Carchi
ea7c14919e [NTUSER] Fix Toolbar re-painting when Rebar parent has been altered (#4380) CORE-12342
If a Rebar window is altered by calling either ShowWindow() or UpdateWindow()
then we were only updating the parent and omitting their children windows.

This is closer to the behavior of the very very old SVN r27394 == git f1a7f30 .
And therefore intentionally excludes parts of SVN r27403 == git e2651a0 .

The bots have no complaints about it:
KVM https://reactos.org/testman/compare.php?ids=81266,81290
VBox https://reactos.org/testman/compare.php?ids=81267,81291
2022-03-04 19:40:57 +01:00
Katayama Hirofumi MZ
6ba810c08e [IMM32] s/CLIENTIMC_UNKNOWN1/CLIENTIMC_DESTROY/
CORE-11700
2022-03-03 16:17:07 +09:00
Joachim Henze
a6b544fe37 [RUNAS] de-DE.rc Fix typo
An addendum to 0.4.15-dev-3876-g 4109072bc8
which had no JIRA-ticket.
2022-03-03 04:17:43 +01:00
Joachim Henze
e6de6098fb [MSCONFIG_NEW] Exclude from the iso, for the time being CORE-18067
Since more than 10 years we do ship two binaries for the very same purpose in our isos:
msconfig and msconfig_new.

msconfig_new was an attempt to refactor the old tool, but it got stuck rather soon
and is bloating our isos since then, and consuming build-time.
My testing shows that the older version is superior in many ways
compared to that refactoring attempt: see CORE-18067 for examples of some bugs.

Personally I think focusing on the older tool exclusively would make more sense
than trying to improve that refactoring proposal.
But since one never knows what the future might bring and I did not want to step on anyones toes,
I decided to just disable the build and iso-integration of the unfinished one meanwhile,
instead of dumping it entirely. Although my feeling is that after 10years of waiting
it's not worth waiting another 10 years with that.
2022-03-03 03:33:40 +01:00
Katayama Hirofumi MZ
f6317405f6 [IMM32] Silence "invalid HIMC" in Imm32CleanupContext
CORE-18049
2022-03-03 10:21:49 +09:00
Katayama Hirofumi MZ
1c097babff [IMM32_APITEST] Fix ImmGetImeInfoEx for Win2k3
CORE-11700
2022-03-03 10:10:46 +09:00
Katayama Hirofumi MZ
cfeb498e4f [NTUSER][IMM32] Fix ValidateHandleNoErr (#4377)
- Add DesktopPtrToUser helper function.
- Fix imm32.ValidateHandleNoErr function.
- Use DesktopHeapAlloc to allocate the IMC, instead of ExAllocatePoolWithTag.
- Use DesktopHeapFree to free the IMC, instead of ExFreePoolWithTag.
CORE-11700, CORE-18049
2022-03-03 09:43:05 +09:00
Joachim Henze
d9f156e9a8 [RASDLG] de-DE.rc Update CORE-18056
Fix the glitch
"Wenn nur eine nur einzige Leitung verbunden ist"
to
"Wenn nur eine einzige Leitung verbunden ist"
which was introduced by
SVN r67570 == git 8ad8574f4b

and a few other small glitches.
2022-02-28 12:11:05 +01:00
Eric Kohl
50a1479c53 [SECLOGON] Create the remote process 2022-02-26 19:08:15 +01:00
Eric Kohl
4109072bc8 [RUNAS] Support the /netonly option and improve the help text 2022-02-26 18:57:57 +01:00
Mark Jansen
977c129f33 [USER32] SetScrollPos should not bypass UserApiHook
CORE-18048
2022-02-23 20:32:02 +01:00
Stanislav Motylkov
015fd3a72f [NOTEPAD] Fix Croatian (hr-HR) resource file
Addendum to e0fc48d6 (#4338).
2022-02-23 18:34:48 +03:00
Mark Jansen
6304059721 [SHELL32] Add extra information when encountering an unexpected pidl
In addition, make pdump slightly less unusable
2022-02-22 19:43:05 +01:00
Mark Jansen
6a68717c58 [SHELL32] CDefaultContextMenu: Provide a fallback property sheet
CORE-17691
2022-02-22 19:40:09 +01:00
Eric Kohl
7a42954cb7 [ADVAPI32] Remove buggy declaration of SystemFunction034
Addendum to f4982e54.
2022-02-21 17:34:23 +01:00
Eric Kohl
f4982e547d [ADVAPI32][SECLOGON] Start the implementation of CreateProcessWithLogonW 2022-02-21 16:38:29 +01:00
Eric Kohl
eb0830a1d6 [RUNAS] Load user profile by default 2022-02-21 16:26:35 +01:00
Eric Kohl
d4b947aa9b [RUNAS] Pass the current directory to CreateProcessWithLogonW and handle errors 2022-02-21 11:12:50 +01:00
Hermès Bélusca-Maïto
38cbe5acc3 [FREELDR] Update documentation following timeout and UI style work. 2022-02-21 02:54:06 +01:00
Hermès Bélusca-Maïto
63833c769f [FREELDR] Update existing FREELDR.INI documentation. 2022-02-21 02:54:05 +01:00
Hermès Bélusca-Maïto
ea4cfcfa12 [BOOTDATA][SETUPLIB] Don't hardcode FreeLdr's UI defaults in the freeldr.ini files.
This includes:
- the default TimeText;
- the default colors.

They can however be changed by the user at one's convenience, by
explicitly specifying different values.
2022-02-21 02:54:04 +01:00
Hermès Bélusca-Maïto
d215039216 [FREELDR:UI] Improve setting UI colors/strings ("theme") defaults.
Now, default UI colors/strings (e.g. titles/timeout text) that are
dependent of the UI "theme" (mini vs. full TUI) are set first when
calling their corresponding Initialize() function.
Then, the user UI settings are read from the user's freeldr.ini file
and override the UI theme defaults.

These settings get effectively applied at the first drawing operation
(usually the UiFadeInBackdrop() call done by the main UiInitialize()
function).
For "directui" we don't care about the settings -- they are hardcoded.

This allows not having to specify the default settings in the
freeldr.ini files anymore.

+ Add support for "None" UiBackdropFillStyle: fill with whitespace,
  instead of the specific patterns.
2022-02-21 02:54:03 +01:00
Hermès Bélusca-Maïto
44ed4fb001 [FREELDR:UI] TuiUpdateDateTime(): Simplify building the date/time strings. 2022-02-21 02:54:02 +01:00
Hermès Bélusca-Maïto
3599c835f6 [FREELDR:UI] Improve menu timeout drawing.
Fixes CORE-13827, where the timer countdown would otherwise display
incorrectly if there were no trailing spaces after the timer string.
Now, the countdown is always appended with one space separator after
the end of the string, **or**, it is inserted at a specific place
delimited by a %d insertion point in the string.

Also, don't repaint the date & time (in full-UI mode) many times per
second -- instead of only once per second -- while displaying a menu.
2022-02-21 02:54:01 +01:00
Hermès Bélusca-Maïto
ee32f9b86e [FREELDR:UI] Isolate TuiDrawBox() top/bottom horizontal lines drawing into their own helpers. 2022-02-21 02:54:00 +01:00
Hermès Bélusca-Maïto
622a90522d [FREELDR:UI] Fix the painting ordering of menu elements. 2022-02-21 02:53:59 +01:00
Hermès Bélusca-Maïto
5239a0ca4d [FREELDR:UI] Improve how menu line separators are drawn.
When the menu is not boxed, do not draw the specific "T"-shaped box
corners for the separators.
2022-02-21 02:53:58 +01:00
Hermès Bélusca-Maïto
c322610f6e [FREELDR] Improve progress bar support, adapted from Inbv.
- Improve accuracy/progression smoothness when loading drivers.
- Allow changing text and percentage independently.
2022-02-21 02:53:54 +01:00
Eric Kohl
c14440ee57 [RUNAS] Add password input and improve help text
Now it works on windows xp and 10.
2022-02-19 19:50:46 +01:00
Oleg Dubinskiy
9ab5d3afb2 [WIN32SS][NTGDI] Remove useless assert (#4370) CORE-17561
Remove useless ASSERT(FALSE); in IntGdiCreateDisplayDC, because it actually does not check anything useful. It only asserts each time when the function is called from DxEngCreateMemoryDC by MS DirectDraw stack (ddraw.dll & dxg.sys).
UNIMPLEMENTED debug print is enough a lot to see that this function is not implemented properly.
CORE-17561
2022-02-18 22:00:57 +01:00
Hermès Bélusca-Maïto
81943afb7b [FREELDR:NTLDR] Slightly rework how KD transport DLLs are loaded.
A Kernel Debugger Transport DLL is always loaded for Windows XP+ :
either the standard KDCOM.DLL (by default), or an alternative
user-provided one via the /DEBUGPORT= option. If this alternative
does not exist or fails to be loaded, fall back to the standard
KDCOM.DLL.

If no KD dll is loaded, kernel loading would fail because of the
resulting unsatisfied KDCOM dll import (tested on Windows and ReactOS).

+ Normalize kernel, HAL and KD dll file names to lowercase (needed for
  case-sensitive installations).
2022-02-18 20:24:51 +01:00
Hermès Bélusca-Maïto
2221df213f [FREELDR] Add cleanup in PE-image-handling-related failure code paths. 2022-02-18 20:24:49 +01:00
Hermès Bélusca-Maïto
15e1489c7f [FREELDR:NTLDR] Add some error handling for LoadModule().
Based on PR #4294 by Serge Gautherie.

Co-authored-by: Serge Gautherie <reactos-git_serge_171003@gautherie.fr>
2022-02-18 20:24:48 +01:00
Hermès Bélusca-Maïto
1a920d9a7e [FREELDR:NTLDR] Shorten KdTransportDllName --> KdDllName. 2022-02-18 20:24:47 +01:00
Thomas Faber
b72efb6ca8 [CRT] Fix some inconsistent annotations in CRT headers.
This fixes about 5000 VS analysis warnings.
2022-02-17 22:01:37 -05:00
Thomas Faber
f5c5426924 [USBPORT] Fix incorrect use of bitfields.
EndpointMoved == TRUE could never be true, because BOOL is a signed type,
and the only two values in a signed one-bit type are 0 and -1.

Courtesy of VS analysis warning C6299:
Explicitly comparing a bit field to a Boolean type will yield unexpected results.
2022-02-17 22:01:34 -05:00
Mark Jansen
fd28a69de6 [WIN32SS] Store the scrollbar theming enabled flag in the scrollbar
This ensure we do not rely on usermode for always passing this flag in,
which is a ReactOS specific flag.
Thanks to Doug Lyons for finding the source of the problem.
CORE-17780
2022-02-16 18:43:32 +01:00
Andrej Bartulin
7bfc35c366 [README] Add Discord server join link (#4352) 2022-02-16 19:04:44 +03:00
Alex Miccolis
9b71653918 [SHELL32] Stop SHELL_execute from always executing files (#4363)
CORE-18038
Add a check (PathIsExeW) to SHELL_execute to prevent it from executing non-exe files.
2022-02-16 00:54:20 +01:00
Robert Naumann
d64ab28b5f [USER32] Use UINT as parameter for DrawText() (#4357)
Import Wine Commit 0ba1bfb0624d5e95f15499d6cfc9af1910c7c5be by Marcus
Meissner: user32: DrawText gets a 32bit flag, not a 16bit flag.

Fixes CORE-17315 - spottted by I_Kill_Bugs
2022-02-16 00:50:51 +01:00
Hermès Bélusca-Maïto
a7e3584065 [FREELDR:UI] Cleanup for the DrawMenu* functions.
- Remove duplicated code from directui.c and use the one from
  TUI instead, with the latter properly #ifdef'ed for _M_ARM.

- Add SAL annotations.
2022-02-16 00:49:48 +01:00
Hermès Bélusca-Maïto
ccddb4aaf2 [BOOTDATA] Add /HAL=halpc98.dll to all the PC98 floppy disk's freeldr INI file boot entries. 2022-02-16 00:49:47 +01:00
Obaid51
9c79a7982b [AC97] Import the AC97 driver sample
The source code is licensed under MIT license, taken from
"MSDN Code Gallery Microsoft Samples" repository
(https://github.com/microsoftarchive/msdn-code-gallery-microsoft)

The original license was MS-PL, but the driver was later relicensed
as MIT.

Adopted to ReactOS code base by Michael Stamper.

Co-authored-by: Michael Stamper <michaelstamper1@gmail.com>
2022-02-16 01:31:28 +03:00
Bryan Kirk
0944f808f8 [DDK] Hack the IDmaChannel::PhysicalAddress ABI 2022-02-16 01:31:28 +03:00
Bryan Kirk
3d9ef5c7e7 [PSDK] Add GUIDs used by AC97 sample driver 2022-02-16 01:31:28 +03:00
Bryan Kirk
07baa95a01 [DDK] Fix and add portcls definitions used by AC97 driver sample 2022-02-16 01:31:27 +03:00
Victor Perevertkin
6e97b4314f [PORTCLS] Centralize AddRef/Release implementation.
And make it thread-safe.

Co-authored-by: Thomas Faber <thomas.faber@reactos.org>
2022-02-16 01:31:27 +03:00
Thomas Faber
7db9fb3ba6 [PORTCLS] Don't leak CPortWaveCyclic. 2022-02-15 08:43:08 -05:00
Thomas Faber
ec1eb52ebf [PORTCLS] Do not rely on operator new to zero memory.
The standard operator new does not do this, and GCC will in fact
optimize out any zeroing done in the operator.
2022-02-15 08:43:05 -05:00
Katayama Hirofumi MZ
418edcd2bf [SHELL32_APITEST] ShellExecCmdLine: Close newly-opened windows
ROSTESTS-378
2022-02-15 20:15:36 +09:00
Katayama Hirofumi MZ
2b2366ab90 [NTUSER] Improve UserFreeInputContext and UserDestroyInputContext
CORE-18044
2022-02-15 19:07:50 +09:00
Katayama Hirofumi MZ
dfd06ee8fc [MSPAINT] Implement skew (#4362)
- Add SkewDIB helper function in dib.cpp.
- Implement Stretch and Skew feature by SelectionModel::StretchSkew and ImageModel::StretchSkew.
- Move ColorKeyedMaskBlt function.
CORE-16634
2022-02-14 16:18:18 +09:00
Katayama Hirofumi MZ
2d90919047 [MSPAINT] Implement canvas rotation (#4360)
- Add Rotate90DegreeBlt function to dib.cpp.
- Implement ImageModel::RotateNTimes90Degrees and SelectionModel::RotateNTimes90Degrees.
- Improve ToolsModel::SetBackgroundTransparent.
- Extend and improve SelectionModel::InsertFromHBITMAP.
CORE-16634
2022-02-14 12:08:34 +09:00
Thomas Faber
6eccbe27ec [HAL:APIC] Ensure the interrupt gets requested immediately in ApicRequestSelfInterrupt. CORE-17663 2022-02-13 17:15:00 -05:00
Eric Kohl
5811da1ec5 [RUNAS] Initial version of the runas utility
- Work in progress
- Please do not translate it yet because the resources will change significantly
2022-02-13 21:45:10 +01:00
Hermès Bélusca-Maïto
f7e8214b55 [NTOS:INBV] Code refactoring: Move all the boot animation-specific code out of inbv.c and into the new bootanim.c file.
- inbv.c now only contains the Inbv-specific API and nothing else.

- It will make easier for people to write their own boot themes & animations,
  by just copying/adapting the bootanim.c file (and the resources).

- Add SAL annotations.

- All INBV progress bar functions (except for InbvIndicateProgress())
  should not be INIT-only functions, since they can be (not yet in ROS)
  used at later times -- namely, for feedback during hibernation.
2022-02-13 21:29:14 +01:00
Hermès Bélusca-Maïto
17bd71b570 [NTOS:INBV] Duplicate inbv.c to bootanim.c -- the Git way >_> 2022-02-13 21:19:13 +01:00
Hermès Bélusca-Maïto
8fd64d636d Restore the original inbv.c 2022-02-13 21:18:51 +01:00
Hermès Bélusca-Maïto
93c5e2b7c0 [NTOS:INBV] Duplicate inbv.c to bootanim.c -- the Git way >_>
This will preserve the history in the copied file.
2022-02-13 21:18:22 +01:00
Hermès Bélusca-Maïto
e17f7d6994 [NTOS:INBV] Add documentation to the progress-bar helpers. And fix a bug in them.
In particular, the progress percentage specified to InbvUpdateProgressBar(),
or the progress feedback made with InbvIndicateProgress() calls, is
**relative** to the progress sub-range specified with a previous call to
InbvSetProgressBarSubset() (by default, the range is 0...100%).

This functionality is used e.g. when the number of progress steps is
unknown prior, for example when loading drivers: in this case progress
is made within a given percentage range.

This bug has always been with us since 2010.
2022-02-13 21:16:52 +01:00
Eric Kohl
3f67212812 [PSDK] Add missing flags for CreateProcessWithLogon 2022-02-13 15:41:49 +01:00
Katayama Hirofumi MZ
60b89da383 [SHELL32_APITEST] Try to fix Test Win2003_x64 again 2022-02-13 17:45:08 +09:00
Katayama Hirofumi MZ
45a4e53fa4 [NTUSER][IMM32] Use Imm32CurrentPti and pool (#4356)
- Use newly-defined Imm32CurrentPti() instead of NtCurrentTeb()->Win32ThreadInfo.
- THREADSTATE_GETTHREADINFO is same as THREADSTATE_UNKNOWN18.
- Use the paged pool to allocate HIMC rather than heap.
- Fix and improve ImmDestroyContext function.
CORE-11700
2022-02-13 15:51:53 +09:00
Hermès Bélusca-Maïto
78a7d7dc32 [CMIDRIVER] Remove useless Visual Studio resource editor file. 2022-02-12 16:21:32 +01:00
Hermès Bélusca-Maïto
f73c0e08e2 [FDEBUG][CMIDRIVER] Add missing psdk dependency for user-mode code. 2022-02-12 16:21:30 +01:00
Katayama Hirofumi MZ
b5c9d532e8 [NTUSER][USER32] Implement IntImmProcessKey (#4353)
- Establish the trampoline callback USER32_CALLBACK_IMMPROCESSKEY for imm32!ImmProcessKey function, between NTUSER and IMM32.
- Add IntGetImeCompatFlags helper function.
- Implement co_IntImmProcessKey and IntImmProcessKey functions.
CORE-11700
2022-02-12 08:32:13 +09:00
Joachim Henze
27d73cd78b [NOTEPAD] Fix hr-Hr.rc compiler warning 'unrecognized escape sequence' CORE-18043
It regressed by 0.4.15-dev-3810-g e0fc48d6e2 (#4338)
No release was ever affected therefore.

The diff looks massive in tgit-diffview, strange,
but I actually replaced just a '\' with '\n' at line 168.
My local diff tool does properly display it as a one-line-change only.
2022-02-11 12:42:03 +01:00
Katayama Hirofumi MZ
bbe5fd5274 [NTUSER] Implement NtUserCheckImeHotKey (#4351)
- Modify NtUserCheckImeHotKey prototype.
- Add IntGetImeHotKeyLanguageScore, IntGetActiveKeyboardLayout, IntGetImeHotKeyByKey, and IntCheckImeHotKey helper functions.
- Implement NtUserCheckImeHotKey function.
CORE-11700
2022-02-10 22:53:28 +09:00
George Bișoc
1b06522638 [NTOS:SE] Assign the captured SID and/or privileges to NULL manually on token filtering
This reverts 8479509 commit which pretty much does nothing at all (the captured pointer is NULL within the stack of the function has no effect outside of the function). My mistake, sorry.
2022-02-10 09:51:58 +01:00
Katayama Hirofumi MZ
8cdfc245b3 [IMM32] Implement ImmWINNLSGetEnableStatus
CORE-11700
2022-02-10 15:18:44 +09:00
Katayama Hirofumi MZ
cf32c7cb5e [IMM32] Implement ImmSendMessageToActiveDefImeWndW
CORE-11700
2022-02-10 15:05:59 +09:00
George Bișoc
8479509a7b [NTOS:SE] Assign the captured privilege or SID as NULL when releasing
Whenever a captured security property such as privilege or SID is released, we must not have such captured property point at random address in memory but rather we must assign it as NULL after it's been freed from pool memory. This avoids potential double-after-free situations where we might release a buffer twice.
This is exactly the case with token filtering.
2022-02-09 10:29:56 +01:00
Katayama Hirofumi MZ
3ed22ed326 [SHELL32_APITEST] Try to fix Test Win2003_x64
rm: cannot remove 'C:\\tests/testdata/shell32_apitest_sub.exe': Permission denied
2022-02-09 12:37:06 +09:00
Katayama Hirofumi MZ
e52ce89be3 [NTUSER] Refactoring ime.c
s/WINAPI/NTAPI/
CORE-11700
2022-02-09 11:51:27 +09:00
Katayama Hirofumi MZ
5d5cc57869 [NTUSER] Implement NtUserSetImeHotKey (#4350)
- Modify NtUserGetImeHotKey and NtUserSetImeHotKey prototypes.
- Define enum SETIMEHOTKEY_ACTION in <undocuser.h>.
- Define IMEHOTKEY structure in ime.c.
- Add IntGetImeHotKeyLangId, IntAddImeHotKey, IntGetImeHotKeyById, IntGetImeHotKeyByKeyAndLang, IntDeleteImeHotKey, IntFreeImeHotKeys, and IntSetImeHotKey helper functions.
- Implement NtUserGetImeHotKey and NtUserSetImeHotKey functions.
- Cleanup the IME hotkeys at process exit.
CORE-11700
2022-02-09 11:27:44 +09:00
Andrej Bartulin
e0fc48d6e2 [NOTEPAD] Add Croatian translation (hr-HR) (#4338) 2022-02-09 10:26:22 +09:00
Hermès Bélusca-Maïto
2ae45e0985 [CONCFG:FONT] Implement support for the Windows 10 "__DefaultTTFont__" special FaceName value. (#4337)
This special value tells the console to default to whichever font
is deemed most appropriate for the current code page.

Add Doxygen documentation for FindCachedTTFont().
2022-02-08 15:59:10 +01:00
Hermès Bélusca-Maïto
0b6b0b0021 [CONCFG:FONT] Convert the TT_FONT_ENTRY structure to one similar to MS Terminal's _TT_FONT_LIST. (#4337)
See the definition of struct _TT_FONT_LIST
in https://github.com/microsoft/terminal/blob/main/dep/Console/winconp.h

Add Doxygen documentation.

[CONSOLE.CPL][CONSRV] "fonts cache" -> "font cache".
2022-02-08 15:59:08 +01:00
Hermès Bélusca-Maïto
5d3915d0fc [CONCFG:FONT][CONSRV] Use a suitable font when changing console output CP; fail if none found. (#4337)
CORE-12451, CORE-17601, CORE-17803
Replaces PR #4281.

When changing the console output code page, check whether the current
font can support it. If not, try to find a suitable font for the new
code page. If none can be found:

- if we are creating a new console, forcefully switch to codepage 437
  (OEM USA) and retry finding a font, falling back to "Terminal" if
  none could be found;

- if we were just changing the current CP, just fail and keep the old
  code page and font.

Rework the console font selection/creation functions for this new job
(see CreateConsoleFontEx() and friends). Elements of implementation
based from https://github.com/microsoft/terminal ; see code for more
information.

Silence the noisy IsValidConsoleFont2() diagnostic messages.

Add Doxygen documentation.

[CONSOLE.CPL] Only add "Terminal" to the enumerated list of faces
+ add a TODO implementation comment.
2022-02-08 15:59:07 +01:00
Hermès Bélusca-Maïto
a94436b519 [KERNEL32] SetThreadUILanguage(): Validate the parameter. Use LANGIDFROMLCID() macro. (#4301)
Both ReactOS and Win2k3 only support '0' for the parameter.
2022-02-08 15:58:04 +01:00
Hermès Bélusca-Maïto
3e44a5d71c [KERNEL32][CONSRV] Retrieve the best-suited language ID corresponding to the active console output code page. (#4301)
CORE-17601, CORE-17803
Replaces PR #4281.

Implement SrvGetConsoleLangId() (server-side) and set the new current
thread's locale after connecting to a console, or changing its output
code page.

Based on API tracing on Windows 2003, as well as on comments and code
gathered from: https://github.com/microsoft/terminal

Tests results are listed in PR #4301.
2022-02-08 15:58:02 +01:00
Hermès Bélusca-Maïto
ba516ff0f5 [KERNEL32_APITESTS] Add a test showing thread locale/LangID sync with console (#4301)
This test shows how a console program's thread's language ID changes,
or not, when changing the console output code page (or indirectly
when starting on/connecting to a new console), depending on whether
or not the console is running on a CJK/on a non-CJK system, and the
selected code page is a CJK/a non-CJK one.

By that, the test indirectly tests the (non-exposed) consoles GetLangId
+ SetThreadLocale() calls being made under the hood.
2022-02-08 15:58:00 +01:00
Hermès Bélusca-Maïto
20e23bbfcd [NTOS:EX] ExpGet/SetCurrentUserUILanguage() take pointer to const string. Add an implementation note to NtQueryDefaultUILanguage(). 2022-02-08 15:56:39 +01:00
Hermès Bélusca-Maïto
0540c20167 [NTOS:EX][SDK:REACTOS] Fix capitalization of "LangId" in the ProbeFor*** functions. 2022-02-08 15:56:34 +01:00
Katayama Hirofumi MZ
9db4437185 [NTUSER] Implement NtUserNotifyIMEStatus (#4345)
- Define "the special virtual keys for Japanese".
- Add UserSetImeConversionKeyState helper function.
- Implement NtUserNotifyIMEStatus function.
CORE-11700
2022-02-08 12:22:08 +09:00
Katayama Hirofumi MZ
61d4b5fd6c [NTUSER] Cleanup the window lists (#4346)
Cleanup the window lists that are no longer needed at the thread / process termination.
CORE-11700
2022-02-08 12:21:05 +09:00
Mark Jansen
ce306b83db [SHELL32] Rename functions to fix ambiguity 2022-02-07 20:56:46 +01:00
Mark Jansen
bc5603d9d0 [SHELL32] Show properties dialog in a new thread 2022-02-07 20:56:46 +01:00
Mark Jansen
93fac5533d [SHELL32] ShellExecute: Retry after searching for the file in the SEE_MASK_INVOKEIDLIST case
CORE-18035
2022-02-07 20:56:46 +01:00
Mark Jansen
f6f5490ab4 [SHELL32] ShellExecute: Implement SEE_MASK_INVOKEIDLIST
CORE-18035
Also simplify some error handling by using smart pointers
2022-02-07 20:56:21 +01:00
Katayama Hirofumi MZ
1bc9dda5e6 [NTUSER] Rewrite NtUserDestroyInputContext (#4342)
CORE-11700
2022-02-07 10:45:02 +09:00
Hermès Bélusca-Maïto
914f14a8b9 [FREELDR:NTLDR] Adjust some debug traces. RegOpenKey(): demote an ERR to WARN.
CORE-18040
2022-02-07 00:26:30 +01:00
Hermès Bélusca-Maïto
f6a13d452c [FREELDR:NTLDR] Implement support for the SOS option.
CORE-9023, CORE-18033

- Reset the UI to a minimal one in SOS mode.

- In SOS mode, a trace of loaded files is displayed on the screen,
  instead of the usual progress bar.

- Add a callback to the PE loader to notify when imported DLLs are
  loaded for a main image. This allows getting an accurate SOS trace.
2022-02-06 23:53:41 +01:00
Hermès Bélusca-Maïto
cfbec70e04 [FREELDR] Use strsafe functions in the PE loader. 2022-02-06 22:20:58 +01:00
Hermès Bélusca-Maïto
313e6b6cbb [FREELDR:UI] Clean-up when uninitializing the UI.
- If the started OS loader failed and we are back to the OS selection
  menu, re-initialize the UI as the loader may have messed up the display
  in the meantime.

- Tear down allocated off-screen back-buffer when uninitializing the TUI.
- Clear up the screen when initializing the direct-UI.
2022-02-06 22:20:57 +01:00
Hermès Bélusca-Maïto
e2daca3f60 [FREELDR:UI] Improve drawing of progress bars, reducing flickering.
- Remove excessive UiDrawBackdrop() calls that caused too many
  unnecessary redraws.

- ProgressBar: Clear only the portions that need to be cleared up.
  This allows to not use DrawBackdrop anymore and the flickering.
2022-02-06 17:52:46 +01:00
Hermès Bélusca-Maïto
9101247366 [FREELDR:UI] Couple of fixes for the ProgressBar functions.
- Fix box size calculations.
- MiniTUI: Distinguish Vista+ vs. NTLDR style progress bar.
2022-02-06 17:52:44 +01:00
Hermès Bélusca-Maïto
d749b45e2a [FREELDR:UI] Cleanup for the ProgressBar functions.
- Remove duplicated code from directui.c and use the one from
  TUI instead, with the latter properly #ifdef'ed for _M_ARM.

- Fix their title color.
- Add SAL annotations.
2022-02-06 17:52:43 +01:00
Hermès Bélusca-Maïto
a9994eab45 [FREELDR:UI] Couple of fixes for some TUI Draw*Text functions.
- TuiDrawCenteredText: Partly fix centering calculations (susceptible
  to give negative coordinates).

- TuiDrawText2: Don't display anything if X or Y are out of the screen.
2022-02-06 17:52:42 +01:00
Hermès Bélusca-Maïto
f6a2438c1f [FREELDR:UI] Cleanup for the DrawText* functions.
- Remove duplicated code from directui.c and use the one from
  TUI instead, with the latter properly #ifdef'ed for _M_ARM.

- Provide the minimal implementations for NoUiDrawText*().
- TuiDrawText() is just a particular case of TuiDrawText2().

- Isolate the TuiPrintf() and TuiDraw*Text*() functions as separate
  "Generic TUI utils".

- Fix "TAG_TAG" typo in TAG_TAG_TUI_PALETTE.
- Add SAL annotations.
2022-02-06 17:52:40 +01:00
Hermès Bélusca-Maïto
06fc2e72a6 [FREELDR:UI] Disable GUI code from compilation as it is currently stubbed.
Rename "ShowGui" -> "ShowUi" as this variable was actually unrelated
to *graphical* aspects of the UI.
2022-02-06 17:52:39 +01:00
Hermès Bélusca-Maïto
844c9dce6c [FREELDR:UI] Code formatting only. 2022-02-06 17:52:38 +01:00
Eric Kohl
942e79963a [SCHEDSVC] This is a shared process service too 2022-02-06 16:56:43 +01:00
Eric Kohl
b76d49bcaa [SYSSETUP] Disable debug messages on the process page 2022-02-06 16:30:53 +01:00
Katayama Hirofumi MZ
f2c3167db3 [NTUSER] Implement NtUserAssociateInputContext (#4334)
- Add IntReAllocatePoolWithTag function in window.c.
- Define WINDOWLIST structure in "window.h".
- Add IntBuildHwndList and IntFreeHwndList helper functions in window.c.
- Add IntAssociateInputContext and IntAssociateInputContextEx helper functions in ime.c.
- Implement NtUserAssociateInputContext function.
CORE-11700
2022-02-05 20:23:57 +09:00
Joachim Henze
bf16435303 [WIN32SS] Remove an ambiguous assert entirely CORE-16738
It popped up very reliably when performing git-clone of the ros sources
while having the taskmgr open in the processes-tab.
Or when building 'ninja bootcd -j1' while having the taskmgr open in the processes-tab.

It is always possible to ignore it and then continue using ros for days without
noticing any side effects.
James Tabor judged the assert to have a "questionable logic".
Giannis who once added it, was also ok with commenting it.

His words:
This assertion isn't something fatal,
the worst thing that can happen from continuing on it would be
to make the thread get awake more times than it should.

It was commented out already on 2020-04-21 via
0.4.14-dev-1519-g 87f6c82d85
2022-02-05 01:06:15 +01:00
Hermès Bélusca-Maïto
f79c02bd8a [CONSRV] Introduce a CON_SET_OUTPUT_CP() macro to simplify setting the console's output CP + associated changes. Simplify ConDrvSetConsoleCP() as well. 2022-02-04 21:35:15 +01:00
Mark Jansen
f80de47c85 [SHELL32_APITEST] ShellExecuteEx: Add test for 'properties' verb
CORE-18035
2022-02-03 21:50:34 +01:00
Mark Jansen
d40d642f03 [PSDK] Add some parameter names 2022-02-03 21:50:34 +01:00
Serge Gautherie
1944d7b71b [KERNEL32] HeapCreateTagsW(): Sync' types and add annotations
See RtlCreateTagHeap().
2022-02-03 20:21:40 +01:00
Serge Gautherie
25bff3a1e0 [NDK][NTDLL][RTL] RtlCreateTagHeap(): Fix types and annotations
According to
https://processhacker.sourceforge.io/doc/ntrtl_8h.html
2022-02-03 20:21:40 +01:00
Katayama Hirofumi MZ
0519ae0ac5 [NTUSER] Half-implement NtUserSetImeOwnerWindow (#4332)
- Add some code to NtUserSetImeOwnerWindow function.
- Add IntGetTopLevelWindow helper function.
CORE-11700
2022-02-03 13:39:15 +09:00
George Bișoc
8bd980e483 [NTOS:CC] Unintialize private cache maps before purging the cache section
Before purging the data cache of a certain section of a file from system cache, we have to unintialize the private cache maps of that section if a filesystem or any other component prompts the kernel to do so.
2022-02-02 17:45:59 +01:00
Katayama Hirofumi MZ
8c6dcdcf81 [USER32] Implement ImeWnd_OnImeSetContext (#4329)
- Modify NtUserSetImeOwnerWindow prototype.
- Add User32GetTopLevelWindow function.
- Add ImeWnd_OnImeSetContext function.
- Implement WM_IME_SETCONTEXT message handling of the IME window.
CORE-11700
2022-02-02 11:58:31 +09:00
Katayama Hirofumi MZ
470aa27610 [NTUSER] Move IMM-related code to ime.c (#4322)
Move the IMM-related code from ntstubs.c into ime.c.
CORE-11700
2022-02-02 11:56:40 +09:00
Katayama Hirofumi MZ
99614febad [USER32] Add ImeWnd_OnImeSystem (#4327)
- Add WM_IME_SYSTEM message handling of the IME window.
- Modify immtable.h.
CORE-11700
2022-01-31 21:20:08 +09:00
Katayama Hirofumi MZ
173fca6ed6 [NTUSER] UserIsDBCSEnabled: Vietnamese doesn't use DBCS
CORE-11700
2022-01-31 09:33:19 +09:00
Katayama Hirofumi MZ
fbab1914a6 [USER32] Don't delay-load-link to imm32.dll (#4328)
Reduce binary size.
- Don't directly call the IMM32 functions. Use IMM_FN instead.
- Modify CMakeLists.txt to unlink imm32.dll.
CORE-11700
2022-01-31 09:30:47 +09:00
Katayama Hirofumi MZ
d735373e46 [USER32] Improve RegisterIMEClass function
CORE-11700
2022-01-31 04:21:45 +09:00
Joachim Henze
cacb2db2f3 [TAPIUI] Fix es-ES.rc MSVC warning RC4206 : title string too long; truncated at 256 CORE-18034
An addendum to 0.4.15-dev-257-g 546862babc which was (#2667)

Thanks for the shortened translation, provided by Vic Marcal and julenuri.
2022-01-30 17:20:57 +01:00
Katayama Hirofumi MZ
0839711566 [MSPAINT] Improve Undo/Redo and finishing tool (#4324)
- Fix Undo/Redo mechanism.
- Finish drawing when the tool is to be chanaged and when the file is to be saved.
- Add ToolBase::OnFinishDraw to virtualize finishing drawing.
- Extend bClearRedo parameter to ImageModel::Undo.
- Add ImageModel::DrawSelectionBackground and ImageModel::DeleteSelection methods.
- Fix some WM_PAINT message handling.
CORE-17969
2022-01-30 12:05:23 +09:00
Hermès Bélusca-Maïto
c5b029d0fc [BOOTDATA] "open" actions for 'msstylesfile' and 'themefile' should be REG_EXPAND_SZ since they contain unexpanded environment variables. 2022-01-30 03:51:34 +01:00
Hermès Bélusca-Maïto
4929d8ddb8 [BOOTDATA] Add missing quotes around %1 for the 'cplfile' Control_RunDLL command line.
Suppose you copy a CPL file (e.g. console.dll renamed into console.cpl)
into a path containing spaces, for example into the Desktop:

  C:\Documents and Settings\Administrator\Desktop\console.cpl

If the shell registry value for the "open" action of 'cplfile' does not
contain quotes around %1, then the Control_RunDLL function will attempt
to load "C:\Documents" as a file, which of course does not exist.

(NOTE: Missing in ReactOS: Doing a PathFindOnPath() or a PathFileExists()
call to verify that the file actually exists, instead of blindly trying
to run it and failing later in kernel32!LoadExecuteExW ...)

Adding quotes around the %1 fixes this and the correct file is being
loaded.

This behaviour has been confirmed to exist e.g. on Windows Server 2003
too (and is thus *NOT* a bug in ReactOS/Wine's Control_RunDLL
implementation).

----------------------

How to confirm this behaviour, in Win2k3 x86:

1. Start Win2k3 in debug mode under WinDbg. Ensure you have the debug
   symbols available.

2. Once loaded, break into the debugger, attach context to explorer.exe,
   and enter the magical :) single WinDbg command (all in one line, with
   **NO inserted newlines!!**):

bp shell32!CPL_RunMeBaby ".echo \"CPL CmdLine:\"; ?? (wchar_t*)*(void**)(@esp+12);
  bp SHLWAPI!PathIsFileSpecW \".echo \\\"CPL Path:\\\"; ?? (wchar_t*)*(void**)(@esp+4);
  bc \\\"SHLWAPI!PathIsFileSpecW\\\"; g;\"; g"

(Explanation:
a breakpoint is placed in the internal shell32!CPL_RunMeBaby function.
When the bp is hit, it runs the large WinDbg command inside the quotes.
This command echoes an informative line, then dumps the 3rd parameter
of the function on the stack that contains the CPL command-line.
It then adds a new breakpoint in SHLWAPI!PathIsFileSpecW, which is the
function that is being called *just after* the internal parsing of the
CPL command-line, and will verify whether the extracted CPL path does
exist. That new breakpoint in turn will run a WinDbg command that will:
(i) Display the CPL file path (1st-param of that new function), then
(ii) Clear that breakpoint.  Finally, automatic continuation ensues.)

3. On vanilla Win2k3, whose 'cplfile' "open" action does contain the
   quotes around %1:
     rundll32.exe shell32.dll,Control_RunDLL "%1",%*

   you will observe the following:

CPL CmdLine:
wchar_t * 0x00094e30
 ""C:\Documents and Settings\Administrator\Desktop\console.cpl","
CPL Path:
wchar_t * 0x0007f898
 "C:\Documents and Settings\Administrator\Desktop\console.cpl"

Notice the extra pair of quotes around the CPL filename in the CmdLine.

4. When modifying the 'cplfile' "open" action by *removing* the quotes
   around %1, you will instead see the following, thereby confirming
   the behaviour, which is now identical to what used to happen in ROS:

CPL CmdLine:
wchar_t * 0x00094e30
 "C:\Documents and Settings\Administrator\Desktop\console.cpl,"
CPL Path:
wchar_t * 0x0007f898
 "C:\Documents"

Due to the (now) absence of quotes around %1, the command-line gets
wrongly parsed and the extracted file path is incorrect.
2022-01-30 03:51:33 +01:00
Katayama Hirofumi MZ
c339105b0d [NTUSER] Implement GetSystemMetrics.SM_DBCSENABLED (#4317)
- Add UserIsDBCSEnabled helper function.
- Support SM_DBCSENABLED value of GetSystemMetrics function.
CORE-11700
2022-01-30 11:23:22 +09:00
Katayama Hirofumi MZ
df8c74e78b [INCLUDE] Rename <ddk/imm.h> as <ddk/immdev.h> (#4321)
- Rename <ddk/imm.h> as <ddk/immdev.h>.
- Delete sdk/include/reactos/wine/imm.h (this header is confusing and nonsense).
- Changes related to it.
CORE-11700
2022-01-30 09:38:04 +09:00
Hermès Bélusca-Maïto
4fe4a57889 [PSDK] commctrl.h: Add missing 'U' unsigned indicators. 2022-01-30 01:02:12 +01:00
Hermès Bélusca-Maïto
38f6fd9df7 [CONSOLE.CPL] Fix problems detected by code analysis.
colors.c(129): warning C6287: Redundant code: the left and right sub-expressions are identical.

colors.c(159): warning C6001: Using uninitialized memory 'colorIndex'.
colors.c(180): warning C6385: Reading invalid data from 'ConInfo->ColorTable': the readable size is '64' bytes, but '259696' bytes may be read.
(I thank ThFabba for the suggestion fix.)

console.c(313): warning C6387: 'ConInfo->hWnd' could be '0': this does not adhere to the specification for the function 'SendMessageW'.

font.c(60): warning C6387: 'Preview->hFont' could be '0': this does not adhere to the specification for the function 'GetFontCellSize'.
font.c(230): warning C6001: Using uninitialized memory 'szFontSize'.
font.c(230): warning C6054: String 'szFontSize' might not be zero-terminated.
font.c(671): warning C6387: 'hFont' could be '0': this does not adhere to the specification for the function 'GetFontCellSize'.

layout.c(502): warning C6387: 'FontPreview.hFont' could be '0': this does not adhere to the specification for the function 'SelectObject'.
2022-01-30 01:02:10 +01:00
Hermès Bélusca-Maïto
3b76aa5d19 [CONCFG] Rewrite the InitTTFontCache() registry enumeration loop. 2022-01-30 01:02:09 +01:00
Hermès Bélusca-Maïto
2a5536c540 [CONSOLE.CPL] Rewrite the BuildCodePageList() registry enumeration loop and use far less stack space.
Any valid code page value name in System\CurrentControlSet\Control\Nls\CodePage
is a string representation of its corresponding decimal value, that
cannot be larger than MAXUSHORT == 65535, i.e. longer than 5+1
characters.

Noticed with the analyser warning
dll\cpl\console\options.c(74): warning C6262: Function uses '32808' bytes
of stack: exceeds /analyze:stacksize '16384'. Consider moving some data to heap.

Make the enumeration loop actually stop when ERROR_NO_MORE_ITEMS is
returned. If we got another error, e.g. because the value name was
too long (and thus, an invalid code page), just ignore and continue
looping.
2022-01-30 01:02:08 +01:00
Hermès Bélusca-Maïto
13b3425369 [CONSOLE.CPL] Use fallback brushes for text preview in case CreateSolidBrush() fails (e.g. low memory scenario). 2022-01-30 01:02:07 +01:00
Hermès Bélusca-Maïto
0e5496d082 [CONSOLE.CPL] Add missing/fix some SendMessageW result casts. 2022-01-30 01:02:06 +01:00
Hermès Bélusca-Maïto
446eb60937 [CONSOLE.CPL] Update faces/fonts list on Fonts page activation, when the current code page has changed. 2022-01-30 01:02:05 +01:00
Hermès Bélusca-Maïto
f650cbdb68 [CONCFG] IsValidConsoleFont(): Validate font against charset corresponding to selected code page. 2022-01-30 01:02:04 +01:00
Hermès Bélusca-Maïto
1530a678a8 [CONCFG:FONT] Add SAL annotations. 2022-01-30 01:01:58 +01:00
Victor Perevertkin
e1cda2fb9e [WDMAUD.DRV] Enable the module for amd64 architecture 2022-01-29 12:28:55 +03:00
Katayama Hirofumi MZ
3fc83b4361 [USER32] Implement ImeWnd_OnImeControl (#4320)
- Add IMC_GETCONVERSIONMODE, IMC_GETSENTENCEMODE, IMC_GETOPENSTATUS, IMC_GETSOFTKBDPOS, and IMC_SETSOFTKBDPOS macros into <ddk/imm.h>.
- Implement WM_IME_CONTROL message handling of the IME window.
CORE-11700
2022-01-29 10:35:48 +09:00
Katayama Hirofumi MZ
82136b3ee4 [USER32] Implement ImeWnd_OnImeNotify (#4318)
- Modify CMakeLists.txt to include <ddk/imm.h>
- Implement WM_IME_NOTIFY message handling of the IME window.
CORE-11700
2022-01-28 19:21:21 +09:00
Joachim Henze
6a496c3991 [CRYPTUI] RC Addendum to 0.4.15-dev-3739-gff9301e CORE-18017
Strip the backslash to avoid GCC8.4.0 RosBE2.2.1 warning:

[104/108] Building RC object dll/win32.../CMakeFiles/cryptui.dir/cryptui.rc.obj
C:/ros/reactos/dll/win32/cryptui/lang/cryptui_En.rc:383: unrecognized escape sequence

The glitch was introduced yesterday
by 0.4.15-dev-3739-g ff9301e9db
2022-01-28 02:10:40 +01:00
Katayama Hirofumi MZ
23bb27037d [USER32] Implement User32CreateImeUI (#4316)
Implementing Japanese input...
- Add User32CreateImeUIWindow, User32GetImeShowStatus, User32SendImeUIMessage, User32UpdateImcOfImeUI, User32SetImeWindowOfImc and User32NotifyOpenStatus helper functions.
- Add WM_IME_SELECT, WM_IME_COMPOSITION, WM_IME_STARTCOMPOSITION and WM_IME_ENDCOMPOSITION message handling of the IME window.
- Rename ImeWnd_OnDestroy as User32DestroyImeUIWindow.
- Rename CheckIMCForWindow as User32CanSetImeWindowToImc.
- Improve ImeWnd_OnCreate function.
CORE-11700
2022-01-27 21:19:37 +09:00
Tibor Lajos Füzi
f010059e63 [3DTEXT] Rearrange settings dialog window to look nicer (#4263)
The settings for the 3d text screensaver was unnecessarily big.
2022-01-27 20:12:25 +09:00
Katayama Hirofumi MZ
356babcaf3 [IMM32] s/Imm32IsImmMode/IS_IMM_MODE/
CORE-11700
2022-01-27 07:34:29 +09:00
Katayama Hirofumi MZ
fc62d268d2 [USER32] Implement WM_CREATE of IME window (#4314)
Implement handling of WM_CREATE and WM_DESTROY messages of the IME window.
CORE-11700
2022-01-27 07:30:11 +09:00
Katayama Hirofumi MZ
9c8167e90a [NTUSER] Implement NtUserGetAppImeLevel and NtUserSetAppImeLevel (#4313)
- Add AtomImeLevel atom.
- Modify NtUserSetAppImeLevel prototype.
- Implement NtUserGetAppImeLevel and NtUserSetAppImeLevel functions.
CORE-11700
2022-01-27 07:29:19 +09:00
Hervé Poussineau
963e76fd60 [VIDEOPRT] Fix typo: DEViCEMAP -> DEVICEMAP 2022-01-26 19:30:32 +01:00
Hervé Poussineau
1add6de3e8 [VIDEOPRT] Change case of device registry path written to registry
Change it it two places, to handle when 'UseNewKey' is enabled or disabled.

This fixes the Spice guest agent, which searches 'System' case-sensitively in it.
2022-01-26 19:30:32 +01:00
Hervé Poussineau
b80d806e05 [VIDEOPRT] Honour UseNewKey setting in registry
This changes:
- which device key is written to DEVICEMAP\Video
- which registry key is used in VideoPortSetRegistryParameters()

CORE-17896
2022-01-26 19:30:32 +01:00
Joachim Henze
ff9301e9db [CRYPTUI] Fix all MSVC *.rc warnings RC4206 CORE-18017
warning RC4206 : title string too long; truncated at 256
by providing shorter translations.
We had 24 such warnings in this module on master head.
2022-01-26 03:23:24 +01:00
Katayama Hirofumi MZ
1cad26ad08 [USER32] Fix uninitialized cbTotal
CORE-18025
2022-01-26 08:14:59 +09:00
Valerij Zaporogeci
f8faa0b660 [TASKMGR] Fix a heap corruption bug (#4311)
Improper adjustment of the array index in graphctl.c, introduced in PR #4141 lead to an off-by-one heap corruption.
2022-01-25 15:49:46 +01:00
Katayama Hirofumi MZ
5972c0c18b [USER32] Fix release build C4700 CORE-16287 2022-01-25 21:57:47 +09:00
Katayama Hirofumi MZ
2c4beeca8e [SHELL32] CCopyToMenu/CMoveToMenu: Check if this_ is NULL 2022-01-25 21:08:14 +09:00
Katayama Hirofumi MZ
0360abb796 [USER32] Follow-up of #4262 (a47590c) (#4312)
Display icons/cursors correctly without hungup. CORE-16287
2022-01-25 20:41:00 +09:00
Katayama Hirofumi MZ
974a0f03df [SHELL32] Fix assertion failure in CMenuToolbars
CORE-17505
2022-01-25 11:49:27 +09:00
Victor Perevertkin
99a6667bd9 [NTOS:KE] Remove all checks for x87 not being present 2022-01-25 02:12:33 +03:00
Victor Perevertkin
1aca6937ff [NTOS:KE] Add a check for unsupported CPU features on i586
Currently, these features are vital for the kernel:
- CPUID instruction
- CMPXCHG8B instruction
- TSC aka Time Stamp Counter

All of that have to be present on i586
2022-01-25 02:12:33 +03:00
Victor Perevertkin
705e07ce31 [NTOS:KE] Move CPU features detection to a separate function on i586 2022-01-25 02:12:26 +03:00
Katayama Hirofumi MZ
c199edda45 [SHELL32] Enable _DEBUG and fix assertion failures (#4307)
Improve debuggability. Fix "WorkerW" window class conflict.
- Enable _DEBUG macro if debugging, in order to enable ATLASSERT macro.
- Fix assertion failures.
- Add SHCreateDefaultWorkerWindow helper function and CWorkerTraits, then use them.
- Don't create the broker and server windows by themselves, but subclass.
CORE-17505, CORE-13950
2022-01-25 03:42:46 +09:00
Katayama Hirofumi MZ
a92304fdd4 [RAPPS] Enable _DEBUG and fix assertion failures
CORE-17505
2022-01-24 10:50:26 +09:00
Katayama Hirofumi MZ
d958950217 [EXPLORER] Enable _DEBUG and fix assertion failures (#4306)
- Enable _DEBUG if debugging.
- Fix assertion failures.
CORE-18013
2022-01-24 10:26:13 +09:00
Joachim Henze
c262020016 [RAPPS] Update outdated README regarding size CORE-18018 2022-01-23 22:03:08 +01:00
Joachim Henze
adfef37b2b [RAPPS] Addendum to 0.4.15-dev-3724-g3a7c0d8 CORE-18018
For a moment I thought this member was obsolete entirely,
and intended to delete it entirely.
(as its size is just ULONG which is too small for big downloads > 4GB size).
It apparently works also without it to display the size,
as we actually use a different member that stores the size as a string.

But there actually still *is* a usage for that ULONG representation.
In (the rare) corner-case the http download does not allow to query the size,
then the ULONG representation m_SizeBytes is used as a fallback for the
download-progress-bar to avoid 'marquee mode'.

The 'fallback of the fallback' so to say.
We should enlarge this to be a 64bit unsigned value some day.
2022-01-23 21:21:50 +01:00
Joachim Henze
3a7c0d82d2 [RAPPS] Fallback to legacy "size" entry is not longer needed CORE-18018
on 2021-10-03 Mark Jansen deleted all old size entries from the rapps database via
https://git.reactos.org/?p=rapps-db.git;a=commit;h=551e8cb95716f46e05c3be08996467bd93b1936f
So it makes no sense to keep that fallback-code in RAPPS available.cpp RetrieveSize() func.
2022-01-23 20:24:47 +01:00
Thomas Faber
8d701598fb [NTOS:MM] Implement partial virtual region releases. CORE-17938
Fixes boot with MS videoprt.sys (and some apitests).
2022-01-22 15:07:06 -05:00
Katayama Hirofumi MZ
7014cf04b1 [ATL][MSPAINT] Add ATLTRACE and fix assertion failures (#4299)
- Implement ATLTRACE and AtlTrace in atlbase.h.
- Fix assertion failures in mspaint.
CORE-17969, CORE-18012
2022-01-23 00:59:12 +09:00
Eric Kohl
085f135f1a [SFCFILES] Add sfcfiles dll and header file
Sfcfiles.dll contains only a short list of protected files (WIP).
2022-01-22 13:28:50 +01:00
Thomas Faber
4cf9b7985e [CRT] Fix MSVC version of call_handler 2022-01-21 20:00:41 -05:00
Katayama Hirofumi MZ
41b87158ff [NTUSER] Improve NtUserGetThreadState (#4300)
- Improve enum ThreadStateRoutines.
- Improve NtUserGetThreadState function.
- Improve CLIENTIMC structure.
- Improve imm32 code.
CORE-17732
2022-01-20 11:49:27 +09:00
Stanislav Motylkov
2318f7f436 [TRANSLATION] Cumulative update for Russian (ru-RU) translation
[SYSDM] Addendum to 5a2911d7, e58b4a49, ea2ca8fa.
[SHELL32] Addendum to 16f64a95, 44bb99cc, 2ae526a0, 34b0f3e4, fd39a292.
[SYSSETUP] Addendum to 556cfbf5, 6f1a57a9, 3f053db3.
[SAMSRV] Addendum to 6f1a57a9.
[BOOTDATA] Addendum to 63cd5d54.
[INF] Addendum to fb500b88.
2022-01-18 23:42:06 +03:00
Julio Carchi
292e6a429f [NTUSER] Initialize correctly CaretWidth value. (#4297) CORE-13984 CORE-14359 CORE-16624
Fixes:
CORE-13984 LibreOffice Writer shows no blinking caret
CORE-14359 Apache Open Office 4.1.2 SWriter - no blinking Caret
CORE-16624 KVIRC, no blinking caret in configuration edit controls
2022-01-18 00:36:49 +01:00
Stanislav Motylkov
e105aefc1c [SHELL32] List CD-ROM drives in the "Hardware" tab of disk properties
CORE-17397
2022-01-17 21:04:04 +03:00
Stanislav Motylkov
5bd2cb13b5 [SAMSRV] Fix typo in IDS_ALIAS_BACKUP_OPS_COMMENT (en-US and others)
Addendum to f1e768c0.
2022-01-17 20:40:31 +03:00
Hermès Bélusca-Maïto
c660590567 [USETUP] Default to en-US output codepage when initializing the console. Addendum to commit 9f201d462.
Reported by julenuri.
2022-01-17 16:16:10 +01:00
Katayama Hirofumi MZ
4bec8ff63e [WIN32KNT_APITEST] Strengthen NtUserGetThreadState testcase (#4291)
Add some paramters to test on. CORE-17732
2022-01-17 16:01:31 +09:00
Hermès Bélusca-Maïto
f1ad6845a8 [SVCHOST][SECLOGON][MSWSOCK] Minimal headers cleanup.
- SVCHOST, SECLOGON: Add missing NTOS_MODE_USER.
- MSWSOCK: Remove some useless windef.h includes.
2022-01-17 01:08:09 +01:00
Luo Yufan
41e7701e08 [INF] Fix Mizu theme display problems with CJK font (#4284)
Add font substitute from "Source Sans Pro" to "Droid Sans Fallback" if the user is CJK.
CORE-17997
2022-01-17 08:43:15 +09:00
Jesús Sanz del Rey
9c6f1958d9 [SHELL32] Implement Recycler Bin icons (#4221)
CORE-3938

Icon extraction from the recycle bin was not possible due to the partial absence of IExtractIcon interface support.
Adding it inside the RecycleBinFile's QueryInterface private implementation, and then calling it from CRecycleBin, now allows retrieving and displaying the files' icons.
2022-01-17 00:20:07 +01:00
Stanislav Motylkov
63cd5d54b8 [BOOTDATA] Make Secondary Logon service name and description translatable
Addendum to 43fa9548.
2022-01-16 22:46:36 +03:00
Eric Kohl
24a727a23b [reactos] Add missing prototypes for svchost callbacks
Addendum to 43fa9548d3
2022-01-16 19:56:28 +01:00
Eric Kohl
69bd857e39 [dhcpsvc][srvsvc][wkssvc] Servcies run by svchost must be shared process services 2022-01-16 17:59:41 +01:00
Jose Carlos Jesus
5165179ad8 [NEWDEV] Disable NewFolder btn and Show browser title when selecting a directory (#4288)
* [NEWDEV] Add browser title to rc files

* [NEWDEV] Show browser title when selecting a directory

* Update dll/win32/newdev/lang/pl-PL.rc

Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>

* Update dll/win32/newdev/lang/bg-BG.rc

Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>

* Update dll/win32/newdev/wizard.c

Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>

* Update dll/win32/newdev/lang/pl-PL.rc

Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>

* Update dll/win32/newdev/lang/pt-PT.rc

Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>

* Remove obvious comment

* Add de-DE and ru-RU translations

* Add French translation

Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
2022-01-16 17:34:59 +01:00
Eric Kohl
43fa9548d3 [services] Add the secondary logon service 2022-01-16 17:02:01 +01:00
Eric Kohl
c28db81193 [IDL] Add idl file for the secondary logon service 2022-01-16 14:27:13 +01:00
Adam Stachowicz
54140ba23d [SYSDM] Update pl translation (#4289)
Addendum to ecfd01eefc and other
2022-01-16 13:58:41 +01:00
Joachim Henze
cf984cc9fe [SYSDM] pt-PT.rc Fix compiler warning RC4206 CORE-17827
Thanks to Twitter user @denzilferreira for that shortened string.
2022-01-16 12:06:26 +01:00
Joachim Henze
bacc0479ce [SYSDM] sq-AL.rc Fix compiler warning RC4206 CORE-17827
Thanks to Twitter users @illyrian598 and @jan_shkreli for that shortened string.
2022-01-16 10:13:40 +01:00
Joachim Henze
98999eebe4 [SYSDM] sk-SK.rc Fix compiler warning RC4206 CORE-17827
Vic Marcal reached out for help on Twitter for that shortened string.
2022-01-16 08:09:14 +01:00
Joachim Henze
b1264c13f7 [SYSDM] el-GR.rc Fix compiler warning RC4206
Vic Marcal reached out for help on Twitter
for that shortened string.
2022-01-16 08:03:28 +01:00
Katayama Hirofumi MZ
ce6da820a4 [NTUSER] Implement NtUserBuildHimcList (#4286)
- Add UserBuildHimcList helper function.
- Implement NtUserBuildHimcList function.
CORE-11700
2022-01-16 09:56:18 +09:00
Katayama Hirofumi MZ
2250ce80f3 [USER32] Adjust the threshold in CascadeWindows (#4283)
Improve the threshold of CascadeWindows function not to make the windows too small.
2022-01-16 09:54:44 +09:00
Eric Kohl
463d312169 [PSDK] Add prototypes CreateProcessWithLogonW and CreateProcessWithTokenW 2022-01-15 18:23:59 +01:00
Hermès Bélusca-Maïto
1ffe431827 [CONSRV] Trivially implement TuiSetCodePage(). CORE-17601 2022-01-15 17:41:36 +01:00
Hermès Bélusca-Maïto
9f201d462d [BLUE][CONSRV][USETUP] Completely remove support for CAB font extraction from driver, and move it to CONSRV, much like what was done for USETUP.
Addendum to aaa416d3 and 2391e31c.
2022-01-15 17:41:36 +01:00
Hermès Bélusca-Maïto
ac2494994b [CONSRV] Stub out support for terminal-level changing of output code page.
CORE-17601
2022-01-15 17:41:34 +01:00
Nikki Next
b0e9212a05 [W32TIME] Add Russian (ru-RU) translation (#4287)
Addendum to 3d8d88ea.
2022-01-15 14:32:25 +03:00
Stanislav Motylkov
3a4e5a61a4 [SYSDM] Add missing changes from e58b4a49 to zh-HK resource file 2022-01-15 03:18:10 +03:00
Stanislav Motylkov
21955218b4 [SYSDM] Add mnemonic/access keys for environment variable editor
Addendum to e58b4a49. CORE-11733
2022-01-15 02:48:56 +03:00
Stanislav Motylkov
ecfd01eefc [SYSDM] Make file browse filter string translatable
Addendum to e58b4a49. CORE-11733
2022-01-15 02:22:11 +03:00
Hermès Bélusca-Maïto
4dd734e92c [NTDLL:LDR] Don't hardcode process-execute flag values. (#4111) 2022-01-14 23:59:32 +01:00
Hermès Bélusca-Maïto
0889182d66 [SDK:NDK] Add the NX_SUPPORT_* flags for the SharedUserData.NXSupportPolicy member. (#4111)
And move those in the XDK to a better place, adding versioning as well.
2022-01-14 23:59:14 +01:00
Jose Carlos Jesus
75d33bf148 [TRANSLATION] Update Portuguese (pt-PT) translation (#4273)
- [DEVMGR] Improve pt-PT translation
- [NEWDEV] Small improvements to pt-PT translation
- [SHELL32] Update pt-PT translation
2022-01-15 00:40:41 +03:00
Chan Chilung
171a920680 [TRANSLATION] Update Chinese Traditional (zh-TW) translation (#4154)
- Added translation for:
  - [W32TIME]
  - [MODE]
  - [TIMEOUT]
  - [MODEMUI]
  - [ARPING]
  - [FRAGINATOR]
  - and more
- Updated existing translation
- [WINNLS] Update cht (zh-TW) and zhh (zh-HK)
- [DOC] Update rules in Chinese translation notes.txt
- Wine translation sync

Some of the punctuation use in WIne has been converted to half-width,
so the punctuation will no longer synced.
2022-01-14 20:22:46 +03:00
Katayama Hirofumi MZ
04a7134b97 [MSGINA] Adjust Status Window if Asian
The Asian logo and bar positions are different from English or Latin positions, due to Asian font.
Add positional adjustment to IDD_STATUS if Asian.
Follow-up of #4280 ef4f0d0.
2022-01-14 12:44:29 +09:00
Katayama Hirofumi MZ
ef4f0d07b1 [SYSSETUP] Adjust Status Window if Asian (#4280)
The Asian logo and bar positions are different from English or Latin positions, due to Asian font.
Add positional adjustment to IDD_STATUSWINDOW_DLG if Asian.
2022-01-14 11:39:24 +09:00
Luo Yufan
4411668e6b [TRANSLATION] Update Simplified Chinese (zh-CN) translation (#4240)
Reviewed-by: Chan Chilung <eason066@gmail.com>
Reviewed-by: He Yang <1160386205@qq.com>
2022-01-14 00:00:37 +03:00
Marat Nagayev
073607c237 [NET] Improve displaying status message (#4096)
- Simplify conditions
- Add application error translation function

[NET][MC] Add missing Russian (ru-RU) translation
2022-01-13 18:10:55 +03:00
Stanislav Motylkov
cde6339155 [SAMSRV] Return correct status for existing groups and users
[NETAPI32] NetpNtStatusToApiStatus: Update accordingly

This fixes net command output in PR #4096.
2022-01-13 16:38:04 +03:00
Katayama Hirofumi MZ
2ea30b2ed3 [USERSRV][TRANSLATION] Improve Japanese (ja-JP.rc) 2022-01-13 14:09:03 +09:00
Katayama Hirofumi MZ
1a5005679c [POWERCFG][TRANSLATION] Improve Japanese (ja-JP.rc) 2022-01-13 11:44:02 +09:00
Katayama Hirofumi MZ
dafac2131b [WINLOGON][TRANSLATION] Improve Japanese translation (ja-JP.rc) 2022-01-13 11:40:05 +09:00
Katayama Hirofumi MZ
48827cf6c5 [NTUSER] Follow-up of #4277 (ea1353e)
According to ThFabba, NtUserSetThreadLayoutHandles returns zero.
CORE-11700
2022-01-13 10:41:03 +09:00
Katayama Hirofumi MZ
ea1353e4be [NTUSER] Implement NtUserSetThreadLayoutHandles (#4277)
- Modify NtUserSetThreadLayoutHandles prototype.
- Implement NtUserSetThreadLayoutHandles function.
CORE-11700
2022-01-12 14:48:20 +09:00
Katayama Hirofumi MZ
28959a2dfd [NTUSER] Follow-up of #4271 (36740ca)
- Delete the excessive comments.
- Delete the debugging leftover.
CORE-11700
2022-01-12 14:08:10 +09:00
Katayama Hirofumi MZ
1f44693657 [NTUSER] Implement NtUserSetImeInfoEx (#4276)
- Modify NtUserSetImeInfoEx prototype.
- Add UserSetImeInfoEx helper function.
- Implement NtUserSetImeInfoEx function.
CORE-11700
2022-01-12 12:07:31 +09:00
Katayama Hirofumi MZ
36740ca981 [NTUSER][IMM32] Implement NtUserGetImeInfoEx (#4271)
- Add UserGetImeInfoEx helper function.
- Implement NtUserGetImeInfoEx function by using UserGetImeInfoEx.
- Fix imm32.ImmGetImeInfoEx.
- Modify enum IMEINFOEXCLASS.
CORE-11700
2022-01-12 12:06:24 +09:00
Doug Lyons
a47590c9cf [USER32] Improve icon extraction to handle RIFF formats and Fix crash (#4262)
- Add handling for 'RIFF' formats (for animated cursors). This makes explorer able to display animated cursors.
- Fix crash in extracting icons/cursors.
CORE-16287
2022-01-12 08:03:44 +09:00
Hervé Poussineau
236ddd4f50 [DESK] Update available settings when selecting another display 2022-01-11 23:47:55 +01:00
Hervé Poussineau
6caf7124b5 [DESK] Factorize changing device description to OnDisplayDeviceChanged() 2022-01-11 23:47:55 +01:00
Hermès Bélusca-Maïto
1df87d7fe9 [SHELL32:WINE][PSDK] Addendum to 0bf768a1: Add missing FARPROC16 definition for CallCPLEntry16() prototype. 2022-01-11 23:31:26 +01:00
Hermès Bélusca-Maïto
0bf768a145 [SHELL32:WINE][PSDK] Fix the prototype of CallCPLEntry16(). 2022-01-11 23:03:25 +01:00
Hermès Bélusca-Maïto
afb04208f7 [KERNEL32] Add missing NTOS_MODE_USER when including the NDK. 2022-01-11 22:45:15 +01:00
Hermès Bélusca-Maïto
c1a8dce23c [CPORTLIB] Remove any usage of debug.h since this lib implements the support for said debugging output. 2022-01-11 22:45:14 +01:00
Serge Gautherie
9a523c8135 [CRT/arm64] Fix handling of intrinsics
Fix msvc14.1-arm64-Release build.

Follow-up to db41787 (0.4.15-dev-2914).
CORE-17518
2022-01-11 20:52:48 +03:00
Serge Gautherie
724774505e [CRT/arm64] Build wine/except_arm64.c
Follow-up to 9efafd6 (0.4.14-dev-934).
CORE-17518
2022-01-11 20:52:34 +03:00
Serge Gautherie
c3e0df0611 [BCRYPT] Add ECDSA P384 to known algorithms
Add missing structs and handler in BCryptOpenAlgorithmProvider().

Cherry-pick a part of Michael Müller's
76b6c360fa

Follow-up to e0a47b7 (0.4.15-dev-3603).
CORE-14198
2022-01-11 20:52:02 +03:00
George Bișoc
be56aff102 [NTOS:PS] Use quota types on process quota querying
Quota limits on a block are enumerated on a per quota type basis thus we should use the values from PS_QUOTA_TYPE enumeration, not from POOL_TYPE.
2022-01-11 11:21:15 +01:00
George Bișoc
4e25c35375 [KMTESTS:PS] Write some tests for process quota management 2022-01-11 10:11:10 +01:00
George Bișoc
0c07eac5b4 [NTOS:OB] Charge/Return pool quotas of objects
As it currently stands the Object Manager doesn't charge any quotas when objects are created, nor it returns quotas when objects are de-allocated and freed from the objects namespace database. This alone can bring inconsistencies in the kernel as we simply don't know what is the amount charged in an object and thus we aren't keeping track of quotas flow.

Now with both PsReturnSharedPoolQuota and PsChargeSharedPoolQuota implemented, the Object Manager can now track the said flow of quotas every time an object is created or de-allocated, thus enforcing consistency with the use of quota resources.
2022-01-11 10:11:10 +01:00
George Bișoc
ee697cfeef [NTOS:PS] Dereference the quota block during process cleanup
Ensure that when we're cleaning up the EPROCESS object, that we are dereferencing the quota block the process in question was using. The routine will automatically request a quota block cleanup if the process that dereferenced the quota block was the last.
2022-01-11 10:11:10 +01:00
George Bișoc
b22eefac88 [NTOS:PS] Process Quota Overhaul
-- Rewrite PspChargeProcessQuotaSpecifiedPool and PspReturnProcessQuotaSpecifiedPool private kernel routines, with the goal to implement the algorithms necessary to manage the fields of quota blocks (Usage, Return, Limit and Peak).
-- Invoke the Mm if quota limit raising or returning has to be done
-- When destroying a quota block, make sure that we're giving back all the rest of non-returned quotas to Memory Mm
-- Crash the system with QUOTA_UNDERFLOW if someone is returning way too much quota than it was previously charged
-- When a process exits, ensure that it doesn't hold up any charged quotas in QuotaUsage field of the process object, that way we're enforcing proper kernel consistency
-- Implement PsChargeSharedPoolQuota and PsChargeProcessPageFileQuota functions, used exclusively by the Object Manager. These routines are used to charge or return amount of quotas of a newly created object.
-- On PspInheritQuota, when assigning to process the default quota block if no parent process is given, we must increment the reference counts as we're using it
-- Handle the ProcessCount reference field, as it wasn't used
-- Annotate the functions with SAL
-- Document the code

=== REMARKS ===
Windows LogOn (Winlogon) is responsible for setting up a different quota block for all the processes within an interactive session, which is what we don't do. What we're currently doing instead is we're using the default block, PspDefaultQuotaBlock, for all the processes
across the system. The default block contains the default limits of -1 (which would imply no limits). By definition, the kernel won't ever return STATUS_QUOTA_EXCEEDED as we literally don't set up a definite limit for regular processes. This situation has to be tackled
in the future.

=== TODO FOR FUTURE ===
Most of the code in PspChargeProcessQuotaSpecifiedPool and PspReturnProcessQuotaSpecifiedPool private routines must be refactored in order to reduce the usage of the quota spin lock, possibly wrapping such code in a loop and whatnot.

CORE-17784
2022-01-11 10:11:09 +01:00
George Bișoc
1649a89cfa [NTOS:MM] Implement Raise/Return pool quota functions
This implements both MmRaisePoolQuota and MmReturnPoolQuota functions, which serve exclusively for quota pool management. The process manager communicates with the memory manager in a call of need to charge or return pool quota limits.
2022-01-11 10:11:09 +01:00
George Bișoc
32e9710fd1 [NTOS:OB] Add a system process quota block macro
OBP_SYSTEM_PROCESS_QUOTA is a macro that'll be used as a way to assign a dummy quota block to system processes, as we mustn't do anything to those in case the Object Manager is charging or returning pool quotas.
2022-01-11 10:11:09 +01:00
George Bișoc
c9755651cd [NTOS:PS] Declare some prototypes and annotate the quota functions with SAL
Declare PsReturnSharedPoolQuota and PsChargeSharedPoolQuota prototypes and annotate the functions. Furthermore, add two definitions related to quota pool limits threshold -- PSP_NON_PAGED_POOL_QUOTA_THRESHOLD and PSP_PAGED_POOL_QUOTA_THRESHOLD. For further details, see the commit description of "[NTOS:MM] Add the pool quota prototypes and some definitions".
2022-01-11 10:11:09 +01:00
George Bișoc
13cbc7fbf9 [NTOS:MM] Add the pool quota prototypes and some definitions
Declare the MmRaisePoolQuota and MmReturnPoolQuota prototypes in the header and add some definitions related to pool quotas, namely MmTotalNonPagedPoolQuota and MmTotalPagedPoolQuota. These variables are used internally by the kernel as sort of "containers" (for the lack of a better term)
which uphold the amount of quotas that the Process Manager is requesting the Memory Manager to raise or return the pool quota limit. In addition to that, add some definitions needed for both of these functions.

The definitions, MI_CHARGE_PAGED_POOL_QUOTA and MI_CHARGE_NON_PAGED_POOL_QUOTA respectively, bear some interesting aspect. Seemingly the 0x80000 and 0x10000 values (that would denote to 524288 and 65536 specifically) are used as quota "limits" or in other words, thresholds that the kernel
uses. So for example if one would want to raise the quota limit charge, MmRaisePoolQuota will raise it so based on this formula -- NewMaxQuota = CurrentQuota + LIMIT_VALUE. LIMIT_VALUE can be either MI_CHARGE_PAGED_POOL_QUOTA or MI_CHARGE_NON_PAGED_POOL_QUOTA, depending a per quota pool basis.

What's more interesting is that these values are pervasive in Process Manager even. This is when quotas are to be returned back and trim the limit of the quota block if needed, the kernel would either take the amount provided by the caller of quotas to return or the threshold (paged or not paged)
if the amount to return exceeds the said threshold in question.
2022-01-11 10:11:08 +01:00
George Bișoc
abe89d7cde [NTOS:FSRTL] Assign the buffer length to ThisBufferLength field
This fixes an issue where ReactOS would assert on QuotaUsage == 0 as the process was still taking up quotas during a quota block de-reference with root cause of ThisBufferLength member field being 0 which made process quota charging/returning flow unbalanced.
In addition to that, on FsRtlCancelNotify routine API all we must ensure that if PsChargePoolQuota or ExAllocatePoolWithTag function fails we have to handle the raised exceptions accordingly and return the charged quota back (if we actually charged quotas that is). With said, wrap that part of code with SEH.

=== DOCUMENTATION REMARKS ===
The cause of the assert is due to the fact ThisBufferLength was being handled wrongly ever since, until this commit. When FsRtl of the Executive has to filter reported changes (with logic algorithm implemented in FsRtlNotifyFilterReportChange function), the said function will charge the quota of a given process
with an amount that is represented as the buffer length whose size is expressed in bytes. This length buffer is preserved in a local variable called NumberOfBytes, which is initialized from BufferLength member field of notification structure or from the length from stack parameters pointed from an IRP.

As it currently stands, the code is implemented in such a way that FsRtlNotifyFilterReportChange will charge quotas to a process but it doesn't assign the buffer length to ThisBufferLength. On the first glimpse ThisBufferLength and BufferLength are very similar members that serve exact same purpose but in reality there's a subtle distinction between the two.

BufferLength is a member whose length size is given by FSDs (filesystem drivers) during a notification dispatching. Whenever FsRtl receives the notification structure packed with data from the filesystem, the length pointed by BufferLength gets passed to ThisBufferLength and from now on the kernel has to use this member for the whole time of its task to accomplish
whatever request it's been given by the filesystem. In other words, BufferLength is strictly used only to pass length size data to the kernel by initializing ThisBufferLength based on that length and unequivocally the kernel uses this member field. What we're doing is that ThisBufferLength never receives the length from BufferLength therefore whenever FsRtl component
has to return quotas back it'll return an amount of 0 (which means no amount to return) and that's a bug in the kernel.
2022-01-11 10:11:08 +01:00
George Bișoc
71a4921f8a [NTOS:EX] Manage quotas when allocating or freeing pool tables
This fixes an assertion where QuotaUsage == 0 is actually not 0 when a process is about to be destroyed.
2022-01-11 10:11:08 +01:00
George Bișoc
47cb3c20a3 [NTOSKRNL] Implement InterlockedExchangeSizeT macro 2022-01-11 10:10:56 +01:00
Jesús Sanz del Rey
47f6745bcd [SHELL32] Fix folders on recycle bin and adjust the column size (#4234)
CORE-11000

- Now, folders can be sent to recycle bin (fixed a bug inside the implementation).
- Adjust column size of the RecycleBin virtual folder in details mode.
2022-01-11 00:40:25 +01:00
Jesús Sanz del Rey
dae6035b3b [SHELL32] Fix recycle bin handle reference leaking (#4222)
CORE-13730

There was a handle reference leak in the recycler bin and the bin wasn't removing the copied file after restoring it.
Close the handle were the memory leak was and move the file when restoring it.
2022-01-11 00:20:23 +01:00
Katayama Hirofumi MZ
3456538e3a [MSPAINT] Some minor improvements (#4264)
- Fix Japanese IDS_MINIATURETITLE resource string.
- Fix Japanese IDM_VIEWSHOWMINIATURE menu item text.
- Fix DWORD as COLORREF.
- Improve some OnPaint's.
CORE-17969
2022-01-10 21:44:13 +09:00
Katayama Hirofumi MZ
edf92c004d [MSPAINT] Don't hide selection on zooming (#4266)
- Don't hide the selection window on zooming.
- Move the selection window by calling placeSelWin() when zoomed.
CORE-17969
2022-01-10 21:41:00 +09:00
Vadim Galyant
fec440d8b8 [SDK:DDK][NTOS:PNP] Implement PnP arbiters initialization 2022-01-10 06:35:45 +03:00
Katayama Hirofumi MZ
b2f8d62cd1 [MSPAINT] Prepare for debugging (#4257)
- Add #include <debug.h> and add link to ntdll.dll for debugging.
- Add CopyDIBImage helper function.
CORE-17969
2022-01-10 08:50:37 +09:00
Hermès Bélusca-Maïto
48d1a7bf4d [SHELL32] Use the already existing g_pszShell32 instead of re-defining a new variable holding the very same string. 2022-01-09 22:44:21 +01:00
Hermès Bélusca-Maïto
83be315abf [SHELL32] Use wide char string literals.
Import parts of Wine commit b215536852dc5a132108db92c90a41c70b738e50
shell32: Use wide char string literals.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-09 22:39:29 +01:00
Hermès Bélusca-Maïto
59b3545603 [SHELL32] recyclebin.h: Correctly balance the INTERFACE defines/undefs. 2022-01-09 19:02:41 +01:00
Arnav Bhatt
8df70629b6 [SYSDM] Fix the "fancy" edit Environment dialog box (#4258)
Fix the issue of the changes of the environment values not being set sometimes through fancy dialog box:
Make sure the environment value buffer is always reallocated before taking the values.
2022-01-09 17:55:25 +01:00
Katayama Hirofumi MZ
17f34887f3 [MSPAINT] Add ICC_BAR_CLASSES (#4261)
The Fonts toolbar uses toolbar and tooltips. Thus this flag is needed. CORE-17949
2022-01-09 23:24:30 +09:00
Eric Kohl
3f053db3e7 [SYSSETUP] Improve the Process Page
- The page will support multiple tasks (WIP)
- The background thread uses messages to update the page
2022-01-09 14:29:17 +01:00
Serge Gautherie
fdcefaa7cb [HDAUDBUS] HDA_PdoPnp(): Remove a redundant ASSERT()
Addendum to cf7fc81 (r68311).
2022-01-08 18:00:38 +03:00
Serge Gautherie
cba4fd57d0 [KS] KsServiceBusEnumPnpRequest(): Remove a redundant ASSERT()
Addendum to c6b26fa (r50531).
2022-01-08 18:00:38 +03:00
Hervé Poussineau
2538583dbe [VIDEOPRT] Query children only when device has been opened
HwGetVideoChildDescriptor callback must be called only after HwInitialize.

CORE-17979
2022-01-06 22:02:07 +01:00
Hervé Poussineau
983d9a1c2a [VBEMP] Disable reporting multiple monitors
It has never worked, and only leads to some infinite loops with some hardware or BIOS configurations.
2022-01-06 20:16:12 +01:00
Hervé Poussineau
f03750de6a [VBEMP] Rename to vgapnp.sys
- rename driver vbemp.sys to vgapnp.sys
- rename service VBE to vga
- store settings in non hardware-profile registry key
2022-01-06 20:16:12 +01:00
Hervé Poussineau
073a1ea34c [VGAMP] Rename to vga.sys
- rename driver vgamp.sys to vga.sys
- rename service Vga to VgaSave
- store settings in non hardware-profile registry key
2022-01-06 20:16:12 +01:00
Hervé Poussineau
0d9386d0e0 [VGA_NEW] Disable it for now 2022-01-06 17:47:45 +01:00
Hervé Poussineau
5afea63e66 [BOOTDATA] hivesys.inf: remove UseNewKey setting
Neither LiveCD nor BootCD 2nd stage are able to use new registry key for videoprt,
as they depend of some PnP entries which are unavailable.

This line was added in a7ebc6bd5c (r43711)

Note that it doesn't change much for ReactOS yet, as neither
videoprt.sys nor win32k.sys take care of this parameter.
2022-01-06 17:45:03 +01:00
Hervé Poussineau
cdae92ed8c [SETUPLIB] Upgrade display settings even if no hardware profile exists 2022-01-06 17:45:03 +01:00
Hermès Bélusca-Maïto
a6bf77e7b9 [SDK:REACTOS] Move our ROS-specific header-only UI libraries into a "ui" sub-folder. (#4205) 2022-01-06 02:17:25 +01:00
Doug Lyons
9db24e33c7 [WINLOGON] Start screen saver as current user (#4135)
This fixes displaying user-defined text for 3D Text ScreenSaver.
Also set the process to IDLE_PRIORITY_CLASS.

CORE-17875
2022-01-06 04:10:56 +03:00
Serge Gautherie
40b9ee0ae0 [VIDEOPRT] Match Zw*Key() DesiredAccess values (#4145)
Even if the kernel mode does not care, this makes it clear.
2022-01-06 04:04:09 +03:00
Thomas Csovcsity
cfaeaaa993 [WINDOWSCODECS] Add converter for WICPixelFormat32bppRGBA (#4239)
This fixes CORE-15708 "PdfSam 3.3.5 setup can not decode bmp"
https://jira.reactos.org/browse/CORE-15708

Wine does not have this issue, but it did not have it back when last sync to
WineStaging-4.18 was done. This commit is as near as possible to actual
wine-7.0-rc3 version. This wine code uses reverse_bgr8 instead of own
convert_rgba_to_bgra, but it leads to wrong colors.
2022-01-06 03:56:45 +03:00
Serge Gautherie
1723c223e3 [RPCRT4] Fix implicit in attribute handling in write_param_fs()
Cherry-pick wine-5.0-rc1-50-g1aaf870 by Jacek Caban.
https://source.winehq.org/git/wine.git/?a=commit;h=1aaf870039dfb8419ae060d8c67240df1366b953

(OLEAUT32_WINETEST part shall be imported later.)

CORE-17884
2022-01-06 03:48:29 +03:00
Tibor Lajos Füzi
1a4d5dbeaa [TRANSLATION] Update Hungarian (hu-HU) translation (#4220)
[LABEL] Improve existing and add missing translations
[NOTEPAD] Fix a typo
[FORMAT] Improve existing translation
[REGSVR32] Improve existing translation
[RUNDLL32] Improve existing translation
[CPL:DESK] Fix typos
2022-01-05 20:38:38 +03:00
Stanislav Motylkov
77fd33c99c [NTOS:CM] Refactor full CPU identifier values
Dedicated to Victor Perevertkin.
2022-01-05 18:28:40 +03:00
Stanislav Motylkov
84cc81ee29 [NTOS:KE/x64] Detect CPU vendor properly and store value in PRCB
Also generate processor identifier properly based on this value
on the Configuration Manager machine-dependent initialization.

Update processor driver INF file accordingly.

CORE-17970 CORE-14922
2022-01-05 18:28:40 +03:00
Katayama Hirofumi MZ
a4bd2449ad [MSPAINT] Follow-up of #4237
CORE-17949
2022-01-05 16:41:12 +09:00
Katayama Hirofumi MZ
361a2ce4f7 [MSPAINT] Implement the text tool (#4237)
- Add CFontsDialog and IDD_FONTS.
- Rewrite CTextEditWindow.
- Implement TOOL_TEXT tool.
- Add the font-related settings.
CORE-17949
2022-01-05 16:26:05 +09:00
Victor Perevertkin
951e52104a [HDAUDBUS] Fix uninitialized variable usage 2022-01-05 03:22:15 +03:00
Michael Stamper
378294a7df [PORTCLS] Fix races, fix WavePci Port Drivers
- Split buffers on page to prevent non-contiguous memory being passed to driver.
- Protect CIrpQueue::GetMappingWithTag, ReleaseMappingWithTag with spinlock to prevent race conditions
  (GetMapping, ReleaseMapping do not need spinlock, they are only called from a service routine).
- Remove ASSERT in CIrpQueue::ReleaseMappingWithTag, when mappings are released out of order. Just ignore
  the tag argument and release the next one in the list. This is what windows does, confirmed by calling
  PortWavePciStream::ReleaseMapping() with tag argument set to 0, absolutly no difference observed.
  Allowing out of order release is essential given that a driver is not permitted to hold a spinlock when calling
  ReleaseMapping().
- Remove IIrpQueue::HasLastMappingFailed(), it never worked and there is no way it could work.
  CPortPinWavePci::HandleKsStream() call MappingAvailable() non-conditionally, this is what Windows does,
  verified by debug prints in ac97 driver.
- Implement CIrpQueue::NumData().
- Remove incorrect interlocked operations/volatile variables and several (now unused) class fields.
2022-01-05 03:20:44 +03:00
Victor Perevertkin
7ed1883c8e [DRIVERS] Use IoForwardIrpSynchronously in drivers
Instead of having an own routine in each driver
IoForwardIrpSynchronously can be used.
2022-01-05 02:17:56 +03:00
Katayama Hirofumi MZ
8e8f61989a [NTUSER] Plan A: UserDereferenceObject in UserCreateInputContext (#4247)
- Call UserDereferenceObject function in UserCreateInputContext.
- Don't call UserDereferenceObject against input context at the other places.
CORE-11700
2022-01-05 08:15:32 +09:00
Javier Fernandez
1f6cd38050 [RAPPS] Update Spanish (es-ES) translation (#4198)
Addendum to acc25ce9.
2022-01-04 17:04:18 +03:00
Jose Carlos Jesus
cde7327e0b [NETSHELL] Improve Portuguese (pt-PT) translation (#4232) 2022-01-04 16:54:02 +03:00
Stanislav Motylkov
6ebe2ed3a1 [UNIATA] Fix packing for port configuration information structures
Now it's consistent with our structure in sdk/include/ddk/srb.h.
Thanks to Hervé Poussineau for help with problem analysis.

Also MSDN doesn't say anything about the structure packing:
https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/srb/ns-srb-_port_configuration_information

CORE-17966
2022-01-04 14:30:27 +03:00
Stanislav Motylkov
27955da7ee [WIN32K:NTUSER] Fix one more reference leak
Addendum to d5deacd9 and 2a2f8dbe. CORE-11700
2022-01-04 03:12:12 +03:00
Thomas Faber
a4b2c80853 [NTOS:KE] Fix buffer overflow when displaying x64 bug checks 2022-01-03 13:25:09 -05:00
Thomas Faber
2a2f8dbebd [WIN32K:NTUSER] Fix reference leak 2022-01-03 13:25:09 -05:00
Javier Fernandez
b23e21a03e [MPLAY32] Update Spanish (es-ES) translation (#4200) 2022-01-03 19:30:56 +03:00
Thomas Faber
7c3902e57b [IMM32_APITEST] Fix failure messages. 2022-01-02 12:54:59 -05:00
Thomas Faber
49bb853b24 [GDI32_VISTA] Move D3DKMT functions out of gdi32. CORE-17433 2022-01-01 12:42:04 -05:00
Katayama Hirofumi MZ
757bed81b1 [NTUSER] Fix KVM and VBox tests (#4235)
KVM and VBox tests was failing since d5deacd
- Check NULL at UserFreeInputContext and UserDestroyInputContext functions.
- Move UserMarkObjectDestroy into the UserDestroyInputContext function.
CORE-11700
2022-01-02 01:40:11 +09:00
Katayama Hirofumi MZ
ee132a05ba [MSPAINT] Polymorphism on tools (#4210)
- Introduce polymorphism on tools and mouse actions.
- Implement double-clicking on TOOL_SHAPE.
- Fix some bugs about mouse handling.
CORE-17931
2022-01-01 22:02:36 +09:00
Thomas Csovcsity
e0a47b7b5f [BCRYPT] Add ECDSA P256 to known algorithms
Add missing structs and handler in BCryptOpenAlgorithmProvider().
Fixes CORE-16741 and similar problems.
2022-01-01 15:18:06 +03:00
Katayama Hirofumi MZ
d5deacd903 [NTUSER] Implement NtUserCreateInputContext (#4230)
- Modify NtUserCreateInputContext prototype.
- Add UserCreateInputContext helper function.
- Implement NtUserCreateInputContext function by using UserCreateInputContext.
- Call UserCreateInputContext(0) in InitThreadCallback function to create the default input context.
CORE-11700
2022-01-01 20:59:00 +09:00
Katayama Hirofumi MZ
ba3affe5f7 [NTUSER] Implement NtUserUpdateInputContext (#4228)
- Modify NtUserUpdateInputContext prototype.
- Implement NtUserUpdateInputContext function.
- Add enum UPDATE_INPUT_CONTEXT (UIC_*) to undocuser.h.
CORE-11700
2022-01-01 20:57:51 +09:00
Katayama Hirofumi MZ
cdf3b5e85a [NTUSER] Implement NtUserQueryInputContext (#4227)
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
- Modify NtUserQueryInputContext prototype.
- Implement NtUserQueryInputContext function.
- Add enum QUERY_INPUT_CONTEXT (QIC_*) to undocuser.h.
CORE-11700
2022-01-01 20:56:50 +09:00
Hermès Bélusca-Maïto
0d00a5d6eb [FREELDR] Slightly revamp the Exception BSOD screen.
- Don't store trailing newlines in the exception description text strings.
- Remove unused i386PrintChar().
- Display CR4 in x86.

- Use the "indentation" printf generation trick in order to get aligned
  strings for (CF4 and) DR6 and DR7, without having to hardcode the tons
  of alignment whitespaces (--> make the strings stored in freeldr shorter).

- Show the IP/ErrorCode/EFlags/GDTR/IDTR/LDTR values vertically aligned.

- Display the stack frames in both x86 and x64 modes.

- Adjust the instruction pointer when a BREAKPOINT or OVERFLOW exception
  arises, so that the offending instruction can show up in the instruction
  stream.
2022-01-01 05:04:23 +01:00
Hermès Bélusca-Maïto
2c9dbacebb [FREELDR] Fix displayed information in the Exception BSOD.
CORE-16748

- Display the correct TR register value.

- Ensure that the x86 segment register values displayed are really
  2-byte long.

Segment registers are intrinsically 16 bits. Even if the x86
KTRAP_FRAME structure stores them as ULONG, only their lower 16 bits
are initialized. We thus cast them to USHORT before display.

These segment registers are saved in a stack-based KTRAP_FRAME by the
CPU trap mechanism (for SS), and by 'push CS' etc. instructions for
the others, and from Intel documentation, we know that:
"
If the source operand is a segment register (16 bits) and the operand
size is 64-bits, a zero-extended value is pushed on the stack; if the
operand size is 32-bits, either a zero-extended value is pushed on the
stack or the segment selector is written on the stack using a 16-bit
move. For the last case, all recent Core and Atom processors perform
a 16-bit move, leaving the upper portion of the stack location unmodified.
"
So it may happen, when using the push, that either they get zero-extended,
or garbage gets stored in the higher bits, and these need to be trimmed.
2022-01-01 05:04:22 +01:00
Hermès Bélusca-Maïto
10a976e78f 🎊 🍾 🥳 Happy New Year 2022 to the ReactOS Community! 🎆 ⚛️ ☢️
.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:
 __,  ,__)            __,  ,__)       __, ,__)        ░▄████▄░▄███▄░▄████▄░▄████▄░
(--|__| _ ,_ ,_      (--|\ | _       (--\ | _  _ ,_   ░▀▀░▄██░██░██░▀▀░▄██░▀▀░▄██░
  _|  |(_||_)|_)(_|    _| \|(/_(_|_)     \|(/_(_||    ░░▄██▀░░██░██░░▄██▀░░░▄██▀░░
 (        |  |  ,_|   (                (__|           ░██████░▀███▀░██████░██████░
.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:
2022-01-01 00:00:00 +01:00
Hermès Bélusca-Maïto
e05010193e [MSGINA][SHELL32] Update some resources information. 2021-12-31 23:55:32 +01:00
Hermès Bélusca-Maïto
50eaa449f8 [FREELDR] Use actual ReactOS copyright year. 2021-12-31 23:55:31 +01:00
Mark Jansen
3b1c06c035 [PSDK] Add some missing argument names 2021-12-31 21:27:48 +01:00
Mark Jansen
acc25ce914 [RAPPS] Show the user that there are no search results
CORE-17944
2021-12-31 21:27:48 +01:00
Mark Jansen
d59f5ae2a5 [SHELL32][SHELL32_APITEST] Implement SHCreateFileDataObject 2021-12-31 21:27:30 +01:00
Mark Jansen
e6568af2d3 [SYSSETUP] Register type libraries before signaling we are done
This prevents a race condition, where hSysSetupInf could be closed before all type libraries are registered
2021-12-31 21:26:18 +01:00
Mark Jansen
51b2197c12 [ROSAPPS] Remove unmaintained / half-implemented imagesoft 2021-12-31 21:25:38 +01:00
Eric Kohl
6623b8d155 [ARP] Move the message file
Move the message file because we do not need to generate a global message header file for the arp utility.
2021-12-31 16:35:25 +01:00
Hermès Bélusca-Maïto
d7722f39fb [PSDK][SHELL32][SHELLEXT] Add SHCreateFileExtractIconW() to the PSDK and SAL-annotate it. (#4223)
Note that even if the MS PSDK and MSDN documents an hypothetical
ANSI version SHCreateFileExtractIconA(), this one never existed
exported in any Windows version!
2021-12-31 02:30:58 +01:00
Hermès Bélusca-Maïto
14dbd66d88 [SDK:ATL] Implement GetDlgItemText(BSTR&), GetTopLevelParent(), GetWindowText(CSimpleString&). (#4207)
And add SAL annotations to the Get***Text family of functions.
2021-12-31 02:28:10 +01:00
Hermès Bélusca-Maïto
e60a4f00b5 [ATL] atlwin.h: Formatting, and add a comment in IsParentDialog(). 2021-12-31 02:26:53 +01:00
Katayama Hirofumi MZ
fcc222c28a [NTUSER] Implement NtUserDisableThreadIme (#4216)
CORE-11700
2021-12-31 10:20:53 +09:00
Hermès Bélusca-Maïto
10a5200e1f [BOOTDATA] Add new Setup Debug/Screen boot entries in BootCD/HybridCD/PC98 boot menus. (#3353)
CORE-17350

Makes testing easier on real hardware (especially for these configs
where debugging can only be done via screen mode).

Add also an experimental Setup ACPI APIC entry in bootcd.ini for testing
purposes, along the lines of commit 5ee09256d .
In the similar LiveCD entry, use instead the /HAL= option.
2021-12-30 16:06:49 +01:00
Hermès Bélusca-Maïto
3fcd73634e [BOOTDATA] Remove deprecated BOCHS debugport example in txtsetup.sif. 2021-12-30 03:42:01 +01:00
Hermès Bélusca-Maïto
a01398b034 [FREELDR] Adjust a boot-options editor example. 2021-12-30 03:42:00 +01:00
Stanislav Motylkov
f18fb7da09 [NTOS:MM] Unrefernece some dereferences 2021-12-30 01:54:09 +03:00
Stanislav Motylkov
84a4efa491 [BOOTDATA] Reorder localized sections properly and fix hex numbers case 2021-12-30 01:36:57 +03:00
Luo Yufan
c1f50f3138 [TRANSLATION] Update Simplified Chinese (zh-CN) translation (#4173)
Reviewed-by: Chan Chilung <eason066@gmail.com>
2021-12-30 01:16:41 +03:00
Chan Chilung
81db5e1da8 [TRANSLATION] Add Hong Kong Chinese (zh-HK) translation - Part 1 (#3941)
Converted from Cantonese to HK-Style Written Chinese.

Also assign zh-HK translations to the ReactOS Chinese
translation team in the CODEOWNERS file.

Reviewed-by: He Yang <1160386205@qq.com>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2021-12-30 00:40:57 +03:00
Doug Lyons
00ace73316 [MSI] Improve previous msi/dialog.c patch to match code committed to Wine. (#4008)
CORE-17702

Only show the main dialog pane in the taskbar when executing a Cancel dialog.
- Improve previous msi/dialog.c patch to match current Wine code.
- Remove #ifdef's for already committed Wine Code.

In effect, importing Wine's commit 4b88e290521ef9fde9290c9bcbae7420966a6f46:
msi: Set dialog as parent in subsequent dialog.
Author: Fabian Maurer <dark.shadow4@web.de>
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51576
2021-12-29 17:06:28 +01:00
Jesús Sanz del Rey
b94b435a11 [SHELL32] Handle double click on focus manager (#4213)
CORE-9943
2021-12-29 17:00:59 +01:00
Javier Fernandez
c77d53bf6c [DRWTSN32] Add Spanish translation (#4201) 2021-12-29 16:55:38 +01:00
Jesús Sanz del Rey
5831427ef9 [DEVMGR] Ensure clicking on item when opening property sheet (#4196)
Fix a bug related to the device manager, where double-clicking anywhere when an item is already selected opens the property sheet.

CORE-17207
2021-12-29 16:52:41 +01:00
Oleg Dubinskiy
dc483bd700 [WIN32SS:ENG] EngCreateBitmap: mark created bitmaps as API bitmaps (#4146)
CORE-17561

Set the API_BITMAP flag for bitmaps created by EngCreateBitmap().

This avoids failure when created bitmap is passed to NtGdiSelectBitmap(), since it checks for this flag and fails if it isn't set.
Otherwise, if failure occurs, the bitmap is hot handled properly.
Setting this flag outside of that function is not an option at all, because it is a public (exported) function, and in many cases it's called directly by the caller (in case with MS DDraw stack, it can be called also by dxg.sys from dxgthk!EngCreateBitmap, which directly calls win32k!EngCreateBitmap).

In particular, it allows Windows XP/2003 DirectDraw stack (ddraw.dll & dxg.sys) to properly work in ReactOS (in software emulation mode), even on real hardware. So now, a lot of DirectX 1-7 apps and games (whose can work withoug hardware acceleation), are working properly with ddraw.dll + dxg.sys replacement! Also Justin Miller (DarkFire01) confirmed that even Direct3D software emulation now also works correctly on real hardware!
2021-12-29 16:51:23 +01:00
Hermès Bélusca-Maïto
0db5fce47d [ATTRIB] Fix bFound assignment, as it was originally intended by the PR reviewer.
See https://github.com/reactos/reactos/pull/2142#discussion_r360645296

This fixes the two warnings:
warning C4552: '!=': result of expression not used
2021-12-29 04:02:35 +01:00
Hermès Bélusca-Maïto
da699be4c4 [ATTRIB] Formatting only. 2021-12-29 04:02:28 +01:00
Hermès Bélusca-Maïto
a84d295974 [RAPPS] Fix the download dialog not having an icon when RAPPS is started for the first time and the database is downloaded beforehand. 2021-12-29 01:28:56 +01:00
Hermès Bélusca-Maïto
b5a6357d93 [RAPPS] Remove some dead code.
CAvailableApps::GetFolderPath() and friends are unnecessary, since
the data they return are public members of the m_Strings global structure,
that are already being used directly by other code.
2021-12-29 01:28:55 +01:00
Hermès Bélusca-Maïto
35efa2b9c7 [RAPPS] Minor formatting. 2021-12-29 01:28:53 +01:00
Katayama Hirofumi MZ
d30e5eb51c [MSPAINT] Add NUM_COLORS and enum PAL_TYPE (#4203)
Reduce magic numbers and improve debuggability. CORE-17931
2021-12-28 19:01:31 +09:00
Hermès Bélusca-Maïto
59ceeb1da0 [RAPPS] Capitalize the IDS_APP_DISPLAY_* strings ("Details"/"List"/"Tile") 2021-12-28 03:20:22 +01:00
Hermès Bélusca-Maïto
45bbf5bc8a [DEVCPUX] Remove double WS_POPUP. 2021-12-28 03:20:21 +01:00
Hermès Bélusca-Maïto
0d19ab0b82 [SYSDM] Some fixes when resizing the environment variables dialogs.
- Correctly handle the return values for WM_SIZING and WM_SIZE messages.

- Use NULL for hWndInsertAfter parameter of DeferWindowPos() when
  we don't care about the Z-order.

- Specify SWP_NOMOVE for controls that don't move during resizing.

- Fix the IDOK and IDCANCEL buttons when resizing the environment
  variables list dialog.

- Fix the dialog "moving" effect that happened whenever an attempt
  was made to resize the dialog from either of the
  top/left borders, or the top-right/top-left/bottom-left corners,
  to a size smaller than the minimal one.

- Use DWLP_USER instead of GWLP_USERDATA when storing user-specific
  data into the dialog, since the latter can be used internally by
  the Win32 dialog manager implementation.
2021-12-28 03:20:11 +01:00
Hermès Bélusca-Maïto
f6711dc528 [SYSDM] Don't systematically center the environment dialog. Restore the lost DS_CONTEXTHELP style. 2021-12-28 02:51:43 +01:00
Katayama Hirofumi MZ
2ca3ff5bc6 [MSPAINT] Refactoring (_countof and resource.h) (#4202)
- Use Microsoft standard _countof macro instead of SIZEOF.
- Rename definitions.h as resource.h.
- Move some macro definitions to its proper place.
CORE-17931
2021-12-28 10:44:56 +09:00
Victor Perevertkin
ad49da70a1 [HIVESYS] Add missing device classes to avoid error messages in log 2021-12-28 04:23:51 +03:00
Victor Perevertkin
fd9436d768 [NTOS:PNP] Remove excessive error messages 2021-12-28 04:23:51 +03:00
Victor Perevertkin
1a6bd2704a [SCSIPORT] Reduce and improve debug printing 2021-12-28 04:23:51 +03:00
Katayama Hirofumi MZ
ba117350eb [MSPAINT] Add const to some ImageModel methods
CORE-17931
2021-12-28 09:49:36 +09:00
Katayama Hirofumi MZ
4331b47c50 [MSPAINT] Add const to some PaletteModel methods
CORE-17931
2021-12-28 09:47:13 +09:00
Victor Perevertkin
188f5dc50a [KMTESTS:IO] Avoid crashing in IoCreateFile test when pool allocations are failed 2021-12-28 02:51:52 +03:00
Serge Gautherie
5ba5051f79 [FLTMGR] CreateClientPort(): Fix ObInsertObject() error handling
Avoid extra ObDereferenceObject().

CORE-17904
2021-12-28 02:27:50 +03:00
Lucas Puntillo
a23249e137 [GITPOD] change extract directory to automatically extract to RosBE, and set tar to verbose mode
change extract directory to automatically extract to RosBE, and set tar to verbose mode shorting the waiting time for the user and have verbose mode activated to show if there were any issues with the file itself. therefore helping the user and developer.
2021-12-28 02:14:47 +03:00
Serge Gautherie
665dac03b8 [CMAKE] msvc.cmake: Remove add_definitions(/D__arm__) (#3710) 2021-12-28 02:12:25 +03:00
Oleg Dubinskiy
cbf8b367f5 [SYSSETUP] Enable sound events for Workstation (#3733)
Write sound events values in registry in case user selected Workstation setup during 2nd setup stage.

CORE-13951
2021-12-28 02:08:13 +03:00
Doug Lyons
f68efe516e Update based on reviewer comments. 2021-12-28 02:03:54 +03:00
Doug Lyons
e1d0128ffc Fewer GetLastError() function calls. 2021-12-28 02:03:54 +03:00
Doug Lyons
9c8a86b4cc Indentation fixes. 2021-12-28 02:03:54 +03:00
Doug Lyons
f83f650dd6 attrib command improvements 2021-12-28 02:03:54 +03:00
Mark Jansen
b34b47056a [ROSAPPS] Remove 'man' utility 2021-12-28 01:59:17 +03:00
Mark Jansen
f1519ec1b6 [ROSAPPS] Remove 'chklib' utility 2021-12-28 01:58:52 +03:00
Mark Jansen
271a54282e [ROSAPPS] Remove 'binpatch' utility 2021-12-28 01:58:07 +03:00
Serge Gautherie
44d2513ac6 [CMAKE] toolchain-clang.cmake: Use overrides-gcc.cmake
Addendum to 8cd5c4e.
CORE-14513
2021-12-28 01:56:33 +03:00
Serge Gautherie
1449523c6d [CRT] mem/: Fix msvc14.0-amd64 build
Addendum to aea4cfb.
2021-12-28 01:55:38 +03:00
Serge Gautherie
bf4d47d969 [FREETYPE] CMakeLists.txt: Fix if conditions 2021-12-28 01:45:28 +03:00
George Bișoc
3bc2d590a1 [NTOSKRNL] Regroup the pool allocation tags in one dedicated place
We have a special file, tag.h, which serves as a place to store whatever kernel pool allocation tag yet we still have some tags sparse over the kernel code... So just re-group them in one unique place.
2021-12-27 18:57:03 +01:00
Katayama Hirofumi MZ
e9330371ea [MSPAINT] Define enum TOOLTYPE and use it (#4197)
Improve code quality and debuggability. CORE-17931
2021-12-27 23:23:32 +09:00
Katayama Hirofumi MZ
90c3f89bb2 [MSPAINT] Mouse Wheel support (#4195)
Improve usability by mouse wheel handling. Plain wheel, Ctrl+Wheel, and Shift+Wheel. CORE-17937
2021-12-27 22:20:22 +09:00
Javier Fernandez
29718e009a [SYSDM] Update Spanish (es-ES) translation (#4186)
Reviewed-by: Julio Carchi Ruiz <julcar@informaticos.com>
Reviewed-by: Julen Urizar Compains <julenuri@hotmail.com>
Signed-off-by: Javier Fernandez <elhoir@gmail.com>
2021-12-27 16:08:42 +03:00
Julen Urizar Compains
c49d1de135 [TRANSLATION] Update Basque Spanish (eu-ES) translation - Part 1 (#4057)
Reviewed-by: Ismael Ferreras Morezuelas <swyterzone+ros@gmail.com>
2021-12-27 16:00:04 +03:00
Katayama Hirofumi MZ
102898191d [MSPAINT] Add const to ToolsModel methods (#4190)
Add const keywords to some methods of ToolsModel class. CORE-17931
2021-12-27 20:08:07 +09:00
Katayama Hirofumi MZ
b5536e448a [MSPAINT] Add const to SelectionModel methods (#4191)
Add const keywords to some methods of SelectionModel class. CORE-17931
2021-12-27 20:07:23 +09:00
Katayama Hirofumi MZ
ce54a8a5f2 [MSPAINT] Add nearlyEqualPoints and use it (#4194)
CORE-17931
2021-12-27 20:06:21 +09:00
Katayama Hirofumi MZ
30e47fdb77 [MSPAINT] Fix the size of settings if too large (#4189)
- Fix the initial values of BMPHeight and BMPWidth.
- Fix the values of BMPHeight and BMPWidth if too large.
2021-12-27 10:52:53 +09:00
Katayama Hirofumi MZ
98775c4c83 [COMCTL32] Handle TCIS_BUTTONPRESSED at TAB_SetCurFocus (#4179)
Based on @JoachimHenze (reactosfanboy)'s patch. Switch TCIS_BUTTONPRESSED flag at TAB_SetCurFocus function.
CORE-4245
2021-12-27 10:04:29 +09:00
Katayama Hirofumi MZ
691139c090 [SHELL32_APITEST] Disable SHChangeNotify testcase by DISABLE_THIS_TESTCASE macro
SHChangeNotify testcase takes 6min. Too heavy.
CORE-13950
2021-12-27 09:58:35 +09:00
Katayama Hirofumi MZ
7e9cf35967 [SHELL32_APITEST] Strengthen SHChangeNotify testcase more and more (#4174)
CORE-13950
2021-12-27 09:45:44 +09:00
Katayama Hirofumi MZ
1c163bf163 [MSPAINT] Revert PostMessage to SendMessage
614354ccb5
CORE-17931
2021-12-27 08:26:33 +09:00
Katayama Hirofumi MZ
614354ccb5 [MSPAINT] Define GRIP_SIZE macro and use it (#4192)
Reduce magic numbers. CORE-17931
2021-12-26 23:05:47 +09:00
Katayama Hirofumi MZ
9e1386db43 [MSPAINT] Add Zoomed and UnZoomed and use them (#4188)
- Define Zoomed and UnZoomed helper functions.
- Use them.
CORE-17931
2021-12-26 19:49:56 +09:00
Katayama Hirofumi MZ
50cb4b3cb7 [MSPAINT] Delete filename extension .png from IDS_DEFAULTFILENAME 2021-12-25 22:52:56 +09:00
Katayama Hirofumi MZ
4e6e22e638 [MSPAINT] Make PNG default instead of BMP (#4182) 2021-12-25 22:23:25 +09:00
Eric Kohl
fa607733cb [SCHEDSVC] Use a timer to start jobs
This enables the service to start multiple jobs at the same time.
2021-12-25 14:18:53 +01:00
Andreas Maier
99dcd6f71c [MSV1_0] Implement LsaApLogonUserEx2_Network (5/5)
This is a part of the Partial Network Login Implementation PR.
2021-12-25 15:55:43 +03:00
Andreas Maier
dbca423cf8 [MSV1_0] Stub LsaApLogonUserEx2_Network (4/5)
This is a part of the Partial Network Login Implementation PR.
2021-12-25 15:55:43 +03:00
Andreas Maier
472b32d902 [MSV1_0] Extract the code for SamValidateUser function (3/5)
This is a part of the Partial Network Login Implementation PR.

- Extract code for SamValidateUser (sam.c) from LsaApLogonUserEx2.
- Make SamValidateNormalUser a local function for sam.c
- Move dependent function GetNtAuthorityDomainSid to sam.c
2021-12-25 15:55:43 +03:00
Andreas Maier
045cd5d42f [MSV1_0] Extract SamValidateNormalUser to a separate file (2/5)
This is a part of the Partial Network Login Implementation PR.

- Extract code for SamValidateNormalUser (sam.c) from LsaApLogonUserEx2.
- Move dependent functions to sam.c:
  * GetAccountDomainSid
  * MsvpCheckPassword
  * MsvpCheckLogonHours
  * MsvpCheckWorkstations
2021-12-25 15:55:43 +03:00
Andreas Maier
5a67ed775f [MSV1_0] Improve GetComputerNameW call (1/5)
This is a part of the Partial Network Login Implementation PR.
2021-12-25 15:55:43 +03:00
Katayama Hirofumi MZ
2be9ea9c3b [BOOTDATA] Support EMF/WMF metafile file types (#4183)
Improve "Open with" registry info. CORE-17814
2021-12-25 21:40:59 +09:00
Katayama Hirofumi MZ
5c8ae0d766 [GDIPLUS] GdipCreateBitmapFromStream should accept metafiles (#4181)
- Add hbitmap_from_emf helper function.
- GdipCreateBitmapFromStream accepts the metafiles.
CORE-17814
2021-12-25 21:40:08 +09:00
Scott Maday
99a6d03786 [I8042PRT] Add Latitude D820 to the hack list (#4185)
Fixes the Dell Latitude D820 TouchPad not working.
2021-12-25 03:07:33 +01:00
Andreas Maier
0901077f8c [MSV1_0] Create stubs for SECPKG_USER_FUNCTION_TABLE
This commit fixes a bug as well: old code of SpUserModeInitialze returns
a pointer to a local variable (SECPKG_USER_FUNCTION_TABLE).
2021-12-25 02:10:33 +03:00
Katayama Hirofumi MZ
1c82bf0324 [TASKMGR] Avoid freezing in getting icons (#4180)
- Modify the timeout value of SendMessageTimeout.
- Use SMTO_ABORTIFHUNG flag.
- Check if the window alive.
CORE-17894
2021-12-24 16:08:07 +09:00
Katayama Hirofumi MZ
4ed752e2c5 [EXPLORER] Adjust Taskbar AUTOHIDE size Part 2
The previous commit 2cc893f was too thick. CORE-17927
2021-12-24 07:52:02 +09:00
Katayama Hirofumi MZ
2cc893f514 [EXPLORER] Adjust AUTOHIDE size
GetSystemMetrics(SM_CXBORDER) is too thin. CORE-17927
2021-12-24 07:26:11 +09:00
Katayama Hirofumi MZ
f153b52dbb [SHELL32] Use IDI_SHELL_DOCUMENT for broken non-exe icons
CORE-16287
2021-12-24 02:47:31 +09:00
Katayama Hirofumi MZ
051561ed17 [NTUSER] Use call procedure handle if available (#4178)
Based on I_Kill_Bugs' patch.
- Use IsCallProcHandle to check if the procedure is a call procedure handle.
- If so, use the call procedure.
CORE-10499
2021-12-23 11:53:18 +09:00
Arnav Bhatt
52befa1d73 [SYSDM] Make the environment dialog box resizable (#4038)
Make it resizable, similarly to what is done in Windows 10.
2021-12-23 01:25:32 +01:00
Arnav Bhatt
e58b4a4928 [SYSDM] Edit Environment Variable Dialog Improvement (#3575)
Improve the "Edit Environment Variable" dialog box to be functionally as similar to the one of Windows 10.
CORE-11733

- Improved the existing dialog box. In particular, allow it to be resizable.
- Implemented new "fancy" dialog box for variables containing multiple directories as values,
  showing them in a list.
2021-12-23 00:37:21 +01:00
Chris Spiegel
00ffe2dfff [NETSHELL] Improve workgroup vs. domain wording (#4172) 2021-12-21 13:40:54 +01:00
Oleg Dubinskiy
8a6312abda [WIN32SS][NTDDRAW] Improve DxEngGetDCState type 2 implementation (#4176)
- Use the REGION_Complexity() function to get the actual region complexity instead of just number of rectangles.
- Don't use prgnRao at all, because it is always uninitialized when passed to the function. So in condition between prgnRao and prgnVis, the 2nd one always succeeds.
- Update the comment accordingly.
- Additionally, add a DPRINT to the end of the function, which displays the returned value.

This allows to properly enable and use DirectDraw and Direct3D hardware acceleration with the following MS DirectX components: ddraw.dll, d3d8.dll, d3d9.dll and dxg.sys. As in VM, same on real hardware.
But note that now the bugcheck 0x50 (PAGE_FAULT_IN_NONPAGED_AREA) occurs when executing fullscreen DDraw apps, after switching display mode. It's unhidden by this fix.
Addendum to 855bf46.
CORE-17561
2021-12-20 21:27:13 +01:00
Ronny Borchert
9d33a2056e [NTFS][UDFS] Fix build with NDEBUG undefined (#4171)
- Fix DumpBTreeNode() parameters in ntfs/btree.c
- Comment out unused variable in env_spec.cpp
- Fix missed brackets in else clause in wcache_lib.cpp
2021-12-20 21:19:53 +01:00
Serge Gautherie
0fd3e51580 [HALX86] HalpDmaAllocateChildAdapter(): Fix memory leak, on error (#4156)
Simplify code, instead of adding 2 missing ObDereferenceObject().
(Note that ObInsertObject() always dereferences the object in case of failure.)

CORE-17904
2021-12-20 21:14:36 +01:00
Andrej Bartulin
2196a06fc1 [KEYBOARD] Switch to QWERTZ for Croatian keyboard layout (#4177) 2021-12-20 15:23:16 +01:00
Stanislav Motylkov
2bf37e73e5 [STORPROP] Fix MSVC build. Addendum to 9a7bd386 2021-12-20 02:46:47 +03:00
Eric Kohl
9a7bd386b9 [STORPROP] Add missing stubs and move some functions around 2021-12-20 00:08:06 +01:00
Serge Gautherie
d375b7f6c5 [WIN32K:NTUSER] Make sure to hold User Global Lock before mapping desktop heap (#4144)
Addendum to 8c098ee8d.
CORE-17890
2021-12-19 23:34:35 +01:00
Doug Lyons
7d1b50394b [WIN32SS] Do not remove message from the Msg Queue if it is not for us. (#4129)
CORE-8217
Patch from 'I_Kill_Bugs' contributor.
2021-12-19 16:03:22 +01:00
Jérôme Gardou
63bb43adbb [MSI] Remove read-only bit when copying the package file
CopyFileW also copies the file attributes, and the copy will be opened with
write access later on.

This is import of Wine commit:
e830975806

Fixes MS Office 2000/2003 installers and probably others. CORE-17693
2021-12-18 15:44:04 +03:00
Katayama Hirofumi MZ
e8a7e0da2b [TASKMGR] Make 'Hide When Minimized' non-default (#4169)
HideWhenMinimized = FALSE; at LoadSettings function.
AlwaysOnTop = TRUE; at LoadSettings function.
2021-12-18 18:21:32 +09:00
Stanislav Motylkov
1a1fd20f3e [README] Update release article link 2021-12-17 22:35:26 +03:00
Stanislav Motylkov
011bd77a94 [README] Update release version 2021-12-17 22:34:18 +03:00
Hervé Poussineau
ac5536aa48 [SCSIPORT] Ignore LUNs not supported by the adapter
CORE-17641
2021-12-17 11:09:23 +01:00
Jose Carlos Jesus
a36cc8054d [COMDLG32] Fix ico3 not shown in Print dialog (#2831) (#2831) 2021-12-17 13:06:55 +09:00
Mark Jansen
db39a50c73 Simplify CDefaultContextMenu by using CAtlList (#3405) 2021-12-17 13:01:03 +09:00
Jose Carlos Jesus
c3a4309d0c [EXPLORER] Fixed issue in TaskBar AUTOHIDE CORE-17093 (#2863)
CORE-17093
2021-12-17 12:42:19 +09:00
Katayama Hirofumi MZ
f643fb301b [NTUSER] Fix SwitchToThisWindow
Taskbar task buttons were not working correctly due to this bug.
CORE-17911
2021-12-17 11:38:23 +09:00
Hervé Poussineau
0358fcf9e4 [NTOS:PNP] Let pnproot only report already detected devices
Ignore devices which have DeviceReported=1 in instance key
and not DeviceReported=1 in Control key.

CORE-17874
2021-12-16 16:14:21 +01:00
Hervé Poussineau
d380e9777c [NTOS:PNP] Set DeviceReported=1 in Instance key and Control key of legacy devices at report time
CORE-17874
2021-12-16 16:14:21 +01:00
Katayama Hirofumi MZ
e3622ebe4e [NTGDI] Strictly check pen style (#4164)
- Check the pen style and elegantly fail if the style was wrong.
CORE-13819
2021-12-16 10:47:57 +09:00
Katayama Hirofumi MZ
545e1190f2 [TASKMGR] Avoid hangs as much as possible (#4166)
- Use ShowWindowAsync instead of ShowWindow.
- Use SwitchToThisWindow directly.
CORE-17894
2021-12-16 09:57:40 +09:00
Katayama Hirofumi MZ
0b6f3eb8e4 [NTUSER][USER32] Use async way in TileWindows and CascadeWindows (#4167)
Processing asynchronously. CORE-17894
2021-12-16 09:52:02 +09:00
Katayama Hirofumi MZ
f636b96eee [EXPLORER] Quick taskbar menu even if any halted window (#4165)
Optimized for speed. CORE-17894
2021-12-16 09:49:43 +09:00
Valerij Zaporogeci
403222dd4f [TASKMGR] Preserve graphs history on resizes (#4141)
- Also the graph stays preserved on the kernel time toggle
- An attempt to clean up the collected cruft was made as well
2021-12-16 03:06:09 +03:00
Hermès Bélusca-Maïto
b2c8fe2c55 [TASKMGR] Formatting changes only 2021-12-16 03:06:04 +03:00
Denis Malikov
8ef8e41cc9 [SHELL32] Show error message if move or copy operation failed (#4155)
This allows user to know when there is not enough space on the target media,
when there is no permissions for the operation, or some other error.

CORE-9239
2021-12-15 17:42:47 +03:00
Katayama Hirofumi MZ
e055b0623c [EXPLORER] Use ShowWindowAsync in CTrayWindow::RestoreAll()
Here, ShowWindowAsync is better than ShowWindow.
CORE-17894
2021-12-14 23:12:01 +09:00
Chan Chilung
10c7145cc6 [XCOPY] Add missing Syntax parameter in STRING_HELP string (#4161) 2021-12-14 03:34:06 +03:00
Rubén Mendoza Luna
b7fa746172 [HELP] Fix (tr-TR) rc sporadic compilation error on VS (#4162)
Fix (tr-TR) resource file compilation error RC2102 on VS2015 and 2017.
Based on the work done at CORE-7405, moves the string split location so
the first part of the message isn't too long anymore.

CORE-17910
2021-12-14 03:22:44 +03:00
Dmitry Borisov
3f97671319 [E1000] Minor improvements (#3904)
- Add support for 64-bit counters (Intel gigabit NICs)
- Properly handle OIDs
- Check that the packet filter is not 0
- Performance increase
2021-12-14 01:57:33 +03:00
Katayama Hirofumi MZ
55a1c29341 [NTUSER][USER32] Simplify SwitchToThisWindow (#4153)
CORE-17894
2021-12-13 08:14:33 +09:00
Eric Kohl
cf8380100e [KERNEL32] SetComputerNameExW: Truncate the computer name
This fixes the SetComputerNameExW api test.
2021-12-12 17:40:52 +01:00
Jose Carlos Jesus
067c08c23f [USETUP] Improve Portuguese (pt-PT) translation (#4131) 2021-12-10 17:16:16 +03:00
Katayama Hirofumi MZ
8c9b6fdb5c [USER32] Partially fix freezing of Task Switcher (#4148)
- Use SendMessageTimeout instead of SendMessage.
- Use SwitchToThisWindow instead of BringWindowToTop.
- Use ShowWindowAsync instead of ShowWindow.
- Use SWP_ASYNCWINDOWPOS for SetWindowPos.
CORE-17894
2021-12-10 13:37:43 +09:00
Katayama Hirofumi MZ
581757d861 [KERNEL32_APITEST] Improve MultiByteToWideChar testcase
- Fix WinXP and ReactOS cases.

CORE-13349

NOTE: We use Win10's MultiByteToWideChar behaviour due to security reason.
2021-12-10 12:24:41 +09:00
Chan Chilung
21d71c28e2 [DOC] Improve file name for Chinese translation notes (#4039) 2021-12-10 01:16:33 +03:00
Chan Chilung
c1c59624ba [TRANSLATION] Chinese Traditional (zh-TW) translation update (#4039) 2021-12-10 01:16:32 +03:00
Andrej Bartulin
90d12a5fce [USETUP] Add Croatian (hr-HR) translation (#4080) 2021-12-10 00:16:49 +03:00
Jose Carlos Jesus
a29f5fed39 [INF] Add Portuguese (pt-PT) translation (#4087) 2021-12-09 20:08:35 +03:00
Justin Miller
b1fca7ea55 [SDK][XDK] Add more definitions for ARM64 and start fixing PE binaries (#4142)
- Add context structure and definitions, NEON128 structure,
  runtime function entry, dispatcher context, scope table

All definitions are based on the latest SDK for arm64.

[SDK] Use _TARGET_PE64 in the pefixup

[GENINC] Add AA64 identifier for ARM64 PE binaries

CORE-17518
2021-12-09 17:54:16 +03:00
Justin Miller
6dfc13e411 [CRT] Add vadefs macros for arm64 (#4123)
CORE-17621 CORE-17518
2021-12-09 17:16:20 +03:00
Serge Gautherie
cd991e3d63 [UNIATA] Fix copy-pasta on 5 Promise device ids
Addendum to 5783342 (r62493).
CORE-17898
2021-12-09 17:10:09 +03:00
Stanislav Motylkov
2a616b0a14 [W32TIME] Restore remaining translations
They were unintentionally dropped in commit 3d8d88ea.
Also add corresponding translation authors.

References: e4898e6e, c81af08f, 05c39d8d
2021-12-09 16:10:42 +03:00
Javier Fernandez
b794e76151 [W32TIME] Add Spanish (es-ES) translation (#4149)
Restore initial translation by Julen committed in ea6e7740
which was then dropped in 3d8d88ea.

Add translation for IDS_DESCRIPTION.
2021-12-09 15:52:02 +03:00
Hervé Poussineau
5dc56dd1d6 Revert "[VIDEOPRT] Fix updating of new registry path values"
This reverts commit ecf3416f49.

This commit was meant to fix CORE-17688. While its effectively fixed
the problem, it introduced another regression CORE-17719.

In the mean time, commit c05a45e17e fixed
things properly.

CORE-17719
2021-12-08 18:36:34 +01:00
Katayama Hirofumi MZ
ee3659d5d5 [NTUSER][USER32] Simplify user32.IsHungAppWindow (#4150)
Check FNID_GHOST and MsqIsHung. CORE-17894
2021-12-09 00:39:57 +09:00
Stanislav Motylkov
07c534c863 [BOOTDATA][USBSTOR] Add device definitions for SFF-8070i (ARMD-style devices)
Confirmed working with our usbstor driver by Vort.

CORE-17895
2021-12-08 17:52:07 +03:00
Katayama Hirofumi MZ
79c926c893 [NTUSER] Implement HSHELL_RUDEAPPACTIVATE notification (#4147)
- Add IntIsWindowFullscreen function to judge whether the window is fullscreen.
- Add IntCheckFullscreen function to notify HSHELL_RUDEAPPACTIVATE if fullscreen.
- Add IntCheckFullscreen call in UpdateShellHook function.
- Add IntCheckFullscreen call in co_WinPosSetWindowPos function.
CORE-16130
2021-12-08 18:26:22 +09:00
Katayama Hirofumi MZ
821223b3d5 [USETUP][TRANSLATION] Improve Japanese 2021-12-08 15:21:17 +09:00
Stanislav Motylkov
f6edd653b0 [RAPPS] Fix Ctrl+F hotkey not working regression
Addendum to 4c7bd34a. CORE-17881
2021-12-07 20:36:49 +03:00
Katayama Hirofumi MZ
4a17d4b0c1 [NTGDI] Follow-up of #4137
Revert AddPenLinesBounds. Delete FIXME comments.
CORE-2527, CORE-8366
2021-12-07 08:08:46 +09:00
Eric Kohl
3d8d88eaf9 [W32TIME] Improve w32time setup
- Remove w32time from hivesys.inf
- Implement DllRegisterServer
- Add DllUnregisterServer stub
- Register w32time at the end of setup phase 2
2021-12-06 23:24:51 +01:00
Katayama Hirofumi MZ
6358c4ac9f [NTGDI] Support the wide pen (#4137)
- Extend PATH_WidenPath function as PATH_WidenPathEx with the path argument.
- Use PATH_WidenPathEx and PATH_FillPathEx functions to implement wide pen drawing in PATH_StrokePath function.
- Add the code to IntGdiLineTo, IntRectangle, IntGdiPolygon, and IntGdiPolyline in order to stroke the path when the effective wide pen.
FIXME: Boundary rectangle.
CORE-2527, CORE-8366
2021-12-06 20:44:06 +09:00
Robert Naumann
ff89651ed0 [COMCTL32] Redraw children when the combo box is dropped down.
Wine commit c82d6ee by Gabriel Ivancescu
Fixes CORE-17883
2021-12-04 21:57:59 +01:00
Katayama Hirofumi MZ
89dd9ecacb [TRANSLATION][WORDPAD] Fix line breaks of Croatian
Fix newline codes of #4098.
52c75521a6
2021-12-04 20:25:08 +09:00
Katayama Hirofumi MZ
f606fecb0d [NTUSER] Fix where linking newly created window is done (#4127)
Co-authored-by: I_Kill_Bugs <>
CORE-12052
2021-12-04 11:52:38 +09:00
Hermès Bélusca-Maïto
957e566a23 [APITESTS][NTVDM][SPOOLSV] Add the missing ENABLE_EXPORTS property as these EXE targets have function exports.
This became a requirement, following a previous CMake update.
Otherwise the built EXEs would not export their intended functions.

Addendum to commit d8e92b5a (see PR #1335)
CORE-15406

[LOADCONFIG] The GCC rant had nothing to do with GCC, but everything with CMake...

[SPOOLSV] Add the missing exported stubs.
2021-12-04 01:17:32 +01:00
Hermès Bélusca-Maïto
addf1e87fe [NTVDM] Log explicitly calls to Long FileName support functions in DOS INT 21h. Use MAXDWORD instead of hardcoded values. 2021-12-03 23:26:24 +01:00
Hermès Bélusca-Maïto
81d5e650de [NTVDM] Improve DOS file search implementation. Addendum to commit 86ba2faa (r67619).
We get file matches when their attributes match and we can obtain
a valid 8.3 file name. This last condition is of upmost importance.
We cannot reliably use GetShortPathName() on the filename returned by
FindFirstFile()/FindNextFile() because the result is uncertain (one
either needs to build a full path before calling the function just to
get the final short path form, or change the current working directory
to the one where the search is being made, etc.)

The Find*file() functions return anyway the short file. name (in the
cAlternateFileName member) if the file does have such 8.3 filename and
its real name (in cFileName) is longer. Otherwise, cFileName could
already be *THE* short filename because it has the correct format for
it. Check this latter case with RtlIsNameLegalDOS8Dot3() and use it if
so. Otherwise this means the file has a long filename that cannot be
converted to short filename format (because e.g. it is in a volume where
short filenames are unavailable), and we skip such files: they wouldn't
be accessible from DOS anyways.

- Doxygen-document demFileFindFirst(), demFileFindNext() and associated
  flags and structures. Update their annotations.

This fixes TurboC 2.x installation.
2021-12-03 23:26:23 +01:00
Hermès Bélusca-Maïto
fcbdab0037 [NTVDM] Trivial english typos fixes. 2021-12-03 23:26:22 +01:00
Serge Gautherie
30010a5aa7 [FREELDR] debug.h: Add an explicit VOID parameter type (#4133)
Addendum to 98c17d3.
2021-12-03 03:14:44 +01:00
Andrej Bartulin
52c75521a6 [TRANSLATION][WORDPAD] Translate Wordpad to Croatian (#4098) 2021-12-02 20:08:45 +01:00
Jose Carlos Jesus
6a3af90d70 [USETUP] Improve pt-Pt Translation (#4130)
* Remove duplicate word
* Improve pt-PT translation
* Fix typos
2021-12-02 19:57:31 +01:00
Doug Lyons
5c9fdcb1de [3DTEXT] Fix 3dtext.scr using near 100% CPU (#4125)
CORE-17866, CORE-8217
2021-12-02 19:55:39 +01:00
Oleg Dubinskiy
c05a45e17e [WIN32K:ENG] Pass correct display name to EngpFindGraphicsDevice (#4128)
It actually should look like '\\.\DISPLAY<n>' (since it comes from user mode),
which the function expects, and not '\\Device\\Video<n>', like done in the
kernel mode. Otherwise, passing wrong name causes a mismatch.

Fix the problem with video device access (failure with status 0xc0000022 when
trying to open it). Hence, it also fixes the following debug log spam:
'err: Could not open device \Device\Video0, 0xc0000022'.

Addendum to 77e891b8. CORE-17719 CORE-17786
2021-12-01 18:28:45 +03:00
Doug Lyons
67ad4e7f60 [EXPLORER] Fix for Start Button Wrong size when Using Themes (#4121) CORE-16742
The problem once was unhidden by
0.4.7-dev-705-g 85ae842105
2021-11-30 22:48:46 +01:00
Katayama Hirofumi MZ
915569a8de [RICHED20] Fail elegantly if pRow or pPara is NULL on ME_EnsureVisible (#4126)
CORE-16578
2021-11-28 22:23:04 +09:00
Hermès Bélusca-Maïto
2693a26e3e [NTVDM] Create the CMOS ram file in NTVDM's own directory, instead of in whatever current directory we are running.
This fixes the age-long annoyance that wherever you ran a DOS program
with NTVDM, its cmos.ram file would be created in the same current
directory the DOS program was being started.

This created at least two problems:
- useless pollution of directories with cmos.ram files;
- for installers, e.g. of Turbo C 1.x that enumerate the install files
  from their directories to be copied/extracted somewhere, the cmos.ram
  file could then be enumerated along and cause the installation to
  interrupt and/or fail.

Now the cmos.ram file is created in the same directory NTVDM resides
(usually in System32...).
Also, debug-print out only loading errors instead of successes as well.
2021-11-28 00:26:46 +01:00
Hermès Bélusca-Maïto
e0a272c95b [NTVDM] DosCreateProcess(): Add failure checks when building the OTVDM command-line.
Addendum to commit 0609db55
2021-11-28 00:26:46 +01:00
Hermès Bélusca-Maïto
1bd0e3f9f9 [NTVDM] Retrieve the full directory of the current running NTVDM instance, to be used as a base path for opening other NTVDM system files. 2021-11-28 00:26:45 +01:00
Hermès Bélusca-Maïto
86eebc2a31 [NTVDM] disk.c: Simplify some code; unmount only present disks during cleanup (avoids useless debug-print errors). 2021-11-28 00:26:45 +01:00
Hermès Bélusca-Maïto
6823878a02 [NTVDM] Sort out some global/emulator header info, and NDK headers inclusions. 2021-11-28 00:26:44 +01:00
Hermès Bélusca-Maïto
695900f51f [NTVDM] Silence noisy DPRINTs when starting processes; they can be re-enabled by recompiling in "advanced debugging" mode. 2021-11-28 00:26:43 +01:00
Hermès Bélusca-Maïto
b849a696ef [NTVDM] In non-STANDALONE builds, check whether we are started as a VDM and bail out if not. 2021-11-28 00:26:43 +01:00
Hermès Bélusca-Maïto
d6d30f9e05 [KERNEL32] Don't hardcode some types in sizeofs, and some flag values. 2021-11-28 00:26:42 +01:00
James Tabor
993eb07654 [User32|API_TEST] Add Get Window Ptr Test
Adding test to verify results from a foreign window process.
See CORE-17856.
2021-11-27 14:47:11 -06:00
James Tabor
9cff384c22 [User32] Add Back Break with Error Message
Add back missing break. See CORE-17856.
2021-11-27 11:35:42 -06:00
Stanislav Motylkov
1897f9f0c0 [FREELDR] Fix release builds for PC-98 and Xbox platforms
Fix error C4013: 'DebugDisableScreenPort' undefined; assuming extern returning int

Addendum to 98c17d31. CORE-16216
2021-11-27 20:22:09 +03:00
Doug Lyons
0609db55d7 [NTVDM] Use strsafe functions for concantenation of strings in otvdm code. (#4124) 2021-11-25 21:06:05 +01:00
Eric Kohl
990ba54537 [NTOS:LPC] NtReplyWaitReceivePortEx returns the correct TotalLength for connect messages
This fixes the NtAcceptConnectPort apitest.
2021-11-24 18:59:16 +01:00
James Tabor
a89844f740 [User32] Fix Copy Paste
Pointed out by otya. See CORE-17856.
2021-11-24 09:36:50 -06:00
Eric Kohl
07e19a5e09 [NTOS:IO] Fail, if io completion port and an apc routine are used at the same time
Add checks to NtNotifyChangeDirectoryFile, NtLockFile, NtReadFile and NtWriteFile.
This fixes two ntdll tests.
2021-11-24 13:34:26 +01:00
Jose Carlos Jesus
b3c6407d6e [SYSSETUP][USETUP] [NLS] Update pt-PT translation (#4120)
- NLS: Change weekdays name to capital letter.
- USETUP: Fix typos to pt-PT translation.

- SYSSETUP: Update pt-PT translation.
  + Sync IDS_USER_ADMINISTRATOR_NAME and IDS_ADMINISTRATOR_NAME (in samsrv).
2021-11-24 01:57:11 +01:00
Doug Lyons
0f05abec82 [NTVDM] Add otya128's WineVDM integration code into ReactOS (#4113)
This is an interim solution until a more integrated solution with NTVDM is developed.
CORE-17852
2021-11-23 23:50:05 +01:00
Denis Malikov
db810d8e44 [WIN32SS:NTUSER] Fix window state after restoring snapped window (#4119)
InternalPos.NormalRect is a key data for detecting whether a window was snapped.
Keeping it after restore affecting next snap actions.

CORE-16477
2021-11-23 23:34:03 +01:00
Hermès Bélusca-Maïto
6a4ca215ab [NTVDM] Log the command line used when starting NTVDM. 2021-11-22 03:10:14 +01:00
Doug Lyons
b538b9abb8 [WIN32K] Fix 'use after free' in NtGdiStretchDIBitsInternal (#4122)
CORE-17861
2021-11-22 02:57:36 +01:00
Hermès Bélusca-Maïto
f766ca5e42 [SMSS] Use NULL for NULL pointers. 2021-11-22 00:16:32 +01:00
Hermès Bélusca-Maïto
c17aeec031 [CSRSRV] Update the status.h file with updated information. 2021-11-22 00:13:35 +01:00
Hermès Bélusca-Maïto
7353af1e3d [NTDLL:CSR][CSRSRV] Start to deprecate CSR functions removed on Windows 2003.
The server-side CsrSrvIdentifyAlertableThread and CsrSrvSetPriorityClass
functions are completely removed in Win2k3+, and are since stubbed by
CsrSrvUnusedFunction instead. They however were present up to Windows XP,
albeit with an extremely minimal implementation.

The corresponding client-side CsrIdentifyAlertableThread and CsrSetPriorityClass
now become just stubs that either trivially succeed or fail, respectively.

See https://www.geoffchappell.com/studies/windows/win32/csrsrv/api/srvinit/apidispatch.htm
for more information.

- Fix typo "al*T*ertable" --> "alertable".
- Remove ROS-specific CSRSS_IDENTIFY_ALERTABLE_THREAD that was
  deprecated since ages (at least before 2005)!
2021-11-22 00:13:34 +01:00
Hermès Bélusca-Maïto
d575e828d7 [NTDLL_APITEST] Test that NtQueryInformationProcess(ProcessWx86Information) can work without a ReturnLength pointer. 2021-11-22 00:13:33 +01:00
Thomas Faber
88e3ef5fa0 [NTOS:SE] Don't assert on levels that don't allow impersonation. 2021-11-21 17:19:03 -05:00
Eric Kohl
3e5dcf7937 [NTOS:EX] Fix version specific return value for NtSetSystemInformation:SystemFlagsInformation 2021-11-21 21:42:04 +01:00
Serge Gautherie
de33036766 [RICHED20] select_style(): Check font_cache too
Already upstreamed as wine-6.21-347-g177f808.

CORE-17843
2021-11-21 13:07:59 -05:00
Thomas Faber
d84022d7fd [NTOS:SE] Fix always-true assert in SeTokenCanImpersonate.
Courtesy of VS analysis warning C6289:
Incorrect operator:  mutual exclusion over || is always a non-zero constant.  Did you intend to use && instead?
2021-11-21 12:57:50 -05:00
Thomas Faber
0af3689c2e [REACTOS] Fix traces with missing arguments.
Courtesy of VS Code Analysis warning C6064:
Missing integer argument to 'DbgPrint' that corresponds to conversion specifier 'N'.
2021-11-21 12:57:35 -05:00
Thomas Faber
a7b2703479 [NTOS] Fix broken SAL annotations on MmDereferenceSegmentWithLock. 2021-11-21 12:47:46 -05:00
Thomas Faber
2e76fb9fe1 [NTOS:IO] Use a guarded region in IopQueueIrpToThread.
We're protecting against IopCompleteRequest, which is a special
kernel APC. So this is a little bit faster than raising the IRQL.
2021-11-20 14:58:51 -05:00
Serge Gautherie
8d10682307 [CONFIGURE] Add support for 'Visual Studio 2022, v17.x'
CORE-17733
2021-11-20 12:14:32 +03:00
Julio Carchi
9c4397afdf [USER32] GetQueueStatus() should not return 0 when passing QS_ALLINPUT flag that includes QS_RAWINPUT (#4115)
GTK applications call GetQueueStatus(QS_ALLINPUT), where QS_ALLINPUT
specifies the QS_RAWINPUT flag as well, when these are compiled for
Windows XP+, and they expect the call to succeed on this platform.

On one side, ReactOS does not currently support this flag at all, but
since it claims to be XP/2003-compatible, applications may implicitly
expect the flag to be supported by GetQueueStatus() and the function
*NOT* failing when this flag is set.
(Later GTK apps don't care and just call GetQueueStatus(QS_ALLINPUT)
that includes QS_RAWINPUT, and therefore would fail as well on e.g.
Windows 2000...)

Otherwise, an observable effect is that some versions of libgdk-win32-2.0.0.dll
enter into an infinite loop when calling GetQueueStatus(QS_ALLINPUT),
since this call always failed on ReactOS.

On the other side, however, we should honour our winetests that handle
the presence of the QS_RAWINPUT flag and behave differently accordingly.
But since we do not support QS_RAWINPUT yet, we should keep their old
behaviour where QS_RAWINPUT is unused.

Thus, in order to accomodate both sides, we don't fail the GetQueueStatus()
call, but just set the ERROR_INVALID_FLAGS last error and continue it.


This fixes CORE-15686, CORE-17551 and probably CORE-11850.
Fixes also all user32:TrackMouseEvent tests.

Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2021-11-20 00:45:35 +01:00
Hermès Bélusca-Maïto
7c8c9e1aba [WINSPOOL] QS_SENDMESSAGE|QS_ALLEVENTS == QS_ALLINPUT, so use the latter instead. 2021-11-19 21:13:26 +01:00
Hermès Bélusca-Maïto
d78a5b6dbf [PSDK] Sort out the QS_*** definitions. Add the Win7+ QS_TOUCH and QS_POINTER.
In particular, define the compound QS_MOUSE, QS_INPUT, QS_ALLEVENTS
and QS_ALLINPUT flags based on the other elementary QS_*** flags,
instead of having magic values for these.
2021-11-19 18:23:57 +01:00
Serge Gautherie
48d1ecc4df [PSDK] Unduplicate QS_RAWINPUT (#4116)
Addendum to a7bf412a (r38925).
2021-11-19 17:56:44 +01:00
George Bișoc
009f2c3917 [CODEOWNERS] Add myself as maintainer for Security Manager
From now on I'll take care of this subsystem of the kernel.
2021-11-19 12:01:19 +01:00
Hermès Bélusca-Maïto
2b31977838 [FREELDR] Add RegCloseKey() and use it where registry keys need to be closed.
Actually, RegCloseKey() is here a dummy macro that just "returns"
success. Indeed, the internal implementation of RegOpenKey() doesn't
really allocate internal structures: it just returns a "pointer" to
already existing allocated data. Therefore nothing needs to be closed/freed
later on.
2021-11-19 03:55:21 +01:00
Hermès Bélusca-Maïto
60d4a34892 [FREELDR] Switch to RtlZeroMemory() from memset(). 2021-11-19 02:22:20 +01:00
Hermès Bélusca-Maïto
497fee1622 [FREELDR] Don't hardcode buffer size. 2021-11-19 02:22:18 +01:00
Hermès Bélusca-Maïto
5cad040726 [FDEBUG] Switch to ZeroMemory() from memset(). 2021-11-19 02:22:15 +01:00
Serge Gautherie
c5e5e3117c [FREELDR] Diverse improvements and fixes for CORE-12802. (#3466)
- Move a few lines around.
- Switch to RtlZeroMemory() from memset().
- Make while() more explicit.

For CORE-12802:
- Add/Fix FrLdrHeapAlloc() failure handling and related.
  Especially, add/fix FrLdrHeapFree() calls.

- Add/Improve ERR() to some FrLdrHeapAlloc() failure cases.

Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2021-11-19 01:49:55 +01:00
Serge Gautherie
0a6750da12 [CRT] stdio/file.c: Import 3 Wine one-liner fixes (#4101)
* [FORMATTING][CRT] stdio/file.c: Reduce diff with Wine.

* [CRT] _wfreopen(): Fix TRACE() format modifier
Import wine-1.4-rc3 f8b29a0 by Eric Pouech.

* [CRT] msvcrt_init_io(): Ignore inherited FDs with invalid handles
Import wine-6.2-32-g611742d by Paul Gofman,
except test part, which shall be WineSync separately.

* [CRT] _dup2(): Fix clearing NOINHERIT flag
Import wine-6.20-44-g1420d28 by Piotr Caban.
2021-11-18 23:23:12 +01:00
Scott Maday
83335d3a81 [SHELL32] Control panel context menu semantic bugfix (#4078) 2021-11-18 22:41:53 +01:00
Hermès Bélusca-Maïto
712f469671 [NTOS:EX] Clarify the situation with the SystemPathInformation class. (#4065)
Since NT 3.51, this information class is trivially implemented.
The path to the NT directory is now stored in KUSER_SHARED_DATA
as the NtSystemRoot member.
Windows Checked builds show the following message and break to
the debugger before failing the function as not implemented:

EX: SystemPathInformation now available via SharedUserData

See https://www.geoffchappell.com/studies/windows/km/ntoskrnl/api/ex/sysinfo/query.htm
and https://www.geoffchappell.com/studies/windows/km/ntoskrnl/inc/api/ntexapi_x/kuser_shared_data/index.htm
for more information.
2021-11-18 22:37:54 +01:00
Hermès Bélusca-Maïto
1200561fcc [NTOS:EX] NtQuerySystemInformation: Use same parameter names as documentation. FStatus --> Status. (#4064) 2021-11-18 22:36:07 +01:00
Hermès Bélusca-Maïto
d484a68ccb [NDK][NTOS:EX] Add/fix SAL annotations for Nt/ZwSetSystemInformation + last parameter type. (#4064) 2021-11-18 22:36:07 +01:00
Hermès Bélusca-Maïto
7692a620e7 [NDK][NTOS:EX] Minor formatting. 2021-11-18 22:36:06 +01:00
Chan Chilung
d2382e78ef [BOOTDATA] Update some time zones for East Europe (#4029)
- Remove Minsk from GMT+02:00 (is now GMT+03:00)
- Change description for all GMT+02:00 time zones
- Add Turkey time GMT+03:00

CORE-12025
2021-11-18 13:26:06 +03:00
Katayama Hirofumi MZ
0f5fb4785b [SHELL32] Drop a shortcut of the drive (#4072)
- If the Right-dropped item was a drive, then get the display name of the drive and use it.
- Use FAILED_UNEXPECTEDLY instead of FAILED macro.
- Accept ::{GUID}.
CORE-17813
2021-11-18 17:11:24 +09:00
Stanislav Motylkov
f8010947fe [GITHUB] Applications, CPL, and rosapps modules are building for ARM now
Also add debug and release builds. Addendum to c1538a82 and 1f44552d.

CORE-17517 CORE-17604
2021-11-17 19:18:18 +03:00
Sergey Valentei
84ed4a79dc [HHPCOMP] Check return value when calling chdir (#4073)
Signed-off-by: Sergey Valentei <ihsinme@gmail.com>
2021-11-17 14:28:12 +03:00
Justin Miller
51ce0c5150 [CRT] Add setjmp for the arm64 architecture (#4088)
CORE-17622 CORE-17518
2021-11-17 14:24:07 +03:00
Konrad Dybcio
b5e57a8523 [SDK][CMAKE] config.cmake: Add ARM64 compiler options (#4050)
Add generic compiler options for ARM64.

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
2021-11-17 14:18:06 +03:00
Stanislav Motylkov
3eb4f4d450 [THEMES][LUNAR] Fix line endings problem 2021-11-17 14:12:02 +03:00
Nikki Next
577fb37a8a [THEMES][LUNAR] Add Russian translation (#4100) 2021-11-17 13:58:56 +03:00
Dmitry Borisov
84fabd819d [ISAPNP] Add support for NEC PC-98 series 2021-11-17 13:56:29 +03:00
George Bișoc
f909e8762d [NTOS:SE] Validate the SID lengths when capturing them
SIDs are variadic by nature which means their lengths can vary in a given amount of time and certain factors that allow for this happen. This also especially can lead to issues when capturing SIDs and attributes because SeCaptureSidAndAttributesArray might end up overwriting the buffer during the time it's been called.

Therefore when we're copying the SIDs, validate their lengths. In addition to that, update the documentation header accordingly and add some debug prints in code.
2021-11-16 10:55:44 +01:00
Thomas Faber
4601d94801 [DBGHELP] Fix default search path handling. CORE-17073
* Allow NULL search path in SymSetSearchPath
* Use . instead of concrete current directory
* Use _NT_ALT_SYMBOL_PATH variable
* Add some tests
2021-11-15 20:14:34 -05:00
Mark Jansen
ab7b004d51 [FONTEXT] Fix font installation 2021-11-15 20:02:14 +01:00
Mark Jansen
54c09f856c [FONTEXT] Simplify HIDA usage 2021-11-15 20:02:14 +01:00
Mark Jansen
fa0f5cc4be [SHELL32] Simplify HIDA usage 2021-11-15 20:02:14 +01:00
Mark Jansen
eb0c005c1b [SENDMAIL] Simplify HIDA usage 2021-11-15 20:02:13 +01:00
Mark Jansen
eba16dc9e9 [MYDOCS] Simplify HIDA usage 2021-11-15 20:02:13 +01:00
Mark Jansen
e5ea6041c9 [SHELL32][SHELL32_APITEST] Add SHGetAttributesFromDataObject 2021-11-15 20:02:13 +01:00
Mark Jansen
1f44552d36 [DRWTSN32] Implement arm context reading
CORE-17605 CORE-17604
2021-11-15 19:57:35 +01:00
Joachim Henze
f028ca5b08 [WIN32K] Fix a weird control character in dibobj.c CreateDIBPalette() CORE-17848 2021-11-15 03:05:20 +01:00
Thomas Faber
68c9ac2a82 [RICHED20_WINETEST] Re-enable crashing test. CORE-16799 2021-11-14 20:22:34 -05:00
Thomas Faber
be38a2ca4e [SETUP] Register riched20.dll's type library during setup. CORE-16799
This is a bit of a hack -- I'm not sure how Windows deals with this.
2021-11-14 20:22:05 -05:00
Thomas Faber
c8b6abab80 [RICHED20] Decorate thiscall functions as such. ROSTESTS-375 CORE-17021 2021-11-14 12:54:01 -05:00
Thomas Faber
e8b79e89eb [NTOS:PS] Fix copypasta in NtQueryInformationJobObject. CID 1441354 2021-11-13 21:23:40 -05:00
Thomas Faber
34f2b7830d [NTOS:IO] Correctly deal with exceptions when handling FileFsDriverPathInformation. CID 1476847 2021-11-13 21:23:39 -05:00
Thomas Faber
a74ff5be17 [NTOS:IO] Don't call IopCompleteRequest with uninitialized context values. CID 716761
NormalContext and NormalRoutine are just for good measure, but
SystemArgument2 is actually used by the function.
And yes, this appears to be a bug in Win 2003.
2021-11-13 21:23:39 -05:00
Thomas Faber
8254585be5 [NTOS:EX] Assert some AcquireResource return values. CID 1321882 2021-11-13 21:23:39 -05:00
Thomas Faber
aa9a098196 [NTOS:EX] Correctly handle OOM in NtFindAtom. CID 1237072 2021-11-13 21:23:36 -05:00
Thomas Faber
7be3e798d5 [BOOTDATA] Include VMXNET3 driver in optional. 2021-11-13 13:34:50 -05:00
Doug Lyons
252a7530d0 [CRT] Do Not lock ioinfo when spawning functions (#4099) CORE-15176
This fixes CORE-15176 'Gimp 2.6.11 hangs when opening a file'.
It regressed by 0.4.9-dev-446-g bffd8201d0

I do intend to port this fix back.
2021-11-11 18:30:43 +01:00
Mark Jansen
0ae3805375 [COMCTL32] Fix crash on SB_GETPARTS
wParam (num_parts) is allowed to be bigger than the actual amount of parts
CORE-17842
2021-11-10 17:29:35 +01:00
George Bișoc
39003dd408 [ADVAPI32] Properly implement CreateRestrictedToken
Instead of duplicating the token and masquerade it as if the token was filtered (which is a big hack), properly implement CreateRestrictedToken function by calling NtFilterToken which it'll create a restricted token for us.
2021-11-07 14:22:20 +01:00
George Bișoc
aaa2094208 [KMTESTS:SE] Implement SeFilterToken testcase 2021-11-07 14:14:19 +01:00
George Bișoc
6fe1b387c6 [NTDLL_APITEST] Implement NtFilterToken testcase 2021-11-07 14:14:18 +01:00
George Bișoc
53db5377e2 [NTOS:SE] Implement token filtering
This implements the support of token filtering within the kernel, where the kernel can create restricted tokens of regular ones on demand by the caller. The implementation can be accessed thorough a NT syscall, NtFilterToken, and a kernel mode routine, SeFilterToken.
2021-11-07 14:14:18 +01:00
George Bișoc
a15e2472b8 [SDK][NDK][XDK] Add the privilege flags needed for token filtering
These are needed for CreateRestrictedToken, NtFilterToken and SeFilterToken respectively. See the link down below for more information.
https://docs.microsoft.com/en-us/windows/win32/api/securitybaseapi/nf-securitybaseapi-createrestrictedtoken
2021-11-07 14:14:18 +01:00
George Bișoc
d0b6b10868 [SDK][NDK] Declare the NtFilterToken syscall prototype 2021-11-07 14:14:14 +01:00
Hervé Poussineau
b39ae9f32b [HALX86] Implement HalBuildScatterGatherList
Make HalGetScatterGatherList a wrapper around it.
2021-11-07 14:07:57 +01:00
Hervé Poussineau
eb283043d5 [HALX86] Partly implement HalCalculateScatterGatherListSize 2021-11-07 14:07:55 +01:00
George Bișoc
05d52aba2b [NTOS:SE] Partially revert 0129de2
The continue statements do not server any useful purpose in these loops so they're basically pointless. These have been introduced by mistake so my bad.
2021-11-05 10:13:45 +01:00
Serge Gautherie
8110a66b08 [NTOS:MM] MI_IS_*(): Improve documentation
Intel 64 and IA-32 Architectures Software Developer’s Manual
version 075 (June 2021)
2021-11-04 23:20:21 +03:00
Serge Gautherie
94b8095ba2 [NTOS:KE] KiTrap0EHandler(): Use MI_IS_WRITE_ACCESS() 2021-11-04 23:20:21 +03:00
George Bișoc
0129de218b [NTOS:SE] Mark the token as no longer belonging to admin group upon effective duplication
A scenario where it happens that an access token belongs to an administrators group but it's disabled (that is, SeAliasAdminsSid has no attributes or it doesn't have SE_GROUP_ENABLED turn ON), the function removes this group from the token but still has TOKEN_HAS_ADMIN_GROUP flag which can lead to erratic behavior across the kernel and security modules -- implying that the token still belongs to administrators group.

This is an oversight from my part.
2021-11-04 09:30:00 +01:00
Doug Lyons
17ec81eab8 [SHELL32] Enable OpenWith to handle "NoOpenWith" and "NoStartPage" registry keys (#4043)
- Add registry handling of two keys to COpenWithMenu.cpp
- Add code to stop OpenWith from using registry entries that should be excluded
- Stop logspam when right-click menu testing for OpenWith is done

CORE-17816
2021-11-03 03:16:47 +03:00
Hervé Poussineau
22d1e7a4e4 [NTOS:IO] Create non volatile registry keys for root devices (as for other devices) 2021-11-01 18:16:25 +01:00
Hervé Poussineau
9967d9aa4c [NTOS:IO] Do not crash when calling IopLegacyResourceAllocation with NULL ResourceRequirements 2021-11-01 18:16:25 +01:00
Hervé Poussineau
88839d9726 [HALX86] Stub-implement scatter/gather DMA operations
These are required when we ask for a DMA_ADAPTER version 2.
2021-11-01 18:16:25 +01:00
Katayama Hirofumi MZ
3d78601f39 [WIN32SS][NTUSER] Implement NtUserDestroyInputContext (#4063)
CORE-11700
2021-11-01 15:20:42 +09:00
Mark Jansen
e3402aca65 [ATL][ATL_APITEST] Add test for CPath +small fixes 2021-10-30 22:47:57 +02:00
Hervé Poussineau
06fc9c43ed [PARTMGR] Mark partitions as removable if device is removable
CORE-17392
2021-10-30 08:47:38 +02:00
Thomas Faber
3a323c3de0 [WIN32K] Fix uninitialized bResult in IntExtTextOutW.
Powered by clang-cl.
2021-10-29 22:06:49 -04:00
Thomas Faber
4bc95812fd [WIN32K] Mark default as unreachable.
Powered by clang-cl.
2021-10-29 22:06:49 -04:00
Thomas Faber
3235e35dee [WIN32K] Remove unnecessary if in NtUserGetGUIThreadInfo.
This condition is already checked above.
Powered by clang-cl.
2021-10-29 22:06:49 -04:00
Thomas Faber
42657493ef [WIN32K] Fix uninitialized hNewMenu use in MENU_DoNextMenu.
See also: Wine's implementation.
Powered by clang-cl.
2021-10-29 22:06:46 -04:00
Efe Itietie
0e75fc9240 [NETSTAT] Fix coverity #1477187 "Double free" (#4069)
Within the current ShowTcpTable function logic, tcpTable would be freed twice.
The bug was introduced in b695971c.

Remove the second tcpTable free and fix coverity #1477187. CORE-17831
2021-10-28 17:26:09 +03:00
Thomas Faber
f4ccc518e3 [CODEOWNERS] Don't automatically add me to apitests and CMake PRs.
Still feel free to request my review explicitly if desired.
2021-10-27 19:27:33 -04:00
Thomas Faber
fb3e2c7c8b [USBUHCI] Fix always-false HcFlavor checks.
Powered by clang-cl.
2021-10-27 19:27:33 -04:00
Thomas Faber
555eec0306 [USBEHCI] Avoid uninitialized return status in EHCI_ReopenEndpoint.
Powered by clang-cl.
2021-10-27 19:27:33 -04:00
Thomas Faber
e7574ee5e8 [USBPORT] Don't use NTAPI for variadic function.
Powered by clang-cl.
2021-10-27 19:27:33 -04:00
Thomas Faber
4be3bc682d [SACDRV] Fix uninitialized variable usage.
Powered by clang-cl.
2021-10-27 19:27:32 -04:00
Thomas Faber
4eb45209ea [NDIS] Allow timer initialization at DISPATCH_LEVEL.
Spotted by Mortal Wombat.
2021-10-27 19:27:27 -04:00
Katayama Hirofumi MZ
8ebe441d1a [MSHTML] Disable DDEEXEC settings of image files (#4074)
CORE-10227
2021-10-27 08:42:31 +09:00
Katayama Hirofumi MZ
5b74737532 [IMM32] Forward ImmSetHotKey to USER32.CliImmSetHotKey (#4075)
- Modify imm32.spec.
CORE-11700
2021-10-27 08:40:15 +09:00
Victor Perevertkin
8ca4b0f257 [CMAKE] Remove __inline substitutions
All supported compilers can do C99 now, this is not needed anymore.
2021-10-26 22:51:03 +03:00
Efe Itietie
c73c86419e [USBUHCI] Fix wrong sizeof access (#4070)
Reviewed-by: Victor Perevertkin <victor.perevertkin@reactos.org>
Reviewed-by: Thomas Faber <thomas.faber@reactos.org>
2021-10-26 17:10:51 +03:00
Efe Itietie
feae6fbc64 [USBEHCI] Fix coverity #1476930 "Wrong sizeOf access" (#4070)
Reviewed-by: Victor Perevertkin <victor.perevertkin@reactos.org>
Reviewed-by: Thomas Faber <thomas.faber@reactos.org>
2021-10-26 17:10:51 +03:00
Doug Lyons
a91f5e8e4d [UDFS] Fix crash on boot in release builds with UDFS removable media inserted (#4061) CORE-17598
Changes to specific files and their effects are as follows:
create.cpp - Allows booting past second stage with UDFS media inserted without BSOD
close.cpp - Allows shutdown without hang
dircntrl.cpp - Allows New Hardware Wizard not to hang on initial third phase install
2021-10-25 22:21:43 +02:00
Hervé Poussineau
cd48bc7af8 [LIVECD] Add more registry entries for vbemp/vgamp
CORE-17579
2021-10-25 21:44:45 +02:00
Eric Kohl
da4e15f93a [IPHLPAPI] Check the family parameter in the statistics functions 2021-10-25 00:36:03 +02:00
Stanislav Motylkov
cdcd954734 [BOOTDATA] hivesys.inf: Add Russian translation for keyboard layouts
[INPUT.CPL] Fix some mistakes in Russian translation
2021-10-25 00:46:08 +03:00
Stanislav Motylkov
c6e002bfb3 [BOOTDATA] hivesys.inf: Fix keyboard layout identifier for Bengali Inscript
- Also fix typo in Latvian (QWERTY) keyboard layout
- Also add missing localization for Bengali Inscript and Esperanto layouts
2021-10-25 00:44:18 +03:00
Stanislav Motylkov
4b88a8709c [BOOTDATA] Fix another hivesys.inf typo introduced in 8e521934 (ICELANDIC)
Addendum to 6ce259e6.
2021-10-24 23:46:42 +03:00
Stanislav Motylkov
9635f45bd4 [SYSSETUP][INTL.CPL] Use GetGeoInfoW with current thread locale
Fixes inconsistency when thread locale differs from system or user locale.
2021-10-24 23:42:14 +03:00
Stanislav Motylkov
4278f46620 [KERNEL32][WINNLS] GetGeoInfoW: Allow to get localized text
Previous implementation ignored the last LangId parameter,
and always used GetUserDefaultLCID() instead.
2021-10-24 23:42:06 +03:00
Eric Kohl
1b35626d54 [IPHLPAPI] GetInterfaceInfo(): Add "\DEVICE\TCPIP_"-Prefix to interface names 2021-10-24 16:52:18 +02:00
Stanislav Motylkov
6ce259e694 [BOOTDATA] Fix problem in PORTUGESE_BRAZILIAN strings in hivesys.inf
Regressed in 2017 with r74654 (commit hash 8e521934).
2021-10-24 16:52:53 +03:00
Katayama Hirofumi MZ
067ca884bc [SHELL32_APITEST] Strengthen ShellHook testcase for fullscreen (#4051)
- Add tests for HSHELL_RUDEAPPACTIVATED.
CORE-16130
2021-10-24 09:19:23 +09:00
Stanislav Motylkov
6d09885ce4 [SYSSETUP] Fill in missing locale, location, and default keyboard layout
- Implement functions to get regional data from system
- Disable setup window and buttons when control panel applet is started
- Update regional information when control panel applet is closed
- Add a horizontal separator between user locale and keyboard layout
2021-10-24 00:12:18 +03:00
Stanislav Motylkov
17cb1e1a04 [SYSSETUP] Add placeholders for IDC_LOCALETEXT and IDC_LAYOUTTEXT
The window initialization handler code should update these properly,
but for now just put empty strings there until it's implemented.

This makes reviewing dialog layout easier in visual resource editors
like Resource Hacker and others, so the translation maintenance takes
much less time.

We already use this technique in some other modules like sysdm and zipfldr.

Spotted by Can Taşan. Fix suggested by Thomas Faber.

Additionally:
- Fix position of some elements to avoid overlapping
- Fix some headers according to the latest coding style
2021-10-24 00:12:18 +03:00
Katayama Hirofumi MZ
6417b2323d [NTUSER][USER32] Workaround tracking menu on CORE-17338 (#4048)
This prevents the tracking menu from erroneously closing itself right after it was opened in some cases.
Fixes CORE-17338 which got unhidden by 0.4.15-dev-1126-g 58b0558f94
And fixes CORE-15760 which got unhidden by SVN r74972 == git 19dd22d422

Since both symptoms look very similar but the unhiding revisions did differ,
that could mean we do have some kind of race condition here.
I guess this fix is more like a workaround. I do intend to port it back nevertheless.
2021-10-23 22:29:39 +02:00
George Bișoc
fdb4205061 [NTOS:SE] Minor cleanup on SepDuplicateToken
The current code that searches for the primary group of token upon duplication is OK as is, remove whatever rest that's no longer needed.
2021-10-23 17:55:12 +02:00
Oleg Dubinskiy
334ab0f2a5 [KERNEL32] Implement SetFileCompletionNotificationModes
Call native Nt* function to do the actual work, similarly to as it done in Wine: 530c183960:/dlls/kernel32/file.c#l258.
Also add/fix some declarations in internal kernel32/public ndk neaders, to fix compilation.
CORE-17821
2021-10-23 16:19:22 +02:00
George Bișoc
fe0415a4ba [NTDLL_APITEST] Free the allocated memory block when we're done
This fixes a memory leak where we allocate a buffer for token statistics with RtlAllocateHeap routine but we never free it afterwards.
2021-10-23 09:58:50 +02:00
Baruch Rutman
a1faa1cc6d [OSK] On Screen Keyboard overhaul
Primary changes:
Convert from dialog to an ordinary window, placing buttons according to data in keyboard.c
Character button text is now according to selected keyboard layout instead of system language.
Buttons will update* automatically when there is a layout switch (and when shift/capslock are pressed).
(Updating is most reliable when the keyboard is focused)
Removed keyboard dialog templates from resource files, they live on in keyboard.c

Secondary changes:
Support for font change, currently saved in registry is facename and height.
Additional registry load/save functions for strings to facilitate above change.
2021-10-23 09:45:46 +02:00
Katayama Hirofumi MZ
9455defbd3 [IMM32] Remove old code of Imm32StrToUInt and Imm32UIntToStr
CORE-11700
2021-10-23 12:13:19 +09:00
Hermès Bélusca-Maïto
5891ab2bfd [WIN32SS:NTUSER] Make sure to hold User Global Lock before manipulating desktops. (#4053) 2021-10-22 21:44:56 +02:00
Hermès Bélusca-Maïto
6b7b0f0c7e [WIN32SS:NTUSER] Few formatting fixes. 2021-10-22 21:44:52 +02:00
Justin Miller
be223b9de7 [SDK] Allow ARM64 MSVC to complete configuration (#4045)
- Add some of the missing CMake adjustments to continue the configure and compile process with ARM64 MSVC
- Created quick stubs for the functions in SDK needed to finish the configuration process
- Put in an ARM64 option for spec2def

CORE-17518 CORE-17615
2021-10-22 18:52:32 +03:00
Serge Gautherie
4b0249e98a [GITHUB] build.yml: Update LLVM version to 13 (#4054) 2021-10-22 18:17:06 +03:00
Eric Kohl
1ade494a70 [ADVAPI32] Fix several corner cases in RegOpenKey* functions
This fixes the remaining RegOpenKey* tests.
2021-10-21 14:45:56 +02:00
Katayama Hirofumi MZ
a37d9a4e14 [IMM32] Rewrite ImmInstallIMEW (#4044)
- Add Imm32StrToUInt and Imm32UIntToStr helper functions.
- Add Imm32LoadImeVerInfo, Imm32GetRegImes, Imm32WriteRegIme, Imm32GetNextHKL, Imm32CopyFile helper functions.
- Add REG_IME structure for registered IMEs.
- Rewrite ImmInstallIMEW function.
- Improve ImmLoadLayout and Imm32LoadImeInfo functions.
CORE-11700
2021-10-21 10:28:04 +09:00
Konrad Dybcio
d26409cc34 [SDK][MKISOFS] xconfig.h: Don't define VA_LIST_IS_ARRAY on Linux/ARM(64) (#4012)
For some bizarre reason ARM toolchains have some peculiar issues with various va_arg macros,
as this is not the first time one of these is problematic (though I don't remember the previous one,
it was a long, long time ago ™️).. They always seem to expect va_list as an argument though, so
let's make them happy and by extension make ros-tools compile on Linux/ARM(64) compile again!
2021-10-20 22:12:23 +03:00
Katayama Hirofumi MZ
396b49436c [IMM32_APITEST] Fix himc testcase crash (#4036)
- Add NULL checks for pIC.
CORE-11700
2021-10-20 20:23:38 +09:00
James Tabor
be8e5fc7b3 [User32-winetest] Remove ReactOS to do.
N0 longer needed.
2021-10-19 18:49:52 -05:00
James Tabor
83f86b8fdb [User32] Fix incorrect check.
Use Lo Word instead of Intersource check.
Fix wine user32 tests.
2021-10-19 15:29:51 -05:00
Katayama Hirofumi MZ
037c744eb1 [EXPLORER] Send WM_POPUPSYSTEMMENU asynchronously (#4047)
- Delete useless SendMessageTimeout:WM_NULL call.
- Add useful SendMessageCallbackW:WM_POPUPSYSTEMMENU call.
- In the callback function of SendMessageCallbackW, do PostMessageW:WM_NULL to properly handle the popup menu.
CORE-16353
2021-10-19 07:17:01 +09:00
Hervé Poussineau
46fbc6f432 [NTOS:PNP] Fix crash when removing a device without resources
This fixes commit 89fd2b86e4
2021-10-18 22:23:49 +02:00
Katayama Hirofumi MZ
aa8fc872a0 [IMM32][IMM32_WINETEST] Re-implement ImmSetCompositionStringA/W (#4040)
- Modify ImmSetCompositionStringA and ImmSetCompositionStringW prototypes (removing const of two arguments).
- Add Imm32OpenICAndCS helper function.
- Implement Imm32SetCompositionStringAW function.
- Modify imm32_winetest (due to removal of const).
CORE-11700
2021-10-17 19:32:48 +09:00
James Tabor
e98684ed8b [GDI32] Fix rectangle flag issues.
Fix CORE-17815. Remove dumb dumb code breakers.
2021-10-16 11:16:43 -05:00
Stanislav Motylkov
b3b1bd66a0 [CONFIGURE][CMAKE] Add support for MSVC ARM64 target
Addendum to e4feaa1a and 51e2ab52. CORE-17518
2021-10-16 16:30:36 +03:00
Konrad Dybcio
b7c1b95b45 [SDK] gcc.cmake: Only add -mstackrealign on i386 (#4016)
This option is only useful for the i386 architecture and breaks ARM builds.

Reviewed-by: Victor Perevertkin <victor.perevertkin@reactos.org>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
2021-10-16 11:58:08 +03:00
Katayama Hirofumi MZ
ea4c1a067b [SETUP][REACTOS] Improve Japanese translation (#4033)
Improve the Japanese GUI of ReactOS Setup.
2021-10-16 07:51:40 +09:00
Konrad Dybcio
30c7c161fc [SDK] host-tools.cmake: Allow cross-compilation from aarch64 (#4013)
Some compilers call it 'arm64', while others prefer 'aarch64'. It's a big mess,
thanks Arm Ltd...

Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
Reviewed-by: Serge Gautherie <reactos-git_serge_171003@gautherie.fr>
Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
2021-10-16 01:38:33 +03:00
Konrad Dybcio
dff479c82f [HHPCOMP] lz_nonslide.h: Define u_char on Linux (#4011)
Not defining the type breaks the compilation on (at least arm) Linux. Add a check for Linux-as-build-host to make it pass.

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
2021-10-16 01:30:22 +03:00
Katayama Hirofumi MZ
04cb13bc57 [IMM32] Refactor about reconversion (#4031)
- Delete Imm32ReconvertSize and Imm32ConvertReconvert helper functions.
- Add Imm32ReconvertAnsiFromWide and Imm32ReconvertWideFromAnsi helper functions.
CORE-11700
2021-10-15 22:46:58 +09:00
Katayama Hirofumi MZ
fec35dc893 [IMM32] Improve IchWideFromAnsi and IchAnsiFromWide (#4028)
- Use LONG instead of DWORD for indexing and counting the characters.
- Use the sign for the loop condition.
- Add NUL check.
CORE-11700
2021-10-15 10:31:08 +09:00
Hervé Poussineau
89fd2b86e4 [NTOS:PNP] HACK: release resources when device is removed
CORE-17789
2021-10-14 23:39:31 +02:00
Hervé Poussineau
49358f3416 [NTOS:PNP] Fix resource conflict detection
Only resources of HAL were checked against conflicts, not those of PnP Manager

Let IoReportResourceForDetection() make a silent conflict check.
Otherwise IopCheckResourceDescriptor() will always return 'no conflict'.

CORE-17789
2021-10-14 23:39:31 +02:00
Hervé Poussineau
ea8cbbd4ca [VIDEOPRT] Correctly return failure in IRP_MJ_CREATE when HwInitialize fails
CORE-17789
2021-10-14 23:39:31 +02:00
Hervé Poussineau
807af6a4d1 [VIDEOPRT] Correctly return failure when adapter can't be found
This was wrong in both call chains (PNP case or legacy case)
HwFindAdapter returns a VP_STATUS, while we were expecting a NTSTATUS.

CORE-17789
2021-10-14 23:39:31 +02:00
Hervé Poussineau
87b74f2901 [VIDEOPRT] Correctly report legacy resources in IRP_MN_FILTER_RESOURCE_REQUIREMENTS
It was broken since first commit 25eae4b916 (r54237)

CORE-17789
2021-10-14 23:39:31 +02:00
Hervé Poussineau
951dc66c66 [VGAMP] Correctly check and report legacy resources (VGA I/O ports and memory)
As we are a non PNP driver, the call chain will be
DriverEntry -> VidePortInitialize -> VideoPortFindAdapter -> HwFindAdapter.

If legacy resources are available, we will fail VGAFindAdapter,
so DriverEntry will fail, so vgamp.sys driver won't be used.

CORE-17789
2021-10-14 23:39:30 +02:00
Hervé Poussineau
6dd94572e5 [VBEMP] Correctly report legacy resources (VGA I/O ports and memory)
CORE-17789
2021-10-14 23:39:30 +02:00
Hervé Poussineau
3379de3924 [VBEMP] Fail HwInitialize (ie IRP_MJ_CREATE) when /NOVESA switch is present
In that case, we want a simple VGA driver to drive the graphic adapter.

CORE-17789
2021-10-14 23:39:30 +02:00
Hervé Poussineau
ac13f37d0a [ISAPNP] Generate a name for PDO, as required 2021-10-14 23:39:30 +02:00
Hervé Poussineau
a86c3794a6 [NTOS:IO] Remove final NULL char of PDO name before writing to registry
Otherwise, if a PDO has no name (bad!), you'll see two "(Default)" entries
in HKLM\HARDWARE\RESOURCEMAP\PnP Manager\PnpManager
2021-10-14 23:39:30 +02:00
Hervé Poussineau
500f00de6a [DEVMGR] Display current assigned resources, instead of boot resources 2021-10-14 23:39:30 +02:00
Doug Lyons
cee171f5d2 [SHELL32] Bypass OpenWith for Delete and F2 (Rename) Keys (#4032) CORE-17810
Logspam started during 0.4.9-dev'ing when zipfldr got committed, logspam became much worse by
0.4.10-dev-599-g 932df378bf
But the actual bug of 'calling those functions when not needed' is much older than that.

I do intend to port this improvement back into older rls-branches.
2021-10-14 23:03:53 +02:00
Victor Perevertkin
55f1f3000a [CMAKE] Remove /fallback compile flag from clang-cl builds
This option is not needed anymore and was removed from LLVM 13
2021-10-14 20:30:27 +03:00
James Tabor
63e7d6c29e [Win32K] Fix typo
Fix a GERRRR typo.
2021-10-14 09:59:53 -05:00
Katayama Hirofumi MZ
6e356a9b6c [NOTEPAD] Improve Japanese translation 2021-10-14 13:08:38 +09:00
Katayama Hirofumi MZ
bfb7bd05a4 [IMM32] Re-implement ImmGetCompositionStringA/W (#4026)
- Re-implement ImmGetCompositionStringA and ImmGetCompositionStringW functions.
- Add Imm32CompStrAnsiToWide, Imm32CompStrWideToAnsi, Imm32CompAttrWideToAnsi, Imm32CompAttrAnsiToWide, Imm32CompClauseAnsiToWide, and Imm32CompClauseWideToAnsi helper functions.
CORE-11700
2021-10-14 08:07:06 +09:00
Mark Jansen
143b2a5035 [RAPPS] Speed up installed application loading
Only load in details when we are going to display them
2021-10-13 19:27:40 +02:00
Wu Haotian
0ed04e3640 [TASKMGR] Make performance graph grid scroll (#3581)
The grids are now rolling along with performance graphs.
2021-10-13 19:14:29 +03:00
Wu Haotian
a4ab9a1e19 [TASKMGR] Formatting only (#3581) 2021-10-13 19:14:20 +03:00
Victor Perevertkin
43f1d91687 [NTOS:PNP] Fix resource conflict detection
Previous code did not detect equal resource ranges as conflicting.
Thanks Hervé Poussineau for pointing this out!

Meanwhile, simplify the code to make it more readable.
2021-10-13 00:00:25 +03:00
Chan Chilung
025f58a051 [NOTEPAD] Fix access key for "New Window" menu item (#4024) 2021-10-12 15:34:34 +03:00
Katayama Hirofumi MZ
d14d3dedcb [IMM32] Move Imm(Get|Set)CompositionStringA/W (#4021)
- Add new file compstr.c.
- Move ImmGetCompositionStringA, ImmGetCompositionStringW, ImmSetCompositionStringA, and ImmSetCompositionStringW functions into compstr.c.
- Half-implement ImmGetCompositionStringA/W.
CORE-11700
2021-10-12 13:10:01 +09:00
Chan Chilung
570cedf176 [SETUPLIB][INPUT.CPL] Move zh-MO to ChineseTraditionalFonts group (#4010)
- The use of Traditional Chinese character is far more than Simplified one according to Wikipedia
- The code page used on zh-MO is 950, which is Traditional Chinese's one
- zh-MO is described as Traditional Chinese here: https://support.microsoft.com/en-us/windows/microsoft-traditional-chinese-ime-ef596ca5-aff7-4272-b34b-0ac7c2631a38#ID0EBBD=Microsoft_ChangJie/Quick
2021-10-11 16:24:21 +03:00
Serge Gautherie
51e2ab52af [CMAKE] msvc.cmake: Add arm64 CMAKE_ASM_MASM_COMPILER option support
CORE-17518
2021-10-11 15:24:30 +03:00
Serge Gautherie
e4feaa1a69 [CMAKE] CMakeLists.txt: Add arm64 to ARCH allowed values
CORE-17518
2021-10-11 15:20:34 +03:00
Katayama Hirofumi MZ
9078e34f3c [SHELL32] Don't smartass-renaming on LNK files (#4020)
Renaming .LNK files had a bug that the selection won't include the extension-like filename part.
CORE-17807
2021-10-11 13:33:43 +09:00
Konrad Dybcio
3c36cde874 [SDK] config.cmake: Fix generic mtune flag (#4017) 2021-10-11 03:46:12 +03:00
Robert Naumann
38b9688d45 [IERNONCE] Add German translation 2021-10-11 00:08:19 +02:00
Robert Naumann
4e5301d09f [INETCPL] Update German translation 2021-10-11 00:07:39 +02:00
Joachim Henze
f1d4a83bf7 [NOTEPAD] Properly fix accelerator issue in es-ES.rc CORE-17809
In 0.4.14-dev-1321-g d6e0fe78e7
we introduced the following compiler warning for MSVC2010 release build:

reactos/base/applications/notepad/lang/es-ES.rc(12) : warning RC4204 : ASCII character not equivalent to virtual key code

That warning was muted without investing too much love by
0.4.15-dev-2469-g d0bb775774

Today we apply the proper fix that brings us back in sync with other languages.
I do intend to port the proper fix back to 0.4.14RC as well.
2021-10-10 21:29:05 +02:00
William Kent
6ac25e6f7f [SHELL32] Add missing SS_NOPREFIX to labels in About dialog (#3969)
Signed-off-by: William Kent <wjk011@gmail.com>
2021-10-10 21:50:18 +03:00
Stanislav Motylkov
048f2b80da [MODEMUI] Fix unrecognized escape sequence. Addendum to 05c39d8d. 2021-10-10 17:08:01 +03:00
Süleyman Poyraz
05c39d8d62 [TRANSLATION] Update Turkish (tr-TR) translations (#3958)
Reviewed-by: Can Taşan <ctasan99@hotmail.com>
Signed-off-by: Süleyman Poyraz <zaryob.dev@gmail.com>
2021-10-10 16:00:12 +03:00
Chan Chilung
463784c5f1 [TRANSLATION] Chinese Traditional (zh-TW) translation update (#3954)
Also sync LOCALMON/UI translation with Wine.
2021-10-10 15:00:44 +03:00
Katayama Hirofumi MZ
e30b0a356d [RICHED20_WINETEST] Fix build about __thiscall redefinition
See 5a9535e694
2021-10-10 13:57:32 +09:00
Thomas Faber
5a9535e694 [RICHED20_WINETEST] Restore Wine sync in txtsrv.c. ROSTESTS-355
In particular, add the missed diff in ITextHostImpl_TxGetCharFormat.
2021-10-09 20:44:26 -04:00
Chan Chilung
da4d0545eb [BOOTDATA] readme.txt: Trivial correction (#4014)
Follow up of #3469 - replace "Seven" with "7" to keep Microsoft's official naming.
2021-10-09 15:44:09 +03:00
Joachim Henze
c99e5a2810 [ZIPFLDR] Update de-DE.rc 2021-10-09 14:40:48 +02:00
Katayama Hirofumi MZ
264a128f03 [IMM32] Rewrite ImmRequestMessageA/W (#4002)
- Re-implement ImmRequestMessageA and ImmRequestMessageW functions.
- Add IchWideFromAnsi, IchAnsiFromWide, Imm32RequestError, Imm32ReconvertSize, Imm32ConvertReconvert, and Imm32ProcessRequest helper functions.
CORE-11700
2021-10-09 07:40:56 +09:00
Adam Stachowicz
4e9c898363 [ZIPFLDR] Update Polish (pl-PL) translation (#4007) 2021-10-08 20:00:30 +03:00
Oleg Dubinskiy
6ef7b67615 Revert "[DSOUND] Don't force status to failure by default in primarybuffer_SetFormat (#3911)"
Revert my last dsound fix, because it does not fix the actual problem with audio formats support. It only makes the situation worse. It prevents the error when creating an audio stream, but the sound is not playing correctly, both in ReactOS and Windows (with our dsound.dll). Without this fix, it works perfectly on Windows, but does not in ROS.
In particular, the sound is not playing properly in AIMP 4.71 with other audio formats besides default (44100 Hz, 16 bit, stereo). And any other apps which request these audio formats may be also affected as well.
Force the status back to failure, because otherwise the badly required code is not executed at all.
I've made a more correct fix(es) in other audio component(s) instead and will submit them if further PRs.

This reverts commit 183566ee58.

CORE-10907
2021-10-07 23:44:30 +03:00
Rafał Mikrut
782bf0e3dc [TSCLIENT] Fix code F12 array index (#4006) 2021-10-07 23:08:03 +03:00
Rafał Mikrut
54d5ad7533 [NTOS:KE] Fix copy paste bug in exception helper routine for ARM (#4005) 2021-10-07 23:04:19 +03:00
Stanislav Motylkov
7e3a7a0e84 [ZIPFLDR] Show error when compression method is not supported
CORE-17255
2021-10-07 14:54:47 +03:00
Katayama Hirofumi MZ
5da934e34d [SHELL32] Don't smartass-renaming on folders (#3993)
Selection on renaming folders shouldn't select the extension-like part of filename.
CORE-17793
2021-10-07 08:16:35 +09:00
Joachim Henze
db7295f864 [ZIPFLDR] Update de-DE.rc in context of CORE-17796 2021-10-06 20:17:13 +02:00
Stanislav Motylkov
e27acff649 [ZIPFLDR] Improve error reporting
- Restore status text on failure
- Show errors on folder and file creation failures
- Allow to retry extraction attempt

CORE-17796
2021-10-06 14:38:25 +03:00
Stanislav Motylkov
fd441aaae7 [ZIPFLDR] Refactor extraction function
Add separate function for a single file extraction.

CORE-17796
2021-10-06 14:36:48 +03:00
Katayama Hirofumi MZ
e6fd41d078 [IMM32] Implement ImmSystemHandler (#3998)
- Implement ImmSystemHandler function.
- Add Imm32UnknownProcess1 and Imm32SendChange helper functions.
CORE-11700
2021-10-05 21:31:53 +09:00
Katayama Hirofumi MZ
4f006ec74b [IMM32] Add IMP stub functions (#3989)
- Add IMP (Input Method Profiler) stub functions (ImmIMPGetIMEA/W, ImmIMPQueryIMEA/W, ImmIMPSetIMEA/W).
- Add ImmSendIMEMessageExA/W stub functions.
- Rename nt3.c as win3.c.
The prototypes can be obtained from: https://doxygen.reactos.org/dc/d20/winnls32_8h.html .
The Japanese article of IMP is available: http://www7a.biglobe.ne.jp/~tsuneoka/win32tech/7.html
CORE-11700
2021-10-05 14:07:58 +09:00
Katayama Hirofumi MZ
b0d66e68c1 [IMM32] s/4/sizeof(DWORD)/
CORE-11700
2021-10-05 07:57:14 +09:00
Robert Naumann
6b5ffa7a79 [RAPPS] Update German translation 2021-10-04 18:48:47 +02:00
Katayama Hirofumi MZ
afec737142 [IMM32_APITEST] Add ImmGetImeInfoEx testcase (#3988)
CORE-11700
2021-10-04 07:35:00 +09:00
Katayama Hirofumi MZ
66ef31494e [IMM32] Implement ImmActivateLayout (#3987)
- Add IME_STATE and IME_SUBSTATE structures.
- Modify INPUTCONTEXTDX structure.
- Implement ImmActivateLayout function.
- Improve ImmDestroyContext function by using newly-defined Imm32FreeImeStates.
- Add Imm32FetchImeState, Imm32FetchImeSubState, Imm32LoadImeStateSentence, Imm32SaveImeStateSentence, and Imm32SelectLayout helper functions.
- Modify NtUserSetThreadLayoutHandles prototype.
CORE-11700
2021-10-04 07:33:15 +09:00
Hervé Poussineau
7fdf078134 [UNIATA] Better split of model name between Vendor and Product
UNIATA is converting IDE identify data into SCSI identify data.
However, IDE model is described with a unique field of 20 chars,
while SCSI model is described with 2 fields of 16 + 8 chars.
When displaying SCSI model, a space is added between vendor and product
fields.

Try to split model into vendor and product on a space if possible.

CORE-17400
2021-10-03 23:09:55 +02:00
Mark Jansen
9bdeaca56e [RAPPS] Speed up app loading by caching the INI sections 2021-10-03 20:26:25 +02:00
Mark Jansen
6f9dd96dcf [RAPPS] Cleanup 2021-10-03 20:26:19 +02:00
Mark Jansen
22e58e68aa [SHELL32] Fix uninitialized variable usage.
This fixes log spam about NM_CUSTOMDRAW not being handled
2021-10-01 17:40:01 +02:00
Katayama Hirofumi MZ
f5bbd57d73 [IMM32] GetKeyboardLayout's parameter is a thread id
s/dwLayout/dwThreadId/
CORE-11700
2021-10-01 03:13:52 +09:00
Katayama Hirofumi MZ
e6a51b54c4 [IMM32] Move ImmFreeLayout from ime.c to imm.c
CORE-11700
2021-10-01 03:10:26 +09:00
Katayama Hirofumi MZ
33affbfecb [IMM32] Rewrite ImmGetImeMenuItemsA/W (#3983)
- Rewrite ImmGetImeMenuItemsA and ImmGetImeMenuItemsW functions.
- Add Imm32GetImeMenuItemsAW, Imm32IsImcAnsi, Imm32ImeMenuAnsiToWide and Imm32ImeMenuWideToAnsi helper functions.
- Make IME module's ImeGetImeMenuItems function optional.
CORE-11700
2021-10-01 03:04:00 +09:00
Katayama Hirofumi MZ
9adc538c9c [IMM32] Rewrite ImmSetActiveContext (#3982)
- Re-implement ImmSetActiveContext function.
- Modify NtUserNotifyIMEStatus prototype.
- Improve ImmSetConversionStatus and ImmSetOpenStatus functions.
CORE-11700
2021-10-01 03:02:56 +09:00
Hervé Poussineau
fc5d8e466f Revert "Disable some C++ code, which doesn't compile for me"
This reverts commit d8b1ff9056.
2021-09-29 22:58:31 +02:00
Hervé Poussineau
d8b1ff9056 Disable some C++ code, which doesn't compile for me 2021-09-29 22:56:35 +02:00
Hervé Poussineau
92d0dd3633 [VIDEOPRT] Create and setup new registry key only for non-legacy drivers
CORE-17734
2021-09-29 22:56:35 +02:00
He Yang
4d0cc20681 [IERNONCE] [RUNONCEEX] Add RunOnceEx functionality for ReactOS (#3926)
* [IERNONCE] Implement the registry management code.

* [EXPLORER] handle RunOnceEx by invoking RunOnceEx in iernonce.dll

* [IERNONCE] Display a dialog to show progress, and execute entries.

* [IERNONCE] Add `InitCallback` function
2021-09-29 11:30:32 +02:00
James Tabor
b5fae844de [NtGDI] Fix brush attribute transfer. 2021-09-28 19:08:45 -05:00
Katayama Hirofumi MZ
ef003fa47d [IMM32] Rewrite ImmAssociateContext (#3979)
CORE-11700
2021-09-28 22:03:25 +09:00
Katayama Hirofumi MZ
a3c841f8e2 [IMM32] Implement ImmFreeLayout (#3978)
- Implement ImmFreeLayout function.
- Add Imm32ReleaseIME helper function.
CORE-11700
2021-09-28 22:02:30 +09:00
James Tabor
c6d1646c9d [ApiTests|GDI] Add test for attribute changes to Bitmaps.
Only opporpate place to add this test.
2021-09-27 23:52:00 -05:00
James Tabor
72f115d6ed [NtGDI] Set owner after changing object type. 2021-09-27 23:49:35 -05:00
James Tabor
d9f8b8b033 [NtGDI] Fix leaking of bitmaps while testing INFO DC's.
Soon to be commit test for metafiles.

ret = MaskBlt(hdc, 0, 0, 3, 4, dib_hdc, 0, 0, mask_bitmap, 0, 0, SRCCOPY);
2021-09-27 23:11:33 -05:00
James Tabor
8767aada75 [GDI32] Fix IV msvc build. 2021-09-27 19:08:43 -05:00
James Tabor
be4540821a [GDI32] Fix III msvc build. 2021-09-27 18:19:49 -05:00
Hermès Bélusca-Maïto
e6306db0c3 [GDI32] Fix build errors~~ 2021-09-28 00:48:24 +02:00
James Tabor
d4b2c97b67 [GDI32] Fix msvc build errors. 2021-09-27 17:30:40 -05:00
James Tabor
fc16259faf [GDI32] Update Wine Metafile Code
Sync/Port: Metafile code from wine.

Patches by Jacek Caban, Daniel Lehman, Zhiyi Zhang. Gabriel Ivancescu, Michael Stefaniuc, Francois Gouget, Nikolay Sivov Dmitry Timoshkov, Andrew EiKum, Piotr Caban and Alexandre Julliard.

This commit is dedicated to George Bisoc!
2021-09-27 16:18:20 -05:00
George Bișoc
9c1c88de3e [NTOS:SE] Define a name macro for the threshold value
Instead of having this magic value as is, describe it within a macro for readability purposes.
2021-09-27 09:39:23 +02:00
George Bișoc
199f575342 [NTOS:SE] Check the privilege count against the maximum threshold
In SeCaptureLuidAndAttributesArray we must ensure that we don't go onto a potential integer overflow scenario by checking against the maximum limit threshold the kernel states. In addition, write an explicit name macro for the value.
2021-09-27 09:37:28 +02:00
Katayama Hirofumi MZ
a415bd46b1 [IMM32] Trivial tiny improvements
CORE-11700
2021-09-27 09:37:14 +09:00
Katayama Hirofumi MZ
b3382d8d24 [IMM32] Rewrite ImmLockIMC (#3975)
- Add Imm32InitContext and Imm32LockIMCEx helper functions.
- Re-implement ImmLockIMC function.
- Modify CLIENTIMC and INPUTCONTEXTDX structures.
CORE-11700
2021-09-27 09:32:24 +09:00
Katayama Hirofumi MZ
be9a788f8b [IMM32] Improve Imm32CleanupContext and ImmLockClientImc (#3974)
- Improve Imm32CleanupContext and ImmLockClientImc functions.
- Add ValidateHandleNoErr and Imm32CheckImcProcess helper functions.
CORE-11700
2021-09-27 09:31:16 +09:00
Hermès Bélusca-Maïto
31c4c2efe9 [USER32] GetUserObjectSecurity/SetUserObjectSecurity: Just use UserSetLastNTError() in failure path. 2021-09-26 19:04:08 +02:00
Hermès Bélusca-Maïto
acde1e0e7b [IMAGESOFT] Fix build. Addendum to commit 516c8829. 2021-09-26 03:50:13 +02:00
Hermès Bélusca-Maïto
9462350a92 [NTOS:RAWFS] LE JOKE! - Commit 7716bddd (r24564) claimed to "actually create the \\Device names so that user-mode can even talk to it", yet didn't bother to do that!
Certainly due to copy-pasta error from the original code.

A consequence of this oversight, was that the IoGetDeviceObjectPointer()
calls on these device names, in fltmgr!DriverEntry() couldn't work.
(See drivers/filters/fltmgr/Interface.c, line 1880 and below.)
2021-09-26 03:02:58 +02:00
Hermès Bélusca-Maïto
5ccd45ea58 [NTOS:RAWFS] Delete the previously-created devices in case the IoCreateDevice() calls fail. 2021-09-26 03:02:57 +02:00
Hermès Bélusca-Maïto
38ce67162f [FS_REC] Fix load-lock acquisition. 2021-09-26 03:02:56 +02:00
Hermès Bélusca-Maïto
618076dc47 [FS_REC] Register a recognizer for FAT filesystem on CD-ROMs.
This handles the \FatCdrom device, supported by MS fastfat.
2021-09-26 03:02:56 +02:00
Hermès Bélusca-Maïto
00ae7c52f9 [IMAGESOFT] Reorganize the bitmap resource IDs.
- Moving the IDB_* with their corresponding TBICON_* defines.
- Reordering the BITMAP resources in the same order the defines are defined.
- Fixing values for IDS_READY and IDS_TOOLBAR_TEXT.
2021-09-26 02:43:02 +02:00
Hermès Bélusca-Maïto
516c8829ea [IMAGESOFT] Use ARRAYSIZE / un-hardcode some sizeof(TYPE) where applicable. 2021-09-26 02:38:37 +02:00
Hermès Bélusca-Maïto
67fd29cae0 [IMAGESOFT] Commit db416e39 made toolbar imagelists creating failing because we overcounted the number of toolbar button bitmaps.
Indeed the count was based on the number of elements in TBBUTTON arrays;
however for some of the toolbars, extra entries corresponding to
separators are present, and thus the resulting number of elements is
always larger than the number of actual buttons for which an image is
associated. Passing this (larger) count to the InitImageList() function
therefore made image insertion fail after a certain point.

Now we pass an exact number of *images* instead.
2021-09-26 02:26:42 +02:00
James Tabor
970344bd16 [Win32SS|GDI] Implement seldom used API and update types for local DC's.
Two working in house application require these API. Known as FolCOL and Reach.
2021-09-25 11:57:26 -05:00
Arjav Garg
a602bc3550 [NTUSER] Fix UserSendKeyboardInput() KEYEVENTF_SCANCODE use case (CORE-17144) 2021-09-25 09:56:12 -04:00
Hermès Bélusca-Maïto
74513a75ab [NTOS:OB] Minor refactoring.
- NtQuerySymbolicLinkObject(): Use an intermediate variable for the object header.
- Simplify code in ObpLookupEntryDirectory() by calling ObpReleaseLookupContextObject() instead.
- Use TAG_OBJECT_TYPE instead of hardcoded tag values.
2021-09-25 01:09:01 +02:00
Hermès Bélusca-Maïto
4c63ed5a7a [NTOS:OB] Clarify and fix the usage of the Obp*DirectoryLock*() and ObpReleaseLookupContextObject() functions.
- Disentangle the usage of ObpAcquireDirectoryLockExclusive() when it's
  used only for accessing a directory structure, or as part of a lookup
  operation.

  The Obp*DirectoryLock*() -- both shared and exclusive -- functions
  are only for locking an OB directory, for reading or writing its
  structure members.

  When performing lookup operations (insertions/deletions of entries
  within a directory), use a ObpAcquireLookupContextLock() function that
  exclusively locks the directory and saves extra lock state, that can
  be used by ObpReleaseLookupContextObject() for cleanup.

- Add documentation for these functions.
2021-09-25 00:47:43 +02:00
George Bișoc
19cdb521d2 [NTOS:OB] Acquire the lock before setting directory's session ID 2021-09-24 19:49:40 +02:00
George Bișoc
0b4763f1b1 [NTOS:SE] Do not set SE_DACL_PRESENT flag that early
The function might assign the flag yet it could possibly fail on creating a DACL and insert an "access allowed" right to the access entry within the DACL. In this case, make sure we actually succeeded on all the tasks and THEN assign the flag that the DACL is truly present.

Also, make sure that the Current buffer size variable gets its new size so that we avoid overidding the memory of the DACL if the security descriptor wants both a DACL and SACL and so that happens that the DACL memory gets overwritten by the SACL.
2021-09-24 19:39:30 +02:00
George Bișoc
f341b9080b [NTOS:SE] Set the SACL to the World security descriptor
Implement the portion chunk of code that is responsible for setting the system access control list (SACL) to the World security descriptor, based from SeWorldSid (World security identifier).
2021-09-24 19:13:16 +02:00
Katayama Hirofumi MZ
ca3fa7197d [IMM32] Use Imm32IsImmMode and Imm32IsCiceroMode macros (#3971)
- Define Imm32IsImmMode, Imm32IsCiceroMode and Imm32Is16BitMode macros in "precomp.h".
- Improve Imm32InquireIme and Imm32CleanupContext functions.
- Add IME_SYSINFO_WINLOGON and IME_SYSINFO_WOW16 macros (from DDK) in psdk/imm.h.
- Modify CtfImeInquireExW and CtfImeSelectEx prototype.
CORE-11700
2021-09-24 22:06:29 +09:00
Victor Perevertkin
e372f2b19b [REACTOS] Remove PowerPC Open Firmware-related code
Was forgotten during the overall PowerPC support removal.
Addendum to 6ef6fabfc5
2021-09-24 04:13:08 +03:00
Serge Gautherie
6e894bc1c7 [IPHLPAPI] GetAdaptersInfo(): Update Wine registry key name (#3556) 2021-09-24 03:49:05 +03:00
Serge Gautherie
acbe74497f [PSDK] wincodec.idl: Add GUIDs which exist on WDK 7.1 (#3628) 2021-09-24 03:24:05 +03:00
George Bișoc
32db51fcff [NTDLL_APITEST] Implement NtAdjustGroupsToken API tests 2021-09-23 17:38:42 +02:00
George Bișoc
8e6fc7a5f5 [NTOS:SE] Implement token groups adjusting 2021-09-23 17:38:31 +02:00
Katayama Hirofumi MZ
7b622283ee [IMM32_APITEST] himc: Use ok rather than ok_int (#3970)
Use ok macro rather than ok_int macro. CORE-11700
2021-09-22 19:07:07 +09:00
Mark Jansen
4acf1007df [FONTEXT] Restore folder icon 2021-09-21 21:42:32 +02:00
Mark Jansen
9276b3f1bf [SHELL32] CFSFolder: Add fallback for failing shell extension
CORE-17673
2021-09-21 21:42:25 +02:00
Mark Jansen
ad83af36dd [RAPPS] Move the CConfigParser to a new file 2021-09-21 19:00:21 +02:00
George Bișoc
982ee872dd [NTOS:SE] Privileges adjusting private routine must be paged
SepAdjustPrivileges is a private helper call that must be paged, alongside with its syscall -- NtAdjustPrivilegesToken.
2021-09-21 17:40:53 +02:00
Katayama Hirofumi MZ
d6a0299eec [IMM32_APITEST] Add himc testcase (#3965)
Add himc testcase. CORE-11700
2021-09-21 12:26:43 +09:00
Katayama Hirofumi MZ
e0da6437a1 [IMM32] Define ImeDpi_IsUnicode macro and use it (#3964)
- Define ImeDpi_IsUnicode macro in precomp.h.
- Use it.
CORE-11700
2021-09-21 12:20:10 +09:00
Joachim Henze
222acf5a3e [NTUSER] Scrollbar.c, Avoid potential out-of-bounds-accesses in co_IntSetScrollInfo() CORE-17777
This is an addendum to
0.4.15-dev-3174-g dda9c3979e CORE-17769 and
0.4.15-dev-3147-g 3bf7e3ac13 CORE-17754 CORE-17755

We have not seen this happening in real-life yet, but some code-fragments within co_IntSetScrollInfo()
e.g. line 628 if (nBar == SB_CTL) do clearly indicate that nBar can be 2 (SB_CTL).
Some lines below we definitely must not access those 4 static arrays out of bounds then via nBar as access index!

Ftr with a bit of grepping I also found some calls like NtUserSetScrollInfo(Wnd, SB_CTL, &Info, FALSE);
e.g: in win32ss/user/user32/controls/scrollbar.c so I am pretty sure nBar == 2 can happen in practice within co_IntSetScrollInfo().

I question whether any of those reads/writes to those static arrays (or the comparisons) would make any sense on index 2,
so we should aim to eliminate them altogether in the future.
2021-09-20 03:05:05 +02:00
Joachim Henze
dda9c3979e [NTUSER] Scrollbar.c, improve co_IntSetScrollInfo() CORE-17769
Fixes CORE-17769 'Rapps Listview manual resize may erroneously not draw the triangles sometimes'
This could happen for both: themed and unthemed.

CORE-17769 was a regression introduced by 0.4.14-dev-1134-g 00adb1a3f9

We don't really like the added state in form of the static variables,
but the patch works good from a pure testing-perspective.

Many Thanks to the patches author: Doug Lyons
2021-09-19 22:35:37 +02:00
Thomas Faber
40ee59d609 [LIBXML2] Update to version 2.9.12. CORE-17766 2021-09-18 21:42:26 -04:00
Hermès Bélusca-Maïto
271556e6f8 [WIN32SS] Disable by default the dumping function. Addendum to 69f90508. 2021-09-19 00:46:56 +02:00
Hermès Bélusca-Maïto
69f905081c [WIN32SS:NTUSER] Move the keyboard layout debugging code to a separate dump function.
And fix its obvious bugs, e.g. not checking for possible NULL pointers
for the optional keyboard layout sub-tables...
2021-09-19 00:18:04 +02:00
Hermès Bélusca-Maïto
e34a799f0c [BOOTDATA] Fix "DllName" casing. 2021-09-19 00:17:05 +02:00
Hermès Bélusca-Maïto
5f8a10f32b [BROWSEUI] CAutoComplete::OnAutoCompStart(): Wait on the thread only when there is a handle.
Avoids spamming
(ntoskrnl\ob\obwait.c:441) Failed to reference the handle with status 0xc0000008

CAutoComplete::FinishCompletion(): Remove two useless 'if (m_pThread || !m_hThread)'
tests: No need to check these after each code instruction...
2021-09-19 00:17:05 +02:00
Hermès Bélusca-Maïto
ffc4febb0c [BROWSEUI] Fix early error handling, to be taken only when ParseNow() is run (and fixes "Use of uninitialized variable hr" RTC error).
Addendum to commit d8e47d61.
2021-09-19 00:17:04 +02:00
Hermès Bélusca-Maïto
6072ee9766 [BROWSEUI] Minor formatting. 2021-09-19 00:17:03 +02:00
Katayama Hirofumi MZ
5b522667a6 [IMM32] Define Imm32HeapFree macro and use it (#3962)
- Define Imm32HeapFree macro in precomp.h and use it.
- Omit some NULL checks (for HeapFree).
CORE-11700
2021-09-19 01:52:05 +09:00
Katayama Hirofumi MZ
df6fff78bb [IMM32] Rewrite ImmAssociateContextEx (#3961)
- Rewrite ImmAssociateContextEx function.
- Modify NtUserAssociateInputContext prototype.
CORE-11700
2021-09-16 19:29:49 +09:00
Katayama Hirofumi MZ
afb6c8a129 [IMM32] Rewrite ImmEscapeA/W (#3959)
- Rewrite ImmEscapeA and ImmEscapeW functions.
- Delete useless legacy code.
CORE-11700
2021-09-16 19:27:43 +09:00
Victor Perevertkin
f17c2c0db9 [GITHUB] Use 64bit LLVM for both 32bit and 64bit clang-cl builds 2021-09-14 17:58:23 +03:00
Victor Perevertkin
62d1a2c884 [CMAKE] Fixes for clang-cl build
- User lib.exe instead of llvm-lib due to incompatibility
- Avoid wrapping resource compiler with cmcldeps
- Fix several conditional flags
2021-09-14 17:58:23 +03:00
Victor Perevertkin
d74eb54b06 [WIN32SS:GDI] Add a sanity assert 2021-09-14 17:58:23 +03:00
Victor Perevertkin
655ddfa8e2 [KERNEL32] FindFirstFileExW: fix syscall buffer alignment
NtQueryDirectoryFile required the FileInformation buffer to be
ULONG-aligned. Declare the aligned buffer explicitly.
2021-09-14 17:58:22 +03:00
Victor Perevertkin
4e389a992d [CMAKE] Fix invalid usage of list()
list() functions expects numerical indices for modification operations
and silently converts everything else to a number (old behaviour).

CMake 3.21 now checks this and throws a warning
2021-09-14 17:58:22 +03:00
Victor Perevertkin
8e1fa03456 [CMAKE] Replace custom scripts in compilerflags with standard ones
- add_target_link_flags changed to target_link_options
- add_target_property changed to set_property(... APPEND ...)
2021-09-14 17:56:22 +03:00
Katayama Hirofumi MZ
233c74e25a [IMM32] Undefine IMS_... constants
CORE-11700
2021-09-14 09:47:51 +09:00
Katayama Hirofumi MZ
791fbde496 [SDK][INCLUDE] Remove period (.) from comment 'Non SDK DCE types.' in undocuser.h 2021-09-13 13:56:30 +09:00
Katayama Hirofumi MZ
dc9c5826be [IMM32] Rewrite ImmConfigureIMEA/W (#3956)
- Rewrite ImmConfigureIMEA and ImmConfigureIMEW functions.
- Add IMS_... macros for WM_IME_SYSTEM message, into <undocuser.h>.
- Delete useless strdupAtoW and strdupWtoA inline functions.
CORE-11700
2021-09-13 12:47:15 +09:00
Hermès Bélusca-Maïto
158a479a4e [TRANSLATION] Replace '\r\n' by '\n' from displayed strings, when possible. 2021-09-13 03:52:23 +02:00
Hermès Bélusca-Maïto
9393fc320e [FORMATTING] Remove trailing whitespace. Addendum to 34593d93.
Excluded: 3rd-party code (incl. wine) and most of the win32ss.
2021-09-13 03:52:22 +02:00
Hermès Bélusca-Maïto
bbabe2489e [FORMATTING][TRANSLATION] Remove trailing whitespace. Addendum to 34593d93.
Excluded: 3rd-party code (incl. wine).
2021-09-13 03:52:21 +02:00
Hermès Bélusca-Maïto
290e5c9933 [TRANSLATION] Fix instances of strings with trailing whitespace before newlines. 2021-09-13 03:52:20 +02:00
Hermès Bélusca-Maïto
9b1edceae1 [REACTOS] Fix some instances of DPRINTs with trailing whitespace before newlines. 2021-09-13 03:52:19 +02:00
Hermès Bélusca-Maïto
d6c8fe7c37 [REGEDIT] Fix "tr-TR.rc:68: unrecognized escape sequence" error. 2021-09-13 03:52:18 +02:00
Eric Kohl
d389a5d10c [KBDHID] Fix returned Status for IOCTL_KEYBOARD_QUERY_*
Addendum to 6249d5ede31ee6ba81f8b0cde94f5c8f875fd9a.
2021-09-12 23:36:18 +02:00
Doug Lyons
3bf7e3ac13 [NTUSER] Improve Themed Scrollbars by Minimizing Updates (#3953)
This fixes regressions CORE-17754 and CORE-17755 which regressed by
0.4.15-dev-3086-g 236649c626
2021-09-12 22:54:46 +02:00
Hermès Bélusca-Maïto
6e9ff14e26 [NTOS:KD64,KE] IRQL is automatically adjusted during calls to KdEnterDebugger() and KdExitDebugger(). (#3942)
Addendum to 608032bd and 835c3023.

The IRQL is actually raised by KeFreezeExecution() and lowered by
KeThawExecution(), always to HIGH_IRQL on MP systems, or if necessary
on UP. These functions are called respectively by KdEnterDebugger()
and KdExitDebugger().
2021-09-12 18:20:32 +02:00
Hermès Bélusca-Maïto
05590079cc [NTOS:KD64] First unlock the KD port then lower the IRQL, instead of doing the reverse. (#3942)
This properly reverses the operation of first raising the IRQL before
locking the KD port.
2021-09-12 18:19:59 +02:00
Hermès Bélusca-Maïto
c9f335e996 [NTOS:KD64] KdPollBreakIn(): Use the KeRestoreInterrupts() inline. 2021-09-12 18:16:13 +02:00
Thomas Faber
103a79ce4f [MBEDTLS] Update to version 2.16.11. CORE-17326 2021-09-12 10:49:55 -04:00
Thomas Faber
cbda039f4f [MBEDTLS] Update to version 2.16.10. CORE-17326 2021-09-12 10:49:55 -04:00
Thomas Faber
a01a8faa60 [MBEDTLS] Update to version 2.7.19. CORE-17252 2021-09-12 10:49:55 -04:00
Thomas Faber
2e53fc8edb [MBEDTLS] Update to version 2.7.18. CORE-17252 2021-09-12 10:49:54 -04:00
Thomas Faber
218e2596de [MBEDTLS] Update to version 2.7.17. CORE-17252 2021-09-12 10:49:47 -04:00
Eric Kohl
b6249d5ede [KBDHID] IOCTL_KEYBOARD_QUERY_ATTRIBUTES: Return proper KEYBOARD_ATTRIBUTES buffer size 2021-09-12 16:33:35 +02:00
Joachim Henze
984c7da24d [CMD] tr-TR.rc Fix compiler warning CORE-17763
GCC8.4.0 dbg warned about:
[675/1849] Building RC object base/shell/cmd/CMakeFiles/cmd.dir/cmd.rc.obj
In file included from C:/ros/reactos/base/shell/cmd/cmd.rc:87:
C:/ros/reactos/base/shell/cmd/lang/tr-TR.rc:349:61: warning: backslash and newline separated by space

I guess somebody made the checks more strict recently,
because that bug was existing for longer already without
generating any warning for me.
2021-09-12 16:17:35 +02:00
George Bișoc
fc5bc55fbb [NTOS:SE] Use the captured security descriptor when access checking
When performing access security check, use the security descriptor that we've captured it to determine based on that descriptor if the client can be granted access or not.
2021-09-12 16:07:44 +02:00
Eric Kohl
f81fb355ae [KBDHID] Implement IOCTL_KEYBOARD_QUERY_INDICATOR_TRANSLATION 2021-09-12 14:40:26 +02:00
Eric Kohl
c1de553eba KBDHID: IOCTL_KEYBOARD_QUERY_* calls must return STATUS_BUFFER_TOO_SMALL if the output buffer is too small 2021-09-12 14:33:15 +02:00
Süleyman Poyraz
53221834c5 [TRANSLATION] Add and improve Turkish (tr-TR) translation (#3561)
Reviewed-by: Can Taşan <ctasan99@hotmail.com>
Reviewed-by: Ercan Ersoy <ercanersoy@ercanersoy.net>
Signed-off-by: Süleyman Poyraz <zaryob.dev@gmail.com>
2021-09-12 00:34:11 +03:00
Timo Kreuzer
0535332a69 [FASTFAT_NEW] "Fix" Flags bitfield to avoid RTC error
Since VS 16.11 the compiler sometimes emits calls to _RTC_UninitUse, when parts of a bitfield are initialized (See https://developercommunity.visualstudio.com/t/Broken-runtime-checks-with-CL-19293013/1503629). Fix this by using an ULONG instead of a bitfield.
Note: The structure uses a 24 bit bitfield plus an UCHAR, which is supposed to form a 32 bit field, but that doesn't work anyway.
2021-09-11 18:31:50 +02:00
Thomas Faber
0a656b574e [ACPICA] Update to version 20210730. CORE-17760 2021-09-11 10:48:30 -04:00
Thomas Faber
3c2845607c [ACPICA] Update to version 20210604. CORE-17760 2021-09-11 10:48:30 -04:00
Thomas Faber
6eb8cc4979 [ACPICA] Update to version 20210331. CORE-17760 2021-09-11 10:48:29 -04:00
Thomas Faber
05926c7ac5 [ACPICA] Update to version 20210105. CORE-17760 2021-09-11 10:48:17 -04:00
Oleg Dubinskiy
183566ee58 [DSOUND] Don't force status to failure by default in primarybuffer_SetFormat (#3911)
Don't force HRESULT status to DSERR_BUFFERLOST by default in primarybuffer_SetFormat function.
Assign to it S_OK instead, as done in current Wine:
a8583acae9:/dlls/dsound/primary.c#l440

That variable is already set to failure in other appropriate place, when this is indeed needed:
https://git.reactos.org/?p=reactos.git;a=blob;h=b04a526929e4e817ff63aa652530e5901a3253a6;f=dll/directx/wine/dsound/primary.c#l511

The assigned failure status caused executing failure handling code even when the fail actually didn't happen.
In particular, DSOUND_ReopenDevice failed on waveOutOpen call when calling this was not needed.
After my changes, it's called only when needed, i. e., only when the actual failure happens
Otherwise, if all goes good, that code is not called, so the data is transfered successfully and the function is working correctly.
It fixes non-working playback in QMMP 0.11.1 (via DirectSound ouput plugin) and AIMP 3.10 and newer versions.
Also it improves the DirectSound test results from MS DxDiag: now all 4 available tests are passing successfully, instead of only 2.
Other dsound issues also might be fixed as well.

CORE-10907 CORE-14783
2021-09-11 01:58:03 +03:00
Katayama Hirofumi MZ
b4557a60a9 [IMM32] Restructure! (Retry) (#3952)
The imm.c file became big and bloated, so we split the source file. CORE-11700
- Split the IMM32 code and do formatting.
2021-09-10 23:39:15 +09:00
PopuriAO29
ce7ac73f89 [SYSSETUP] Fix en-US translation. Add en-GB translation (#3950)
The British language wasn't included here, so I have corrected some texts that were in American English.

Also fixed one string that uses British English language.
2021-09-10 14:10:25 +03:00
PopuriAO29
647ba1cb45 [DESK] Correction for English (United Kingdom) translation (#3949)
The word "personalize" should be "personalise" in British English.
2021-09-10 01:48:41 +03:00
George Bișoc
d7255f1584 [NTOS:SE] Explicitly check the auto inherit flags right away
As we now have the SEF_* flags declared within the SDK we can simply check for such flags directly wihout having to check for the hard-coded flag values.
2021-09-09 19:29:53 +02:00
George Bișoc
58c42afec2 [XDK][KMTESTS:SE] Move the auto inherit ACE flags in the right place
These bit flags are documented in CreatePrivateObjectSecurityEx API routine call in MSDN and their reasonable location should be XDK (NTIFS section more or less) and not Kernel tests suite (KMTESTs). Also assign these flags the right values.

https://docs.microsoft.com/en-us/windows/win32/api/securitybaseapi/nf-securitybaseapi-createprivateobjectsecurityex
2021-09-09 19:29:50 +02:00
Stanislav Motylkov
3f4c98a425 [ARM] Fix some compilation errors for ARM
CORE-17634 CORE-17604
2021-09-09 19:40:20 +03:00
Hermès Bélusca-Maïto
0233bb72b3 [IMM32] ValidateHwndNoErr(): Apply ReactOS-specific handle table array fixup. (#3937)
CORE-17741

This function (which should belong to the user32 helpers) depends on the
internal format of the USER handles table, that is ReactOS-specific. Its
pointer value is stored in the win32k/user32 shared info section, and
thus cannot be converted to user-space and stored back into that section.
Therefore it needs to be retrieved and manually converted when the function
is called.
2021-09-09 16:15:13 +02:00
Hermès Bélusca-Maïto
4cbc61fd02 [WIN32SS:NTUSER][USER32] NtUserProcessConnect() should return pointers in user client-space. (#3937)
- Do the kernel/server --> user/client-space pointers conversion within
  NtUserProcessConnect(), instead of having the callers of this function
  doing this job.
  This makes the behaviour Windows-compatible.

  NOTE: the gHandleEntries pointer is ReactOS-specific!

- Drop the g_ulSharedDelta global, just use instead gSharedInfo.ulSharedDelta.

- Add extra documentation aspects for NtUserProcessConnect() that are
  not yet implemented in ReactOS.
2021-09-09 16:15:12 +02:00
Hermès Bélusca-Maïto
a407cb8f10 [WIN32SS:NTUSER] Update the definition of SHAREDINFO and fix the definition of FNID_LAST. (#3937) 2021-09-09 16:15:11 +02:00
Hermès Bélusca-Maïto
103c43861b [WIN32KNT_APITEST] Add more tests for NtUserProcessConnect() (#3937)
Show that NtUserProcessConnect() should return pointers in user client-space.
2021-09-09 16:15:05 +02:00
Stanislav Motylkov
a2e9dcf0a7 [CRT_APITEST] Add tests for __i64tod/u64tod/i64tos/u64tos on ARM (#3866)
CORE-17713 CORE-17706 CORE-17604
2021-09-09 16:02:11 +03:00
Roman Masanin
9c4e3234ba [CRT/ARM] Integer to float conversion implementation (#3866)
CORE-17713 CORE-17706 CORE-17604
2021-09-09 16:02:03 +03:00
Stanislav Motylkov
6ec6233e9c [CRT_APITEST] Fix __fto64 test according to MS CRT behavior on x86 and x64
Addendum to 99ba9846. CORE-17703 CORE-17604
2021-09-09 00:56:03 +03:00
Stanislav Motylkov
83318b2c43 [CRT_APITEST] Add missing static CRT tests on ARM
Addendum to c23ce9df. CORE-17604
2021-09-08 20:10:11 +03:00
Robert Naumann
7f4158fc64 [MPR] Fix copy paste error when converting hex char to int.
Wine Commit 63737942a06183f6b2e7fa8f95a07c918c9bf29b
Original patch by Sergei Abramov. CORE-13863
2021-09-08 18:59:08 +02:00
Stanislav Motylkov
a3af97df13 [CRT_APITEST] Do not test functions that are missing on ARM
Addendum to 5f548654. ROSTESTS-374 CORE-17604
2021-09-08 19:44:56 +03:00
Roman Masanin
554bbb6bab [CRT/ARM] Floating point control functions implementation (#3870)
Implement controlfp, statusfp, fpreset, clearfp. CORE-17757 CORE-17604
2021-09-08 16:04:48 +03:00
Hermès Bélusca-Maïto
c188821f8b [SETUPLIB] Default to "ReactOS (Debug)" boot entry on debug builds, instead of "ReactOS". 2021-09-07 22:25:37 +02:00
Jose Carlos Jesus
4526848888 [TRANSLATION] Improvements to Portuguese (pt-PT) translation (#3842)
- [CALCS] Add Portuguese (pt-PT) translation
- [COMCTL32] Improve Portuguese (pt-PT) translation
- [COMDLG32] Improve Portuguese (pt-PT) translation
- [ACLUI] Improve Portuguese (pt-PT) translation
- [DEVMGR] Fix typos and improve pt-PT translation
- [SYSDM] Fix typos and improve pt-PT translation
- [CPL] Readjust objects position to fit all text

Signed-off-by: Jose Carlos Jesus <zecarlos1957@hotmail.com>
2021-09-07 19:20:18 +03:00
Gabriel Aguiar
b3a5eeb131 [TRANSLATION] Update Portuguese (pt-PT) translation (#3876)
Co-authored-by: Gabriel Aguiar <fgygh5804@gmail.com>
Reviewed-by: Joachim Henze <Joachim.Henze@reactos.org>
Reviewed-by: Jose Carlos Jesus <zecarlos1957@hotmail.com>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
Signed-off-by: Gabriel Aguiar <fgsoftwarestudio@gmail.com>
2021-09-07 16:12:01 +03:00
James Tabor
a022dc8eaf [GDI32] Fix Meta file packing recursion issues.
TextOut was looping back adding additional EMR packet to the meta file.
2021-09-06 18:37:24 -05:00
James Tabor
03516733ef [GDI32] Do not fail on path with bitmap fonts.
Patch by Dmitry Timoshkov : ExtTextOut on a path with bitmap font
selected shouldn't fail.
This just leads to empty path generated.
2021-09-06 17:53:35 -05:00
Hermès Bélusca-Maïto
4795d953c0 [NTOS:IO] Fix an ASSERT. Addendum to commit 1fd730b7. 2021-09-06 01:05:14 +02:00
Hermès Bélusca-Maïto
fe9ac14aa3 [NTOS] Move two CODE_SEG("INIT") to a better place. 2021-09-05 21:22:45 +02:00
Hermès Bélusca-Maïto
1fd730b781 [NTOS:IO] IopInitializeDriverModule(): Set the DRVO_LEGACY_DRIVER flag if the driver is not WDM. (#3749) 2021-09-05 20:31:08 +02:00
Serge Gautherie
18d15bcc8b [REACTOS] Refactor CRegKey usage (#3779)
- [MSPAINT] ReadDWORD(): Improve 'dwValue' handling
Addendum to 3185db7 (r72158).

- [DRWTSN32] Settings_GetOutputPath(): Fix 'key' handling
Addendum to 1d10606.

- [RAPPS] Remove 2 superfluous 'CRegKey::Close()' calls
Follow-up to 42e111f.
2021-09-05 20:18:23 +03:00
George Bișoc
a0bf7a05cc [NTDLL_APITEST] Write some NtDuplicateToken tests
Implement some tests for NtDuplicateToken syscall that exercises the effective only behavior when the calling thread tries to duplicate an access token but rendering it effective with enabled parts.
2021-09-05 17:01:24 +02:00
George Bișoc
c407460f6a [NTOS:SE] Implement effective token option upon duplication
This implements the EffectiveOnly option of SepDuplicateToken routine (used by NtDuplicateToken syscall and other functions alike) which makes the access token effective by removing the disabled parts like privileges and groups.
2021-09-05 17:01:21 +02:00
Mark Jansen
1105b021b3 [BOOTDATA] Update caroots.inf
* Add "Certum Trusted Root CA", "Certum EC-384 CA" (https://bugzilla.mozilla.org/show_bug.cgi?id=1707097)
* Add "ANF Secure Server Root CA" (https://bugzilla.mozilla.org/show_bug.cgi?id=1703942)
* Add "GLOBALTRUST 2020" (https://bugzilla.mozilla.org/show_bug.cgi?id=1697071)
* Add "GlobalSign Root E46", "GlobalSign Root R46" (https://bugzilla.mozilla.org/show_bug.cgi?id=1693173)
* Add "AC RAIZ FNMT-RCM SERVIDORES SEGUROS" (https://bugzilla.mozilla.org/show_bug.cgi?id=1683738)
* Add "NAVER Global Root Certification Authority" (https://bugzilla.mozilla.org/show_bug.cgi?id=1678166)
* Add "Trustwave Global ECC P384 Certification Authority", "Trustwave Global ECC P256 Certification Authority" , "Trustwave Global Certification Authority"(https://bugzilla.mozilla.org/show_bug.cgi?id=1663049)
* Add "e-Szigno Root CA 2017" (https://bugzilla.mozilla.org/show_bug.cgi?id=1645174)
* Add "Microsoft RSA Root Certificate Authority 2017", "Microsoft ECC Root Certificate Authority 2017" (https://bugzilla.mozilla.org/show_bug.cgi?id=1641716)

* Remove "LuxTrust Global Root 2" (https://bugzilla.mozilla.org/show_bug.cgi?id=1641718)
* Remove "Staat der Nederlanden Root CA - G3" (https://bugzilla.mozilla.org/show_bug.cgi?id=1687822)
* Remove "EE Certification Centre Root CA" (https://bugzilla.mozilla.org/show_bug.cgi?id=1651211)
* Remove "Trustis FPS Root CA" (https://bugzilla.mozilla.org/show_bug.cgi?id=1708307)
* Remove "Global Chambersign Root - 2008", "Chambers of Commerce Root - 2008" (https://bugzilla.mozilla.org/show_bug.cgi?id=1692094)
* Remove "Staat der Nederlanden Root CA - G2" (https://bugzilla.mozilla.org/show_bug.cgi?id=1639987)
* Remove "VeriSign Class 3 Public Primary Certification Authority - G4", "thawte Primary Root CA - G3", "thawte Primary Root CA - G2", "GeoTrust Primary Certification Authority - G3", "VeriSign Class 3 Public Primary Certification Authority - G5", "thawte Primary Root CA", "GeoTrust Primary Certification Authority", "GeoTrust Universal CA 2", "GeoTrust Universal CA", "GeoTrust Global CA" (https://bugzilla.mozilla.org/show_bug.cgi?id=1670769)
* Remove "VeriSign Universal Root Certification Authority", "GeoTrust Primary Certification Authority - G2" (https://bugzilla.mozilla.org/show_bug.cgi?id=1686854)
* Remove "OISTE WISeKey Global Root GA CA" (https://bugzilla.mozilla.org/show_bug.cgi?id=1653092)
* Remove "Taiwan GRCA" (https://bugzilla.mozilla.org/show_bug.cgi?id=1656077)
* Remove "Sonera Class 2 Root CA" (https://bugzilla.mozilla.org/show_bug.cgi?id=1710716)
* Remove "QuoVadis Root CA" (https://bugzilla.mozilla.org/show_bug.cgi?id=1710716)
* Remove "AddTrust External Root" (https://bugzilla.mozilla.org/show_bug.cgi?id=1645199)
* Remove "Verisign Class 3 Public Primary Certification Authority - G3"

CORE-17737
ROSBE-61
2021-09-05 16:40:53 +02:00
Mark Jansen
0380684ddc [GITHUB] Automatically apply ROSTESTS label 2021-09-05 16:39:57 +02:00
Mark Jansen
821b399516 [COM_APITEST] Add mmc/certmgr tests
CORE-16429
2021-09-05 16:39:57 +02:00
Stanislav Motylkov
0de0013cec [TRANSLATION] Add and improve Russian and Ukrainian translations
[NETID]
- Add and improve Russian translation. Addendum to b9426a3f and c276681e.

[MACHINE.INF]
- Fix probably a machine translation. Addendum to 2d8274bd.
- Standardize some device names.
- Also add missing Ukrainian translation.
2021-09-05 16:22:29 +03:00
George Bișoc
a71a019c46 [NTDLL_APITEST] Implement NtAdjustPrivilegesToken testcase 2021-09-05 09:53:17 +02:00
Julen Urizar Compains
ea6e774050 [TRANSLATION] Fix minor typos and untranslated dialogs in Spanish (#3890)
- usetup: New bootsector page.
- shell32: Copy and paste, and moving elements.
  Also, some strings related to the shutdown and logoff.
- Minor Spanish grammar fix - some female words and minor latin american typos.
- First revision of the .inf, that includes the translation of the Services,
  audio, processors and other drivers and minor things.
2021-09-04 17:22:41 +03:00
Oleg Dubinskiy
d7b2280c5c [DSOUND] Improvements to DirectSound(Capture)EnumerateW (#3899)
Fix and improve DirectSoundEnumerateW and DirectSoundCaptureEnumerateW implementations in our dsound.

Use the Windows-compatible way to get the device name and pass it to callback.
- Don't use Wine-specific DSDRIVERDESC structure and DRV_QUERYDSOUNDDESC message, declared in sdk/include/dxsdk/dsdriver.h, whose are obsolete even in Wine for now.
- Instead, declare a new WAVEINCAPSW and WAVEOUTCAPSW structures (for input and output appropriately), call waveInGetDevCapsW and WaveOutGetDevCapsW for enumerated device ID and store retieved device name in these structures.
- Then pass them to a lpDSEnumCallbackW as well, without Ansi to Unicode conversion (since the retrieved string is Unicode already).
- Do this both for capture and playback functions.
- Addtionally, add MMSYSERR_BADDEVICEID status code to mmErr macro, because it also might be returned by waveIn/OutGetDevCapsW as well, in case of failure.
- And mark our dosund as forked, because it definitely will not be synced at least until we'll retarget to Vista or newer. Add an appropriate comment.

This fixes incorrect detection of DirectSound audio input and output devices, so now a lot of apps are able to detect it correctly, and can play the sound properly (e.g. AIMP 2.61 and IcyTower from RAPPS).

CORE-7535 CORE-10907 CORE-15324 CORE-15533 CORE-16340
2021-09-04 15:58:42 +03:00
Serge Gautherie
d6002f9475 [CMLIB] arm64: Define PAGE_SIZE
CORE-17518
2021-09-03 23:40:21 +03:00
Serge Gautherie
6a5472a754 [HALX86:APIC] apic.c: Use new defines some more
Follow-up to b7a149f.
2021-09-03 23:20:10 +03:00
Serge Gautherie
7f0796443b [BOOTDATA] livecd.ini: Fix 'APIC ACPI' typo
Addentum to 5ee0925.
2021-09-03 23:10:42 +03:00
Serge Gautherie
6d01afbc9d [SETUPLIB] CreateFreeLoaderReactOSEntries(): Fix 'VBoxDebug' typo
Match newer 84c2695.

Addendum to 69512e2 (r65813).
2021-09-03 23:10:42 +03:00
Doug Lyons
81358d08f0 [MSI] Fix dialog.c showing two taskbar panes on Cancel (#3861)
Only show the main dialog pane on taskbar when executing a Cancel dialog.
Assign previous window handle as a parent when creating Cancel dialog box.

CORE-17702
2021-09-03 22:54:22 +03:00
Doug Lyons
236649c626 [UXTHEME][NTUSER] Fix flashing of scrollbar when scrolling (#3868)
Based on a patch by I_Kill_Bugs.
2021-09-03 22:34:26 +03:00
Serge Gautherie
515e0cf38f [TASKMGR] Handles: Get number only, skip data 2021-09-03 22:14:07 +03:00
Katayama Hirofumi MZ
4689c8ead8 [USER32][INCLUDE] Move GetImmFileName declaration from user32.h to user32p.h
From: win32ss/user/user32/include/user32.h
To: win32ss/user/user32/include/user32p.h

CORE-11700
2021-08-31 13:42:54 +09:00
Joachim Henze
57516edb42 [WDMAUD.DRV] Improve AC97 driver from rapps by defining USE_MMIXER_LIB
By taking alternative code-paths in WdmAud and bypassing Sysaudio.
This is my 2nd attempt to commit that.

Using USE_MMIXER_LIB relies on those 2 previous patches:
0.4.15-dev-765-g b8e936a57b CORE17214 (#3148) wdmaud-racecondition-fix and
0.4.15-dev-796-g a27f0debca CORE17276 winmm:mixer-testbot-crash-fix

Defining USE_MMIXER_LIB will fix/improve:
- the test execution times of "GCCLin_x86 on Test VBox" will be dramatically improve (iirc by ~10-15min)
- CORE-8726/CORE-9986/CORE-16564 AC97 driver from rapps will work in the same session that the driver is installed, not a single reboot is needed anymore
- CORE13202 Unhandled exception from wdmaud.drv when recording sound in Scratch 1.4 leads to app-crash (gets fixed even for older builds that did not receive 0.4.15-dev-2794-g 81f8bce yet)
- CORE-13488 A deadlock in "DiabloII" character selection screen and "The Lion King II"
- CORE-9981 "DosBox + Commander Keen6" almost 100% fixed, DosBox + Commander Keen6 properly plays music instead of garbled output,
            same improvement for "ScummVM 2.0 with Monkey Island 2"

The playback is not yet *entirely* perfect, still a few hiccups now and then, but by orders of magnitude better than before.

Defining USE_MMIXER_LIB will also have some negative aspects:
- CORE-17277 crash of dsound:duplex on "GCCLin_x86 on Test VBox" gets unhidden on the bot, but was proven to be broken even beforehand already. The driver beforehand was just not found and the tests were skipped therefore.
- CORE-17278 crash of dsound:capture on "GCCLin_x86 on Test VBox" gets unhidden on the bot, but was proven to be broken even beforehand already. The driver beforehand was just not found and the tests were skipped therefore.
- It may also have a negative impact for CORE-17285 "Realtek HD Audio" but Oleg Dubinsky accepted to tolerate that and aims to approach it differently. I will resolve that as WontFix now.
2021-08-30 19:52:30 +02:00
Julio Carchi
2268b33e18 [CMAKE][BOOTDATA] Fix LiveCD does not import caroots.inf into registry CORE-17739 CORE-17735 (#3930)
It regressed by 0.4.9-dev-82-g 6158207c31

KVM https://reactos.org/testman/compare.php?ids=78729,78730 LGTM
VBox https://reactos.org/testman/compare.php?ids=78728,78731 LGTM
2021-08-30 13:07:12 +02:00
Katayama Hirofumi MZ
a8d2cd4b9d [IMM32] Rewrite ImmGetContext (#3923)
- Add ValidateHwndNoErr and Imm32GetContextEx helper functions.
- Rewrite ImmGetContext function by using the helper functions.
CORE-11700
2021-08-24 06:50:39 +09:00
Katayama Hirofumi MZ
2ab858c125 [USER32][IMM32] Improve User32InitializeImmEntryTable (#3918)
- Improve User32InitializeImmEntryTable function and related.
- Complete win32ss/user/user32/include/immtable.h table.
- Delete a hack in user32.DllMain and apply my magical tricks. This will fix some access violations in IMM32.
- Add some stubs into IMM32.
CORE-11700
2021-08-23 16:25:21 +09:00
George Bișoc
84f7bee18f [NTOS:SE] SepSinglePrivilegeCheck doesn't expect a NT status code value
Fix a wrong returned datatype of the function, as SepSinglePrivilegeCheck calls the internal private SepPrivilegeCheck function which returns a BOOLEAN value.
2021-08-22 11:31:57 +02:00
George Bișoc
8567d8145e [NTOS:SE] Annotate the remaining functions with SAL 2021-08-22 10:29:58 +02:00
George Bișoc
6413009c10 [NTOS:SE] Document the whole subsystem in Doxygen format
And update the file comment headers.
2021-08-22 10:29:47 +02:00
Katayama Hirofumi MZ
f831ec7e0a [WIN32KNT_APITEST] Add NtUserGetThreadState testcase (#3922)
CORE-17732, CORE-11700
2021-08-22 09:02:02 +09:00
Katayama Hirofumi MZ
10c9aa067f [NTUSER] Improve NtUserQueryWindow (#3915)
- Improve NtUserQueryWindow function.
- Add IMC structure.
- Modify THREADINFO structure.
CORE-11700
2021-08-21 07:31:10 +09:00
Katayama Hirofumi MZ
d78e9fbb45 [IMM32] Implement ImmWINNLSGetIMEHotkey (#3919)
- Implement ImmWINNLSGetIMEHotkey function.
- Modify imm32.spec.
CORE-11700
2021-08-21 07:24:12 +09:00
Katayama Hirofumi MZ
1d0587fc27 [IMM32] Rewrite ImmProcessKey (#3917)
- Rewrite ImmProcessKey function.
- Modify win32ss/include/imetable.h.
- Modify ImmProcessKey prototype.
CORE-1170
2021-08-21 07:22:43 +09:00
Katayama Hirofumi MZ
c59c185d1c [INCLUDE] Move WM_IME_SYSTEM from ntuser.h to undocuser.h (#3920)
CORE-11700
2021-08-19 08:18:20 +09:00
Katayama Hirofumi MZ
1f792413f0 [NTUSER][INCLUDE] s/TransMsg[1]/TransMsg[ANYSIZE_ARRAY]/
CORE-11700
2021-08-18 19:59:35 +09:00
Katayama Hirofumi MZ
d83be2e6b6 [NTUSER][INCLUDE] Trivial formatting of TRANSMSG and TRANSMSGLIST
CORE-11700
2021-08-18 19:56:47 +09:00
Katayama Hirofumi MZ
9a8049cb39 [IMM32] s/0x400/_WIN32_WINNT_NT4/
Don't use magic numbers. CORE-11700
2021-08-18 19:53:14 +09:00
Katayama Hirofumi MZ
747797fdc2 [IMM32_APITEST] s/0x287/WM_IME_SYSTEM/
Don't use magic number. CORE-11700
2021-08-18 19:48:45 +09:00
Katayama Hirofumi MZ
f4bc74edc3 [IMM32] ImmGenerateMessage and ImmTranslateMessage (#3914)
- Rewrite `ImmGenerateMessage` and `ImmTranslateMessage` functions.
- Rename `INPUTCONTEXTDX.bHasVKey` as `bNeedsTrans`.
- Move `TRANSMSG` structure into `ntuser.h`.
- Add `TRANSMSGLIST` structure into `ntuser.h`.
- Add `UNDETERMINESTRUCT` structure to `ddk/imm.h`.
- Modify `NtUserGetAppImeLevel` prototype.
CORE-11700
2021-08-18 08:42:12 +09:00
Katayama Hirofumi MZ
db8dd3b35e [IMM32] Refactor Part 2
Simplify the IMM32 code by deleting middle functions.
CORE-11700
2021-08-16 15:45:11 +09:00
Katayama Hirofumi MZ
3ff832b5d3 [IMM32_APITEST] Add ImmIsUIMessage testcase (#3908)
- Add ImmIsUIMessage testcase in IMM32_APITEST. CORE-11700
2021-08-16 15:35:25 +09:00
Katayama Hirofumi MZ
77911014f3 [IMM32] Rewrite ImmIsUIMessageA/W (#3907)
- Rewrite ImmIsUIMessageA and ImmIsUIMessageW functions.
- Modify HIMC and HIMCC handle types for strictness. Add typecasts.
- Add WM_IME_SYSTEM macro.
- Modify imm32.spec.
CORE-11700
2021-08-16 15:33:51 +09:00
Katayama Hirofumi MZ
cc097ec485 [IMM32] Rewrite ImmEnumRegisterWordA/W (#3906)
- Rewrite ImmEnumRegisterWordA and ImmEnumRegisterWordW functions.
- Modify win32ss/include/imetable.h.
CORE-11700
2021-08-16 15:31:39 +09:00
Kento Oki
3ba1d82c41 [RTL/x64] Fix a typo RtplUnwindInternal -> RtlpUnwindInternal (#3912) 2021-08-16 04:23:02 +03:00
Victor Perevertkin
6ef6fabfc5 [FREELDR][NTOS][HALPPC][SDK] Remove PowerPC code
Remove PowerPC-related code from the kernel, HAL, SDK and
Freeloader.
2021-08-15 15:35:51 +03:00
Katayama Hirofumi MZ
911fc3cf5b [IMM32] Delete Wine-specific functions (#3902)
We don't need Wine-specific functions for Japanese input.
- Delete __wine_get_ui_window, __wine_register_window and __wine_unregister_window functions.
- Modify imm32.spec.
CORE-11700
2021-08-14 10:42:02 +09:00
Katayama Hirofumi MZ
19d24143e9 [IMM32] Rewrite ImmGetRegisterWordStyleA/W (#3901)
- Rewrite ImmGetRegisterWordStyleA and ImmGetRegisterWordStyleW functions.
- Modify win32ss/include/imetable.h.
CORE-11700
2021-08-14 10:39:20 +09:00
Katayama Hirofumi MZ
1da5d7a305 [IMM32] Refactor and simplify code (#3900)
- Add Imm32WideFromAnsi, Imm32AnsiFromWide and Imm32IsCrossThreadAccess helper functions.
- Simplify the IMM32 code by using the helper functions.
CORE-11700
2021-08-14 10:38:06 +09:00
Katayama Hirofumi MZ
719823179d [IMM32] Rewrite ImmGetProperty (#3896)
Implementing Japanese input... CORE-11700
2021-08-12 12:33:12 +09:00
Katayama Hirofumi MZ
ee22951c1a [IMM32] Rewrite ImmGetConversionListA/W (#3895)
- Rewrite ImmGetConversionListA and ImmGetConversionListW functions.
- Delete useless convert_candidatelist_AtoW and convert_candidatelist_WtoA functions.
CORE-11700
2021-08-12 12:32:02 +09:00
Katayama Hirofumi MZ
9b7288df78 [IMM32] Rewrite ImmUnregisterWordW (#3894)
Implementing Japanese input... CORE-11700
2021-08-12 12:31:06 +09:00
Katayama Hirofumi MZ
1ead16de95 [IMM32] Rewrite ImmUnregisterWordA (#3893)
Implementing Japanese input... CORE-11700
2021-08-12 12:30:13 +09:00
Katayama Hirofumi MZ
94285dce4d [IMM32] Rewrite ImmRegisterWordW (#3892)
Implementing Japanese input... CORE-11700
2021-08-12 12:29:02 +09:00
Katayama Hirofumi MZ
1e62771c78 [IMM32] Rewrite ImmRegisterWordA (#3881)
- Rewrite ImmRegisterWordA function.
- Modify imetable.h.
CORE-11700
2021-08-10 08:08:23 +09:00
Katayama Hirofumi MZ
6b24e73d41 [IMM32] Rewrite ImmGetVirtualKey (#3889)
Implementing Japanese input. CORE-11700
2021-08-10 08:03:32 +09:00
Doug Lyons
ad8d8b6628 [GDI32] Revise IntTMWFixUp Raster Font List (#3808)
CORE-17662
CORE-17723
2021-08-09 13:07:04 +02:00
James Tabor
a81ad376a1 Check for PAE
Checking for PAE and set some logic later to support it.
2021-08-08 20:37:06 -05:00
Katayama Hirofumi MZ
4f2108882d [IMM32][SDK] Rename some members of INPUTCONTEXTDX
CORE-11700
2021-08-09 00:05:06 +09:00
Eric Kohl
033b6639e4 [DHCPCSVC] Make the DHCP client service stoppable
- Make all threads (pipe thread, adapter discovery thread and dispatcher thread) wait on the stop event.
- Close shared resources in the main (dispatcher) thread after the pipe thread and the adapter discovery thread have shut down.

This enables us to stop and restart the DHCP client properly.

CORE-14390
2021-08-08 14:10:25 +02:00
Katayama Hirofumi MZ
f486f87796 [IMM32] Delete useless ImmInternalSendIMENotify function
CORE-11700
2021-08-08 17:46:02 +09:00
Katayama Hirofumi MZ
7342ed1861 [IMM32] Rewrite ImmSetCompositionFontA/W (#3886)
- Rewrite ImmSetCompositionFontA and ImmSetCompositionFontW functions.
- Add INPUTCONTEXTDX structure as an extension of INPUTCONTEXT.
CORE-11700
2021-08-08 17:35:34 +09:00
Victor Perevertkin
3927ad9d47 [SFLOPPY] Move storage/floppy_new -> storage/class/sfloppy
This is a SCSI Floppy driver, which depends on classpnp.
Don't mix that with the other floppy (FDC) stack.
2021-08-08 02:42:34 +03:00
Victor Perevertkin
3088717b3f [CDROM][DISK] Remove "_new" suffix from cdrom and disk drivers 2021-08-08 02:42:34 +03:00
Victor Perevertkin
49444127fd [CDROM][CLASS2][DISK] Remove the old class drivers stack
These drivers are based on NT4 DDK sample code, were originally
started by Alexey Bragin and then constantly patched by Pierre
Schweitzer to fix compatibility with NT5+ storage stack.
Replaced with Microsoft drivers published on GitHub by an open
license.
These drivers were originally added as part of 4e7b22b216
2021-08-08 02:42:30 +03:00
Katayama Hirofumi MZ
0af58654a3 [IMM32] Rewrite ImmSetCandidateWindow (#3884)
Implementing Japanese input... CORE-11700
2021-08-08 08:34:47 +09:00
Tibor Lajos Füzi
f26614afff [TRANSLATION] Add/update Hungarian translation of deskmon, notepad, winlogon, mycomput 2021-08-07 22:57:35 +02:00
Jérôme Gardou
589016ddb9 [NTOS:MM] Implement MmFlushImageSection(MmFlushForWrite) 2021-08-07 09:34:58 +02:00
Joachim Henze
4cc2c350ef [LDR] Disable Logging when images overlap CORE-17635
We found out what we wanted to find out:
the remaining TODOs for the Python script.

So we can silence the DPRINTs again for the time being
to reduce spam from 3rd party dlls.
Paying tribute to Mark Jansen ;)
2021-08-06 19:25:14 +02:00
Jérôme Gardou
c4801ab696 [WIN32K] Do not release twice the lock on error path 2021-08-06 15:18:21 +02:00
Jérôme Gardou
6618d978cd [CMAKE] Do not disable optimisations on ntoskrnl build 2021-08-06 15:17:49 +02:00
Jérôme Gardou
0bc00267df [WIN32K] Init User part after GDI one.
But Initialize user lock first thing to avoid hitting newly introduced ASSERTS

This partly reverts commit 515d83a883.
2021-08-06 10:15:02 +02:00
Katayama Hirofumi MZ
c0c9b1445d [IMM32] Rewrite ImmSetConversionStatus (#3879)
CORE-11700
2021-08-06 07:15:19 +09:00
Hervé Poussineau
528fede034 [SETUPAPI] Add stubs for SetupDiSetDriverInstallParamsA/W 2021-08-05 23:45:23 +02:00
Hervé Poussineau
e763bec6cd [PSDK] Add DRIVER_UNTRUSTED_RANK define 2021-08-05 23:45:20 +02:00
Jérôme Gardou
0782375f8b [CRT] Add one missing entry to _syserr_list array, fix _sys_nerr definition
Partial revert of 296e07b94d
2021-08-05 15:35:19 +02:00
Katayama Hirofumi MZ
29b09d8935 [IMM32] Implement ImmGetGuideLineA/W (#3877)
Implement ImmGetGuideLineA and ImmGetGuideLineW functions. CORE-11700
2021-08-05 21:43:21 +09:00
Jérôme Gardou
acf28dbc1e [NTOS:MM] Fix the mess created by the "balancer thread"
When processing:
  Make sure that the process is not terminating.
  Make sure that the process WorkingSet is still valid
  Protect accessing & writing to PTEs by acquiring the working set lock

CORE-17595 CORE-17642
2021-08-05 10:06:19 +02:00
Jérôme Gardou
676dc4b441 Revert "[NTOS:MM] Do proper checks & acquire proper locks when sweeping user pages"
This reverts commit 7c006df7e0.
Note to self: This is what happens when you have too many branch and push the wrong one.
2021-08-04 23:57:39 +02:00
Jérôme Gardou
7c006df7e0 [NTOS:MM] Do proper checks & acquire proper locks when sweeping user pages
CORE-17595
2021-08-04 20:38:37 +02:00
Jérôme Gardou
789d7a7741 [NTOS:MM] When mapping pages for zeroing them, disable cache, enable write through
Idea from Thomas Faber
2021-08-04 17:48:39 +02:00
Jérôme Gardou
98e62b9bca [NTOS:MM] In page zeroing thread, zero more than one page at a time. 2021-08-04 17:48:39 +02:00
Jérôme Gardou
e98de5ef1f [NTOS:MM] Use KeZeroPages in zeroing thread 2021-08-04 17:48:39 +02:00
Jérôme Gardou
708dc6b7d6 [NTOS:MM] Do not zero-fill pages when not needed 2021-08-04 17:48:39 +02:00
Jérôme Gardou
42bec35f65 [NTOS:KE] Also rewrite KeZeroPages in assembly for amd64
Let's stick with "rep movsq" until we are able to have more precise benchmarks
2021-08-04 17:48:39 +02:00
Jérôme Gardou
51258295bd [NTOS:KE] Rewrite KeZeroPages in assembly
We spend a lot of time in this function, let's optimize it.
2021-08-04 17:48:39 +02:00
Marat Nagayev
240dc77e42 [NTFS] Check file isn't encrypted 2021-08-04 16:07:18 +03:00
Marat Nagayev
9be382ec98 [NTFS] Add new defines for file attributes 2021-08-04 16:07:18 +03:00
Jérôme Gardou
34662e2f6f [NTOS:MM] Copy the WorkingSet page when initializing "hand-built" process
CORE-17642
2021-08-04 11:49:38 +02:00
Katayama Hirofumi MZ
1d9542d239 [IMM32] Remove function names from TRACEs
CORE-11700
2021-08-04 09:49:41 +09:00
Katayama Hirofumi MZ
692a30a84a [IMM32] ImmCreateContext, ImmDestroyContext, DllMain etc. (#3867)
- Rewrite ImmCreateContext, ImmDestroyContext, and DllMain functions.
- Add g_hImm32Inst, g_bClientRegd, and g_SharedInfo global variables. Delete g_dwImm32Flags (that was g_psi->dwSRVIFlags).
- Implement ImmLoadIME and ImmRegisterClient functions.
- Modify CLIENTIMC and IMEDPI structures. Move CLIENTIMC definition into ntuser.h.
- Add file win32ss/include/imetable.h.
- Rename SRVINFO_METRICS macro as SRVINFO_CICERO_ENABLED.
CORE-11700
2021-08-04 09:41:59 +09:00
Timo Kreuzer
c23ce9dfad [CRT_APITEST] Add static_crt_apitest 2021-08-04 02:03:07 +02:00
Timo Kreuzer
8043628d97 [PSDK] Add some missing ARM definitions 2021-08-04 02:03:07 +02:00
Timo Kreuzer
e91f201be2 [CRT] Implement crt_process_init() 2021-08-04 02:03:07 +02:00
Timo Kreuzer
8043b76e85 [CRT] Improve CMake files 2021-08-04 02:03:07 +02:00
Timo Kreuzer
950e814377 [CRT] Fix _fmode
Remove mingw-w64 version of _fmode. _fmode should not be linked directly into the executable. Instead, the export from msvcrt should be used. On Windows 10 it's defined to *__p__fmode(), which is exported from ucrtbase.dll
Also _fmode in msvcrt.dll is initialized with 0.
2021-08-04 02:03:07 +02:00
Timo Kreuzer
296e07b94d [CRT] Fix some data exports
* Fix initialization of _commode. In msvcrt it is allocated from .bss, i.e. initialized with 0.
* _fileinfo is initialized with -1
* _aexit_rtn is a pointer, not a function
* Fix _sys_nerr
2021-08-04 02:03:07 +02:00
Timo Kreuzer
5f548654f4 [CRT_APITEST] Add tests for data exports 2021-08-04 02:03:07 +02:00
Timo Kreuzer
379957424c [CRT] Fix some _CRTIMP
Get rid of the ugly __MINGW_IMP_SYMBOL hacks.
2021-08-04 02:03:07 +02:00
Timo Kreuzer
b05cc36208 [CRT] Fix CRT headers a bit
* Remove unused internal version of float.h
* Define _STATIC_ASSERT in crtdefs.h
* Add some missing declarations
2021-08-04 02:03:07 +02:00
Timo Kreuzer
0f3d052af9 [CRT] Remove _fmode and _commode initialization
This "initialization" copies the value of the local variable to the one exported from msvcrt, which is the same. Also there shouldn't be a local version of the variable in the first place.
2021-08-04 02:03:07 +02:00
Katayama Hirofumi MZ
7507a8f192 [IMM32] Rewrite ImmInstallIMEA (#3873)
Implementing Japanese input... CORE-11700
2021-08-04 07:32:13 +09:00
Jérôme Gardou
bd6fb80867 [WIN32K:NTUSER] In debug builds, enable free & tail checking when creating heaps
Actually catches bugs
2021-08-03 23:13:19 +02:00
Jérôme Gardou
b783b16cef [WIN32K:USER] Fix potential use after free when painting child windows 2021-08-03 23:13:19 +02:00
Jérôme Gardou
d958dc9bc2 [WIN32K:NTUSER] Assert global user lock is held exclusively when using global & desktop heaps
They're explicitly not serialized because we count on this.
2021-08-03 23:13:19 +02:00
Jérôme Gardou
8c098ee8d2 [WIN32K:NTUSER] Make sure to hold User Global Lock before unmapping desktop heap 2021-08-03 23:13:19 +02:00
Jérôme Gardou
6ec0420dc6 [WIN32K:NTUSER] Allocate & free timers under global user lock 2021-08-03 23:13:19 +02:00
Jérôme Gardou
515d83a883 [WIN32K] On init, start by initializing NtUser stuff
Allocate gpsi (Global Server Info) after initializing & grabbing Userlock
2021-08-03 23:13:19 +02:00
Jérôme Gardou
be6a6b806a [NTOS:MM] Remove dead code 2021-08-03 10:57:12 +02:00
Jérôme Gardou
c6d08c4828 [CMAKE] Update DLL base addresses 2021-08-03 10:36:32 +02:00
Victor Perevertkin
f777e6bd24 [GITHUB] Build Release configuration for all compilers 2021-08-02 20:23:23 +03:00
Victor Perevertkin
5176f580e5 [CMAKE] Add memcmp to libntoskrnl for both clang and clang-cl 2021-08-02 20:23:22 +03:00
Victor Perevertkin
03506b90e0 [MSVCRTEX] Add some routines required for clang optimizations
- Include exp2* in all clang builds
- Include __aulldiv for i386 ones

Those are required, at least for clang-cl Release configuration
2021-08-02 20:23:18 +03:00
Nexware
14fbe80c4a [CONFIGURE] Make configure.sh print out an error when CMake fails 2021-08-02 01:40:43 +03:00
Robert Naumann
a0235bf877 [UXTHEME] Fix incorrect part IDs in button class map.
Wine Patch by Zhiyi Zhang. (Commit ec82a0ebe65a0bd9f41c743d301c853e77dd8b8b)
2021-08-01 12:22:58 +02:00
George Bișoc
632fa1cfbe [NTOS:SE] Handle the reference logon session of the token
When creating or duplicating an access token object, make sure that the logon session is getting referenced by the token must be inserted onto the logon reference member (a.k.a LogonSession) for proper logon session referencing tracking.

Also when a token object is about to be destroyed or that we are taking away a reference session from it, we must ensure that the referenced logon session data gets removed from the token in question.
CORE-17700
2021-07-31 17:23:05 +02:00
George Bișoc
5e51f8dad2 [NTOS:SE] Implement logon reference insertion/removal to tokens 2021-07-31 16:11:03 +02:00
George Bișoc
7692c10527 [NTOS:SE] Unify all the SRM tags in one place
And rename SEP_LOGON_SESSION_TAG and SEP_LOGON_NOTIFICATION_TAG to TAG_LOGON_SESSION and TAG_LOGON_NOTIFICATION respectively.
2021-07-31 16:10:50 +02:00
Roman Masanin
be3c532bf4 [ARM/CRT] Refactor several functions (#3865)
- Make __fto64 function more readable
- Call worker function directly for __rt_sdiv/udiv
- Adapt __rt_sdiv64/udiv64 asm shims accordingly
- Add header files to CMake source list

CORE-17607 CORE-17614 CORE-17703 CORE-17604

Addendum to f2bc1f0e, e448094e and 54406bf4.
2021-07-31 11:24:03 +03:00
Katayama Hirofumi MZ
d7f13aa696 [IMM32] Improve ImmSimulateHotKey (#3858)
- Improve ImmSimulateHotKey function.
- Modify IMEDPI structure.
CORE-11700
2021-07-31 15:56:11 +09:00
Katayama Hirofumi MZ
89cb8a38b3 [IMM32] Rewrite ImmEnumInputContext (#3859)
- Rewrite ImmEnumInputContext function.
- Modify NtUserBuildHimcList.
CORE-11700
2021-07-31 15:45:07 +09:00
Stanislav Motylkov
54406bf4f0 [CRT/ARM] __fto64: Assembly wrappers are actually not needed anymore
Addendum to e448094e. CORE-17703 CORE-17604
2021-07-30 22:48:03 +03:00
Jérôme Gardou
b0dfe20981 [NTOS:MM] Fix MiIsUserPte inline 2021-07-30 18:54:54 +02:00
Victor Perevertkin
49cfac17c5 [FFS] Remove the FFS/UFS driver
The upstream driver is not maintained and the file system itself
is in a semi-abandoned state.
Originally imported at 3a3ef631d1

The driver is written by Lee Jae-Hong, updated by Bo Brantén.
ReactOS porting made by Peter Hater and Pierre Schweitzer.
Follow updates at http://www.acc.umu.se/~bosse/

FS Recognizer code is left to keep the FS support as an
installable driver.

CORE-11040
2021-07-30 17:14:57 +03:00
Victor Perevertkin
2e2190df57 [REISERFS] Remove the ReiserFS driver
The upstream driver is not maintained and the file system itself
is in a semi-abandoned state.
Originally imported at e308102f4a

The driver is written by Mark W Piper, updated by Bo Brantén.
ReactOS porting made by Peter Hater and Pierre Schweitzer.
Follow updates at http://www.acc.umu.se/~bosse/

FS Recognizer code is left to keep the FS support as an
installable driver.

CORE-11005
2021-07-30 17:14:53 +03:00
Roman Masanin
99ba98468f [CRT_APITEST] Add tests for __dtoi64/dtou64/stoi64/stou64 on ARM (#3848)
CORE-17703 CORE-17604
2021-07-30 14:20:23 +03:00
Roman Masanin
e448094e74 [CRT/ARM] Implement __dtoi64/dtou64/stoi64/stou64 functions (#3848)
CORE-17703 CORE-17604
2021-07-30 14:20:23 +03:00
Roman Masanin
fd8baca9f2 [CRT/ARM] Fix modulus on division (#3856)
This fixes all tests added in 759bdedc. Addendum to f2bc1f0e.

CORE-17607 CORE-17614 CORE-17604
2021-07-29 13:44:16 +03:00
Stanislav Motylkov
759bdedc1e [CRT_APITEST] Add tests for __rt_sdiv/udiv/sdiv64/udiv64 on ARM
Addendum to f2bc1f0e and f1e2c6cb.

CORE-17607 CORE-17614 CORE-17604
2021-07-29 13:37:07 +03:00
Katayama Hirofumi MZ
e996662afb [IMM32] s/idThread/dwThreadId/
- Rename idThread variable as dwThreadId.
- Rename idImeThread variable as dwImeThreadId.
CORE-11700
2021-07-29 08:21:33 +09:00
Katayama Hirofumi MZ
f972a9fbd5 [IMM32] Rewrite ImmSetCompositionWindow (#3855)
Implementing Japanese input... CORE-11700
2021-07-28 23:26:02 +09:00
Katayama Hirofumi MZ
8e1dea0c8c [IMM32] Implement ImmLoadLayout (#3854)
Implementing Japanese input... CORE-11700
2021-07-28 23:25:10 +09:00
Katayama Hirofumi MZ
fb2aef9e4e [IMM32] Rewrite ImmNotifyIME (#3853)
Implementing Japanese input... CORE-11700
2021-07-28 23:24:09 +09:00
Katayama Hirofumi MZ
a71de262d3 [IMM32] Rewrite ImmSetStatusWindowPos (#3852)
Implementing Japanese input... CORE-11700
2021-07-28 23:23:09 +09:00
Timo Kreuzer
da2a5673e7 [CRT] Fix _matherror and _setusermatherror
We previously used 2 different versions: one from wine and one from mingw-w64.
The former was used in msvcrt, the latter was statically compiled into the executable. When using MS libs, there is only one _matherr, which is statically linked into the executable and does nothing (it's not really a function for users to be called).
_setusermatherror should only exist in msvcrt and not statically, which wouldn't work at all.
2021-07-27 22:08:58 +02:00
Timo Kreuzer
486a4d93ed [CRT] Define NULL in crtdefs.h 2021-07-27 22:08:58 +02:00
Jérôme Gardou
ce65553eaa [NTOS:MM] Annotate some functions with regards to MmPfnLock
Also fix MI_ASSERT_PFN_LOCK_HELD macro.
Now in debug builds, SpinLocks are always non-zero when held.
2021-07-27 15:36:55 +02:00
Jérôme Gardou
6150dc994a [NTOS:MM] Always release PFN lock in MmDereferenceSegmentWithLock
All callers release it after calling it.
CORE-17698
2021-07-27 15:36:55 +02:00
Timo Kreuzer
ecf3416f49 [VIDEOPRT] Fix updating of new registry path values
CORE-17688
When a new driver is installed for the same device (like VBoxVideo), it uses the same hardware enum registry key and thus reuses the same DisplayId and the same display registry key. Therefore we need to update the setting in that key, even when the key already exists.

This seems to work good and not cause any issues, but testing indicated that on Windows some values are only updated, when the driver has changed. If neccessary, this can be achieved by updating and querying the ActiveService value in the device enum key (e.g. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI\VEN_80EE&DEV_BEEF&SUSYS_00000000&REV_00\3&267a616a&0&10\Control: ActiveService). If that doesn't match the current device name (from DriverExtension->RegistryPath) the values should be copied over.
2021-07-27 14:44:14 +02:00
Timo Kreuzer
204626f793 [WIN32K] Fix uninitialized variable 2021-07-27 14:44:14 +02:00
Timo Kreuzer
f1e2c6cbd0 [CRT/arm] Update file headers to new format and change license to MIT
* Add Raman Masanin to copyrights
* Add some comments
* Return long long from __rt_sdiv (no functional difference, just for clarity)
2021-07-27 14:42:55 +02:00
Serge Gautherie
9a42267b06 [CPPRT] arm: Add 2 'MSVCRTEX_eh_vector_*structor_iterator' aliases
CORE-17606
2021-07-26 09:58:20 +03:00
George Bișoc
e2a8585edc [NTOS:SE] Remove redundant commented call on token duplication
When duplicating an access token, the authentication ID is already copied from the existing token to the new one anyway so there's no point on having the commented call still left in the code.
2021-07-25 18:02:32 +02:00
Stanislav Motylkov
a1ebce3aac [DRWTSN32] Fix Clang build. Addendum to bdab437f.
Also use a macro for better code readability.

Co-authored-by: Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
2021-07-25 18:14:23 +03:00
Stanislav Motylkov
bdab437fa4 [DRWTSN32] Recognize STATUS_ASSERTION_FAILURE as exception number 2021-07-25 15:32:08 +03:00
Katayama Hirofumi MZ
ecb0c0963d [IMM32] Imm(Lock|Unlock)ImeDpi and ImmSetOpenStatus (#3830)
- Add IMEDPI structure to ntuser.h.
- Implement ImmLockImeDpi/ImmUnlockImeDpi functions.
- Rewrite ImmSetOpenStatus function.
- Modify some NTUSER function prototypes.
- Modify imm32.spec.
CORE-11700
2021-07-25 11:57:57 +09:00
Katayama Hirofumi MZ
97847f2078 [IMM32] Improve ImmGetImeInfoEx (#3833)
- Rewrite ImmGetImeInfoEx function.
- Implement CtfImmIsTextFrameServiceDisabled function.
- Modify imm32.spec.
CORE-11700
2021-07-25 11:56:17 +09:00
Katayama Hirofumi MZ
5afc324359 [IMM32] Improve ImmUnlockClientImc and Imm32HeapAlloc (#3834)
- Fix Imm32HeapAlloc function.
- Fix ImmUnlockClientImc function.
CORE-11700
2021-07-25 11:55:03 +09:00
Roman Masanin
f2bc1f0e11 __rt_div fixes for arm (#3843)
[CRT/arm] Fix __rt_udiv and __rt_sdiv
2021-07-24 20:23:58 +02:00
Joachim Henze
c30b1fe893 [SHELL32] Update de-DE.rc in IDD_BROWSE_FOR_FOLDER_NEW
More space for the german text in that button.
Correct the keyboard accelerator.
2021-07-24 15:11:54 +02:00
Mark Jansen
61e7ea5be5 [SHELLUTILS] Fix FAILED_UNEXPECTEDLY macro evaluating twice 2021-07-23 22:10:36 +02:00
Mark Jansen
d039653959 [SHELL32] CDefView: Respect item attributes 2021-07-23 22:10:36 +02:00
Mark Jansen
91e63ee0b5 [FONTEXT] Cache attributes, handle sorting 2021-07-23 22:10:30 +02:00
Timo Kreuzer
cb9b538725 [CMAKE] Turn all warnings into errors on MSVC x86 2021-07-23 22:03:48 +02:00
Timo Kreuzer
41bc57ddf0 [REACTOS] Silence warnings in 3r-party code 2021-07-23 22:03:48 +02:00
Timo Kreuzer
5d8e834897 [REACTOS] Fix a number of MSVC warnings 2021-07-23 22:03:48 +02:00
Timo Kreuzer
b1c6c91d1f [USETUP] Fix invalid use of character count instead of byte count 2021-07-23 22:03:48 +02:00
Timo Kreuzer
a3763c61dc [PSDK][NDK] Use hex to define MIN/MAX constants like in native SDK
This fixes use of unary minus operator on unsigned type warning.
2021-07-23 22:03:48 +02:00
Jérôme Gardou
2289deb849 [KMTESTS:NTOS_IO] Fix check of spinlocks in case of checked builds
Down back to zero failures
2021-07-23 17:40:57 +02:00
Joachim Henze
59e1b7848b [EVENTVWR] Update other languages RCs also CORE-17699
Use a capital letter for the /L parameter
because the Shells default font in the
help dialog makes a small L look like a small I.
MS also often does use that trick
to differentiate.
2021-07-23 01:37:17 +02:00
Joachim Henze
95f64a200f [EVENTVWR] Update de-DE.rc CORE-17699 2021-07-23 01:23:36 +02:00
Timo Kreuzer
7100a24fc3 [CRT] Remove checkstk_ms from build (it was unused) 2021-07-20 23:13:03 +02:00
Timo Kreuzer
8c4aff39a8 [CRT] Refactor CMake files 2021-07-20 23:13:03 +02:00
Timo Kreuzer
3e1454c739 [HAL/APIC] Make the real time clock more precise
The interval time is now calculated in 0.1ns precision and a running fraction on the 100ns interval is updated on each clock interrupt.
Also adjust minimum, maximum and default clock rate to what Windows uses.
2021-07-19 23:05:03 +02:00
Timo Kreuzer
aa3ef4c632 [HAL/APIC] Fix clock initialization
Previously we enabled the timer interrupt, before the kernel was notified of our time increment, so when a clock interrupt happened, it would increment the tick count, but add 0 to the system time, resulting in an invalid state, in which timers would be inserted into the wrong timer table slot. Fixes CORE-16253
2021-07-19 23:05:03 +02:00
Timo Kreuzer
aedb97df47 [HAL/APIC] Use APIC_CLOCK_VECTOR everywhere, instead of keeping separate definitions 2021-07-19 23:05:03 +02:00
Joachim Henze
a559d830b5 [BOOTDATA] Update readme.txt
Consistency regarding URLs:
- some URLs had the trailing slash, some had not
- moving all URLs to EOL makes it more convenient to copy-paste them
2021-07-19 01:05:00 +02:00
Joachim Henze
6e177edbad [FONTEXT] Add de-DE translation CORE-17692 2021-07-19 00:33:39 +02:00
Joachim Henze
7b98717c6a [FONTEXT] Improve it-IT.rc comments
addendum to (#831)
2021-07-18 23:56:31 +02:00
Joachim Henze
1078340f5c [SYSSETUP] Update de-DE.rc
The buttons name on the last dialog of 2nd stage
is "Fertig" and not "Beenden".
So make the help-texts consistent with that.
2021-07-18 17:51:44 +02:00
Jose Carlos Jesus
e4bfe8f78b [EVENTVWR] Add a context menu to TreeView items. (#3828)
Same as in Windows XP/2003.
+ Specify a default extension when opening or saving an event-log file.
2021-07-17 19:26:48 +02:00
Eric Kohl
4cae349811 [ADVAPI32][SERVICES] Use the context handle to encrypt and decrypt service passwords 2021-07-17 16:26:16 +02:00
Katayama Hirofumi MZ
3965c93732 [IMM32] Rewrite ImmGetStatusWindowPos (#3824)
Rewrite ImmGetStatusWindowPos function. CORE-11700
2021-07-16 07:30:55 +09:00
Katayama Hirofumi MZ
0966e32146 [IMM32] Rewrite ImmGetCandidateWindow (#3823)
Rewrite ImmGetCandidateWindow function. CORE-11700
2021-07-16 03:04:00 +09:00
Hervé Poussineau
ad370238d7 [NTOS:PS] Support using QUOTA_LIMITS_EX in NtSetInformationProcess(ProcessQuotaLimits)
Both QUOTA_LIMITS and QUOTA_LIMITS_EX are already supported in PspSetQuotaLimits,
but this was broken by a330b56787
2021-07-15 19:33:45 +02:00
George Bișoc
32a45ce15c [KMTESTS:SE] Implement initial logon session tests
This implements tests for SeMarkLogonSessionForTerminationNotification exported routine so far.
2021-07-15 19:31:46 +02:00
George Bișoc
506cee3219 [NTOS:SE] Implement logon session termination notification
Note to SELF and EVERYONE: the commit implements the initial logon session termination notification implementation, the SeMarkLogonSessionForTerminationNotification function, but as it currently stands there are several other tasks to be addressed in the future in order for the logon termination notification to be fully completed. The tasks as of which are.

1. Our SepRmDereferenceLogonSession is not fully implemented, as it doesn't inform the LSA and filesystems of logon deletion notification
2. Implement two worker routines that are actually in charge of such tasks of informing LSA and FSDs
3. Perform logon deletion
4. Do further investigations and check whatever that is left to address, if any
2021-07-15 19:31:46 +02:00
Doug Lyons
34d5d1dbd4 [DDRAW] ddraw.c ddraw7_FlipToGDISurface() to Wine-6.8 (#3827) CORE-15128
fixes CORE-15128 "Fall 0.1.3, black controls all over the desktop after exiting the game"
which regressed by 0.4.9-dev-155-g 9987f02917
(the sync to Wine Staging 3.3)

the patch on top of 0.4.15-dev-2923-g2210d23:
KVM: https://reactos.org/testman/compare.php?ids=78290,78295 LGTM
VBox: https://reactos.org/testman/compare.php?ids=78291,78294 LGTM
2021-07-15 19:04:46 +02:00
Eric Kohl
228dab60da [SAMSRV] SamrQueryInformationDomain: Older functions should call new functions 2021-07-15 17:25:06 +02:00
Katayama Hirofumi MZ
b06b628f30 [IMM32] Rewrite ImmGetIMEFileNameA/W (#3822)
- Rewrite ImmGetIMEFileNameA and ImmGetIMEFileNameW functions. CORE-11700
2021-07-15 23:01:50 +09:00
Katayama Hirofumi MZ
3714ee269b [IMM32] Rewrite ImmGetDefaultIMEWnd (#3821)
- Rewrite ImmGetDefaultIMEWnd function.
- Add g_dwImm32Flags global variable.
- Add Imm32QueryWindow helper function.
- Implement CtfImmIsCiceroEnabled function.
- Modify imm32.spec.
CORE-11700
2021-07-15 21:59:53 +09:00
Timo Kreuzer
77e891b8ab [WIN32K] Check if a graphics device already exists before trying to add it
This avoids DPRINTs alleging a failure to open a device.
Also improve another DPRINT.
2021-07-15 08:32:46 +02:00
Timo Kreuzer
39d8a822d2 [WIN32K] Fix detection of multiple display devices on VBox 2021-07-15 08:32:46 +02:00
Eric Kohl
2210d23fc7 [NETAPI32] Return the old values for NetGetJoinInformation() to fix Chrome Installer regression
Should fix CORE-17679
2021-07-14 15:22:17 +02:00
Katayama Hirofumi MZ
5a9c77b3be [IMM32_APITEST] Add clientimc testcase (#3815)
- Add clientimc testcase to imm32_apitest.
- Add "precomp.h".
CORE-11700
2021-07-14 01:19:35 +09:00
Katayama Hirofumi MZ
192981a1fe [IMM32] Rewrite ImmGetCompositionWindow (#3820)
Rewrite ImmGetCompositionWindow function. CORE-11700
2021-07-13 21:13:39 +09:00
Katayama Hirofumi MZ
1558e6d0b3 [IMM32] Rewrite ImmGetCompositionFontA/W (#3813)
- Rewrite ImmGetCompositionFontA and ImmGetCompositionFontW functions.
- Add INIT_* macro definitions in <ddk/imm.h>.
CORE-11700
2021-07-13 20:51:28 +09:00
Katayama Hirofumi MZ
ee3b5b44c1 [IMM32] Rewrite ImmGetCandidateListCountA/W (#3812)
Implement ImmGetCandidateListCountA and ImmGetCandidateListCountW functions by using newly defined ImmGetCandidateListCountAW function. CORE-11700
2021-07-13 20:17:17 +09:00
Joachim Henze
a5365194f4 [COMCTL32] Listview: Only apply horizontal offset when setting header position CORE-17674
This imports
Wine commit d92906249f (diff-7f0ae6301b1f6ea1128640b76cd831308e24466f15399de6d5040557b79f0f16)
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Thanks to Doug Lyons who picked the fix for us from Wine 6.0

It fixes for us CORE-17674 "Corruption of the listview header"
which regressed by 0.4.14-dev-150-g 00f14ee1f2
when we synced to Wine Staging 4.18

Testbot results of the patch:
KVM https://reactos.org/testman/compare.php?ids=78225,78270 LGTM
VBox https://reactos.org/testman/compare.php?ids=78226,78271 LGTM

I intend to port this back into 0.4.14RC94 also, so no official reactos release
will ever be affected by it.
2021-07-13 07:38:45 +02:00
Hervé Poussineau
a6005299c6 [DESK] Only try to restart graphic device after installation
If it fails, require a reboot.

CORE-17675
2021-07-12 23:51:39 +02:00
Timo Kreuzer
a9a22aeffe [GITHUB] Add MSVC Release builder 2021-07-11 21:45:29 +02:00
Timo Kreuzer
aea4cfba55 [CRT] Add some missing #pragma function 2021-07-11 21:45:29 +02:00
Timo Kreuzer
db41787951 [CRT] Fix handling of intrinsics and inline functions 2021-07-11 21:45:29 +02:00
Timo Kreuzer
f4de12e9f4 [CMAKE] Don't turn C4101 (unreferenced local variable) into an error on release builds 2021-07-11 21:45:29 +02:00
Timo Kreuzer
47372e2ac9 [NTOS:MM] Fix MiSetSystemCodeProtection
CORE-16387 CORE-17638
Windows only makes the header RO for session space mapped drivers (win32k, dx and display drivers)
2021-07-11 21:43:07 +02:00
Eric Kohl
ccde294b24 [SAMSRV] Older functions should call newer functions 2021-07-11 12:54:28 +02:00
Katayama Hirofumi MZ
e2d8837986 [BROWSEUI] Multithreaded auto-completion (#3794)
- Make auto-completion multi-threaded.
CORE-9281
2021-07-11 13:00:00 +09:00
Katayama Hirofumi MZ
92393a7517 [IMM32] Add some candidate handlings (#3799)
- Implement ImmGetCandidateListA and ImmGetCandidateListW, by using newly added ImmGetCandidateListAW function.
- Implement ImmLockClientImc and ImmUnlockClientImc functions.
- Modify imm32.spec.
- Remove #ifdef's.
CORE-11700
2021-07-11 09:48:15 +09:00
Hervé Poussineau
8379c87b0b [VIDEOPRT] Write correct MaxObjectNumber to registry
VideoPortMaxObjectNumber variable will be updated later in the function, if everything went fine.
2021-07-10 19:03:37 +02:00
Timo Kreuzer
9e6b0b16e9 [GDI32_APITEST] Clean up loaded fonts 2021-07-10 18:41:12 +02:00
Timo Kreuzer
8a437ac528 [ROSTESTS] Skip some test on x64 2021-07-10 18:41:12 +02:00
Timo Kreuzer
699041b221 [NTDLL_WINETEST] Unhack exception test and include it in x64
This removes the use of a precompiled header, as it causes problems with different usages of NONAMELESSUNION, which had to be hacked already, but this is still causing problems with GCC x64. It's just not worth the hassle to keep reactos specific hacks to save a few ms of compile time.
2021-07-10 18:41:12 +02:00
Timo Kreuzer
a656d23deb [RPCRT4_WINETEST] Fix 64 bit build
"Should be sent to wine"(tm)
2021-07-10 18:41:12 +02:00
Hervé Poussineau
0f6b9664cd [WIN32K] HACK: create a DC on all display devices and display wallpaper 2021-07-10 16:27:44 +02:00
Timo Kreuzer
49c16e661a [VIDEOPRT] Do not attach secondary devices to the device stack
This fixes display on the primary screen.
2021-07-10 16:27:44 +02:00
Hervé Poussineau
e9b5b22a8c [VIDEOPRT] Implement VideoPortCreateSecondaryDisplay 2021-07-10 16:27:44 +02:00
Timo Kreuzer
545352c655 [VIDEOPRT] Fix adapter id 2021-07-10 16:27:44 +02:00
Timo Kreuzer
af314557c0 [VIDEOPRT] Use new registry path 2021-07-10 16:27:44 +02:00
Timo Kreuzer
066337dc84 [VIDEOPRT] Refactor device map key creation 2021-07-10 16:27:44 +02:00
Hervé Poussineau
c3da00c42c [DESK] Start video card after its installation + let win32k detect it 2021-07-10 16:27:44 +02:00
Hervé Poussineau
6739fb1bc3 [WIN32K] Move detection of available display devices a new fonction EngpUpdateGraphicsDeviceList
- rewrite InitVideo() to call this new function
- also call it at the start of UserEnumDisplayDevices, to detect new potential devices
2021-07-10 16:27:44 +02:00
Hervé Poussineau
b5966977ac [VBEMP] Remove too verbose log, when debug is enabled in videoprt 2021-07-10 16:27:44 +02:00
11685 changed files with 1128718 additions and 694687 deletions

19
.cursor/coding-style.json Normal file
View File

@@ -0,0 +1,19 @@
{
"indentation": {
"type": "spaces",
"size": 4
},
"lineLength": 100,
"braceStyle": "allman",
"namingConventions": {
"functions": {
"public": "PascalCase",
"private": "_PascalCase"
},
"variables": {
"local": "camelCase",
"global": "PascalCase",
"constants": "UPPER_CASE"
}
}
}

52
.cursor/editor.json Normal file
View File

@@ -0,0 +1,52 @@
{
"editor": {
"defaultFormatter": null
},
"[c,cpp]": {
"editor": {
"tabSize": 4,
"insertSpaces": true,
"detectIndentation": false,
"trimAutoWhitespace": true,
"formatOnSave": false,
"formatOnType": true,
"defaultFormatter": "clang-format",
"rulers": [100],
"wordWrap": "off"
}
},
"files": {
"associations": {
"*.c": "c",
"*.h": "c",
"*.cpp": "cpp",
"*.hpp": "cpp"
},
"encoding": "utf8",
"trimTrailingWhitespace": true,
"insertFinalNewline": true,
"exclude": {
"**/.git": true,
"compile_commands.json": true,
"output-*": true,
"modules/optional": true,
"modules/3rdparty": true,
"modules/bootcd_extras": true,
"modules/livecd_extras": true,
"modules/hybridcd_extras": true,
"modules/[Aa][Hh][Kk]_[Tt]ests": true,
".cache": true,
".cproject": true,
".DS_Store": true,
".project": true,
".settings": true,
".vscode": true,
"sdk/tools/winesync/winesync.cfg": true,
"**/build": true,
"**/obj": true,
"**/bin": true,
"**/*.o": true,
"**/*.obj": true
}
}
}

46
.cursor/settings.json Normal file
View File

@@ -0,0 +1,46 @@
{
"projectType": "reactos",
"language": {
"c": {
"standard": "c99",
"warnings": ["all", "error", "pedantic", "unused"],
"formatter": "clang-format",
"linter": "clang-tidy"
},
"cpp": {
"standard": "c++11",
"warnings": ["all", "error", "pedantic", "unused"],
"formatter": "clang-format",
"linter": "clang-tidy"
}
},
"codingStyle": "reactos",
"formatOnSave": false,
"lintOnSave": false,
"paths": {
"source": [
"base",
"boot",
"dll",
"drivers",
"hal",
"ntoskrnl",
"subsystems",
"win32ss"
],
"include": [
"sdk/include"
],
"docs": [
"**/*.md",
"media/doc/*.md",
"media/doc/*.txt"
],
"tests": [
"modules/rostests"
],
"build": [
"output-*"
]
}
}

3
.gitattributes vendored
View File

@@ -30,6 +30,9 @@
*.TXT text
*.y text
# Files with these extensions must always have LF (Unix) line endings.
*.sh text eol=lf
# Files with these extensions end up in the built ReactOS system, so they
# need to have CRLF line endings.
*.bat text eol=crlf

1
.github/FUNDING.yml vendored
View File

@@ -1,2 +1 @@
custom: ['https://reactos.org/donate/', 'https://www.paypal.me/ReactOS']
liberapay: ReactOS

56
.github/labeler.yml vendored
View File

@@ -1,12 +1,56 @@
# Labelling by the files touched
ATL:
- changed-files:
- any-glob-to-any-file:
- sdk/lib/atl/**
drivers:
- drivers/**
- sdk/lib/drivers/**
- any: ["win32ss/drivers/**", "!win32ss/drivers/font/**"]
- changed-files:
- any-glob-to-any-file:
- drivers/**
- sdk/lib/drivers/**
- all-globs-to-any-file:
- win32ss/drivers/**
- '!win32ss/drivers/font/**'
freeldr:
- boot/freeldr/**
- changed-files:
- any-glob-to-any-file:
- boot/freeldr/**
"kernel&hal":
- hal/**
- ntoskrnl/**
- changed-files:
- any-glob-to-any-file:
- hal/**
- ntoskrnl/**
ROSTESTS:
- changed-files:
- any-glob-to-any-file:
- modules/rostests/**
shell:
- changed-files:
- any-glob-to-any-file:
- base/shell/explorer/**
- base/shell/rshell/**
- dll/shellext/**
- dll/win32/browseui/**
- dll/win32/shell32/**
Win32SS:
- changed-files:
- any-glob-to-any-file:
- win32ss/**
"input method":
- changed-files:
- any-glob-to-any-file:
- base/applications/ctfmon/**
- dll/ime/**
- dll/win32/imm32/**
- dll/win32/msctf/**
- dll/win32/msutb/**
- win32ss/user/ntuser/ime.c
- win32ss/user/user32/misc/imm.c

View File

@@ -7,19 +7,26 @@ jobs:
matrix:
compiler: [gcc, clang]
arch: [i386, amd64]
config: [Debug, Release]
dllver: ['0x502', '0x600']
exclude:
- dllver: 0x600
compiler: clang
- dllver: 0x600
config: Release
fail-fast: false
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Get RosBE build specifics
id: get_rosbe_spec
run: |
gcc -march=native -Q --help=target | grep "\-march= " | awk '{print $NF}'
echo ::set-output name=march-sha::$(gcc -march=native -Q --help=target | sha1sum | awk '{print $1}')
echo ::set-output name=git-sha::$(git ls-remote https://github.com/zefklop/RosBE.git | grep unix_amd64 | awk '{print $1}')
echo march-sha=$(gcc -march=native -Q --help=target | sha1sum | awk '{print $1}') >> $GITHUB_OUTPUT
echo git-sha=$(git ls-remote https://github.com/zefklop/RosBE.git | grep unix_amd64 | awk '{print $1}') >> $GITHUB_OUTPUT
wget https://gist.githubusercontent.com/zefklop/b2d6a0b470c70183e93d5285a03f5899/raw/build_rosbe_ci.sh
- name: Get RosBE
id: get_rosbe
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: RosBE-CI
key: RosBE-CI-${{runner.os}}-${{steps.get_rosbe_spec.outputs.march-sha}}-${{steps.get_rosbe_spec.outputs.git-sha}}-${{hashfiles('./build_rosbe_ci.sh')}}
@@ -33,22 +40,22 @@ jobs:
- name: Install LLVM
if: ${{ matrix.compiler == 'clang' }}
run: |
export LLVM_VERSION=12
export LLVM_VERSION=13
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh $LLVM_VERSION
echo "D_CLANG_VERSION=-DCLANG_VERSION=$LLVM_VERSION" >> $GITHUB_ENV
- name: Source checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
path: src
- name: Set up cache for ccache
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: ccache
key: ccache-${{matrix.compiler}}-${{matrix.arch}}-${{github.sha}}
key: ccache-${{matrix.compiler}}-${{matrix.arch}}-${{matrix.config}}-${{matrix.dllver}}-${{github.sha}}
restore-keys: |
ccache-${{matrix.compiler}}-${{matrix.arch}}-
ccache-${{matrix.compiler}}-${{matrix.arch}}-${{matrix.config}}-${{matrix.dllver}}-
- name: Set ccache settings
run: |
echo "CCACHE_BASEDIR=${{github.workspace}}" >> $GITHUB_ENV
@@ -59,7 +66,7 @@ jobs:
if: ${{ matrix.compiler == 'gcc' }}
run: echo "CCACHE_COMPILERCHECK=string:${{steps.get_rosbe_spec.outputs.git-sha}}-${{hashfiles('./build_rosbe_ci.sh')}}" >> $GITHUB_ENV
- name: Configure
run: echo 'cmake -S ${{github.workspace}}/src -B ${{github.workspace}}/build -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-${{matrix.compiler}}.cmake -DARCH:STRING=${{matrix.arch}} -DENABLE_CCACHE=1 -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 ${{env.D_CLANG_VERSION}}' | ${{github.workspace}}/RosBE-CI/RosBE.sh . 0 ${{matrix.arch}}
run: echo 'cmake -S ${{github.workspace}}/src -B ${{github.workspace}}/build -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-${{matrix.compiler}}.cmake -DARCH:STRING=${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.config}} -DDLL_EXPORT_VERSION=${{matrix.dllver}} -DENABLE_CCACHE=1 -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 ${{env.D_CLANG_VERSION}}' | ${{github.workspace}}/RosBE-CI/RosBE.sh . 0 ${{matrix.arch}}
- name: Build
run: echo 'cmake --build ${{github.workspace}}/build -- -k0' | ${{github.workspace}}/RosBE-CI/RosBE.sh . 0 ${{matrix.arch}}
- name: Generate ISOs
@@ -67,9 +74,9 @@ jobs:
- name: Print ccache statistics
run: ccache -s
- name: Upload ISOs
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: reactos-${{matrix.compiler}}-${{matrix.arch}}-${{github.sha}}
name: reactos-${{matrix.compiler}}-${{matrix.arch}}-${{matrix.config}}-${{matrix.dllver}}-${{github.sha}}
path: |
build/bootcd.iso
build/livecd.iso
@@ -77,13 +84,18 @@ jobs:
build-msvc:
strategy:
matrix:
os: [windows-latest]
toolset: ['14','14.2'] # VS 2022, and 2019 (see below)
arch: [i386, amd64]
toolset: ['14.2', '14.1'] # VS 2019, 2017
include:
- arch: i386 # Not compiling on amd64 prompt
toolset: '14.0' # VS 2015
config: [Debug, Release]
dllver: ['0x502', '0x600']
exclude: # Build NT6 ISOs only with the latest toolset when compiled as a debug build
- dllver: 0x600
toolset: 14.2
- dllver: 0x600
config: Release
fail-fast: false
runs-on: windows-latest
runs-on: ${{matrix.os}}
steps:
- name: Install ninja
run: choco install -y ninja
@@ -107,33 +119,35 @@ jobs:
arch: amd64
toolset: ${{matrix.toolset}}
- name: Source checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
path: src
- name: Configure
run: cmake -S src -B build -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=${{matrix.arch}} -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1
run: cmake -S src -B build -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.config}} -DDLL_EXPORT_VERSION=${{matrix.dllver}} -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1
- name: Build
run: cmake --build build -- -k0
run: cmake --build build -- -k0
- name: Generate ISOs
run: cmake --build build --target bootcd --target livecd
- name: Upload ISOs
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: reactos-msvc${{matrix.toolset}}-${{matrix.arch}}-${{github.sha}}
name: reactos-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{matrix.dllver}}-${{github.sha}}
path: |
build/bootcd.iso
build/livecd.iso
- name: Upload debug symbols
uses: actions/upload-artifact@v2
if: ${{ matrix.config == 'Debug' }}
uses: actions/upload-artifact@v4
with:
name: reactos-syms-msvc${{matrix.toolset}}-${{matrix.arch}}-${{github.sha}}
name: reactos-syms-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{matrix.dllver}}-${{github.sha}}
path: build/msvc_pdb
build-msvc-arm:
strategy:
matrix:
arch: [arm]
toolset: ['14.2', '14.1'] # VS 2019, 2017
toolset: ['14','14.2'] # VS 2022, 2019
arch: [arm, arm64]
config: [Debug, Release]
fail-fast: false
runs-on: windows-latest
steps:
@@ -147,37 +161,82 @@ jobs:
echo "BISON_PKGDATADIR=${{github.workspace}}\bin\share\bison" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "M4=${{github.workspace}}\bin\m4.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: Activate VS cmd (arm)
if: ${{ matrix.arch == 'arm' }}
uses: ilammy/msvc-dev-cmd@v1
with:
arch: x86_arm
arch: amd64_arm
sdk: 10.0.22621.0 # Windows SDK 10.0.26100.0 dropped support for 32-bit ARM
toolset: ${{matrix.toolset}}
- name: Activate VS cmd (arm64)
if: ${{ matrix.arch == 'arm64' }}
uses: ilammy/msvc-dev-cmd@v1
with:
arch: amd64_arm64
toolset: ${{matrix.toolset}}
- name: Source checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
path: src
- name: Configure
run: cmake -S src -B build -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=${{matrix.arch}} -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1
- name: Build rapps
run: cmake --build build --target rapps
run: cmake -S src -B build -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.config}} -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1
- name: Build base module
if: ${{ matrix.arch == 'arm' }}
run: cmake --build build --target base/all
- name: Build control panel applets
if: ${{ matrix.arch == 'arm' }}
run: cmake --build build --target dll/cpl/all
- name: Build rosapps
if: ${{ matrix.arch == 'arm' }}
run: cmake --build build --target modules/rosapps/all
- name: Build subsystems
if: ${{ matrix.arch == 'arm' }}
run: cmake --build build --target subsystems/all
- name: Build some applications (arm64)
if: ${{ matrix.arch == 'arm64' }}
run: cmake --build build --target calc magnify mstsc notepad osk regedit taskmgr winmine wordpad base/applications/screensavers/all -- -k0
- name: Upload compiled binaries
uses: actions/upload-artifact@v4
with:
name: reactos-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
path: |
build/base
build/dll/cpl
build/modules/rosapps
build/subsystems
!**/CMakeFiles
!**/cmake_install.cmake
!**/*.asm
!**/*.bin
!**/*.c
!**/*.def
!**/*.exp
!**/*.h
!**/*.lib
!**/*.mc
!**/*.obj
!**/*.rc
!**/*.tlb
- name: Upload debug symbols
if: ${{ matrix.config == 'Debug' }}
uses: actions/upload-artifact@v4
with:
name: reactos-syms-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
path: build/msvc_pdb
# FIXME: Does not boot on toolset 14.1, 14.3+ is untested
build-clang-cl:
strategy:
matrix:
arch: [i386, amd64]
config: [Debug, Release]
fail-fast: false
runs-on: windows-latest
steps:
- name: Install ninja
run: choco install -y ninja
- name: Install LLVM (x86)
if: ${{ matrix.arch == 'i386' }}
- name: Install LLVM
run: |
choco install --x86 -y llvm
echo "LLVM_PATH=${env:PROGRAMFILES(X86)}\llvm\bin" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: Install LLVM (amd64)
if: ${{ matrix.arch == 'amd64' }}
run: |
choco install -y llvm
choco install -y --allow-downgrade llvm --version 13.0.1
echo "LLVM_PATH=${env:PROGRAMFILES}\llvm\bin" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: Install Flex & Bison
run: |
@@ -191,36 +250,37 @@ jobs:
uses: ilammy/msvc-dev-cmd@v1
with:
arch: amd64_x86
toolset: '14.1' # latest masm build known to make bootable builds
toolset: '14'
- name: Activate VS cmd (amd64)
if: ${{ matrix.arch == 'amd64' }}
uses: ilammy/msvc-dev-cmd@v1
with:
arch: amd64
toolset: '14.1' # latest masm build known to make bootable builds
toolset: '14'
- name: Add LLVM to PATH
run: echo "${env:LLVM_PATH}" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Source checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
path: src
- name: Configure
run: cmake -S src -B build -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=${{matrix.arch}} -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 -DUSE_CLANG_CL:BOOL=TRUE
run: cmake -S src -B build -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.config}} -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 -DUSE_CLANG_CL:BOOL=TRUE
- name: Build
run: cmake --build build -- -k0
- name: Generate ISOs
run: cmake --build build --target bootcd --target livecd
- name: Upload ISOs
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: reactos-clang-cl-${{matrix.arch}}-${{github.sha}}
name: reactos-clang-cl-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
path: |
build/bootcd.iso
build/livecd.iso
- name: Upload debug symbols
uses: actions/upload-artifact@v2
if: ${{ matrix.config == 'Debug' }}
uses: actions/upload-artifact@v4
with:
name: reactos-syms-clang-cl-${{matrix.arch}}-${{github.sha}}
name: reactos-syms-clang-cl-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
path: build/msvc_pdb
build-msbuild-i386:
@@ -238,13 +298,13 @@ jobs:
uses: ilammy/msvc-dev-cmd@v1
with:
arch: amd64_x86
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
path: src
- name: Configure
run: |
mkdir build
cd build
cmake -G "Visual Studio 16 2019" -A Win32 -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=i386 -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 ${{github.workspace}}\src
cmake -G "Visual Studio 17 2022" -A Win32 -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=i386 -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 ${{github.workspace}}\src
- name: Build
run: cmake --build ${{github.workspace}}\build --target bootcd --target livecd

View File

@@ -6,6 +6,6 @@ jobs:
triage:
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v3
- uses: actions/labeler@v5
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
sync-labels: true

32
.github/workflows/stale.yml vendored Normal file
View File

@@ -0,0 +1,32 @@
# This workflow warns and then closes issues and PRs that have had no activity for a specified amount of time.
#
# You can adjust the behavior by modifying this file.
# For more information, see:
# https://github.com/actions/stale
name: Mark stale issues and pull requests
on:
schedule:
- cron: '43 0 * * *'
jobs:
stale:
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- uses: actions/stale@v9
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 120
days-before-issue-stale: -1
days-before-close: 14
days-before-issue-close: -1
exempt-all-assignees: true
exempt-draft-pr: true
stale-pr-message: 'This PR is stale because it received no updates in the last 4 months. Without removing the stale label, or commenting on this ticket it will be closed in 2 weeks.'
stale-issue-label: 'no-issue-activity'
stale-pr-label: 'no-pr-activity'
operations-per-run: 100

3
.gitignore vendored
View File

@@ -8,7 +8,10 @@ modules/3rdparty
modules/[Aa][Hh][Kk]_[Tt]ests
.cache
.cproject
.DS_Store
.project
.settings
.vscode
sdk/tools/winesync/winesync.cfg
.cursor/cache/
.cursor/logs/

View File

@@ -4,9 +4,9 @@
# [MODULE] A short but descriptive summary (#pr-num)
#
# A comprehensible description of WHY you did this work. Do not limit
# yourself here.
# The width of the description is arbitary, but it is a good idea to
# wrap the text by 72 chars.
# yourself here.
# The width of the description is arbitary, but it is a good idea to
# wrap the text by 72 chars.
#
# CORE-XXXX CIDXXXXX
# ----------------------
@@ -17,6 +17,6 @@
# * Description of a commit should explain WHY a change was made.
# * JIRA, Coverity ID references should be placed at the bottom row.
# * There must be a newline between summary, description and bug IDs.
# * GitHub Pull Request ID should be referenced in the summary in
# parens. If the resulting summary is longer than 70 chars it may
# * GitHub Pull Request ID should be referenced in the summary in
# parens. If the resulting summary is longer than 70 chars it may
# be placed last in the ID row to prevent hard wrapping on GitHub.

5
.gitpod.Dockerfile vendored
View File

@@ -1,5 +1,5 @@
FROM gitpod/workspace-full-vnc
USER gitpod
# Install custom tools, runtime, etc. using apt-get
@@ -14,8 +14,7 @@ RUN sudo apt-get -q update && \
sudo rm -rf /var/lib/apt/lists/*
RUN wget https://svn.reactos.org/amine/RosBEBinFull.tar.gz && \
sudo tar -xzf RosBEBinFull.tar.gz -C /usr/local && \
sudo mv /usr/local/RosBEBinFull /usr/local/RosBE && \
sudo tar -xzvf RosBEBinFull.tar.gz -C /usr/local --one-top-level=RosBE --strip-components 1 && \
rm -f RosBEBinFull.tar.gz
RUN echo 'export PATH=/usr/local/RosBE/i386/bin:$PATH' >> /home/gitpod/.profile

View File

@@ -30,7 +30,7 @@ set(CMAKE_CXX_STANDARD 11)
# check that the ARCH (target architecture) variable is defined
if(NOT ARCH)
message(FATAL_ERROR "Target architecture (ARCH) is not defined. Please, choose one of: i386, amd64, arm")
message(FATAL_ERROR "Target architecture (ARCH) is not defined. Please, choose one of: i386, amd64, arm, arm64")
endif()
# Now the ARCH variable will be in lowercase.
# It is needed because STREQUAL comparison
@@ -40,7 +40,7 @@ endif()
string(TOLOWER ${ARCH} ARCH)
# set possible values for cmake GUI
set_property(CACHE ARCH PROPERTY STRINGS "i386" "amd64" "arm")
set_property(CACHE ARCH PROPERTY STRINGS "i386" "amd64" "arm" "arm64")
# Alternative WinNT-compatible architecture string
if(ARCH STREQUAL "i386")
@@ -68,12 +68,16 @@ include(sdk/cmake/config.cmake)
# Compiler flags handling
include(sdk/cmake/compilerflags.cmake)
add_definitions(-D__REACTOS__)
add_definitions(
-D__REACTOS__
# swprintf without count argument is used in most of the codebase
-D_CRT_NON_CONFORMING_SWPRINTFS
)
# There doesn't seem to be a standard for __FILE__ being relative or absolute, so detect it at runtime.
file(RELATIVE_PATH _PATH_PREFIX ${REACTOS_BINARY_DIR} ${REACTOS_SOURCE_DIR})
if (GCC AND ((CMAKE_C_COMPILER_ID STREQUAL "GNU") AND (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "8.0.0")
OR ((CMAKE_C_COMPILER_ID STREQUAL "Clang") AND (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "10.0.0"))))
if (NOT MSVC AND ((CMAKE_C_COMPILER_ID STREQUAL "GNU") AND (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "8.0.0")
OR (CMAKE_C_COMPILER_ID STREQUAL "Clang") AND (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "10.0.0")))
# Thankfully, GCC has this
add_compile_options(-ffile-prefix-map=${REACTOS_SOURCE_DIR}=)
add_compile_options(-ffile-prefix-map=${_PATH_PREFIX}=)
@@ -136,24 +140,22 @@ if(NOT CMAKE_CROSSCOMPILING)
add_definitions(/D_X86_ /D__i386__ /DWIN32 /D_WINDOWS)
elseif(ARCH STREQUAL "amd64")
add_definitions(-D_AMD64_ -D__x86_64__ /DWIN32 -D_WINDOWS)
elseif(ARCH STREQUAL "arm")
add_definitions(-D__arm__)
elseif(ARCH STREQUAL "arm64")
add_definitions(-D__aarch64__)
endif()
if(MSVC_VERSION GREATER 1699)
add_definitions(/D_ALLOW_KEYWORD_MACROS)
endif()
if(NOT USE_CLANG_CL)
# FIXME: Inspect
add_definitions(/Dinline=__inline)
endif()
endif()
add_subdirectory(sdk/include/host)
if(NOT MSVC)
add_subdirectory(dll/win32/dbghelp)
endif()
add_subdirectory(dll/win32/dbghelp)
add_subdirectory(sdk/tools)
add_subdirectory(sdk/lib)
set(NATIVE_TARGETS bin2c widl gendib cabman fatten hpp isohybrid mkhive mkisofs obj2bin spec2def geninc mkshelllink utf16le xml2sdb)
set(NATIVE_TARGETS asmpp bin2c widl gendib cabman fatten hpp isohybrid mkhive mkisofs obj2bin spec2def geninc mkshelllink utf16le xml2sdb)
if(NOT MSVC)
list(APPEND NATIVE_TARGETS rsym pefixup)
endif()
@@ -217,19 +219,11 @@ Enable this if the module uses typeid or dynamic_cast. You will probably need to
add_definitions(-DDBG=0)
endif()
if(KDBG)
add_definitions(-DKDBG)
endif()
if(_WINKD_)
add_definitions(-D_WINKD_)
endif()
if(ENABLE_CCACHE)
message(WARNING "-- Disabling precompiled headers support (ccache).")
option(PCH "Whether to use precompiled headers" OFF)
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
elseif(GCC)
elseif(CMAKE_C_COMPILER_ID STREQUAL "GNU")
message(WARNING "-- Disabling precompiled headers on GCC by default CORE-17108.")
option(PCH "Whether to use precompiled headers" OFF)
else()
@@ -242,11 +236,15 @@ Enable this if the module uses typeid or dynamic_cast. You will probably need to
-D_WIN32_WINNT=0x502
-D_WIN32_WINDOWS=0x502
-D_SETUPAPI_VER=0x502
-DMINGW_HAS_SECURE_API=1)
-DMINGW_HAS_SECURE_API=1
-DD3D_UMD_INTERFACE_VERSION=0x000C # Vista
-DDXGKDDI_INTERFACE_VERSION=0x1052 # Vista
-DDLL_EXPORT_VERSION=${DLL_EXPORT_VERSION})
# Arch Options
if(ARCH STREQUAL "i386")
if(NOT USE_CLANG_CL)
# clang-cl defines this one for itself
if(NOT (MSVC AND CMAKE_C_COMPILER_ID STREQUAL "Clang"))
add_definitions(-D_M_IX86)
endif()
add_definitions(-D_X86_ -D__i386__ -Di386)
@@ -258,7 +256,7 @@ Enable this if the module uses typeid or dynamic_cast. You will probably need to
elseif(ARCH STREQUAL "amd64")
# clang-cl defines this one for itself
if (NOT (MSVC AND CMAKE_C_COMPILER_ID STREQUAL "Clang"))
add_compile_definitions(_M_AMD64)
add_compile_definitions(_M_AMD64 _M_X64)
endif()
add_definitions(-D_AMD64_ -D__x86_64__ -D_WIN64)
elseif(ARCH STREQUAL "arm")
@@ -267,6 +265,9 @@ Enable this if the module uses typeid or dynamic_cast. You will probably need to
if(SARCH STREQUAL "omap3-zoom2")
add_definitions(-D_ZOOM2_)
endif()
elseif(ARCH STREQUAL "arm64")
# GNU tools refer to arm64 as aarch64
add_definitions(-D_ARM64_ -D__arm64__ -D__aarch64__ -D_WIN64)
endif()
# Other
@@ -277,6 +278,8 @@ Enable this if the module uses typeid or dynamic_cast. You will probably need to
add_compile_definitions(USE_COMPILER_EXCEPTIONS)
elseif(ARCH STREQUAL "arm")
add_compile_definitions(USE_COMPILER_EXCEPTIONS)
elseif(ARCH STREQUAL "arm64")
add_compile_definitions(USE_COMPILER_EXCEPTIONS)
endif()
# Activate support for assembly source files
@@ -313,6 +316,7 @@ Enable this if the module uses typeid or dynamic_cast. You will probably need to
sdk/include
sdk/include/psdk
sdk/include/dxsdk
sdk/include/winrt
${REACTOS_BINARY_DIR}/sdk/include
${REACTOS_BINARY_DIR}/sdk/include/psdk
${REACTOS_BINARY_DIR}/sdk/include/dxsdk
@@ -320,10 +324,12 @@ Enable this if the module uses typeid or dynamic_cast. You will probably need to
${REACTOS_BINARY_DIR}/sdk/include/reactos
${REACTOS_BINARY_DIR}/sdk/include/reactos/mc
sdk/include/crt
sdk/include/vcruntime
sdk/include/ddk
sdk/include/ndk
sdk/include/reactos
sdk/include/reactos/libs)
sdk/include/reactos/libs
sdk/lib/pseh/include)
if(ARCH STREQUAL "arm")
include_directories(${REACTOS_SOURCE_DIR}/sdk/include/reactos/arm)
@@ -339,14 +345,12 @@ Enable this if the module uses typeid or dynamic_cast. You will probably need to
add_subdirectory(sdk/include/reactos/mc)
add_subdirectory(sdk/include/asm)
if(NO_ROSSYM)
if(ARCH MATCHES "64$")
include(sdk/cmake/baseaddress64.cmake)
elseif(NO_ROSSYM)
include(sdk/cmake/baseaddress_dwarf.cmake)
elseif(MSVC)
if (ARCH STREQUAL "amd64")
include(sdk/cmake/baseaddress_msvc_x64.cmake)
else()
include(sdk/cmake/baseaddress_msvc.cmake)
endif()
include(sdk/cmake/baseaddress_msvc.cmake)
else()
include(sdk/cmake/baseaddress.cmake)
endif()

View File

@@ -39,7 +39,7 @@
## As responsible, he may refuse a local patch if you did not try to
## upstream your changes.
## If you want to get listed in that file, either put yourself in the
## If you want to get listed in this file, either put yourself in the
## file and push it, or open a pull request. You can also ask a person
## who has push access to add yourself.
@@ -96,7 +96,7 @@
# Apisets
# M: learn-more, learn_more, Mark Jansen
# S: Maintained
/dll/apisets/ @learn-more
/sdk/lib/apisets/ @learn-more
# Application Compatibility subystem
# M: learn-more, learn_more, Mark Jansen
@@ -121,8 +121,8 @@
# R: learn-more, learn_more, Mark Jansen
# R: ThFabba, Thomas Faber
# S: Maintained
/sdk/cmake/ @learn-more @ThFabba
*.cmake @learn-more @ThFabba
/sdk/cmake/
*.cmake
# File Patch API
# M: learn-more, learn_more, Mark Jansen
@@ -225,7 +225,7 @@
# R: learn-more, learn_more, Mark Jansen
# R: ThFabba, Thomas Faber
# S: Maintained
/modules/rostests/apitests/ @learn-more @ThFabba
/modules/rostests/apitests/
# ReactOS Kernel-Mode Tests
# M: ThFabba, Thomas Faber
@@ -246,6 +246,22 @@
# S: Maintained
/sdk/lib/rtl/ @HeisSpiter @learn-more @ThFabba @tkreuzer
# Security Manager
# M: GeoB99, George Bișoc
# S: Maintained
/modules/rostests/kmtests/ntos_se/ @GeoB99
/ntoskrnl/se/ @GeoB99
# Shell
# M:
# R: learn-more, learn_more, Mark Jansen
# R: yagoulas, Giannis Adamopoulos
# S: Maintained
/base/shell/explorer/ @learn-more @yagoulas
/base/shell/rshell/ @learn-more @yagoulas
/dll/win32/browseui/ @learn-more @yagoulas
/dll/win32/shell32/ @learn-more @yagoulas
# Shell Extensions
# M:
# R: learn-more, learn_more, Mark Jansen
@@ -266,10 +282,8 @@
/drivers/filesystems/btrfs/ @HeisSpiter
/drivers/filesystems/cdfs/ @HeisSpiter
/drivers/filesystems/ext2/ @HeisSpiter
/drivers/filesystems/fastfat_new/ @HeisSpiter
/drivers/filesystems/ffs/ @HeisSpiter
/drivers/filesystems/fastfat/ @HeisSpiter
/drivers/filesystems/nfs/ @HeisSpiter
/drivers/filesystems/reiserfs/ @HeisSpiter
/media/doc/README.FSD @HeisSpiter
/sdk/lib/fslib/btrfslib/ @HeisSpiter
/sdk/lib/fslib/ext2lib/ @HeisSpiter
@@ -345,4 +359,5 @@ ru-RU.* @reactos/lang-russian
tr-TR.* @reactos/lang-turkish
uk-UA.* @reactos/lang-ukrainian
zh-CN.* @reactos/lang-chinese
zh-HK.* @reactos/lang-chinese
zh-TW.* @reactos/lang-chinese

356
CODING_STYLE.md Normal file
View File

@@ -0,0 +1,356 @@
# Coding Style
This article describes general coding style guidelines, which should be used for new ReactOS code. These guidelines apply exclusively to C and C++ source files. The Members of ReactOS agreed on this document in the October 2013 meeting.
As much existing ReactOS code as possible should be converted to this style unless there are reasons against doing this (like if the code is going to be rewritten from scratch in the near future). See [Notes on reformatting existing code](#notes-on-reformatting-existing-code) for more details.
Code synchronized with other sources (like Wine) must not be rewritten. [3rd Party Files.txt](https://github.com/reactos/reactos/blob/master/media/doc/3rd%20Party%20Files.txt) and [WINESYNC.txt](https://github.com/reactos/reactos/blob/master/media/doc/WINESYNC.txt) files can be used for tracking synchronized files.
## File Structure
1. Every ReactOS source code file should include a file header like this:
```
/*
* PROJECT: ReactOS Kernel
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Does cool things like Memory Management
* COPYRIGHT: Copyright 2017 Arno Nymous <abc@mailaddress.com>
* Copyright 2017 Mike Blablabla <mike@blabla.com>
*/
```
Please use SPDX license identifiers available at https://spdx.org/licenses.
This makes our source file parseable by licensing tools!
You should add yourself to the `COPYRIGHT` section of a file if you did a major contribution to it and could take responsibility for the whole file or a part of it. Not more than 3 people shall be in that list for each file.
`FILE` line of the old header should be removed.
2. [Doxygen](https://doxygen.reactos.org/) documentation generator is used for ReactOS codebase, so use a proper header for functions, see [API Documentation](https://reactos.org/wiki/Documentation_Guidelines#API_Documentation) for details.
## Indentation and line width
1. Line width must be at most **100 characters**.
2. Do not add a space or tab at the end of any line.
3. Indent with **4 spaces**, don't use tabs!
4. Indent both a case label and the case statement of a switch statement.
**Right:**
```c
switch (Condition)
{
case 1:
DoSomething();
break;
case 2:
{
DoMany();
ManyMore();
OtherThings();
break;
}
}
```
**Wrong:**
```c
switch(Condition)
{
case 1:
DoSomething();
break;
case 2:
DoMany();
ManyMore();
OtherThings();
break;
}
```
5. When a function call does not fit onto a line, align arguments like this:
```c
FunctionCall(arg1,
arg2,
arg3);
```
6. Function headers should have this format (preserving the order as in the example):
```c
static // scope identifier
CODE_SEG("PAGE") // section placement
// other attributes
BOOLEAN // return type
FASTCALL // calling convention
IsOdd(
_In_ UINT32 Number);
```
## Spacing
1. Do not use spaces around unary operators.
**Right:** `i++;`
**Wrong:** `i ++;`
2. Place spaces around binary and ternary operators.
**Right:** `a = b + c;`
**Wrong:** `a=b+c;`
3. Do not place spaces before comma and semicolon.
**Right:**
```c
for (int i = 0; i < 5; i++)
DoSomething();
func1(a, b);
```
**Wrong:**
```c
for (int i = 0; i < 5 ; i++)
DoSomething();
func1(a , b) ;
```
4. Place spaces between control statements and their parentheses.
**Right:**
```c
if (Condition)
DoSomething();
```
**Wrong:**
```c
if(Condition)
DoSomething();
```
5. Do not place spaces between a function and its parentheses, or between a parenthesis and its content.
**Right:**
```c
func(a, b);
```
**Wrong:**
```c
func (a, b);
func( a, b );
```
## Line breaking
1. Each statement should get its own line.
**Right:**
```c
x++;
y++;
if (Condition)
DoSomething();
```
**Wrong:**
```c
x++; y++;
if (Condition) DoSomething();
```
## Braces
1. Always put braces (`{` and `}`) on their own lines.
2. One-line control clauses may use braces, but this is not a requirement. An exception are one-line control clauses including additional comments.
**Right:**
```c
if (Condition)
DoSomething();
if (Condition)
{
DoSomething();
}
if (Condition)
{
// This is a comment
DoSomething();
}
if (A_Very || (Very && Long || Condition) &&
On_Many && Lines)
{
DoSomething();
}
if (Condition)
DoSomething();
else
DoSomethingElse();
if (Condition)
{
DoSomething();
}
else
{
DoSomethingElse();
YetAnother();
}
```
**Wrong:**
```c
if (Condition) {
DoSomething();
}
if (Condition)
// This is a comment
DoSomething();
if (A_Very || (Very && Long || Condition) &&
On_Many && Lines)
DoSomething();
if (Condition)
DoSomething();
else {
DoSomethingElse();
YetAnother();
}
```
## Control structures
1. Don't use inverse logic in control clauses.
**Right:** `if (i == 1)`
**Wrong:** `if (1 == i)`
2. Avoid too many levels of cascaded control structures. Prefer a "linear style" over a "tree style". Use `goto` when it helps to make the code cleaner (e.g. for cleanup paths).
**Right:**
```c
if (!func1())
return;
i = func2();
if (i == 0)
return;
j = func3();
if (j == 1)
return;
...
```
**Wrong:**
```c
if (func1())
{
i = func2();
if (func2())
{
j = func3();
if (func3())
{
...
}
}
}
```
## Naming
1. Capitalize names of variables and functions. Hungarian Notation may be used when developing for Win32, but it is not required. If you don't use it, the first letter of a name must be a capital too (no lowerCamelCase). Do not use underscores as separators either.
**Right:**
```c
PLIST_ENTRY FirstEntry;
VOID NTAPI IopDeleteIoCompletion(PVOID ObjectBody);
PWSTR pwszTest;
```
**Wrong:**
```c
PLIST_ENTRY first_entry;
VOID NTAPI iop_delete_io_completion(PVOID objectBody);
PWSTR pwsztest;
```
2. Avoid abbreviating function and variable names, use descriptive verbs where possible.
3. Precede boolean values with meaningful verbs like "is" and "did" if possible and if it fits the usage.
**Right:**
```c
BOOLEAN IsValid;
BOOLEAN DidSendData;
```
**Wrong:**
```c
BOOLEAN Valid;
BOOLEAN SentData;
```
## Commenting
1. Avoid line-wasting comments, which could fit into a single line.
**Right:**
```c
// This is a one-line comment
/* This is a C-style comment */
// This is a comment over multiple lines.
// We don't define any strict rules for it.
```
**Wrong:**
```c
//
// This comment wastes two lines
//
```
## Null, false and 0
1. The null pointer should be written as `NULL`. In the rare case that your environment recommends a different null pointer (e.g. C++11 `nullptr`), you may use this one of course. Just don't use the value `0`.
2. Win32/NT Boolean values should be written as `TRUE` and `FALSE`. In the rare case that you use C/C++ `bool` variables, you should write them as `true` and `false`.
3. When you need to terminate ANSI or OEM string, or check for its terminator, use `ANSI_NULL`. If the string is Unicode or Wide string, use `UNICODE_NULL`.
## Notes on reformatting existing code
- Never totally reformat a file and put a code change into it. Do this in separate commits.
- If a commit only consists of formatting changes, say this clearly in the commit message by preceding it with *[FORMATTING]*.
## Other points
- Do not use `LARGE_INTEGER`/`ULARGE_INTEGER` unless needed for using APIs. Use `INT64`/`UINT64` instead
- Use `#pragma once` instead of guard defines in headers
- Don't specify a calling convention for a function unless required (usually for APIs or exported symbols)
## Using an automatic code style tool
TO BE ADDED BY User:Zefklop
## Points deliberately left out
Additional ideas were suggested during the discussion of this document, but a consensus couldn't be reached on them. Therefore we refrain from enforcing any rules on these points:
- TO BE ADDED BY User:Hbelusca
## See also
- [Kernel Coding Style](https://reactos.org/wiki/Kernel_Coding_Style)
- [GNU Indent](https://reactos.org/wiki/GNU_Indent)

View File

@@ -2,9 +2,9 @@
There are several ways to contribute to the development of ReactOS. The most often encountered problem is not knowing where to begin or what to do. If you are able to program or understand the technical information that is pertinent to this project, helping the development can be easy.
- [What To Do?](#what-to-do?)
- [How To Contribute?](#how-to-contribute?)
- [Where To Start?](#where-to-start?)
- [What To Do?](#what-to-do)
- [How To Contribute?](#how-to-contribute)
- [Where To Start?](#where-to-start)
**Legal notice:** If you have seen Microsoft Windows source code, your contribution won't be accepted because of potential copyright violation. Before contributing, you must affirm that the following is true:
>I hereby swear that I have not used nor seen the source code to any version of the Windows operating system
@@ -63,13 +63,19 @@ Our commit style is defined in a __[commit template]__. Use it as a reference or
### Rules and Recommendations
- *Use your __real name__ and __real email__.* We do not accept anonymous contributions!
- *Use your __real name__ and __real email__.* We do not accept anonymous code contributions!
- Every commit that changes code or translations should have author's full legal name (in latin letters, diacritics allowed).
- It's recommended to have the same full name set in GitHub profile (in the [Name field here][GitHub Profile Settings]) that matches one specified in commits.
- There is an exception for media changes, such as changes of art (wallpapers, themes, icons, sounds) and out-of-code documentation.
- In these specific cases it's allowed to use a nickname or alias as author's name, and it's recommended to have the same name set in GitHub profile (in the [Name field here][GitHub Profile Settings]) matching one specified in commits.
- In any case the author must use a real e-mail address, this includes git commits (`user.email` setting) and GitHub [e-mail settings][GitHub Email Settings] - the checkbox "Keep my email addresses private" must be unchecked there.
- In order to *keep your privacy*, select appropriate "Primary email address" that will be applied to your commits in GitHub [e-mail settings][GitHub Email Settings].
- *Ensure your contribution is properly described.* Include the relevant issue number if applicable.
- *Put only related changes.* It will make reviewing easier as the reviewer needs to recall less information about the existing source code that is changed.
- *Search for similar pull requests/patches before submitting.* It may be that a similar pull request or issue was opened previously. Comment and review on that one instead.
- *Keep your contribution small and focused on the topic.* It can be tempting to fix existing issues as you come across them while reading the source code. Resist the temptation and put in a note in the source code instead, or (even better) put the issue in the issue tracking system.
- *Respect our __[Coding Style]__ and __[Programming Guidelines]__.*
- *Do not be afraid to ask questions.* Ask our developers on JIRA or [IRC] channel.
- *Do not be afraid to ask questions.* Ask our developers in the [chat].
To amend your commit with your name and e-mail (in any case you've forgot to set your name/e-mail) please take a look at this [guide](https://reactos.org/wiki/ReactOS_Git_For_Dummies#Amending_your_commit_with_name.2FE-mail). To set your name/e-mail globally for future commits that you push, [read this](https://reactos.org/wiki/ReactOS_Git_For_Dummies#Assign_commits_with_your_name_.26_E-mail_automatically).
@@ -79,7 +85,7 @@ Finding a good project to start with can be a challenge, because when starting o
- Find a test that fails, and try to make it succeed: <https://reactos.org/testman/>
- Look around in JIRA, and if you have problems finding nice projects to start with, there is a label for this: <https://jira.reactos.org/issues/?jql=labels%20%3D%20starter-project>
- Ask for help on [IRC]
- Ask for help in the [chat]
- Additionally, there are some tests that cause crashes/hangs, but these might be slightly harder: <https://jira.reactos.org/browse/ROSTESTS-125>
[clean room reverse engineering]: https://en.wikipedia.org/wiki/Clean_room_design
@@ -90,12 +96,14 @@ Finding a good project to start with can be a challenge, because when starting o
[migration to GitHub]: https://reactos.org/project-news/reactos-repository-migrated-github/
[humans are terrible at tracking large amount of information]: https://www.eurekalert.org/pub_releases/2005-03/aps-hmc030805.php
[Pull requests]: https://help.github.com/articles/about-pull-requests/
[GitHub Profile Settings]: https://github.com/settings/profile
[GitHub Email Settings]: https://github.com/settings/emails
[tips for reviewing patches]: https://www.drupal.org/patch/review
[missing functionality]: https://reactos.org/wiki/Missing_ReactOS_Functionality
[patch]: https://git-scm.com/docs/git-format-patch
[Submitting Patches]: https://reactos.org/wiki/Submitting_Patches
[Coding Style]: https://reactos.org/wiki/Coding_Style
[IRC]: https://reactos.org/wiki/Connect_to_the_ReactOS_IRC_Channels
[chat]: https://reactos.org/wiki/Mattermost
[Programming Guidelines]: https://reactos.org/wiki/Programming_Guidelines
[3rd Party Files.txt]: /media/doc/3rd_Party_Files.txt
[README.WINE]: /media/doc/README.WINE

View File

@@ -1,12 +1,12 @@
Copyright 2008 ReactOS Portable Systems Group. All rights reserved.
Copyright 2008 ReactOS Portable Systems Group. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided
that the following conditions are met:
that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and
the following disclaimer.
the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions
and the following disclaimer in the documentation and/or other materials provided with the
distribution.
and the following disclaimer in the documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE REACTOS PORTABLE SYSTEMS GROUP ``AS IS'' AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND

View File

@@ -14,3 +14,17 @@ In addition, in order to avoid coming off as rude to helpful contributors, pleas
- Asking the contributor to do unrelated work
- Closing without providing a reason
- Merging with the intention to rewrite that code soon after
Before merging a PR, make sure it follows the [contributing rules](CONTRIBUTING.md#rules-and-recommendations), but more importantly:
- Make sure the author has specified a real e-mail in all PR commits
- If PR contains code or translations, make sure the author has not specified a nickname or alias, but a full legal name in all PR commits
- If PR contains media (wallpapers, themes, icons, sounds) or out-of-code documentation, make sure the author has specified the name or alias in all PR commits
- If PR contains mixed code with media changes, handle it as PR with code
- Important notes before using "Squash and merge" strategy on a PR:
- Make sure the author's name in GitHub profile matches one in commits. If this is not the case, ask the author to set it accordingly.
- If the author does not want to set the name in GitHub profile:
- "no squash merge" label needs to be added to a PR.
- Make sure every commit message is formatted correctly as in [.gitmessage](https://github.com/reactos/reactos/blob/master/.gitmessage).
- Finally in this case a PR has to be merged either using "Rebase and merge" strategy or manually.
- By pressing "Squash and merge" button in a PR you can make sure the author does not use no-reply e-mail -
under the commit message there will be a text label saying: `This commit will be authored by <address@email.com>`

View File

@@ -7,24 +7,18 @@
---
<p align=center>
<a href="https://reactos.org/project-news/reactos-0413-released/">
<img alt="ReactOS 0.4.13 Release" src="https://img.shields.io/badge/release-0.4.13-0688CB.svg">
</a>
<a href="https://reactos.org/project-news/reactos-0415-released/">
<img alt="ReactOS 0.4.15 Release" src="https://img.shields.io/badge/release-0.4.15-0688CB.svg"></a>
<a href="https://reactos.org/download/">
<img alt="Download ReactOS" src="https://img.shields.io/badge/download-latest-0688CB.svg">
</a>
<img alt="Download ReactOS" src="https://img.shields.io/badge/download-latest-0688CB.svg"></a>
<a href="https://sourceforge.net/projects/reactos/">
<img alt="SourceForge Download" src="https://img.shields.io/sourceforge/dm/reactos.svg?colorB=0688CB">
</a>
<img alt="SourceForge Download" src="https://img.shields.io/sourceforge/dm/reactos.svg?colorB=0688CB"></a>
<a href="https://github.com/reactos/reactos/blob/master/COPYING">
<img alt="License" src="https://img.shields.io/badge/license-GNU_GPL_2.0-0688CB.svg">
</a>
<img alt="License" src="https://img.shields.io/badge/license-GNU_GPL_2.0-0688CB.svg"></a>
<a href="https://reactos.org/donate/">
<img alt="Donate" src="https://img.shields.io/badge/%24-donate-E44E4A.svg">
</a>
<img alt="Donate" src="https://img.shields.io/badge/%24-donate-E44E4A.svg"></a>
<a href="https://twitter.com/reactos">
<img alt="Follow on Twitter" src="https://img.shields.io/twitter/follow/reactos.svg?style=social&label=Follow%20%40reactos">
</a>
<img alt="Follow on Twitter" src="https://img.shields.io/twitter/follow/reactos.svg?style=social&label=Follow%20%40reactos"></a>
</p>
## Quick Links
@@ -32,6 +26,7 @@
[Official chat](https://chat.reactos.org/) &bull;
[Wiki](https://reactos.org/wiki/) &bull;
[Forum](https://reactos.org/forum/) &bull;
[Community Discord](https://discord.gg/7knjvhT) &bull;
[JIRA Bug Tracker](https://jira.reactos.org/issues/) &bull;
[ReactOS Git mirror](https://git.reactos.org/) &bull;
[Testman](https://reactos.org/testman/)
@@ -55,7 +50,7 @@ The code of ReactOS is licensed under [GNU GPL 2.0](https://github.com/reactos/r
To build the system it is strongly advised to use the _ReactOS Build Environment (RosBE)._
Up-to-date versions for Windows and for Unix/GNU-Linux are available from our download page at: ["Build Environment"](https://reactos.org/wiki/Build_Environment).
Alternatively one can use Microsoft Visual C++ (MSVC) version 2015+. Building with MSVC is covered here: ["Visual Studio or Microsoft Visual C++"](https://reactos.org/wiki/CMake#Visual_Studio_or_Microsoft_Visual_C.2B.2B).
Alternatively one can use Microsoft Visual C++ (MSVC) version 2019+. Building with MSVC is covered here: ["Visual Studio or Microsoft Visual C++"](https://reactos.org/wiki/CMake#Visual_Studio_or_Microsoft_Visual_C.2B.2B).
See ["Building ReactOS"](https://reactos.org/wiki/Building_ReactOS) article for more details.
@@ -126,10 +121,10 @@ The main development is done on [GitHub](https://github.com/reactos/reactos). We
There is also an obsolete [SVN archive repository](https://svn.reactos.org/reactos/) that is kept for historical purposes.
[coverity.badge]: https://scan.coverity.com/projects/205/badge.svg?flat=1
[rosbewin.badge]: https://img.shields.io/badge/RosBE_Windows-2.2.0-0688CB.svg
[rosbeunix.badge]: https://img.shields.io/badge/RosBE_Unix-2.2-0688CB.svg
[rosbewin.badge]: https://img.shields.io/badge/RosBE_Windows-2.2.1-0688CB.svg
[rosbeunix.badge]: https://img.shields.io/badge/RosBE_Unix-2.2.1-0688CB.svg
[prwelcome.badge]: https://img.shields.io/badge/PR-welcome-0688CB.svg
[coverity.link]: https://scan.coverity.com/projects/205
[rosbewin.link]: https://sourceforge.net/projects/reactos/files/RosBE-Windows/i386/2.2.0/
[rosbeunix.link]: https://sourceforge.net/projects/reactos/files/RosBE-Unix/2.2/
[rosbewin.link]: https://sourceforge.net/projects/reactos/files/RosBE-Windows/i386/2.2.1/
[rosbeunix.link]: https://sourceforge.net/projects/reactos/files/RosBE-Unix/2.2.1/

View File

@@ -6,6 +6,7 @@ add_subdirectory(charmap)
add_subdirectory(clipbrd)
add_subdirectory(cmdutils)
add_subdirectory(control)
add_subdirectory(ctfmon)
add_subdirectory(drwtsn32)
add_subdirectory(dxdiag)
add_subdirectory(extrac32)
@@ -21,7 +22,7 @@ add_subdirectory(magnify)
add_subdirectory(mmc)
add_subdirectory(mplay32)
add_subdirectory(msconfig)
add_subdirectory(msconfig_new)
#add_subdirectory(msconfig_new) #excluded from the build because it is significantly more buggy than the old msconfig. see CORE-18067 for examples
add_subdirectory(mscutils)
add_subdirectory(mshta)
add_subdirectory(mspaint)
@@ -33,6 +34,7 @@ add_subdirectory(rapps)
add_subdirectory(rapps_com)
add_subdirectory(regedit)
add_subdirectory(regedt32)
add_subdirectory(runas)
add_subdirectory(sc)
add_subdirectory(screensavers)
add_subdirectory(sdbinst)

View File

@@ -35,4 +35,4 @@ typedef struct _SENDCMDINPARAMS {
ULONG dwReserved[4];
UCHAR bBuffer[1];
} SENDCMDINPARAMS, *PSENDCMDINPARAMS, *LPSENDCMDINPARAMS;
#include <poppack.h>
#include <poppack.h>

View File

@@ -60,6 +60,9 @@
#ifdef LANGUAGE_PT_BR
#include "lang/pt-BR.rc"
#endif
#ifdef LANGUAGE_PT_PT
#include "lang/pt-PT.rc"
#endif
#ifdef LANGUAGE_RO_RO
#include "lang/ro-RO.rc"
#endif
@@ -87,6 +90,9 @@
#ifdef LANGUAGE_ZH_CN
#include "lang/zh-CN.rc"
#endif
#ifdef LANGUAGE_ZH_HK
#include "lang/zh-HK.rc"
#endif
#ifdef LANGUAGE_ZH_TW
#include "lang/zh-TW.rc"
#endif

View File

@@ -1,4 +1,4 @@
/*
/*
* FILE: base/applications/cacls/lang/cs-CZ.rc
* TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com)
* UPDATED: 2008-02-29

View File

@@ -1,4 +1,4 @@
LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN
STRINGTABLE
BEGIN

View File

@@ -0,0 +1,74 @@
LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
IDS_HELP "Mostra ou modifica as listas de controle de acesso (ACLs) de ficheiros\n\n\
CACLS nome-ficheiro [/T] [/E] [/C] [/G utilizador:perm] [/R utilizador [...]]\n\
[/P utilizador:perm [...]] [/D utilizador [...]]\n\
nome-ficheiro Mostra ACLs.\n\
/T Altera ACLs de ficheiros especificados\n\
na pasta actual e em todas as subpastas.\n\
/E Edita ACL em vez de substituí-la.\n\
/C Continua ao encontrar erros de acesso negado.\n\
/G utilizador:perm Concede os direitos de acesso ao utilizador especificado.\n\
Perm pode ser: R Ler\n\
W Gravar\n\
C Alterar (gravar)\n\
F Controle total\n\
/R utilizador Revoga os direitos de acesso do utilizador especificado\n\
(válido somente com /E).\n\
/P utilizador:perm Substitui os direitos de acesso do utilizador especificado.\n\
Perm pode ser: N Nenhum\n\
R Ler\n\
W Gravar\n\
C Alterar (gravar)\n\
F Controle total\n\
/D utilizador Nega o acesso ao utilizador especificado.\n\
Caracteres curinga podem ser usados para especificar mais de um ficheiro\n\
num comando.\n\
Pode especificar mais de um utilizador num comando.\n\n\
Abreviaçäes:\n\
CI - Herança de recipiente.\n\
O ACE será herdado pelas pastas.\n\
OI - Herança de objeto.\n\
O ACE será herdado pelos ficheiros.\n\
IO - Somente herança.\n\
O ACE não se aplica ao ficheiro/pasta actual.\n"
IDS_ABBR_CI "(CI)"
IDS_ABBR_OI "(OI)"
IDS_ABBR_IO "(IO)"
IDS_ABBR_FULL "F"
IDS_ABBR_READ "R"
IDS_ABBR_WRITE "W"
IDS_ABBR_CHANGE "C"
IDS_ABBR_NONE "N"
IDS_ALLOW ""
IDS_DENY "(DENY)"
IDS_SPECIAL_ACCESS "(special access:)"
IDS_GENERIC_READ "GENERIC_READ"
IDS_GENERIC_WRITE "GENERIC_WRITE"
IDS_GENERIC_EXECUTE "GENERIC_EXECUTE"
IDS_GENERIC_ALL "GENERIC_ALL"
IDS_FILE_GENERIC_EXECUTE "FILE_GENERIC_EXECUTE"
IDS_FILE_GENERIC_READ "FILE_GENERIC_READ"
IDS_FILE_GENERIC_WRITE "FILE_GENERIC_WRITE"
IDS_FILE_READ_DATA "FILE_READ_DATA"
IDS_FILE_WRITE_DATA "FILE_WRITE_DATA"
IDS_FILE_APPEND_DATA "FILE_APPEND_DATA"
IDS_FILE_READ_EA "FILE_READ_EA"
IDS_FILE_WRITE_EA "FILE_WRITE_EA"
IDS_FILE_EXECUTE "FILE_EXECUTE"
IDS_FILE_DELETE_CHILD "FILE_DELETE_CHILD"
IDS_FILE_READ_ATTRIBUTES "FILE_READ_ATTRIBUTES"
IDS_FILE_WRITE_ATTRIBUTES "FILE_WRITE_ATTRIBUTES"
IDS_MAXIMUM_ALLOWED "MAXIMUM_ALLOWED"
IDS_ACCESS_SYSTEM_SECURITY "ACCESS_SYSTEM_SECURITY"
IDS_SPECIFIC_RIGHTS_ALL "SPECIFIC_RIGHTS_ALL"
IDS_STANDARD_RIGHTS_REQUIRED "STANDARD_RIGHTS_REQUIRED"
IDS_SYNCHRONIZE "SYNCHRONIZE"
IDS_WRITE_OWNER "WRITE_OWNER"
IDS_WRITE_DAC "WRITE_DAC"
IDS_READ_CONTROL "READ_CONTROL"
IDS_DELETE "DELETE"
IDS_STANDARD_RIGHTS_ALL "STANDARD_RIGHTS_ALL"
END

View File

@@ -1,4 +1,11 @@
/* Translator: Ștefan Fulea (stefan dot fulea at mail dot com) */
/*
* PROJECT: ReactOS CACLS
* LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
* PURPOSE: Romanian resource file
* TRANSLATORS: Copyright 2011-2018 Ștefan Fulea <stefan.fulea@mail.com>
* Copyright 2024 Andrei Miloiu <miloiuandrei@gmail.com>
*/
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
STRINGTABLE
@@ -34,7 +41,7 @@ Abrevieri:\n\
OI - Moștenire obiecte.\n\
ACE moștenită de fișiere.\n\
IO - Moștenire simplă.\n\
ACE neaplicată dosarelor/fișierelor curente.\n"
ACE neaplicată folderelor/fișierelor curente.\n"
IDS_ABBR_CI "(CI)"
IDS_ABBR_OI "(OI)"
IDS_ABBR_IO "(IO)"

View File

@@ -1,41 +1,44 @@
/* TRANSLATOR: 2015 Erdem Ersoy (eersoy93) (erdemersoy [at] erdemersoy [dot] net) */
/* TRANSLATOR:
2015 Erdem Ersoy (eersoy93) (erdemersoy [at] erdemersoy [dot] net),
2021 Süleyman Poyraz (zaryob [dot] dev [at] gmail [dot] com)
*/
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_HELP "Kütüklerin erişim denetim dizelgelerini (ACL'lerini) görüntüler ya da değiştirir.\n\n\
CACLS kütük adı [/T] [/E] [/C] [/G kullanıcı:izin [...]] [/R kullanıcı [...]]\n\
IDS_HELP "Dosyaların erişim kontrol listelerini (ACL'ler) görüntüler veya değiştirir.\n\n\
CACLS dosya adı [/T] [/E] [/C] [/G kullanıcı:izin [...]] [/R kullanıcı [...]]\n\
[/P kullanıcı:izin [...]] [/D kullanıcı [...]]\n\
kütük adı ACL'leri görüntüler.\n\
dosya adı ACL'leri görüntüler.\n\
/T Şimdiki dizin ve alt dizinlerin içinde\n\
belirtilen kütülerin ACL'lerini değiştirir.\n\
/E ACL'yi yenisiyle değiştirme yerine onu düzenle.\n\
/C Erişim engellendi yanlışlıklarıyla sürdür.\n\
/G kullanıcı:izin Belirtilen kullanıcı erişim yetkilerini ver.\n\
İzin şu olabilir: R Okuma\n\
W Yazma\n\
C Değiştirme (yazma)\n\
F Tüm denetim\n\
/R kullanıcı Belirtilen kullanıcının erişim yetkilerini geri al\n\
belirtilen dosyaların ACL'lerini değiştirir.\n\
/E ACL'yi yenisiyle değiştirmek yerine onu düzenler.\n\
/C Erişim engellendi hatalarına rağmen devam eder.\n\
/G kullanıcı:izin Belirtilen kullanıcı erişim yetkilerini verir.\n\
Yetkilerin biri şu olabilir: R Okuma\n\
W Yazma\n\
C Değiştirme (yazma)\n\
F Tüm denetim\n\
/R kullanıcı Belirtilen kullanıcının erişim yetkilerini geri alır.\n\
(yalnızca /E ile geçerli).\n\
/P kullanıcı:izin Belirtilen kullanıcının erişim yetkilerini yenileriyle\n\
değiştir.\n\
İzin şu olabilir: N Yok\n\
R Okuma\n\
W Yazma\n\
C Değiştirme (yazma)\n\
F Tüm denetim\n\
değiştirir.\n\
Yetkilerin biri şu olabilir: N Yok\n\
R Okuma\n\
W Yazma\n\
C Değiştirme (yazma)\n\
F Tüm denetim\n\
/D kullanıcı Belirtilen kullanıcı erişimini verme.\n\
Umûmî arama damgaları, bir komutta birden çok kütük belirtmek için kullanılabilir.\n\
Bir komutta birden çok kullanıcı belirtebilirsiniz.\n\n\
Özel semboller, bir komutta birden fazla dosya belirtmek için kullanılabilir.\n\
Bir komutta birden fazla kullanıcı belirtebilirsiniz.\n\n\
Kısaltmalar:\n\
CI - Kapsayıcı Devral.\n\
CI - Kapsayıcı Devralma.\n\
ACE dizinlerle devralınacak.\n\
OI - Nesne Devral.\n\
ACE kütüklerle devralınacak.\n\
OI - Nesnel Devralma.\n\
ACE dosyalarla devralınacak.\n\
IO - Yalnızca Devral.\n\
ACE'yi şimdiki kütüğe ya da dizine uygulama.\n"
ACE'yi şimdiki dosyaya ya da dizine uygulama.\n"
IDS_ABBR_CI "(CI)"
IDS_ABBR_OI "(OI)"
IDS_ABBR_IO "(IO)"
@@ -45,8 +48,8 @@ Kısaltmalar:\n\
IDS_ABBR_CHANGE "C"
IDS_ABBR_NONE "N"
IDS_ALLOW ""
IDS_DENY "(VERME)"
IDS_SPECIAL_ACCESS "(husûsî erişim:)"
IDS_DENY "(REDDET)"
IDS_SPECIAL_ACCESS "(özel erişim:)"
IDS_GENERIC_READ "GENERIC_READ"
IDS_GENERIC_WRITE "GENERIC_WRITE"
IDS_GENERIC_EXECUTE "GENERIC_EXECUTE"

View File

@@ -13,13 +13,13 @@ BEGIN
IDS_HELP "显示或者修改文件的访问控制表\n\n\
CACLS filename [/T] [/E] [/C] [/G user:perm [...]] [/R user [...]]\n\
[/P user:perm [...]] [/D user [...]]\n\
filename 显示 ACLs。\n\
filename 显示访问控制表。\n\
/T 更改当前目录及其所有子目录中\n\
指定文件的 ACL。\n\
/E 编辑 ACL 而不替换。\n\
/E 编辑访问控制表而不替换。\n\
/C 在出现拒绝访问错误时继续。\n\
/G user:perm 赋予指定用户访问权限。\n\
Perm 可以是: R 读取\n\
perm 可以是R 读取\n\
W 写入\n\
C 更改(写入)\n\
F 完全控制\n\
@@ -33,7 +33,7 @@ CACLS filename [/T] [/E] [/C] [/G user:perm [...]] [/R user [...]]\n\
/D user 拒绝指定用户的访问。\n\
在命令中可以使用通配符指定多个文件。\n\
您也可以在命令中指定多个用户。\n\n\
缩写:\n\
缩写\n\
CI - 容器继承。\n\
ACE会由目录继承。\n\
OI - 对象继承。\n\

View File

@@ -0,0 +1,80 @@
/*
* PROJECT: ReactOS CACLS
* LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
* PURPOSE: Chinese (Hong Kong) resource file
* TRANSLATORS: Copyright 2021 Chan Chilung <eason066@gmail.com>
* REFERENCES: Chinese (Traditional) resource file
*/
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_HONGKONG
STRINGTABLE
BEGIN
IDS_HELP "顯示或修改文件的存取控制串列\n\n\
CACLS filename [/T] [/E] [/C] [/G user:perm [...]] [/R user [...]]\n\
[/P user:perm [...]] [/D user [...]]\n\
filename 顯示 ACLs。\n\
/T 更改目前目錄及其所有子目錄\n\
指定文件的 ACL。\n\
/E 編輯 ACL 而不替換。\n\
/C 在出現拒絕存取錯誤時繼續。\n\
/G user:perm 賦予指定使用者存取權限。\n\
perm 可以是: R 讀取\n\
W 寫入\n\
C 更改 (寫入)\n\
F 完全控制\n\
/R user 撤銷指定使用者的存取權限 (與 /E 一齊使用時才會有效)。\n\
/P user:perm 更改指定使用者的存取權限。\n\
perm 可以是: N 無\n\
R 讀取\n\
W 寫入\n\
C 更改 (寫入)\n\
F 完全控制\n\
/D user 拒絕指定使用者的存取。\n\
在命令中可以使用通配符指定多個檔案。\n\
您亦可以在命令中指定多個使用者。\n\n\
縮寫:\n\
CI - 容器繼承。\n\
ACE會由目錄繼承。\n\
OI - 對象繼承。\n\
ACE 會由文件繼承。\n\
IO - 只繼承。\n\
ACE 不適用於目前檔案/目錄。\n"
IDS_ABBR_CI "(CI)"
IDS_ABBR_OI "(OI)"
IDS_ABBR_IO "(IO)"
IDS_ABBR_FULL "F"
IDS_ABBR_READ "R"
IDS_ABBR_WRITE "W"
IDS_ABBR_CHANGE "C"
IDS_ABBR_NONE "N"
IDS_ALLOW ""
IDS_DENY "(DENY)"
IDS_SPECIAL_ACCESS "(特殊存取:)"
IDS_GENERIC_READ "GENERIC_READ"
IDS_GENERIC_WRITE "GENERIC_WRITE"
IDS_GENERIC_EXECUTE "GENERIC_EXECUTE"
IDS_GENERIC_ALL "GENERIC_ALL"
IDS_FILE_GENERIC_EXECUTE "FILE_GENERIC_EXECUTE"
IDS_FILE_GENERIC_READ "FILE_GENERIC_READ"
IDS_FILE_GENERIC_WRITE "FILE_GENERIC_WRITE"
IDS_FILE_READ_DATA "FILE_READ_DATA"
IDS_FILE_WRITE_DATA "FILE_WRITE_DATA"
IDS_FILE_APPEND_DATA "FILE_APPEND_DATA"
IDS_FILE_READ_EA "FILE_READ_EA"
IDS_FILE_WRITE_EA "FILE_WRITE_EA"
IDS_FILE_EXECUTE "FILE_EXECUTE"
IDS_FILE_DELETE_CHILD "FILE_DELETE_CHILD"
IDS_FILE_READ_ATTRIBUTES "FILE_READ_ATTRIBUTES"
IDS_FILE_WRITE_ATTRIBUTES "FILE_WRITE_ATTRIBUTES"
IDS_MAXIMUM_ALLOWED "MAXIMUM_ALLOWED"
IDS_ACCESS_SYSTEM_SECURITY "ACCESS_SYSTEM_SECURITY"
IDS_SPECIFIC_RIGHTS_ALL "SPECIFIC_RIGHTS_ALL"
IDS_STANDARD_RIGHTS_REQUIRED "STANDARD_RIGHTS_REQUIRED"
IDS_SYNCHRONIZE "SYNCHRONIZE"
IDS_WRITE_OWNER "WRITE_OWNER"
IDS_WRITE_DAC "WRITE_DAC"
IDS_READ_CONTROL "READ_CONTROL"
IDS_DELETE "DELETE"
IDS_STANDARD_RIGHTS_ALL "STANDARD_RIGHTS_ALL"
END

View File

@@ -1,36 +1,36 @@
/*
* PROJECT: ReactOS CACLS
* FILE: base/applications/cacls/lang/zh-TW.rc
* LICENSE: LGPL - See COPYING.LIB in the top level directory
* PURPOSE: TRADITIONAL Chinese resource file
* TRANSLATOR: jauming <jauming.tw@gmail.com>
* PROJECT: ReactOS CACLS
* LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
* PURPOSE: Chinese (Traditional) resource file
* TRANSLATORS: Copyright 2007 Chaoming Tseng <jauming.tw@gmail.com>
* Copyright 2021 Chan Chilung <eason066@gmail.com>
*/
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
STRINGTABLE
BEGIN
IDS_HELP "顯示或修改文件的訪問控制表\n\n\
IDS_HELP "顯示或修改文件的存取控制串列\n\n\
CACLS filename [/T] [/E] [/C] [/G user:perm [...]] [/R user [...]]\n\
[/P user:perm [...]] [/D user [...]]\n\
filename 顯示 ACLs。\n\
/T 更改前目錄及其所有子目錄\n\
/T 更改前目錄及其所有子目錄\n\
指定文件的 ACL。\n\
/E 編輯 ACL 而不替換。\n\
/C 在出現拒絕訪問錯誤時繼續。\n\
/G user:perm 賦予指定使用者訪問權限。\n\
Perm 可以是: R 讀取\n\
/C 在出現拒絕存取錯誤時繼續。\n\
/G user:perm 賦予指定使用者存取權限。\n\
perm 可以是: R 讀取\n\
W 寫入\n\
C 更改(寫入)\n\
F 完全控制\n\
/R user 撤銷指定使用者的訪問權限(僅在與 /E 一起使用時才有效)。\n\
/P user:perm 替換指定使用者的訪問權限。\n\
Perm 可以是: N 無\n\
/R user 撤銷指定使用者的存取權限 (僅在與 /E 一起使用時才有效)。\n\
/P user:perm 替換指定使用者的存取權限。\n\
perm 可以是: N 無\n\
R 讀取\n\
W 寫入\n\
C 更改(寫入)\n\
F 完全控制\n\
/D user 拒絕指定使用者的訪問。\n\
/D user 拒絕指定使用者的存取。\n\
在命令中可以使用通配符指定多個文件。\n\
您也可以在命令中指定多個使用者。\n\n\
縮寫:\n\
@@ -39,7 +39,7 @@ CACLS filename [/T] [/E] [/C] [/G user:perm [...]] [/R user [...]]\n\
OI - 對象繼承。\n\
ACE 會由文件繼承。\n\
IO - 只繼承。\n\
ACE 不適用於前文件/目錄。\n"
ACE 不適用於前文件/目錄。\n"
IDS_ABBR_CI "(CI)"
IDS_ABBR_OI "(OI)"
IDS_ABBR_IO "(IO)"
@@ -50,7 +50,7 @@ CACLS filename [/T] [/E] [/C] [/G user:perm [...]] [/R user [...]]\n\
IDS_ABBR_NONE "N"
IDS_ALLOW ""
IDS_DENY "(DENY)"
IDS_SPECIAL_ACCESS "(special access:)"
IDS_SPECIAL_ACCESS "(特殊存取:)"
IDS_GENERIC_READ "GENERIC_READ"
IDS_GENERIC_WRITE "GENERIC_WRITE"
IDS_GENERIC_EXECUTE "GENERIC_EXECUTE"

View File

@@ -1,5 +1,4 @@
#ifndef __CALC_H__
#define __CALC_H__
#pragma once
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
@@ -16,6 +15,7 @@
#include <htmlhelp.h>
#endif
#include <limits.h>
#include <strsafe.h>
/* RESOURCES */
#include "resource.h"
@@ -280,5 +280,3 @@ INT_PTR CALLBACK AboutDlgProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp);
void ConvExecute(HWND hWnd);
void ConvAdjust(HWND hWnd, int n_cat);
void ConvInit(HWND hWnd);
#endif /* __CALC_H__ */

View File

@@ -181,7 +181,7 @@ static const conv_t conv_CURRENCY[] = {
DECLARE_CONV_UNIT(CURRENCY, LITHUANIAN_LITAS, "$/3,45280", "$*3,45280")
DECLARE_CONV_UNIT(CURRENCY, LUXEMBOURG_FRANC, "$/40,3399", "$*40,3399")
DECLARE_CONV_UNIT(CURRENCY, MALTESE_LIRA, "$/0.42930", "$*0.42930")
DECLARE_CONV_UNIT(CURRENCY, PORTOGUESE_ESCUDO, "$/200,482", "$*200,482")
DECLARE_CONV_UNIT(CURRENCY, PORTUGUESE_ESCUDO, "$/200,482", "$*200,482")
DECLARE_CONV_UNIT(CURRENCY, SLOVAK_KORUNA, "$/30,126", "$*30,126")
DECLARE_CONV_UNIT(CURRENCY, SLOVENIAN_TOLAR, "$/239,640", "$*239,640")
DECLARE_CONV_UNIT(CURRENCY, SPANISH_PESETA, "$/166,386", "$*166,386")
@@ -512,7 +512,7 @@ static const conv_t conv_VOLUME[] = {
1 chang = 20 tamlung
1 tamlung = 4 baht
1 baht = 4 saloung
1 saloung =
1 saloung =
1 chang = 6/5 kg = 1200 g
1 tamlung = 1/20 chang = 60 g

View File

@@ -55,7 +55,7 @@ double acosh(double x)
{
// must be x>=1, if not return Nan (Not a Number)
if(!(x>=1.0)) return sqrt(-1.0);
// return only the positive result (as sqrt does).
return log(x+sqrt(x*x-1.0));
}
@@ -64,7 +64,7 @@ double atanh(double x)
{
// must be x>-1, x<1, if not return Nan (Not a Number)
if(!(x>-1.0 && x<1.0)) return sqrt(-1.0);
return log((1.0+x)/(1.0-x))/2.0;
}
@@ -372,7 +372,7 @@ static __int64 cbrti(__int64 x) {
s = 60;
y = 0;
while(s >= 0) {
while(s >= 0) {
y = 2*y;
b = (3*y*(y + 1) + 1) << s;
s = s - 3;

View File

@@ -1,24 +1,22 @@
/* Превод на Български/ Bulgarian translation
* http://www.reactos.org/wiki/Bulgarian_translation
* FILE: base/applications/calc/lang/bg-BG.rc
* Недовършен / Incomplete
* https://reactos.org/wiki/Bulgarian_translation
*/
LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Изчислителят на РеактОС"
CAPTION "Калкулатор"
MENU IDR_MENU_SCIENTIFIC_1
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
CONTROL "Шстн", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
CONTROL "Дстн", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
CONTROL "Осм", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
CONTROL "Двоич", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
AUTORADIOBUTTON "Шстн", IDC_RADIO_HEX, 8, 21, 30, 10
AUTORADIOBUTTON "Дстн", IDC_RADIO_DEC, 41, 21, 30, 10
AUTORADIOBUTTON "Осм", IDC_RADIO_OCT, 74, 21, 30, 10
AUTORADIOBUTTON "Двоич", IDC_RADIO_BIN, 107, 21, 30, 10
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
CONTROL "Обр", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Хип", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
@@ -135,17 +133,13 @@ BEGIN
PUSHBUTTON "Дроб", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
CONTROL "ЧДума", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 150, 21, 38, 10
CONTROLДума", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 190, 21, 38, 10
CONTROL "Дума", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 230, 21, 38, 10
CONTROL "Байт", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 270, 21, 38, 10
CONTROL "Градуси", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
CONTROL "Радиани", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "Градове", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
AUTORADIOBUTTON "ЧДума", IDC_RADIO_QWORD, 150, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "ДДума", IDC_RADIO_DWORD, 190, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Дума", IDC_RADIO_WORD, 230, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Байт", IDC_RADIO_BYTE, 270, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Градуси", IDC_RADIO_DEG, 150, 21, 45, 10
AUTORADIOBUTTON "Радиани", IDC_RADIO_RAD, 204, 21, 45, 10
AUTORADIOBUTTON "Градиани", IDC_RADIO_GRAD, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
@@ -156,9 +150,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Изчислителян на РеактОС"
CAPTION "Калкулатор"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
@@ -221,9 +215,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Изчислителят на РеактОС"
CAPTION "Калкулатор"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg"
BEGIN
@@ -315,8 +309,8 @@ IDR_MENU_SCIENTIFIC_1 MENU
BEGIN
POPUP "&Обработка"
BEGIN
MENUITEM "Запомняне\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Поставяне\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Запомняне\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Поставяне\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "Изглед"
BEGIN
@@ -331,7 +325,7 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "Градуси\tF2", IDM_VIEW_DEG, CHECKED
MENUITEM "Радиани\tF3", IDM_VIEW_RAD, CHECKED
MENUITEM "Градове\tF4", IDM_VIEW_GRAD, CHECKED
MENUITEM "Градиани\tF4", IDM_VIEW_GRAD, CHECKED
MENUITEM SEPARATOR
MENUITEM "Разделяне на хилядите", IDM_VIEW_GROUP, CHECKED
END
@@ -339,7 +333,7 @@ BEGIN
BEGIN
MENUITEM "Помощ", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "За ReactOS Calc", IDM_HELP_ABOUT
MENUITEM "За ReactOS Calculator", IDM_HELP_ABOUT
END
END
@@ -347,8 +341,8 @@ IDR_MENU_SCIENTIFIC_2 MENU
BEGIN
POPUP "&Обработка"
BEGIN
MENUITEM "Запомняне\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Поставяне\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Запомняне\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Поставяне\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "Изглед"
BEGIN
@@ -372,7 +366,7 @@ BEGIN
BEGIN
MENUITEM "Помощ", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "За ReactOS Calc", IDM_HELP_ABOUT
MENUITEM "За ReactOS Calculator", IDM_HELP_ABOUT
END
END
@@ -380,8 +374,8 @@ IDR_MENU_STANDARD MENU
BEGIN
POPUP "&Обработка"
BEGIN
MENUITEM "Запомняне\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Поставяне\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Запомняне\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Поставяне\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "Изглед"
BEGIN
@@ -395,7 +389,7 @@ BEGIN
BEGIN
MENUITEM "Помощ", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "За ReactOS Calc", IDM_HELP_ABOUT
MENUITEM "За ReactOS Calculator", IDM_HELP_ABOUT
END
END
@@ -410,7 +404,7 @@ END
/* About */
STRINGTABLE
BEGIN
IDS_CALC_NAME "Изчислителят на РеактОС"
IDS_CALC_NAME "Калкулатор за ReactOS"
IDS_AUTHOR "Написано от Carlo Bramini"
END
@@ -419,7 +413,7 @@ STRINGTABLE
BEGIN
IDS_CONV_ANGLE "Ъгъл"
IDS_CONV_AREA "Площ"
IDS_CONV_CONSUMPTION "Потребление (двигатели)"
IDS_CONV_CONSUMPTION "Разход (двигатели)"
IDS_CONV_CURRENCY "Парични единици"
IDS_CONV_ENERGY "Енергия"
IDS_CONV_LENGTH "Дължина"
@@ -435,10 +429,10 @@ END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_ARCMINUTES "Минути от arc"
IDS_ANGLE_ARCSECONDS "Секунди от arc"
IDS_ANGLE_DEGREES "Градуси"
IDS_ANGLE_GRADIANS "Гради"
IDS_ANGLE_GRADIANS "Градиани"
IDS_ANGLE_RADIANS "Радиани"
END
@@ -486,7 +480,7 @@ STRINGTABLE
BEGIN
IDS_CONSUMPTION_KM_PER_L "Километри/литър"
IDS_CONSUMPTION_L_PER_100_KM "Литри/100 километра"
IDS_CONSUMPTION_MILES_GALLON_UK "Мили/галон (ОК)"
IDS_CONSUMPTION_MILES_GALLON_UK "Мили/галон (ВБ)"
IDS_CONSUMPTION_MILES_GALLON_US "Мили/галон (САЩ)"
END
@@ -510,7 +504,7 @@ BEGIN
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Люксембургски франк"
IDS_CURRENCY_MALTESE_LIRA "Малтийска лира"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Португалско ескудо"
IDS_CURRENCY_PORTUGUESE_ESCUDO "Португалско ескудо"
IDS_CURRENCY_SLOVAK_KORUNA "Словашка крона"
IDS_CURRENCY_SLOVENIAN_TOLAR "Словенси толар"
IDS_CURRENCY_SPANISH_PESETA "Испанска песета"
@@ -710,6 +704,6 @@ BEGIN
IDS_WEIGHT_STONES "Камъни"
IDS_WEIGHT_TAMLUNG "Tamlung"
IDS_WEIGHT_TONNES "Тонове"
IDS_WEIGHT_TONS_UK "Тонове (ОК)"
IDS_WEIGHT_TONS_UK "Тонове (ВБ)"
IDS_WEIGHT_TONS_US "Тонове (САЩ)"
END

View File

@@ -1,23 +1,22 @@
/* FILE: base/applications/calc/lang/cs-CZ.rc
* TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com)
* UPDATED: 2010-05-30
/*
* TRANSLATOR: 2010 Radek Liska (Black_Fox) <radekliska@gmail.com>
*/
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS kalkulačka"
CAPTION "Kalkulačka"
MENU IDR_MENU_SCIENTIFIC_1
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
CONTROL "Hex", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
CONTROL "Dec", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
CONTROL "Oct", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
CONTROL "Bin", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
AUTORADIOBUTTON "Hex", IDC_RADIO_HEX, 8, 21, 30, 10
AUTORADIOBUTTON "Dec", IDC_RADIO_DEC, 41, 21, 30, 10
AUTORADIOBUTTON "Oct", IDC_RADIO_OCT, 74, 21, 30, 10
AUTORADIOBUTTON "Bin", IDC_RADIO_BIN, 107, 21, 30, 10
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
@@ -134,17 +133,13 @@ BEGIN
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
CONTROL "Qword", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 150, 21, 38, 10
CONTROL "Dword", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 190, 21, 38, 10
CONTROL "Word", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 230, 21, 38, 10
CONTROL "Byte", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 270, 21, 38, 10
CONTROL "Stupně", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
CONTROL "Radiány", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "Grady", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
AUTORADIOBUTTON "Qword", IDC_RADIO_QWORD, 150, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Dword", IDC_RADIO_DWORD, 190, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Word", IDC_RADIO_WORD, 230, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Byte", IDC_RADIO_BYTE, 270, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Stupně", IDC_RADIO_DEG, 150, 21, 45, 10
AUTORADIOBUTTON "Radiány", IDC_RADIO_RAD, 204, 21, 45, 10
AUTORADIOBUTTON "Grady", IDC_RADIO_GRAD, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
@@ -155,9 +150,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Kalkulačka"
CAPTION "Kalkulačka"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
@@ -220,9 +215,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Kalkulačka"
CAPTION "Kalkulačka"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg"
BEGIN
@@ -314,8 +309,8 @@ IDR_MENU_SCIENTIFIC_1 MENU
BEGIN
POPUP "Úpravy"
BEGIN
MENUITEM "Kopírovat\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Vložit\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Kopírovat\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Vložit\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "Zobrazit"
BEGIN
@@ -346,8 +341,8 @@ IDR_MENU_SCIENTIFIC_2 MENU
BEGIN
POPUP "Úpravy"
BEGIN
MENUITEM "Kopírovat\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Vložit\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Kopírovat\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Vložit\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "Zobrazit"
BEGIN
@@ -379,8 +374,8 @@ IDR_MENU_STANDARD MENU
BEGIN
POPUP "Úpravy"
BEGIN
MENUITEM "Kopírovat\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Vložit\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Kopírovat\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Vložit\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "Zobrazit"
BEGIN
@@ -509,7 +504,7 @@ BEGIN
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Lucemburský frank"
IDS_CURRENCY_MALTESE_LIRA "Maltská lira"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portugalské escudo"
IDS_CURRENCY_PORTUGUESE_ESCUDO "Portugalské escudo"
IDS_CURRENCY_SLOVAK_KORUNA "Slovenská koruna"
IDS_CURRENCY_SLOVENIAN_TOLAR "Slovinský tolar"
IDS_CURRENCY_SPANISH_PESETA "Španělská peseta"

View File

@@ -2,17 +2,17 @@ LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Rechner"
CAPTION "Rechner"
MENU IDR_MENU_SCIENTIFIC_1
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
CONTROL "Hex", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
CONTROL "Dez", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
CONTROL "Okt", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
CONTROL "Bin", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
AUTORADIOBUTTON "Hex", IDC_RADIO_HEX, 8, 21, 30, 10
AUTORADIOBUTTON "Dez", IDC_RADIO_DEC, 41, 21, 30, 10
AUTORADIOBUTTON "Okt", IDC_RADIO_OCT, 74, 21, 30, 10
AUTORADIOBUTTON "Bin", IDC_RADIO_BIN, 107, 21, 30, 10
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
@@ -129,17 +129,13 @@ BEGIN
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
CONTROL "Qword", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 150, 21, 38, 10
CONTROL "Dword", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 190, 21, 38, 10
CONTROL "Word", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 230, 21, 38, 10
CONTROL "Byte", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 270, 21, 38, 10
CONTROL "Degree", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
CONTROL "Radiant", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "Grad", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
AUTORADIOBUTTON "Qword", IDC_RADIO_QWORD, 150, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Dword", IDC_RADIO_DWORD, 190, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Word", IDC_RADIO_WORD, 230, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Byte", IDC_RADIO_BYTE, 270, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Degree", IDC_RADIO_DEG, 150, 21, 45, 10
AUTORADIOBUTTON "Radiant", IDC_RADIO_RAD, 204, 21, 45, 10
AUTORADIOBUTTON "Grad", IDC_RADIO_GRAD, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
@@ -150,9 +146,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Rechner"
CAPTION "Rechner"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
@@ -215,9 +211,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Rechner"
CAPTION "Rechner"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg"
BEGIN
@@ -307,89 +303,89 @@ END
IDR_MENU_SCIENTIFIC_1 MENU
BEGIN
POPUP "Bearbeiten"
POPUP "&Bearbeiten"
BEGIN
MENUITEM "Kopieren\tSTRG-C", IDM_EDIT_COPY
MENUITEM "Einfügen\tSTRG-V", IDM_EDIT_PASTE
MENUITEM "&Kopieren\tStrg-C", IDM_EDIT_COPY
MENUITEM "&Einfügen\tStrg-V", IDM_EDIT_PASTE
END
POPUP "Ansicht"
POPUP "&Ansicht"
BEGIN
MENUITEM "Standard", IDM_VIEW_STANDARD
MENUITEM "Wissenschaftlich", IDM_VIEW_SCIENTIFIC
MENUITEM "Konversion", IDM_VIEW_CONVERSION
MENUITEM "&Standard", IDM_VIEW_STANDARD
MENUITEM "&Wissenschaftlich", IDM_VIEW_SCIENTIFIC
MENUITEM "Kon&version", IDM_VIEW_CONVERSION
MENUITEM SEPARATOR
MENUITEM "Hex\tF5", IDM_VIEW_HEX, CHECKED
MENUITEM "Dezimal\tF6", IDM_VIEW_DEC, CHECKED
MENUITEM "Oktal\tF7", IDM_VIEW_OCT, CHECKED
MENUITEM "Binär\tF8", IDM_VIEW_BIN, CHECKED
MENUITEM "&Hex\tF5", IDM_VIEW_HEX, CHECKED
MENUITEM "De&zimal\tF6", IDM_VIEW_DEC, CHECKED
MENUITEM "O&ktal\tF7", IDM_VIEW_OCT, CHECKED
MENUITEM "&Binär\tF8", IDM_VIEW_BIN, CHECKED
MENUITEM SEPARATOR
MENUITEM "Degree\tF2", IDM_VIEW_DEG, CHECKED
MENUITEM "Radiant\tF3", IDM_VIEW_RAD, CHECKED
MENUITEM "Grad\tF4", IDM_VIEW_GRAD, CHECKED
MENUITEM "&Deg\tF2", IDM_VIEW_DEG, CHECKED
MENUITEM "&Rad\tF3", IDM_VIEW_RAD, CHECKED
MENUITEM "&Grad\tF4", IDM_VIEW_GRAD, CHECKED
MENUITEM SEPARATOR
MENUITEM "Zifferngruppierung", IDM_VIEW_GROUP, CHECKED
MENUITEM "Zifferngr&uppierung", IDM_VIEW_GROUP, CHECKED
END
POPUP "Hilfe"
POPUP "&?"
BEGIN
MENUITEM "Hilfethemen", IDM_HELP_HELP
MENUITEM "&Hilfethemen", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "Info", IDM_HELP_ABOUT
MENUITEM "&Info", IDM_HELP_ABOUT
END
END
IDR_MENU_SCIENTIFIC_2 MENU
BEGIN
POPUP "Bearbeiten"
POPUP "&Bearbeiten"
BEGIN
MENUITEM "Kopieren\tSTRG-C", IDM_EDIT_COPY
MENUITEM "Einfügen\tSTRG-V", IDM_EDIT_PASTE
MENUITEM "&Kopieren\tStrg-C", IDM_EDIT_COPY
MENUITEM "&Einfügen\tStrg-V", IDM_EDIT_PASTE
END
POPUP "Ansicht"
POPUP "&Ansicht"
BEGIN
MENUITEM "Standard", IDM_VIEW_STANDARD
MENUITEM "Wissenschaftlich", IDM_VIEW_SCIENTIFIC
MENUITEM "Konversion", IDM_VIEW_CONVERSION
MENUITEM "&Standard", IDM_VIEW_STANDARD
MENUITEM "&Wissenschaftlich", IDM_VIEW_SCIENTIFIC
MENUITEM "Kon&version", IDM_VIEW_CONVERSION
MENUITEM SEPARATOR
MENUITEM "Hex\tF5", IDM_VIEW_HEX, CHECKED
MENUITEM "Dezimal\tF6", IDM_VIEW_DEC, CHECKED
MENUITEM "Oktal\tF7", IDM_VIEW_OCT, CHECKED
MENUITEM "Binär\tF8", IDM_VIEW_BIN, CHECKED
MENUITEM "&Hex\tF5", IDM_VIEW_HEX, CHECKED
MENUITEM "&Dezimal\tF6", IDM_VIEW_DEC, CHECKED
MENUITEM "O&ktal\tF7", IDM_VIEW_OCT, CHECKED
MENUITEM "Bi&när\tF8", IDM_VIEW_BIN, CHECKED
MENUITEM SEPARATOR
MENUITEM "Qword\tF12", IDM_VIEW_QWORD, CHECKED
MENUITEM "Dword\tF2", IDM_VIEW_DWORD, CHECKED
MENUITEM "Word\tF3", IDM_VIEW_WORD, CHECKED
MENUITEM "Byte\tF4", IDM_VIEW_BYTE, CHECKED
MENUITEM "&Qword\tF12", IDM_VIEW_QWORD, CHECKED
MENUITEM "Dw&ord\tF2", IDM_VIEW_DWORD, CHECKED
MENUITEM "Wo&rd\tF3", IDM_VIEW_WORD, CHECKED
MENUITEM "&Byte\tF4", IDM_VIEW_BYTE, CHECKED
MENUITEM SEPARATOR
MENUITEM "Zifferngruppierung", IDM_VIEW_GROUP, CHECKED
MENUITEM "Zifferngr&uppierung", IDM_VIEW_GROUP, CHECKED
END
POPUP "Hilfe"
POPUP "&?"
BEGIN
MENUITEM "Hilfethemen", IDM_HELP_HELP
MENUITEM "&Hilfethemen", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "Über ReactOS Rechner", IDM_HELP_ABOUT
MENUITEM "&Info", IDM_HELP_ABOUT
END
END
IDR_MENU_STANDARD MENU
BEGIN
POPUP "Bearbeiten"
POPUP "&Bearbeiten"
BEGIN
MENUITEM "Kopieren\tSTRG-C", IDM_EDIT_COPY
MENUITEM "Einfügen\tSTRG-V", IDM_EDIT_PASTE
MENUITEM "&Kopieren\tStrg-C", IDM_EDIT_COPY
MENUITEM "&Einfügen\tStrg-V", IDM_EDIT_PASTE
END
POPUP "Ansicht"
POPUP "&Ansicht"
BEGIN
MENUITEM "Standard", IDM_VIEW_STANDARD
MENUITEM "Wissenschaftlich", IDM_VIEW_SCIENTIFIC
MENUITEM "Konversion", IDM_VIEW_CONVERSION
MENUITEM "&Standard", IDM_VIEW_STANDARD
MENUITEM "&Wissenschaftlich", IDM_VIEW_SCIENTIFIC
MENUITEM "Kon&version", IDM_VIEW_CONVERSION
MENUITEM SEPARATOR
MENUITEM "Zifferngruppierung", IDM_VIEW_GROUP, CHECKED
MENUITEM "Zifferngr&uppierung", IDM_VIEW_GROUP, CHECKED
END
POPUP "Hilfe"
POPUP "&?"
BEGIN
MENUITEM "Hilfethemen", IDM_HELP_HELP
MENUITEM "&Hilfethemen", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "Über ReactOS Rechner", IDM_HELP_ABOUT
MENUITEM "&Info", IDM_HELP_ABOUT
END
END
@@ -504,7 +500,7 @@ BEGIN
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxemburgische Franc"
IDS_CURRENCY_MALTESE_LIRA "Maltesische Lire"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portugiesische Escudo"
IDS_CURRENCY_PORTUGUESE_ESCUDO "Portugiesische Escudo"
IDS_CURRENCY_SLOVAK_KORUNA "Slowakische Krone"
IDS_CURRENCY_SLOVENIAN_TOLAR "Slovenische Tolar"
IDS_CURRENCY_SPANISH_PESETA "Spanische Peseta"

View File

@@ -2,17 +2,17 @@ LANGUAGE LANG_GREEK, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Αριθμομηχανή"
MENU IDR_MENU_SCIENTIFIC_1
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
CONTROL "Hex", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
CONTROL "Dec", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
CONTROL "Oct", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
CONTROL "Bin", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
AUTORADIOBUTTON "Hex", IDC_RADIO_HEX, 8, 21, 30, 10
AUTORADIOBUTTON "Dec", IDC_RADIO_DEC, 41, 21, 30, 10
AUTORADIOBUTTON "Oct", IDC_RADIO_OCT, 74, 21, 30, 10
AUTORADIOBUTTON "Bin", IDC_RADIO_BIN, 107, 21, 30, 10
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
@@ -129,17 +129,13 @@ BEGIN
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
CONTROL "Qword", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 150, 21, 38, 10
CONTROL "Dword", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 190, 21, 38, 10
CONTROL "Word", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 230, 21, 38, 10
CONTROL "Byte", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 270, 21, 38, 10
CONTROL "Βαθμοί", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
CONTROL "Μοίρες", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "Ακτίνια", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
AUTORADIOBUTTON "Qword", IDC_RADIO_QWORD, 150, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Dword", IDC_RADIO_DWORD, 190, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Word", IDC_RADIO_WORD, 230, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Byte", IDC_RADIO_BYTE, 270, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Βαθμοί", IDC_RADIO_DEG, 150, 21, 45, 10
AUTORADIOBUTTON "Μοίρες", IDC_RADIO_RAD, 204, 21, 45, 10
AUTORADIOBUTTON "Ακτίνια", IDC_RADIO_GRAD, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
@@ -150,7 +146,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Αριθμομηχανή"
MENU IDR_MENU_STANDARD
@@ -215,7 +211,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Αριθμομηχανή"
MENU IDR_MENU_STANDARD
@@ -309,8 +305,8 @@ IDR_MENU_SCIENTIFIC_1 MENU
BEGIN
POPUP "Επεξεργασία"
BEGIN
MENUITEM "Αντιγραφή\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Επικόλληση\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Αντιγραφή\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Επικόλληση\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "View"
BEGIN
@@ -341,8 +337,8 @@ IDR_MENU_SCIENTIFIC_2 MENU
BEGIN
POPUP "Επεξεργασία"
BEGIN
MENUITEM "Αντιγραφή\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Επικόλληση\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Αντιγραφή\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Επικόλληση\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "View"
BEGIN
@@ -374,8 +370,8 @@ IDR_MENU_STANDARD MENU
BEGIN
POPUP "Επεξεργασία"
BEGIN
MENUITEM "Αντιγραφή\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Επικόλληση\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Αντιγραφή\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Επικόλληση\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "View"
BEGIN
@@ -504,7 +500,7 @@ BEGIN
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxembourg franc"
IDS_CURRENCY_MALTESE_LIRA "Μαλτέζικη λίρα"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Πορτογαλικό εσκούδο"
IDS_CURRENCY_PORTUGUESE_ESCUDO "Πορτογαλικό εσκούδο"
IDS_CURRENCY_SLOVAK_KORUNA "Slovak koruna"
IDS_CURRENCY_SLOVENIAN_TOLAR "Slovenian tolar"
IDS_CURRENCY_SPANISH_PESETA "Ισπανική πεσέτα"

View File

@@ -2,17 +2,17 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Calculator"
CAPTION "Calculator"
MENU IDR_MENU_SCIENTIFIC_1
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
CONTROL "Hex", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
CONTROL "Dec", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
CONTROL "Oct", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
CONTROL "Bin", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
AUTORADIOBUTTON "Hex", IDC_RADIO_HEX, 8, 21, 30, 10
AUTORADIOBUTTON "Dec", IDC_RADIO_DEC, 41, 21, 30, 10
AUTORADIOBUTTON "Oct", IDC_RADIO_OCT, 74, 21, 30, 10
AUTORADIOBUTTON "Bin", IDC_RADIO_BIN, 107, 21, 30, 10
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
@@ -129,17 +129,13 @@ BEGIN
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
CONTROL "Qword", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 150, 21, 38, 10
CONTROL "Dword", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 190, 21, 38, 10
CONTROL "Word", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 230, 21, 38, 10
CONTROL "Byte", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 270, 21, 38, 10
CONTROL "Degrees", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
CONTROL "Radians", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "Gradians", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
AUTORADIOBUTTON "Qword", IDC_RADIO_QWORD, 150, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Dword", IDC_RADIO_DWORD, 190, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Word", IDC_RADIO_WORD, 230, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Byte", IDC_RADIO_BYTE, 270, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Degrees", IDC_RADIO_DEG, 150, 21, 45, 10
AUTORADIOBUTTON "Radians", IDC_RADIO_RAD, 204, 21, 45, 10
AUTORADIOBUTTON "Gradians", IDC_RADIO_GRAD, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
@@ -150,9 +146,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Calculator"
CAPTION "Calculator"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
@@ -215,9 +211,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Calculator"
CAPTION "Calculator"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg"
BEGIN
@@ -504,7 +500,7 @@ BEGIN
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxembourg franc"
IDS_CURRENCY_MALTESE_LIRA "Maltese lira"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portuguese escudo"
IDS_CURRENCY_PORTUGUESE_ESCUDO "Portuguese escudo"
IDS_CURRENCY_SLOVAK_KORUNA "Slovak koruna"
IDS_CURRENCY_SLOVENIAN_TOLAR "Slovenian tolar"
IDS_CURRENCY_SPANISH_PESETA "Spanish peseta"

View File

@@ -8,17 +8,17 @@ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora de ReactOS"
CAPTION "Calculadora"
MENU IDR_MENU_SCIENTIFIC_1
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
CONTROL "Hex", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
CONTROL "Dec", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
CONTROL "Oct", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
CONTROL "Bin", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
AUTORADIOBUTTON "Hex", IDC_RADIO_HEX, 8, 21, 30, 10
AUTORADIOBUTTON "Dec", IDC_RADIO_DEC, 41, 21, 30, 10
AUTORADIOBUTTON "Oct", IDC_RADIO_OCT, 74, 21, 30, 10
AUTORADIOBUTTON "Bin", IDC_RADIO_BIN, 107, 21, 30, 10
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Hipotenusa", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 37, 41, 48, 10
@@ -135,17 +135,13 @@ BEGIN
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
CONTROL "Qword", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 150, 21, 38, 10
CONTROL "Dword", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 190, 21, 38, 10
CONTROL "Word", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 230, 21, 38, 10
CONTROL "Byte", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 270, 21, 38, 10
CONTROL "Grados", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 151, 21, 45, 10
CONTROL "Radianes", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 198, 21, 45, 10
CONTROL "Gradianes", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 248, 21, 45, 10
AUTORADIOBUTTON "Qword", IDC_RADIO_QWORD, 150, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Dword", IDC_RADIO_DWORD, 190, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Word", IDC_RADIO_WORD, 230, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Byte", IDC_RADIO_BYTE, 270, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Grados", IDC_RADIO_DEG, 150, 21, 45, 10
AUTORADIOBUTTON "Radianes", IDC_RADIO_RAD, 204, 21, 45, 10
AUTORADIOBUTTON "Gradianes", IDC_RADIO_GRAD, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
@@ -156,9 +152,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora de ReactOS"
CAPTION "Calculadora"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
@@ -221,9 +217,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora de ReactOS"
CAPTION "Calculadora"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg"
BEGIN
@@ -315,8 +311,8 @@ IDR_MENU_SCIENTIFIC_1 MENU
BEGIN
POPUP "Edición"
BEGIN
MENUITEM "Copiar\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Pegar\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Copiar\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Pegar\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "Ver"
BEGIN
@@ -347,8 +343,8 @@ IDR_MENU_SCIENTIFIC_2 MENU
BEGIN
POPUP "Edición"
BEGIN
MENUITEM "Copiar\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Pegar\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Copiar\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Pegar\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "Ver"
BEGIN
@@ -380,8 +376,8 @@ IDR_MENU_STANDARD MENU
BEGIN
POPUP "Edición"
BEGIN
MENUITEM "Copiar\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Pegar\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Copiar\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Pegar\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "Ver"
BEGIN
@@ -510,7 +506,7 @@ BEGIN
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Franco luxemburgués"
IDS_CURRENCY_MALTESE_LIRA "Lira maltesa"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Escudo portugués"
IDS_CURRENCY_PORTUGUESE_ESCUDO "Escudo portugués"
IDS_CURRENCY_SLOVAK_KORUNA "Corona eslovaca"
IDS_CURRENCY_SLOVENIAN_TOLAR "Tolar esloveno"
IDS_CURRENCY_SPANISH_PESETA "Peseta española"

View File

@@ -2,17 +2,17 @@ LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculatrice ReactOS"
CAPTION "Calculatrice"
MENU IDR_MENU_SCIENTIFIC_1
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
CONTROL "Hex", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
CONTROL "Dec", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
CONTROL "Oct", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
CONTROL "Bin", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
AUTORADIOBUTTON "Hex", IDC_RADIO_HEX, 8, 21, 30, 10
AUTORADIOBUTTON "Dec", IDC_RADIO_DEC, 41, 21, 30, 10
AUTORADIOBUTTON "Oct", IDC_RADIO_OCT, 74, 21, 30, 10
AUTORADIOBUTTON "Bin", IDC_RADIO_BIN, 107, 21, 30, 10
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
@@ -129,17 +129,13 @@ BEGIN
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
CONTROL "Q-mot", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 150, 21, 38, 10
CONTROL "D-mot", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 190, 21, 38, 10
CONTROL "Mot", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 230, 21, 38, 10
CONTROL "Octet", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 270, 21, 38, 10
CONTROL "Degrés", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
CONTROL "Radians", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "Grades", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
AUTORADIOBUTTON "Q-mot", IDC_RADIO_QWORD, 150, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "D-mot", IDC_RADIO_DWORD, 190, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Mot", IDC_RADIO_WORD, 230, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Octet", IDC_RADIO_BYTE, 270, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Degrés", IDC_RADIO_DEG, 150, 21, 45, 10
AUTORADIOBUTTON "Radians", IDC_RADIO_RAD, 204, 21, 45, 10
AUTORADIOBUTTON "Grades", IDC_RADIO_GRAD, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
@@ -150,9 +146,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculatrice ReactOS"
CAPTION "Calculatrice"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
@@ -215,9 +211,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculatrice ReactOS"
CAPTION "Calculatrice"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg"
BEGIN
@@ -309,8 +305,8 @@ IDR_MENU_SCIENTIFIC_1 MENU
BEGIN
POPUP "Édition"
BEGIN
MENUITEM "Copier\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Coller\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Copier\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Coller\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "Affichage"
BEGIN
@@ -341,8 +337,8 @@ IDR_MENU_SCIENTIFIC_2 MENU
BEGIN
POPUP "Édition"
BEGIN
MENUITEM "Copier\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Coller\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Copier\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Coller\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "Affichage"
BEGIN
@@ -374,8 +370,8 @@ IDR_MENU_STANDARD MENU
BEGIN
POPUP "Édition"
BEGIN
MENUITEM "Copier\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Coller\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Copier\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Coller\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "Affichage"
BEGIN
@@ -429,8 +425,8 @@ END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_ARCMINUTES "Minute d'arc"
IDS_ANGLE_ARCSECONDS "Seconde d'arc"
IDS_ANGLE_DEGREES "Degrés"
IDS_ANGLE_GRADIANS "Grades"
IDS_ANGLE_RADIANS "Radians"
@@ -504,7 +500,7 @@ BEGIN
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Franc luxembourgeois"
IDS_CURRENCY_MALTESE_LIRA "Lire maltaise"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Escudo portugaise"
IDS_CURRENCY_PORTUGUESE_ESCUDO "Escudo portugaise"
IDS_CURRENCY_SLOVAK_KORUNA "Couronne slovaque"
IDS_CURRENCY_SLOVENIAN_TOLAR "Tolar slovène"
IDS_CURRENCY_SPANISH_PESETA "Peseta espagnole"
@@ -599,7 +595,7 @@ BEGIN
IDS_PRESSURE_KILOPASCALS "Kilopascals"
IDS_PRESSURE_MM_OF_MERCURY "Millimètres de mercure"
IDS_PRESSURE_PASCALS "Pascals"
IDS_PRESSURE_PSI "Pounds-force per square inch"
IDS_PRESSURE_PSI "Livre-force par pouce-carrés"
END
/* Temperatures */

View File

@@ -1,21 +1,21 @@
/* Translated by Baruch Rutman */
/* TRANSLATOR: Baruch Rutman */
LANGUAGE LANG_HEBREW, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_LAYOUTRTL
CAPTION "מחשבון ReactOS"
CAPTION "מחשבון"
MENU IDR_MENU_SCIENTIFIC_1
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
GROUPBOX "", IDC_STATIC, 4 ,14, 141, 20
CONTROL "הקס", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 6, 21, 30, 10
CONTROL "עשרוני", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 36, 21, 34, 10
CONTROL "אוקטלי", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 73, 21, 37, 10
CONTROL "בינרי", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 113, 21, 30, 10
AUTORADIOBUTTON "הקס", IDC_RADIO_HEX, 6, 21, 30, 10
AUTORADIOBUTTON "עשרוני", IDC_RADIO_DEC, 36, 21, 34, 10
AUTORADIOBUTTON "אוקטלי", IDC_RADIO_OCT, 73, 21, 37, 10
AUTORADIOBUTTON "בינרי", IDC_RADIO_BIN, 113, 21, 30, 10
GROUPBOX "", IDC_STATIC, 4, 34, 84, 20
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
@@ -132,17 +132,13 @@ BEGIN
PUSHBUTTON "A", IDC_BUTTON_A, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
CONTROL "Qword", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 150, 21, 38, 10
CONTROL "Dword", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 190, 21, 38, 10
CONTROL "Word", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 230, 21, 38, 10
CONTROL "Byte", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 270, 21, 38, 10
CONTROL "מעלות", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
CONTROL "רדיאנים", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "גרדיאנים", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
AUTORADIOBUTTON "Qword", IDC_RADIO_QWORD, 150, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Dword", IDC_RADIO_DWORD, 190, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Word", IDC_RADIO_WORD, 230, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Byte", IDC_RADIO_BYTE, 270, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "מעלות", IDC_RADIO_DEG, 150, 21, 45, 10
AUTORADIOBUTTON "רדיאנים", IDC_RADIO_RAD, 204, 21, 45, 10
AUTORADIOBUTTON "גרדיאנים", IDC_RADIO_GRAD, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
@@ -153,10 +149,10 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_LAYOUTRTL
CAPTION "מחשבון ReactOS"
CAPTION "מחשבון"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
@@ -219,10 +215,10 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_LAYOUTRTL
CAPTION "מחשבון ReactOS"
CAPTION "מחשבון"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg"
BEGIN
@@ -510,7 +506,7 @@ BEGIN
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "פרנק לוקסמבורגי"
IDS_CURRENCY_MALTESE_LIRA "לירה מלטזי"
IDS_CURRENCY_PORTOGUESE_ESCUDO "אסקודו פורטגלי"
IDS_CURRENCY_PORTUGUESE_ESCUDO "אסקודו פורטגלי"
IDS_CURRENCY_SLOVAK_KORUNA "קורונה סלובקית"
IDS_CURRENCY_SLOVENIAN_TOLAR "טולר סלובני"
IDS_CURRENCY_SPANISH_PESETA "פזטה ספרדית"

View File

@@ -1,26 +1,25 @@
/*
* PROJECT: ReactOS Calculator
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/applications/calc/lang/hu-HU.rc
* PURPOSE: Hungarian Language File for ReactOS Calc
* TRANSLATOR: Nagy Tibor (xnagytibor at gmail dot com)
* TRANSLATOR: Nagy Tibor <xnagytibor@gmail.com>
*/
LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Számológép"
CAPTION "Számológép"
MENU IDR_MENU_SCIENTIFIC_1
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
CONTROL "Hex", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
CONTROL "Dec", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
CONTROL "Oct", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
CONTROL "Bin", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
AUTORADIOBUTTON "Hex", IDC_RADIO_HEX, 8, 21, 30, 10
AUTORADIOBUTTON "Dec", IDC_RADIO_DEC, 41, 21, 30, 10
AUTORADIOBUTTON "Oct", IDC_RADIO_OCT, 74, 21, 30, 10
AUTORADIOBUTTON "Bin", IDC_RADIO_BIN, 107, 21, 30, 10
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
@@ -137,17 +136,13 @@ BEGIN
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
CONTROL "Négyszó", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 150, 21, 38, 10
CONTROL "Duplaszó", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 190, 21, 38, 10
CONTROL "Szó", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 230, 21, 38, 10
CONTROL "Bájt", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 270, 21, 38, 10
CONTROL "Fok", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
CONTROL "Radián", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "Gradián", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
AUTORADIOBUTTON "Négyszó", IDC_RADIO_QWORD, 150, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Duplaszó", IDC_RADIO_DWORD, 190, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Szó", IDC_RADIO_WORD, 230, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Bájt", IDC_RADIO_BYTE, 270, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Fok", IDC_RADIO_DEG, 150, 21, 45, 10
AUTORADIOBUTTON "Radián", IDC_RADIO_RAD, 204, 21, 45, 10
AUTORADIOBUTTON "Gradián", IDC_RADIO_GRAD, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
@@ -158,9 +153,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Számológép"
CAPTION "Számológép"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
@@ -223,9 +218,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Számológép"
CAPTION "Számológép"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg"
BEGIN
@@ -452,12 +447,12 @@ BEGIN
IDS_AREA_ACRES_FRANCE "Acre (Franciaország)"
IDS_AREA_ACRES_SCOTS "Acre (Skót)"
IDS_AREA_ACRES_US "Acre (Egyesült Államok)"
IDS_AREA_ARES "Are" // ?
IDS_AREA_ARES "Are"
IDS_AREA_CHOU "Chou"
IDS_AREA_DANBO "Danbo"
IDS_AREA_HECTARES "Hektár"
IDS_AREA_JEONGBO "Jeongbo"
IDS_AREA_MORGEN_HUNGARY "Hold (Magyarország)" // ?
IDS_AREA_MORGEN_HUNGARY "Hold (Magyarország)"
IDS_AREA_MU "Mu"
IDS_AREA_PING "Ping"
IDS_AREA_PYEONG "Pyeong"
@@ -465,19 +460,19 @@ BEGIN
IDS_AREA_RAI "Rai"
IDS_AREA_SE "Se"
IDS_AREA_SQUARE_CENTIMETERS "Négyzetcentiméter"
IDS_AREA_SQUARE_CHR "Négyzetchr" // ?
IDS_AREA_SQUARE_FATHOMS "Négyzetöl" // Alt.: Négyszögöl
IDS_AREA_SQUARE_FATHOMS_HUNGARY "Négyzetöl (Magyarország)" // Alt.: Négyszögöl (Magyarország)
IDS_AREA_SQUARE_FEET "Négyzetláb" // Alt.: Négyszögláb
IDS_AREA_SQUARE_INCHES "Négyzethüvelyk" // Alt.: Négyszöghüvelyk
IDS_AREA_SQUARE_CHR "Négyzetchr"
IDS_AREA_SQUARE_FATHOMS "Négyzetöl"
IDS_AREA_SQUARE_FATHOMS_HUNGARY "Négyzetöl (Magyarország)"
IDS_AREA_SQUARE_FEET "Négyzetláb"
IDS_AREA_SQUARE_INCHES "Négyzethüvelyk"
IDS_AREA_SQUARE_KILOMETERS "Négyzetkilométer"
IDS_AREA_SQUARE_LAR "Négyzetlar" // ?
IDS_AREA_SQUARE_LAR "Négyzetlar"
IDS_AREA_SQUARE_METER "Négyzetméter"
IDS_AREA_SQUARE_MILES "Négyzetmérföld"
IDS_AREA_SQUARE_MILLIMETERS "Négyzetmilliméter"
IDS_AREA_SQUARE_SHAKU "Négyzetshaku" // ?
IDS_AREA_SQUARE_TSUEN "Négyzettsuen" // ?
IDS_AREA_SQUARE_VA "Négyzetva" // ?
IDS_AREA_SQUARE_SHAKU "Négyzetshaku"
IDS_AREA_SQUARE_TSUEN "Négyzettsuen"
IDS_AREA_SQUARE_VA "Négyzetva"
IDS_AREA_SQUARE_YARD "Négyzetyard"
IDS_AREA_TAN "Tan"
IDS_AREA_TSUBO "Tsubo"
@@ -512,7 +507,7 @@ BEGIN
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxemburgi frank"
IDS_CURRENCY_MALTESE_LIRA "Máltai líra"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portugál escudo"
IDS_CURRENCY_PORTUGUESE_ESCUDO "Portugál escudo"
IDS_CURRENCY_SLOVAK_KORUNA "Szlovák korona"
IDS_CURRENCY_SLOVENIAN_TOLAR "Szlovén tolár"
IDS_CURRENCY_SPANISH_PESETA "Spanyol pezeta"

View File

@@ -0,0 +1,712 @@
/*
* PROJECT: ReactOS Calc
* LICENSE: LGPL-2.0-or-later (https://spdx.org/licenses/LGPL-2.0-or-later)
* PURPOSE: Indonesian resource file
* TRANSLATORS: Copyright 2022 Wilson Simanjuntak <wilsontulus5@gmail.com>
*/
LANGUAGE LANG_INDONESIAN, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulator"
MENU IDR_MENU_SCIENTIFIC_1
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
AUTORADIOBUTTON "Hex", IDC_RADIO_HEX, 8, 21, 30, 10
AUTORADIOBUTTON "Dec", IDC_RADIO_DEC, 41, 21, 30, 10
AUTORADIOBUTTON "Oct", IDC_RADIO_OCT, 74, 21, 30, 10
AUTORADIOBUTTON "Bin", IDC_RADIO_BIN, 107, 21, 30, 10
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
CTEXT "", IDC_TEXT_PARENT, 93, 38, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
CTEXT "", IDC_TEXT_MEMORY, 126, 38, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
PUSHBUTTON "Sta", IDC_BUTTON_STA, 5, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Ave", IDC_BUTTON_AVE, 5, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Sum", IDC_BUTTON_SUM, 5, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "s", IDC_BUTTON_S, 5, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Dat", IDC_BUTTON_DAT, 5, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "F-E", IDC_BUTTON_FE, 38, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "dms", IDC_BUTTON_DMS, 38, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "sin", IDC_BUTTON_SIN, 38, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "cos", IDC_BUTTON_COS, 38, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "tan", IDC_BUTTON_TAN, 38, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "(", IDC_BUTTON_LEFTPAR, 64, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Exp", IDC_BUTTON_EXP, 64, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "x^y", IDC_BUTTON_XeY, 64, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "x^2", IDC_BUTTON_Xe2, 64, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "x^3", IDC_BUTTON_Xe3, 64, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON ")", IDC_BUTTON_RIGHTPAR, 90, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "ln", IDC_BUTTON_LN, 90, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "log", IDC_BUTTON_LOG, 90, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "n!", IDC_BUTTON_NF, 90, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "1/x", IDC_BUTTON_RX, 90, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MC", IDC_BUTTON_MC, 123, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MR", IDC_BUTTON_MR, 123, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MS", IDC_BUTTON_MS, 123, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "M+", IDC_BUTTON_MP, 123, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "pi", IDC_BUTTON_PI, 123, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "7", IDC_BUTTON_7, 156, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "4", IDC_BUTTON_4, 156, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "1", IDC_BUTTON_1, 156, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "0", IDC_BUTTON_0, 156, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "A", IDC_BUTTON_A, 156, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "8", IDC_BUTTON_8, 182, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "5", IDC_BUTTON_5, 182, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "2", IDC_BUTTON_2, 182, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "+/-", IDC_BUTTON_SIGN, 182, 120, 24, 18,BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "B", IDC_BUTTON_B, 182, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "9", IDC_BUTTON_9, 208, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "6", IDC_BUTTON_6, 208, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "3", IDC_BUTTON_3, 208, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON ",", IDC_BUTTON_DOT, 208, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "C", IDC_BUTTON_C, 208, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "/", IDC_BUTTON_DIV, 234, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "*", IDC_BUTTON_MULT, 234, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "-", IDC_BUTTON_SUB, 234, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "+", IDC_BUTTON_ADD, 234, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "D", IDC_BUTTON_D, 234, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Mod", IDC_BUTTON_MOD, 260, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Or", IDC_BUTTON_OR, 260, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Lsh", IDC_BUTTON_LSH, 260, 100, 24, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "=", IDC_BUTTON_EQU, 260, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "E", IDC_BUTTON_E, 260, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "And", IDC_BUTTON_AND, 286, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Xor", IDC_BUTTON_XOR, 286, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Not", IDC_BUTTON_NOT, 286, 100, 24, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Int", IDC_BUTTON_INT, 286, 120, 24, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
AUTORADIOBUTTON "Qword", IDC_RADIO_QWORD, 150, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Dword", IDC_RADIO_DWORD, 190, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Word", IDC_RADIO_WORD, 230, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Byte", IDC_RADIO_BYTE, 270, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Derajat", IDC_RADIO_DEG, 150, 21, 45, 10
AUTORADIOBUTTON "Radian", IDC_RADIO_RAD, 204, 21, 45, 10
AUTORADIOBUTTON "Gradian", IDC_RADIO_GRAD, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Kembali", IDC_BUTTON_BACK, 177, 38, 43, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 305, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulator"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
PUSHBUTTON "C", IDC_BUTTON_CANC, 123, 23, 41, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 80, 23, 41, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Kembali", IDC_BUTTON_BACK, 36, 23, 42, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 159, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
PUSHBUTTON "7", IDC_BUTTON_7, 36, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "4", IDC_BUTTON_4, 36, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "1", IDC_BUTTON_1, 36, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "0", IDC_BUTTON_0, 36, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "8", IDC_BUTTON_8, 62, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "5", IDC_BUTTON_5, 62, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "2", IDC_BUTTON_2, 62, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "+/-", IDC_BUTTON_SIGN, 62, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "9", IDC_BUTTON_9, 88, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "6", IDC_BUTTON_6, 88, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "3", IDC_BUTTON_3, 88, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON ",", IDC_BUTTON_DOT, 88, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "/", IDC_BUTTON_DIV, 114, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "*", IDC_BUTTON_MULT, 114, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "-", IDC_BUTTON_SUB, 114, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "+", IDC_BUTTON_ADD, 114, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Sqrt", IDC_BUTTON_SQRT, 140, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "%", IDC_BUTTON_PERCENT, 140, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "1/x", IDC_BUTTON_RX, 140, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "=", IDC_BUTTON_EQU, 140, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
CTEXT "", IDC_TEXT_MEMORY, 8, 24, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
PUSHBUTTON "MC", IDC_BUTTON_MC, 5, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MR", IDC_BUTTON_MR, 5, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MS", IDC_BUTTON_MS, 5, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "M+", IDC_BUTTON_MP, 5, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulator"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg"
BEGIN
PUSHBUTTON "Konversi", IDC_BUTTON_CONVERT, 35, 105, 76, 17
COMBOBOX IDC_COMBO_CATEGORY, 5, 31, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP | CBS_SORT
LTEXT "Kategori:", IDC_STATIC, 5, 20, 56, 8
COMBOBOX IDC_COMBO_FROM, 5, 60, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP | CBS_SORT
LTEXT "Konversikan dari:", IDC_STATIC, 5, 49, 56, 8
COMBOBOX IDC_COMBO_TO, 5, 87, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP | CBS_SORT
LTEXT "Konversikan ke:", IDC_STATIC, 5, 76, 56, 8
CONTROL "C", IDC_BUTTON_CANC, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 276, 24, 40, 17
CONTROL "CE", IDC_BUTTON_CE, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 232, 24, 40, 17
CONTROL "Kembali", IDC_BUTTON_BACK, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 24, 40,17
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 312, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
CONTROL "7", IDC_BUTTON_7, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 48, 24, 18
CONTROL "4", IDC_BUTTON_4, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 67, 24, 18
CONTROL "1", IDC_BUTTON_1, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 86, 24, 18
CONTROL "0", IDC_BUTTON_0, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 105, 24, 18
CONTROL "8", IDC_BUTTON_8, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 48, 24, 18
CONTROL "5", IDC_BUTTON_5, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 67, 24, 18
CONTROL "2", IDC_BUTTON_2, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 86, 24, 18
CONTROL "+/-", IDC_BUTTON_SIGN, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 105, 24, 18
CONTROL "9", IDC_BUTTON_9, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 48, 24, 18
CONTROL "6", IDC_BUTTON_6, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 67, 24, 18
CONTROL "3", IDC_BUTTON_3, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 86, 24, 18
CONTROL ",", IDC_BUTTON_DOT, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 105, 24, 18
CONTROL "/", IDC_BUTTON_DIV, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 48, 24, 18
CONTROL "*", IDC_BUTTON_MULT, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 67, 24, 18
CONTROL "-", IDC_BUTTON_SUB, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 86, 24, 18
CONTROL "+", IDC_BUTTON_ADD, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 105, 24, 18
CONTROL "Sqrt", IDC_BUTTON_SQRT, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 48, 24, 18
CONTROL "%", IDC_BUTTON_PERCENT, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 67, 24, 18
CONTROL "1/x", IDC_BUTTON_RX, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 86, 24, 18
CONTROL "=", IDC_BUTTON_EQU, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 105, 24, 18
CTEXT "", IDC_TEXT_MEMORY, 152, 24, 24, 18, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
CONTROL "MC", IDC_BUTTON_MC, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 48, 24, 18
CONTROL "MR", IDC_BUTTON_MR, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 67, 24, 18
CONTROL "MS", IDC_BUTTON_MS, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 86, 24, 18
CONTROL "M+", IDC_BUTTON_MP, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 105, 24, 18
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STAT DIALOGEX 0, 0, 163, 85
STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kotak statistik"
FONT 8, "MS Shell Dlg"
BEGIN
LISTBOX IDC_LIST_STAT, 4, 4, 156, 40, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "RET", IDC_BUTTON_RET, 4, 48, 36, 16
PUSHBUTTON "LOAD", IDC_BUTTON_LOAD, 44, 48, 36, 16
PUSHBUTTON "CD", IDC_BUTTON_CD, 84, 48, 36, 16
PUSHBUTTON "CAD", IDC_BUTTON_CAD, 124, 48, 36, 16
CTEXT "n=0", IDC_TEXT_NITEMS, 4, 68, 156, 12, SS_CENTERIMAGE | SS_SUNKEN
END
/* Menus */
IDR_MENU_SCIENTIFIC_1 MENU
BEGIN
POPUP "&Ubah"
BEGIN
MENUITEM "&Salin\tCtrl+C", IDM_EDIT_COPY
MENUITEM "&Tempel\tCtrl+V", IDM_EDIT_PASTE
END
POPUP "&Lihat"
BEGIN
MENUITEM "S&tandar", IDM_VIEW_STANDARD
MENUITEM "&Ilmiah", IDM_VIEW_SCIENTIFIC
MENUITEM "K&onversi", IDM_VIEW_CONVERSION
MENUITEM SEPARATOR
MENUITEM "&Hex\tF5", IDM_VIEW_HEX, CHECKED
MENUITEM "&Desimal\tF6", IDM_VIEW_DEC, CHECKED
MENUITEM "&Oktal\tF7", IDM_VIEW_OCT, CHECKED
MENUITEM "&Biner\tF8", IDM_VIEW_BIN, CHECKED
MENUITEM SEPARATOR
MENUITEM "D&erajat\tF2", IDM_VIEW_DEG, CHECKED
MENUITEM "&Radian\tF3", IDM_VIEW_RAD, CHECKED
MENUITEM "&Gradian\tF4", IDM_VIEW_GRAD, CHECKED
MENUITEM SEPARATOR
MENUITEM "Grup d&igit", IDM_VIEW_GROUP, CHECKED
END
POPUP "&Bantuan"
BEGIN
MENUITEM "&Topik Bantuan", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "&Tentang Kalkulator ReactOS", IDM_HELP_ABOUT
END
END
IDR_MENU_SCIENTIFIC_2 MENU
BEGIN
POPUP "&Ubah"
BEGIN
MENUITEM "&Salin\tCtrl+C", IDM_EDIT_COPY
MENUITEM "&Tempel\tCtrl+V", IDM_EDIT_PASTE
END
POPUP "&Lihat"
BEGIN
MENUITEM "S&tandar", IDM_VIEW_STANDARD
MENUITEM "&Ilmiah", IDM_VIEW_SCIENTIFIC
MENUITEM "K&onversi", IDM_VIEW_CONVERSION
MENUITEM SEPARATOR
MENUITEM "&Hex\tF5", IDM_VIEW_HEX, CHECKED
MENUITEM "&Desimal\tF6", IDM_VIEW_DEC, CHECKED
MENUITEM "&Oktal\tF7", IDM_VIEW_OCT, CHECKED
MENUITEM "&Biner\tF8", IDM_VIEW_BIN, CHECKED
MENUITEM SEPARATOR
MENUITEM "&Qword\tF12", IDM_VIEW_QWORD, CHECKED
MENUITEM "&Dword\tF2", IDM_VIEW_DWORD, CHECKED
MENUITEM "&Word\tF3", IDM_VIEW_WORD, CHECKED
MENUITEM "B&yte\tF4", IDM_VIEW_BYTE, CHECKED
MENUITEM SEPARATOR
MENUITEM "Grup d&igit", IDM_VIEW_GROUP, CHECKED
END
POPUP "&Bantuan"
BEGIN
MENUITEM "&Topik Bantuan", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "&Tentang Kalkulator ReactOS", IDM_HELP_ABOUT
END
END
IDR_MENU_STANDARD MENU
BEGIN
POPUP "&Ubah"
BEGIN
MENUITEM "&Salin\tCtrl+C", IDM_EDIT_COPY
MENUITEM "&Tempel\tCtrl+V", IDM_EDIT_PASTE
END
POPUP "&Lihat"
BEGIN
MENUITEM "S&tandar", IDM_VIEW_STANDARD
MENUITEM "&Ilmiah", IDM_VIEW_SCIENTIFIC
MENUITEM "K&onversi", IDM_VIEW_CONVERSION
MENUITEM SEPARATOR
MENUITEM "Grup d&igit", IDM_VIEW_GROUP, CHECKED
END
POPUP "&Bantuan"
BEGIN
MENUITEM "&Topik Bantuan", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "&Tentang Kalkulator ReactOS", IDM_HELP_ABOUT
END
END
/* String Tables */
STRINGTABLE
BEGIN
IDS_MATH_ERROR "Kesalahan"
IDS_QUICKHELP "Bantuan cepat"
END
/* About */
STRINGTABLE
BEGIN
IDS_CALC_NAME "Kalkulator ReactOS"
IDS_AUTHOR "Dibuat oleh Carlo Bramini"
END
/* Types of conversion */
STRINGTABLE
BEGIN
IDS_CONV_ANGLE "Sudut"
IDS_CONV_AREA "Area"
IDS_CONV_CONSUMPTION "Konsumsi (mesin)"
IDS_CONV_CURRENCY "Mata Uang"
IDS_CONV_ENERGY "Energi"
IDS_CONV_LENGTH "Panjang"
IDS_CONV_POWER "Daya"
IDS_CONV_PRESSURE "Tekanan"
IDS_CONV_TEMPERATURE "Suhu"
IDS_CONV_TIME "Waktu"
IDS_CONV_VELOCITY "Kecepatan"
IDS_CONV_VOLUME "Volume"
IDS_CONV_WEIGHT "Berat"
END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Busur menit"
IDS_ANGLE_ARCSECONDS "Busur detik"
IDS_ANGLE_DEGREES "Derajat"
IDS_ANGLE_GRADIANS "Gradian"
IDS_ANGLE_RADIANS "Radian"
END
/* Areas */
STRINGTABLE
BEGIN
IDS_AREA_ACRES "Hektar"
IDS_AREA_ACRES_BRAZIL "Hektar (Brazil)"
IDS_AREA_ACRES_FRANCE "Hektar (Perancis)"
IDS_AREA_ACRES_SCOTS "Hektar (Skotlandia)"
IDS_AREA_ACRES_US "Hektar (US)"
IDS_AREA_ARES "Ares"
IDS_AREA_CHOU "Chou"
IDS_AREA_DANBO "Danbo"
IDS_AREA_HECTARES "Hektar"
IDS_AREA_JEONGBO "Jeongbo"
IDS_AREA_MORGEN_HUNGARY "Morgen (Hungaria)"
IDS_AREA_MU "Mu"
IDS_AREA_PING "Ping"
IDS_AREA_PYEONG "Pyeong"
IDS_AREA_PYEONGBANGJA "Pyeongbangja"
IDS_AREA_RAI "Rai"
IDS_AREA_SE "Se"
IDS_AREA_SQUARE_CENTIMETERS "Centimeter persegi"
IDS_AREA_SQUARE_CHR "Chr persegi"
IDS_AREA_SQUARE_FATHOMS "Fathom persegi"
IDS_AREA_SQUARE_FATHOMS_HUNGARY "Fathom persegi (Hungaria)"
IDS_AREA_SQUARE_FEET "Kaki persegi"
IDS_AREA_SQUARE_INCHES "Inci persegi"
IDS_AREA_SQUARE_KILOMETERS "Kilometer persegi"
IDS_AREA_SQUARE_LAR "Lar persegi"
IDS_AREA_SQUARE_METER "Meter persegi"
IDS_AREA_SQUARE_MILES "Mil persegi"
IDS_AREA_SQUARE_MILLIMETERS "Milimeter persegi"
IDS_AREA_SQUARE_SHAKU "Shaku persegi"
IDS_AREA_SQUARE_TSUEN "Tsuen persegi"
IDS_AREA_SQUARE_VA "Va persegi"
IDS_AREA_SQUARE_YARD "Yard persegi"
IDS_AREA_TAN "Tan"
IDS_AREA_TSUBO "Tsubo"
END
/* Consumptions */
STRINGTABLE
BEGIN
IDS_CONSUMPTION_KM_PER_L "Kilometer/liter"
IDS_CONSUMPTION_L_PER_100_KM "Liter/100 kilometer"
IDS_CONSUMPTION_MILES_GALLON_UK "Mil/galon (UK)"
IDS_CONSUMPTION_MILES_GALLON_US "Mil/galon (US)"
END
/* Currencies */
STRINGTABLE
BEGIN
IDS_CURRENCY_AUSTRIAN_SCHILLING "Schilling Austria"
IDS_CURRENCY_BELGIAN_FRANC "Franc Belgia"
IDS_CURRENCY_CYPRIOT_POUND "Pound Siprus"
IDS_CURRENCY_CZECH_KORUNA "Koruna Ceko"
IDS_CURRENCY_DEUTSCHE_MARK "Mark Jerman"
IDS_CURRENCY_DUTCH_GUILDER "Gulden Belanda"
IDS_CURRENCY_ESTONIAN_KROON "Kroon Estonia"
IDS_CURRENCY_EURO "Euro"
IDS_CURRENCY_FINNISH_MARKKA "Markka Finlandia"
IDS_CURRENCY_FRENCH_FRANC "Franc Perancis"
IDS_CURRENCY_GREEK_DRACHMA "Drakhma Yunani"
IDS_CURRENCY_IRISH_POUND "Pound Irlandia"
IDS_CURRENCY_ITALIAN_LIRA "Lira Italia"
IDS_CURRENCY_LATVIAN_LATS "Lats Latvia"
IDS_CURRENCY_LITHUANIAN_LITAS "Litas Lithuania"
IDS_CURRENCY_LUXEMBOURG_FRANC "Franc Luksemburg"
IDS_CURRENCY_MALTESE_LIRA "Lira Malta"
IDS_CURRENCY_PORTUGUESE_ESCUDO "Escudo Portugis"
IDS_CURRENCY_SLOVAK_KORUNA "Koruna Slovakia"
IDS_CURRENCY_SLOVENIAN_TOLAR "Tolar Slovenia"
IDS_CURRENCY_SPANISH_PESETA "Peseta Spanyol"
END
/* Energies */
STRINGTABLE
BEGIN
IDS_ENERGY_15_C_CALORIES "15 °C Kalori"
IDS_ENERGY_BTUS "British Thermal Unit"
IDS_ENERGY_ERGS "Erg"
IDS_ENERGY_EVS "Voltase elektron"
IDS_ENERGY_FOOT_POUNDS "Pon kaki"
IDS_ENERGY_IT_CALORIES "Tabel Kalori Internasional"
IDS_ENERGY_IT_KILOCALORIES "Tabel Kilokalori Internasional"
IDS_ENERGY_JOULES "Joule"
IDS_ENERGY_KILOJOULES "Kilojoule"
IDS_ENERGY_KILOWATT_HOURS "Kilowatt per jam"
IDS_ENERGY_NUTRITION_CALORIES "Kalori pangan"
IDS_ENERGY_TH_CALORIES "Kalori termokimia"
END
/* Lengths */
STRINGTABLE
BEGIN
IDS_LENGTH_ANGSTROMS "Ångström"
IDS_LENGTH_ASTRONOMICAL_UNITS "Satuan astronomi"
IDS_LENGTH_BARLEYCORNS "Barleycorn"
IDS_LENGTH_CENTIMETERS "Centimeter"
IDS_LENGTH_CHAINS_UK "Rantai (UK)"
IDS_LENGTH_CHI "Chi"
IDS_LENGTH_CHOU "Chou"
IDS_LENGTH_CHR "Chr"
IDS_LENGTH_CUN "Cun"
IDS_LENGTH_FATHOMS "Fathom"
IDS_LENGTH_FATHOMS_HUNGARY "Fathom (Hungaria)"
IDS_LENGTH_FEET "Kaki"
IDS_LENGTH_FURLONGS "Furlong"
IDS_LENGTH_GAN "Gan"
IDS_LENGTH_HANDS "Tangan"
IDS_LENGTH_HUNH "Hunh"
IDS_LENGTH_INCHES "Inci"
IDS_LENGTH_JA "Ja"
IDS_LENGTH_JEONG "Jeong"
IDS_LENGTH_KABIET "Kabiet"
IDS_LENGTH_KEN "Ken"
IDS_LENGTH_KEUB "Keub"
IDS_LENGTH_KILOMETERS "Kilometer"
IDS_LENGTH_LAR "Lar"
IDS_LENGTH_LIGHT_YEARS "Tahun cahaya"
IDS_LENGTH_LINKS_UK "Link (UK)"
IDS_LENGTH_METERS "Meter"
IDS_LENGTH_MICRONS "Mikron"
IDS_LENGTH_MILES "Mil"
IDS_LENGTH_MILLIMETERS "Milimeter"
IDS_LENGTH_NAUTICAL_MILES "Mil laut"
IDS_LENGTH_NIEU "Nieu"
IDS_LENGTH_PARSECS "Parsec"
IDS_LENGTH_PICAS "Pica"
IDS_LENGTH_RI_JAPAN "Ri (Jepang)"
IDS_LENGTH_RI_KOREA "Ri (Korea)"
IDS_LENGTH_RODS "Rod"
IDS_LENGTH_SAWK "Sawk"
IDS_LENGTH_SEN "Sen"
IDS_LENGTH_SHAKU "Shaku"
IDS_LENGTH_SPAN "Jengkal"
IDS_LENGTH_SUN "Sun"
IDS_LENGTH_TSUEN "Tsuen"
IDS_LENGTH_VA "Va"
IDS_LENGTH_YARDS "Yard"
IDS_LENGTH_YOTE "Yote"
IDS_LENGTH_ZHANG "Zhang"
END
/* Powers */
STRINGTABLE
BEGIN
IDS_POWER_BTUS_PER_MINUTE "British Thermal Unit per menit"
IDS_POWER_FPS_PER_MINUTE "Pon Kaki per menit"
IDS_POWER_HORSEPOWER "Tenaga kuda"
IDS_POWER_KILOWATTS "Kilowatt"
IDS_POWER_MEGAWATTS "Megawatt"
IDS_POWER_WATTS "Watt"
END
/* Pressures */
STRINGTABLE
BEGIN
IDS_PRESSURE_ATMOSPHERES "Atmosfir"
IDS_PRESSURE_BARS "Bar"
IDS_PRESSURE_HECTOPASCALS "Hektopascal"
IDS_PRESSURE_KILOPASCALS "Kilopascal"
IDS_PRESSURE_MM_OF_MERCURY "Milimeter merkuri"
IDS_PRESSURE_PASCALS "Pascal"
IDS_PRESSURE_PSI "Pon per inci persegi"
END
/* Temperatures */
STRINGTABLE
BEGIN
IDS_TEMPERATURE_CELSIUS "Celsius"
IDS_TEMPERATURE_FAHRENHEIT "Fahrenheit"
IDS_TEMPERATURE_KELVIN "Kelvin"
IDS_TEMPERATURE_RANKINE "Rankine"
END
/* Time */
STRINGTABLE
BEGIN
IDS_TIME_DAYS "Hari"
IDS_TIME_HOURS "Jam"
IDS_TIME_NANOSECONDS "Nanodetik"
IDS_TIME_MICROSECONDS "Mikrodetik"
IDS_TIME_MILLISECONDS "Milidetik"
IDS_TIME_MINUTES "Menit"
IDS_TIME_SECONDS "Detik"
IDS_TIME_WEEKS "Minggu"
IDS_TIME_YEARS "Tahun"
END
/* Velocities */
STRINGTABLE
BEGIN
IDS_VELOCITY_CMS_SECOND "Centimeter/jam"
IDS_VELOCITY_FEET_HOUR "Kaki/jam"
IDS_VELOCITY_FEET_SECOND "Kaki/detik"
IDS_VELOCITY_KILOMETERS_HOUR "Kilometer/jam"
IDS_VELOCITY_KNOTS "Knot"
IDS_VELOCITY_MACH "Mach"
IDS_VELOCITY_METERS_SECOND "Meter/detik"
IDS_VELOCITY_MILES_HOUR "Mil/jam"
END
/* Volumes */
STRINGTABLE
BEGIN
IDS_VOLUME_BARRELS_UK "Barel (UK)"
IDS_VOLUME_BARRELS_OIL "Barel minyak"
IDS_VOLUME_BUN "Bun"
IDS_VOLUME_BUSHELS_UK "Bushel (UK)"
IDS_VOLUME_BUSHELS_US "Bushel (US)"
IDS_VOLUME_CUBIC_CENTIMETERS "Centimeter kubik"
IDS_VOLUME_CUBIC_FEET "Kaki kubik"
IDS_VOLUME_CUBIC_INCHES "Inci Kubik"
IDS_VOLUME_CUBIC_METERS "Meter kubik"
IDS_VOLUME_CUBIC_YARDS "Yard kubik"
IDS_VOLUME_DOE "Doe"
IDS_VOLUME_FLUID_OUNCES_UK "Ons cairan (UK)"
IDS_VOLUME_FLUID_OUNCES_US "Ons cairan (US)"
IDS_VOLUME_GALLONS_UK "Galon (UK)"
IDS_VOLUME_GALLONS_DRY_US "Galon, beku (US)"
IDS_VOLUME_GALLONS_LIQUID_US "Galon, cair (US)"
IDS_VOLUME_GOU "Gou"
IDS_VOLUME_HOP "Hop"
IDS_VOLUME_ICCE "Icce"
IDS_VOLUME_KWIAN "Kwian"
IDS_VOLUME_LITERS "Liter"
IDS_VOLUME_MAL "Mal"
IDS_VOLUME_MILLILITERS "Mililiter"
IDS_VOLUME_PINTS_UK "Pint (UK)"
IDS_VOLUME_PINTS_DRY_US "Pint, beku (US)"
IDS_VOLUME_PINTS_LIQUID_US "Pint, cair (US)"
IDS_VOLUME_QUARTS_UK "Quart (UK)"
IDS_VOLUME_QUARTS_DRY_US "Quart, beku (US)"
IDS_VOLUME_QUARTS_LIQUID_US "Quart, cair (US)"
IDS_VOLUME_SEKI "Seki"
IDS_VOLUME_SYOU "Syou"
IDS_VOLUME_TANANLOUNG "Tananloung"
IDS_VOLUME_TANG "Tang"
IDS_VOLUME_TO "To"
END
/* Weights */
STRINGTABLE
BEGIN
IDS_WEIGHT_BAHT "Baht"
IDS_WEIGHT_CARATS "Karat"
IDS_WEIGHT_CHUNG "Chung"
IDS_WEIGHT_DON "Don"
IDS_WEIGHT_GEUN "Geun"
IDS_WEIGHT_GRAMS "Gram"
IDS_WEIGHT_GWAN "Gwan"
IDS_WEIGHT_HARB "Harb"
IDS_WEIGHT_JIN_CHINA "Jin (China)"
IDS_WEIGHT_JIN_TAIWAN "Jin (Taiwan)"
IDS_WEIGHT_KAN "Kan"
IDS_WEIGHT_KILOGRAMS "Kilogram"
IDS_WEIGHT_KIN "Kin"
IDS_WEIGHT_LIANG_CHINA "Liang (China)"
IDS_WEIGHT_LIANG_TAIWAN "Liang (Taiwan)"
IDS_WEIGHT_MONME "Monme"
IDS_WEIGHT_OUNCES_AVOIRDUPOIS "Ons, avoirdupois"
IDS_WEIGHT_OUNCES_TROY "Ons, troy"
IDS_WEIGHT_POUNDS "Pon"
IDS_WEIGHT_QUINTAL_METRIC "Kuintal (metrik)"
IDS_WEIGHT_SALOUNG "Saloung"
IDS_WEIGHT_STONES "Batu"
IDS_WEIGHT_TAMLUNG "Tamlung"
IDS_WEIGHT_TONNES "Tonne"
IDS_WEIGHT_TONS_UK "Ton (UK)"
IDS_WEIGHT_TONS_US "Ton (US)"
END

View File

@@ -2,17 +2,17 @@ LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calcolatrice ReactOS"
CAPTION "Calcolatrice"
MENU IDR_MENU_SCIENTIFIC_1
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
CONTROL "Hex", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
CONTROL "Dec", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
CONTROL "Oct", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
CONTROL "Bin", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
AUTORADIOBUTTON "Hex", IDC_RADIO_HEX, 8, 21, 30, 10
AUTORADIOBUTTON "Dec", IDC_RADIO_DEC, 41, 21, 30, 10
AUTORADIOBUTTON "Oct", IDC_RADIO_OCT, 74, 21, 30, 10
AUTORADIOBUTTON "Bin", IDC_RADIO_BIN, 107, 21, 30, 10
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
@@ -129,17 +129,13 @@ BEGIN
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
CONTROL "Qword", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 150, 21, 38, 10
CONTROL "Dword", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 190, 21, 38, 10
CONTROL "Word", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 230, 21, 38, 10
CONTROL "Byte", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 270, 21, 38, 10
CONTROL "Gradi", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
CONTROL "Radianti", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "Gradienti", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
AUTORADIOBUTTON "Qword", IDC_RADIO_QWORD, 150, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Dword", IDC_RADIO_DWORD, 190, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Word", IDC_RADIO_WORD, 230, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Byte", IDC_RADIO_BYTE, 270, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Gradi", IDC_RADIO_DEG, 150, 21, 45, 10
AUTORADIOBUTTON "Radianti", IDC_RADIO_RAD, 204, 21, 45, 10
AUTORADIOBUTTON "Gradienti", IDC_RADIO_GRAD, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
@@ -150,9 +146,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calcolatrice ReactOS"
CAPTION "Calcolatrice"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
@@ -215,9 +211,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calcolatrice ReactOS"
CAPTION "Calcolatrice"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg"
BEGIN
@@ -309,8 +305,8 @@ IDR_MENU_SCIENTIFIC_1 MENU
BEGIN
POPUP "Modifica"
BEGIN
MENUITEM "Copia\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Incolla\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Copia\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Incolla\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "Visualizza"
BEGIN
@@ -341,8 +337,8 @@ IDR_MENU_SCIENTIFIC_2 MENU
BEGIN
POPUP "Modifica"
BEGIN
MENUITEM "Copia\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Incolla\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Copia\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Incolla\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "Visualizza"
BEGIN
@@ -374,8 +370,8 @@ IDR_MENU_STANDARD MENU
BEGIN
POPUP "Modifica"
BEGIN
MENUITEM "Copia\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Incolla\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Copia\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Incolla\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "Visualizza"
BEGIN
@@ -504,7 +500,7 @@ BEGIN
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Franco Lussemburghese"
IDS_CURRENCY_MALTESE_LIRA "Lira maltese"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Escudo portoghese"
IDS_CURRENCY_PORTUGUESE_ESCUDO "Escudo portoghese"
IDS_CURRENCY_SLOVAK_KORUNA "Corona slovacca"
IDS_CURRENCY_SLOVENIAN_TOLAR "Tallero sloveno"
IDS_CURRENCY_SPANISH_PESETA "Peseta spagnola"

View File

@@ -2,17 +2,17 @@ LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 電卓"
CAPTION "電卓"
MENU IDR_MENU_SCIENTIFIC_1
FONT 9, "MS UI Gothic", 0, 0, 0x1
BEGIN
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
CONTROL "16進", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
CONTROL "10進", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
CONTROL "8進", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
CONTROL "2進", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
AUTORADIOBUTTON "16進", IDC_RADIO_HEX, 8, 21, 30, 10
AUTORADIOBUTTON "10進", IDC_RADIO_DEC, 41, 21, 30, 10
AUTORADIOBUTTON "8進", IDC_RADIO_OCT, 74, 21, 30, 10
AUTORADIOBUTTON "2進", IDC_RADIO_BIN, 107, 21, 30, 10
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
@@ -129,17 +129,13 @@ BEGIN
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
CONTROL "Qword", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 150, 21, 38, 10
CONTROL "Dword", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 190, 21, 38, 10
CONTROL "Word", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 230, 21, 38, 10
CONTROL "Byte", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 270, 21, 38, 10
CONTROL "Degrees", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
CONTROL "Radians", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "Gradians", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
AUTORADIOBUTTON "Qword", IDC_RADIO_QWORD, 150, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Dword", IDC_RADIO_DWORD, 190, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Word", IDC_RADIO_WORD, 230, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Byte", IDC_RADIO_BYTE, 270, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Degrees", IDC_RADIO_DEG, 150, 21, 45, 10
AUTORADIOBUTTON "Radians", IDC_RADIO_RAD, 204, 21, 45, 10
AUTORADIOBUTTON "Gradians", IDC_RADIO_GRAD, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
@@ -150,9 +146,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 電卓"
CAPTION "電卓"
MENU IDR_MENU_STANDARD
FONT 9, "MS UI Gothic", 0, 0, 0x1
BEGIN
@@ -215,9 +211,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 電卓"
CAPTION "電卓"
MENU IDR_MENU_STANDARD
FONT 9, "MS UI Gothic"
BEGIN
@@ -377,7 +373,7 @@ BEGIN
MENUITEM "コピー(&C)\tCtrl+C", IDM_EDIT_COPY
MENUITEM "貼り付け(&P)\tCtrl+V", IDM_EDIT_PASTE
END
POPUP "表示"
POPUP "表示(&V)"
BEGIN
MENUITEM "標準(&T)", IDM_VIEW_STANDARD
MENUITEM "関数電卓(&S)", IDM_VIEW_SCIENTIFIC
@@ -504,7 +500,7 @@ BEGIN
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "ルクセンブルク フラン"
IDS_CURRENCY_MALTESE_LIRA "マルタ リラ"
IDS_CURRENCY_PORTOGUESE_ESCUDO "ポルトガル エスクード"
IDS_CURRENCY_PORTUGUESE_ESCUDO "ポルトガル エスクード"
IDS_CURRENCY_SLOVAK_KORUNA "スロバキア コルナ"
IDS_CURRENCY_SLOVENIAN_TOLAR "スロベニア tolar"
IDS_CURRENCY_SPANISH_PESETA "スペイン ペセタ"

View File

@@ -4,17 +4,17 @@ LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 계산기"
CAPTION "계산기"
MENU IDR_MENU_SCIENTIFIC_1
FONT 9, "굴림", 0, 0, 0x1
BEGIN
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
CONTROL "Hex", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
CONTROL "Dec", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
CONTROL "Oct", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
CONTROL "Bin", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
AUTORADIOBUTTON "Hex", IDC_RADIO_HEX, 8, 21, 30, 10
AUTORADIOBUTTON "Dec", IDC_RADIO_DEC, 41, 21, 30, 10
AUTORADIOBUTTON "Oct", IDC_RADIO_OCT, 74, 21, 30, 10
AUTORADIOBUTTON "Bin", IDC_RADIO_BIN, 107, 21, 30, 10
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
@@ -131,17 +131,13 @@ BEGIN
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
CONTROL "Qword", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 150, 21, 38, 10
CONTROL "Dword", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 190, 21, 38, 10
CONTROL "Word", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 230, 21, 38, 10
CONTROL "Byte", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 270, 21, 38, 10
CONTROL "Degrees", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
CONTROL "Radians", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "Gradians", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
AUTORADIOBUTTON "Qword", IDC_RADIO_QWORD, 150, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Dword", IDC_RADIO_DWORD, 190, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Word", IDC_RADIO_WORD, 230, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Byte", IDC_RADIO_BYTE, 270, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Degrees", IDC_RADIO_DEG, 150, 21, 45, 10
AUTORADIOBUTTON "Radians", IDC_RADIO_RAD, 204, 21, 45, 10
AUTORADIOBUTTON "Gradians", IDC_RADIO_GRAD, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
@@ -152,9 +148,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 계산기"
CAPTION "계산기"
MENU IDR_MENU_STANDARD
FONT 9, "굴림", 0, 0, 0x1
BEGIN
@@ -217,9 +213,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 계산기 정보"
CAPTION "계산기"
MENU IDR_MENU_STANDARD
FONT 9, "굴림"
BEGIN
@@ -311,8 +307,8 @@ IDR_MENU_SCIENTIFIC_1 MENU
BEGIN
POPUP "편집"
BEGIN
MENUITEM "복사\tCTRL-C", IDM_EDIT_COPY
MENUITEM "붙여넣기\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "복사\tCtrl-C", IDM_EDIT_COPY
MENUITEM "붙여넣기\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "보기"
BEGIN
@@ -343,8 +339,8 @@ IDR_MENU_SCIENTIFIC_2 MENU
BEGIN
POPUP "편집"
BEGIN
MENUITEM "복사\tCTRL-C", IDM_EDIT_COPY
MENUITEM "붙여넣기\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "복사\tCtrl-C", IDM_EDIT_COPY
MENUITEM "붙여넣기\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "보기"
BEGIN
@@ -376,8 +372,8 @@ IDR_MENU_STANDARD MENU
BEGIN
POPUP "편집"
BEGIN
MENUITEM "복사\tCTRL-C", IDM_EDIT_COPY
MENUITEM "붙여넣기\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "복사\tCtrl-C", IDM_EDIT_COPY
MENUITEM "붙여넣기\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "보기"
BEGIN
@@ -506,7 +502,7 @@ BEGIN
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxembourg franc"
IDS_CURRENCY_MALTESE_LIRA "Maltese lira"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portoguese escudo"
IDS_CURRENCY_PORTUGUESE_ESCUDO "Portuguese escudo"
IDS_CURRENCY_SLOVAK_KORUNA "Slovak koruna"
IDS_CURRENCY_SLOVENIAN_TOLAR "Slovenian tolar"
IDS_CURRENCY_SPANISH_PESETA "Spanish peseta"

View File

@@ -2,17 +2,17 @@ LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Rekenmachine"
CAPTION "Rekenmachine"
MENU IDR_MENU_SCIENTIFIC_1
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
CONTROL "Hex", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
CONTROL "Dec", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
CONTROL "Oct", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
CONTROL "Bin", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
AUTORADIOBUTTON "Hex", IDC_RADIO_HEX, 8, 21, 30, 10
AUTORADIOBUTTON "Dec", IDC_RADIO_DEC, 41, 21, 30, 10
AUTORADIOBUTTON "Oct", IDC_RADIO_OCT, 74, 21, 30, 10
AUTORADIOBUTTON "Bin", IDC_RADIO_BIN, 107, 21, 30, 10
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
@@ -129,17 +129,13 @@ BEGIN
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
CONTROL "Qword", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 150, 21, 38, 10
CONTROL "Dword", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 190, 21, 38, 10
CONTROL "Word", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 230, 21, 38, 10
CONTROL "Byte", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 270, 21, 38, 10
CONTROL "Graden", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
CONTROL "Radialen", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "Gradiënten", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
AUTORADIOBUTTON "Qword", IDC_RADIO_QWORD, 150, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Dword", IDC_RADIO_DWORD, 190, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Word", IDC_RADIO_WORD, 230, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Byte", IDC_RADIO_BYTE, 270, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Graden", IDC_RADIO_DEG, 150, 21, 45, 10
AUTORADIOBUTTON "Radialen", IDC_RADIO_RAD, 204, 21, 45, 10
AUTORADIOBUTTON "Gradiënten", IDC_RADIO_GRAD, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
@@ -150,9 +146,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Rekenmachine"
CAPTION "Rekenmachine"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
@@ -215,9 +211,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Rekenmachine"
CAPTION "Rekenmachine"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg"
BEGIN
@@ -309,8 +305,8 @@ IDR_MENU_SCIENTIFIC_1 MENU
BEGIN
POPUP "Bewerken"
BEGIN
MENUITEM "Kopiëren\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Plakken\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Kopiëren\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Plakken\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "Beeld"
BEGIN
@@ -341,8 +337,8 @@ IDR_MENU_SCIENTIFIC_2 MENU
BEGIN
POPUP "Edit"
BEGIN
MENUITEM "Kopiëren\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Plakken\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Kopiëren\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Plakken\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "Beeld"
BEGIN
@@ -374,8 +370,8 @@ IDR_MENU_STANDARD MENU
BEGIN
POPUP "Edit"
BEGIN
MENUITEM "Kopiëren\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Plakken\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Kopiëren\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Plakken\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "View"
BEGIN
@@ -504,7 +500,7 @@ BEGIN
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxemburgse franc"
IDS_CURRENCY_MALTESE_LIRA "Maltese lira"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portugese escudo"
IDS_CURRENCY_PORTUGUESE_ESCUDO "Portugese escudo"
IDS_CURRENCY_SLOVAK_KORUNA "Slowaakse kroon"
IDS_CURRENCY_SLOVENIAN_TOLAR "Sloveense tolar"
IDS_CURRENCY_SPANISH_PESETA "Spaanse peseta"

View File

@@ -2,17 +2,17 @@ LANGUAGE LANG_NORWEGIAN, SUBLANG_NEUTRAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Kalkulator"
CAPTION "Kalkulator"
MENU IDR_MENU_SCIENTIFIC_1
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
CONTROL "Heks", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
CONTROL "Des", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
CONTROL "Okt", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
CONTROL "Bin", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
AUTORADIOBUTTON "Heks", IDC_RADIO_HEX, 8, 21, 30, 10
AUTORADIOBUTTON "Des", IDC_RADIO_DEC, 41, 21, 30, 10
AUTORADIOBUTTON "Okt", IDC_RADIO_OCT, 74, 21, 30, 10
AUTORADIOBUTTON "Bin", IDC_RADIO_BIN, 107, 21, 30, 10
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
@@ -129,17 +129,13 @@ BEGIN
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
CONTROL "Qword", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 150, 21, 38, 10
CONTROL "Dword", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 190, 21, 38, 10
CONTROL "Word", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 230, 21, 38, 10
CONTROL "Tegn", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 270, 21, 38, 10
CONTROL "Grader", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
CONTROL "Radianer", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "Gradienter", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
AUTORADIOBUTTON "Qword", IDC_RADIO_QWORD, 150, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Dword", IDC_RADIO_DWORD, 190, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Word", IDC_RADIO_WORD, 230, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Tegn", IDC_RADIO_BYTE, 270, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Grader", IDC_RADIO_DEG, 150, 21, 45, 10
AUTORADIOBUTTON "Radianer", IDC_RADIO_RAD, 204, 21, 45, 10
AUTORADIOBUTTON "Gradienter", IDC_RADIO_GRAD, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
@@ -150,9 +146,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Kalkulator"
CAPTION "Kalkulator"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
@@ -215,9 +211,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Kalkulator"
CAPTION "Kalkulator"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg"
BEGIN
@@ -309,8 +305,8 @@ IDR_MENU_SCIENTIFIC_1 MENU
BEGIN
POPUP "Rediger"
BEGIN
MENUITEM "Kopier\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Lim inn\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Kopier\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Lim inn\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "Vis"
BEGIN
@@ -341,8 +337,8 @@ IDR_MENU_SCIENTIFIC_2 MENU
BEGIN
POPUP "Rediger"
BEGIN
MENUITEM "Kopier\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Lim inn\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Kopier\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Lim inn\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "Vis"
BEGIN
@@ -374,8 +370,8 @@ IDR_MENU_STANDARD MENU
BEGIN
POPUP "Rediger"
BEGIN
MENUITEM "Kopier\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Lim inn\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Kopier\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Lim inn\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "Vis"
BEGIN
@@ -504,7 +500,7 @@ BEGIN
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxembourg franc"
IDS_CURRENCY_MALTESE_LIRA "Maltesisk lira"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portogisisk escudo"
IDS_CURRENCY_PORTUGUESE_ESCUDO "Portugisisk escudo"
IDS_CURRENCY_SLOVAK_KORUNA "Slovansk koruna"
IDS_CURRENCY_SLOVENIAN_TOLAR "Slovenansk tolar"
IDS_CURRENCY_SPANISH_PESETA "Spansk peseta"

View File

@@ -1,27 +1,25 @@
/*
* Translated by Caemyr - Olaf Siejka (Feb, Jun 2008)
* Use ReactOS forum PM or IRC to contact me
* http://www.reactos.org
* IRC: irc.freenode.net #reactos-pl;
* Updated by Saibamen - Adam Stachowicz (saibamenppl@gmail.com) (Apr, 2011)
* UTF-8 conversion by Caemyr (May, 2011)
* Translated by Caemyr - Olaf Siejka 2008-2011
* Use ReactOS forum PM or IRC to contact me
* IRC: irc.freenode.net #reactos-pl;
* Updated by Saibamen - Adam Stachowicz <saibamenppl@gmail.com> 2011
*/
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulator ReactOS"
CAPTION "Kalkulator"
MENU IDR_MENU_SCIENTIFIC_1
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
CONTROL "Hex", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
CONTROL "Dec", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
CONTROL "Oct", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
CONTROL "Bin", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
AUTORADIOBUTTON "Hex", IDC_RADIO_HEX, 8, 21, 30, 10
AUTORADIOBUTTON "Dec", IDC_RADIO_DEC, 41, 21, 30, 10
AUTORADIOBUTTON "Oct", IDC_RADIO_OCT, 74, 21, 30, 10
AUTORADIOBUTTON "Bin", IDC_RADIO_BIN, 107, 21, 30, 10
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
@@ -138,17 +136,13 @@ BEGIN
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
CONTROL "Qword", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 150, 21, 38, 10
CONTROL "Dword", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 190, 21, 38, 10
CONTROL "Word", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 230, 21, 38, 10
CONTROL "Bajt", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 270, 21, 38, 10
CONTROL "Stopnie", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
CONTROL "Radiany", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "Gradusy", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
AUTORADIOBUTTON "Qword", IDC_RADIO_QWORD, 150, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Dword", IDC_RADIO_DWORD, 190, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Word", IDC_RADIO_WORD, 230, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Bajt", IDC_RADIO_BYTE, 270, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Stopnie", IDC_RADIO_DEG, 150, 21, 45, 10
AUTORADIOBUTTON "Radiany", IDC_RADIO_RAD, 204, 21, 45, 10
AUTORADIOBUTTON "Gradusy", IDC_RADIO_GRAD, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
@@ -159,9 +153,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulator ReactOS"
CAPTION "Kalkulator"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
@@ -224,9 +218,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulator ReactOS"
CAPTION "Kalkulator"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg"
BEGIN
@@ -318,8 +312,8 @@ IDR_MENU_SCIENTIFIC_1 MENU
BEGIN
POPUP "Edycja"
BEGIN
MENUITEM "Kopiuj\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Wklej\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Kopiuj\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Wklej\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "Wygląd"
BEGIN
@@ -350,8 +344,8 @@ IDR_MENU_SCIENTIFIC_2 MENU
BEGIN
POPUP "Edycja"
BEGIN
MENUITEM "Kopiuj\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Wklej\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Kopiuj\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Wklej\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "Wygląd"
BEGIN
@@ -383,8 +377,8 @@ IDR_MENU_STANDARD MENU
BEGIN
POPUP "Edycja"
BEGIN
MENUITEM "Kopiuj\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Wklej\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Kopiuj\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Wklej\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "Wygląd"
BEGIN
@@ -513,7 +507,7 @@ BEGIN
IDS_CURRENCY_LITHUANIAN_LITAS "Litewski lit"
IDS_CURRENCY_LUXEMBOURG_FRANC "Luksemburski frank"
IDS_CURRENCY_MALTESE_LIRA "Maltańskie liry"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portugalskie escudo"
IDS_CURRENCY_PORTUGUESE_ESCUDO "Portugalskie escudo"
IDS_CURRENCY_SLOVAK_KORUNA "Słowacka korona"
IDS_CURRENCY_SLOVENIAN_TOLAR "Słoveński tolar"
IDS_CURRENCY_SPANISH_PESETA "Hiszpańska peseta"

View File

@@ -1,20 +1,20 @@
/* Translation and UTF-8 Conversion by mkbu95 <mkbu95@gmail.com> (August, 2011) */
/* TRANSLATOR: 2011 mkbu95 <mkbu95@gmail.com> */
LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora ReactOS"
CAPTION "Calculadora"
MENU IDR_MENU_SCIENTIFIC_1
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
CONTROL "Hex", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
CONTROL "Dec", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
CONTROL "Oct", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
CONTROL "Bin", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
AUTORADIOBUTTON "Hex", IDC_RADIO_HEX, 8, 21, 30, 10
AUTORADIOBUTTON "Dec", IDC_RADIO_DEC, 41, 21, 30, 10
AUTORADIOBUTTON "Oct", IDC_RADIO_OCT, 74, 21, 30, 10
AUTORADIOBUTTON "Bin", IDC_RADIO_BIN, 107, 21, 30, 10
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
@@ -131,17 +131,13 @@ BEGIN
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
CONTROL "Qword", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 150, 21, 38, 10
CONTROL "Dword", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 190, 21, 38, 10
CONTROL "Word", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 230, 21, 38, 10
CONTROL "Byte", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 270, 21, 38, 10
CONTROL "Graus", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
CONTROL "Radianos", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "Grados", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
AUTORADIOBUTTON "Qword", IDC_RADIO_QWORD, 150, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Dword", IDC_RADIO_DWORD, 190, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Word", IDC_RADIO_WORD, 230, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Byte", IDC_RADIO_BYTE, 270, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Graus", IDC_RADIO_DEG, 150, 21, 45, 10
AUTORADIOBUTTON "Radianos", IDC_RADIO_RAD, 204, 21, 45, 10
AUTORADIOBUTTON "Grados", IDC_RADIO_GRAD, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
@@ -152,9 +148,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora ReactOS"
CAPTION "Calculadora"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
@@ -217,9 +213,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora ReactOS"
CAPTION "Calculadora"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg"
BEGIN
@@ -506,7 +502,7 @@ BEGIN
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Franco luxemburguês"
IDS_CURRENCY_MALTESE_LIRA "Lira maltesa"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Escudo português"
IDS_CURRENCY_PORTUGUESE_ESCUDO "Escudo português"
IDS_CURRENCY_SLOVAK_KORUNA "Coroa eslovaca"
IDS_CURRENCY_SLOVENIAN_TOLAR "Tolar"
IDS_CURRENCY_SPANISH_PESETA "Peseta"

View File

@@ -0,0 +1,707 @@
/* TRANSLATOR: 2021 Gabriel Aguiar <fgygh5804@gmail.com,fgsoftwarestudio@gmail.com> */
LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora"
MENU IDR_MENU_SCIENTIFIC_1
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
AUTORADIOBUTTON "Hex", IDC_RADIO_HEX, 8, 21, 30, 10
AUTORADIOBUTTON "Dec", IDC_RADIO_DEC, 41, 21, 30, 10
AUTORADIOBUTTON "Oct", IDC_RADIO_OCT, 74, 21, 30, 10
AUTORADIOBUTTON "Bin", IDC_RADIO_BIN, 107, 21, 30, 10
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
CTEXT "", IDC_TEXT_PARENT, 93, 38, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
CTEXT "", IDC_TEXT_MEMORY, 126, 38, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
PUSHBUTTON "Sta", IDC_BUTTON_STA, 5, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Ave", IDC_BUTTON_AVE, 5, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Sum", IDC_BUTTON_SUM, 5, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "s", IDC_BUTTON_S, 5, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Dat", IDC_BUTTON_DAT, 5, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "F-E", IDC_BUTTON_FE, 38, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "dms", IDC_BUTTON_DMS, 38, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "sin", IDC_BUTTON_SIN, 38, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "cos", IDC_BUTTON_COS, 38, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "tan", IDC_BUTTON_TAN, 38, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "(", IDC_BUTTON_LEFTPAR, 64, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Exp", IDC_BUTTON_EXP, 64, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "x^y", IDC_BUTTON_XeY, 64, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "x^2", IDC_BUTTON_Xe2, 64, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "x^3", IDC_BUTTON_Xe3, 64, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON ")", IDC_BUTTON_RIGHTPAR, 90, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "ln", IDC_BUTTON_LN, 90, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "log", IDC_BUTTON_LOG, 90, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "n!", IDC_BUTTON_NF, 90, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "1/x", IDC_BUTTON_RX, 90, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MC", IDC_BUTTON_MC, 123, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MR", IDC_BUTTON_MR, 123, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MS", IDC_BUTTON_MS, 123, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "M+", IDC_BUTTON_MP, 123, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "pi", IDC_BUTTON_PI, 123, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "7", IDC_BUTTON_7, 156, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "4", IDC_BUTTON_4, 156, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "1", IDC_BUTTON_1, 156, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "0", IDC_BUTTON_0, 156, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "A", IDC_BUTTON_A, 156, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "8", IDC_BUTTON_8, 182, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "5", IDC_BUTTON_5, 182, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "2", IDC_BUTTON_2, 182, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "+/-", IDC_BUTTON_SIGN, 182, 120, 24, 18,BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "B", IDC_BUTTON_B, 182, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "9", IDC_BUTTON_9, 208, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "6", IDC_BUTTON_6, 208, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "3", IDC_BUTTON_3, 208, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON ",", IDC_BUTTON_DOT, 208, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "C", IDC_BUTTON_C, 208, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "/", IDC_BUTTON_DIV, 234, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "*", IDC_BUTTON_MULT, 234, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "-", IDC_BUTTON_SUB, 234, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "+", IDC_BUTTON_ADD, 234, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "D", IDC_BUTTON_D, 234, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Mod", IDC_BUTTON_MOD, 260, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Or", IDC_BUTTON_OR, 260, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Lsh", IDC_BUTTON_LSH, 260, 100, 24, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "=", IDC_BUTTON_EQU, 260, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "E", IDC_BUTTON_E, 260, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "And", IDC_BUTTON_AND, 286, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Xor", IDC_BUTTON_XOR, 286, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Not", IDC_BUTTON_NOT, 286, 100, 24, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Int", IDC_BUTTON_INT, 286, 120, 24, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
AUTORADIOBUTTON "Qword", IDC_RADIO_QWORD, 150, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Dword", IDC_RADIO_DWORD, 190, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Word", IDC_RADIO_WORD, 230, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Byte", IDC_RADIO_BYTE, 270, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Graus", IDC_RADIO_DEG, 150, 21, 45, 10
AUTORADIOBUTTON "Radianos", IDC_RADIO_RAD, 204, 21, 45, 10
AUTORADIOBUTTON "Grados", IDC_RADIO_GRAD, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Apagar", IDC_BUTTON_BACK, 177, 38, 43, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 305, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
PUSHBUTTON "C", IDC_BUTTON_CANC, 123, 23, 41, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 80, 23, 41, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Apagar", IDC_BUTTON_BACK, 36, 23, 42, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 159, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
PUSHBUTTON "7", IDC_BUTTON_7, 36, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "4", IDC_BUTTON_4, 36, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "1", IDC_BUTTON_1, 36, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "0", IDC_BUTTON_0, 36, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "8", IDC_BUTTON_8, 62, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "5", IDC_BUTTON_5, 62, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "2", IDC_BUTTON_2, 62, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "+/-", IDC_BUTTON_SIGN, 62, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "9", IDC_BUTTON_9, 88, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "6", IDC_BUTTON_6, 88, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "3", IDC_BUTTON_3, 88, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON ",", IDC_BUTTON_DOT, 88, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "/", IDC_BUTTON_DIV, 114, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "*", IDC_BUTTON_MULT, 114, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "-", IDC_BUTTON_SUB, 114, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "+", IDC_BUTTON_ADD, 114, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Sqrt", IDC_BUTTON_SQRT, 140, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "%", IDC_BUTTON_PERCENT, 140, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "1/x", IDC_BUTTON_RX, 140, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "=", IDC_BUTTON_EQU, 140, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
CTEXT "", IDC_TEXT_MEMORY, 8, 24, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
PUSHBUTTON "MC", IDC_BUTTON_MC, 5, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MR", IDC_BUTTON_MR, 5, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MS", IDC_BUTTON_MS, 5, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "M+", IDC_BUTTON_MP, 5, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg"
BEGIN
PUSHBUTTON "Converter", IDC_BUTTON_CONVERT, 35, 105, 76, 17
COMBOBOX IDC_COMBO_CATEGORY, 5, 31, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP | CBS_SORT
LTEXT "Categoria:", IDC_STATIC, 5, 20, 56, 8
COMBOBOX IDC_COMBO_FROM, 5, 60, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP | CBS_SORT
LTEXT "Converter de:", IDC_STATIC, 5, 49, 56, 8
COMBOBOX IDC_COMBO_TO, 5, 87, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP | CBS_SORT
LTEXT "Converter para:", IDC_STATIC, 5, 76, 56, 8
CONTROL "C", IDC_BUTTON_CANC, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 276, 24, 40, 17
CONTROL "CE", IDC_BUTTON_CE, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 232, 24, 40, 17
CONTROL "Apagar", IDC_BUTTON_BACK, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 24, 40,17
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 312, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
CONTROL "7", IDC_BUTTON_7, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 48, 24, 18
CONTROL "4", IDC_BUTTON_4, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 67, 24, 18
CONTROL "1", IDC_BUTTON_1, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 86, 24, 18
CONTROL "0", IDC_BUTTON_0, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 105, 24, 18
CONTROL "8", IDC_BUTTON_8, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 48, 24, 18
CONTROL "5", IDC_BUTTON_5, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 67, 24, 18
CONTROL "2", IDC_BUTTON_2, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 86, 24, 18
CONTROL "+/-", IDC_BUTTON_SIGN, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 105, 24, 18
CONTROL "9", IDC_BUTTON_9, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 48, 24, 18
CONTROL "6", IDC_BUTTON_6, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 67, 24, 18
CONTROL "3", IDC_BUTTON_3, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 86, 24, 18
CONTROL ",", IDC_BUTTON_DOT, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 105, 24, 18
CONTROL "/", IDC_BUTTON_DIV, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 48, 24, 18
CONTROL "*", IDC_BUTTON_MULT, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 67, 24, 18
CONTROL "-", IDC_BUTTON_SUB, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 86, 24, 18
CONTROL "+", IDC_BUTTON_ADD, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 105, 24, 18
CONTROL "Sqrt", IDC_BUTTON_SQRT, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 48, 24, 18
CONTROL "%", IDC_BUTTON_PERCENT, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 67, 24, 18
CONTROL "1/x", IDC_BUTTON_RX, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 86, 24, 18
CONTROL "=", IDC_BUTTON_EQU, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 105, 24, 18
CTEXT "", IDC_TEXT_MEMORY, 152, 24, 24, 18, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
CONTROL "MC", IDC_BUTTON_MC, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 48, 24, 18
CONTROL "MR", IDC_BUTTON_MR, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 67, 24, 18
CONTROL "MS", IDC_BUTTON_MS, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 86, 24, 18
CONTROL "M+", IDC_BUTTON_MP, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 105, 24, 18
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STAT DIALOGEX 0, 0, 163, 85
STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Caixa de estatísticas"
FONT 8, "MS Shell Dlg"
BEGIN
LISTBOX IDC_LIST_STAT, 4, 4, 156, 40, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "RET", IDC_BUTTON_RET, 4, 48, 36, 16
PUSHBUTTON "LOAD", IDC_BUTTON_LOAD, 44, 48, 36, 16
PUSHBUTTON "CD", IDC_BUTTON_CD, 84, 48, 36, 16
PUSHBUTTON "CAD", IDC_BUTTON_CAD, 124, 48, 36, 16
CTEXT "n=0", IDC_TEXT_NITEMS, 4, 68, 156, 12, SS_CENTERIMAGE | SS_SUNKEN
END
/* Menus */
IDR_MENU_SCIENTIFIC_1 MENU
BEGIN
POPUP "Editar"
BEGIN
MENUITEM "Copiar\tCtrl+C", IDM_EDIT_COPY
MENUITEM "Colar\tCtrl+V", IDM_EDIT_PASTE
END
POPUP "Visualizar"
BEGIN
MENUITEM "Padrão", IDM_VIEW_STANDARD
MENUITEM "Científica", IDM_VIEW_SCIENTIFIC
MENUITEM "Conversão", IDM_VIEW_CONVERSION
MENUITEM SEPARATOR
MENUITEM "Hex\tF5", IDM_VIEW_HEX, CHECKED
MENUITEM "Decimal\tF6", IDM_VIEW_DEC, CHECKED
MENUITEM "Octal\tF7", IDM_VIEW_OCT, CHECKED
MENUITEM "Binário\tF8", IDM_VIEW_BIN, CHECKED
MENUITEM SEPARATOR
MENUITEM "Graus\tF2", IDM_VIEW_DEG, CHECKED
MENUITEM "Radianos\tF3", IDM_VIEW_RAD, CHECKED
MENUITEM "Grados\tF4", IDM_VIEW_GRAD, CHECKED
MENUITEM SEPARATOR
MENUITEM "Agrupar dígitos", IDM_VIEW_GROUP, CHECKED
END
POPUP "Ajuda"
BEGIN
MENUITEM "Tópicos de ajuda", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "Sobre Calculadora ReactOS", IDM_HELP_ABOUT
END
END
IDR_MENU_SCIENTIFIC_2 MENU
BEGIN
POPUP "Editar"
BEGIN
MENUITEM "Copiar\tCtrl+C", IDM_EDIT_COPY
MENUITEM "Colar\tCtrl+V", IDM_EDIT_PASTE
END
POPUP "Visualizar"
BEGIN
MENUITEM "Padrão", IDM_VIEW_STANDARD
MENUITEM "Científica", IDM_VIEW_SCIENTIFIC
MENUITEM "Conversão", IDM_VIEW_CONVERSION
MENUITEM SEPARATOR
MENUITEM "Hex\tF5", IDM_VIEW_HEX, CHECKED
MENUITEM "Decimal\tF6", IDM_VIEW_DEC, CHECKED
MENUITEM "Octal\tF7", IDM_VIEW_OCT, CHECKED
MENUITEM "Binário\tF8", IDM_VIEW_BIN, CHECKED
MENUITEM SEPARATOR
MENUITEM "Qword\tF12", IDM_VIEW_QWORD, CHECKED
MENUITEM "Dword\tF2", IDM_VIEW_DWORD, CHECKED
MENUITEM "Word\tF3", IDM_VIEW_WORD, CHECKED
MENUITEM "Byte\tF4", IDM_VIEW_BYTE, CHECKED
MENUITEM SEPARATOR
MENUITEM "Agrupar dígitos", IDM_VIEW_GROUP, CHECKED
END
POPUP "Ajuda"
BEGIN
MENUITEM "Tópicos de ajuda", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "Sobre Calculadora ReactOS", IDM_HELP_ABOUT
END
END
IDR_MENU_STANDARD MENU
BEGIN
POPUP "Editar"
BEGIN
MENUITEM "Copiar\tCtrl+C", IDM_EDIT_COPY
MENUITEM "Colar\tCtrl+V", IDM_EDIT_PASTE
END
POPUP "Visualizar"
BEGIN
MENUITEM "Padrão", IDM_VIEW_STANDARD
MENUITEM "Científica", IDM_VIEW_SCIENTIFIC
MENUITEM "Conversão", IDM_VIEW_CONVERSION
MENUITEM SEPARATOR
MENUITEM "Agrupar dígitos", IDM_VIEW_GROUP, CHECKED
END
POPUP "Ajuda"
BEGIN
MENUITEM "Tópicos de ajuda", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "Sobre Calculadora ReactOS", IDM_HELP_ABOUT
END
END
/* String Tables */
STRINGTABLE
BEGIN
IDS_MATH_ERROR "Erro"
IDS_QUICKHELP "Ajuda rápida"
END
/* About */
STRINGTABLE
BEGIN
IDS_CALC_NAME "Calcuadora ReactOS"
IDS_AUTHOR "Escrita por Carlo Bramini"
END
/* Types of conversion */
STRINGTABLE
BEGIN
IDS_CONV_ANGLE "Ângulo"
IDS_CONV_AREA "Área"
IDS_CONV_CONSUMPTION "Consumo (veículos)"
IDS_CONV_CURRENCY "Monetária"
IDS_CONV_ENERGY "Energia"
IDS_CONV_LENGTH "Distância"
IDS_CONV_POWER "Potência"
IDS_CONV_PRESSURE "Pressão"
IDS_CONV_TEMPERATURE "Temperatura"
IDS_CONV_TIME "Tempo"
IDS_CONV_VELOCITY "Velocidade"
IDS_CONV_VOLUME "Volume"
IDS_CONV_WEIGHT "Peso"
END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_DEGREES "Graus"
IDS_ANGLE_GRADIANS "Grados"
IDS_ANGLE_RADIANS "Radianos"
END
/* Areas */
STRINGTABLE
BEGIN
IDS_AREA_ACRES "Acres"
IDS_AREA_ACRES_BRAZIL "Acres (Brasil)"
IDS_AREA_ACRES_FRANCE "Acres (França)"
IDS_AREA_ACRES_SCOTS "Acres (Escócia)"
IDS_AREA_ACRES_US "Acres (EUA)"
IDS_AREA_ARES "Ares"
IDS_AREA_CHOU "Chou"
IDS_AREA_DANBO "Danbo"
IDS_AREA_HECTARES "Hectares"
IDS_AREA_JEONGBO "Jeongbo"
IDS_AREA_MORGEN_HUNGARY "Morgen (Hungária)"
IDS_AREA_MU "Mu"
IDS_AREA_PING "Ping"
IDS_AREA_PYEONG "Pyeong"
IDS_AREA_PYEONGBANGJA "Pyeongbangja"
IDS_AREA_RAI "Rai"
IDS_AREA_SE "Se"
IDS_AREA_SQUARE_CENTIMETERS "Centímetros quadrados"
IDS_AREA_SQUARE_CHR "Chr quadradas"
IDS_AREA_SQUARE_FATHOMS "Braças quadradas"
IDS_AREA_SQUARE_FATHOMS_HUNGARY "Braças quadradas (Hungária)"
IDS_AREA_SQUARE_FEET "Pés quadrados"
IDS_AREA_SQUARE_INCHES "Polegadas quadradas"
IDS_AREA_SQUARE_KILOMETERS "Quilômetros quadrados"
IDS_AREA_SQUARE_LAR "Lar quadradas"
IDS_AREA_SQUARE_METER "Metros quadrados"
IDS_AREA_SQUARE_MILES "Milhas quadradas"
IDS_AREA_SQUARE_MILLIMETERS "Milímetros quadrados"
IDS_AREA_SQUARE_SHAKU "Shaku quadradas"
IDS_AREA_SQUARE_TSUEN "Tsuen quadrados"
IDS_AREA_SQUARE_VA "Va quadrados"
IDS_AREA_SQUARE_YARD "Jardas quadradas"
IDS_AREA_TAN "Tan"
IDS_AREA_TSUBO "Tsubo"
END
/* Consumptions */
STRINGTABLE
BEGIN
IDS_CONSUMPTION_KM_PER_L "Quilômetros/litro"
IDS_CONSUMPTION_L_PER_100_KM "Litros/100 quilômetros"
IDS_CONSUMPTION_MILES_GALLON_UK "Milhas/galão (UK)"
IDS_CONSUMPTION_MILES_GALLON_US "Milhas/galão (EUA)"
END
/* Currencies */
STRINGTABLE
BEGIN
IDS_CURRENCY_AUSTRIAN_SCHILLING "Xelim austríaco"
IDS_CURRENCY_BELGIAN_FRANC "Franco belga"
IDS_CURRENCY_CYPRIOT_POUND "Libra cipriota"
IDS_CURRENCY_CZECH_KORUNA "Coroa checa"
IDS_CURRENCY_DEUTSCHE_MARK "Marco alemão"
IDS_CURRENCY_DUTCH_GUILDER "Florim neerlandês"
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
IDS_CURRENCY_EURO "Euro"
IDS_CURRENCY_FINNISH_MARKKA "Marco finlandês"
IDS_CURRENCY_FRENCH_FRANC "Franco francês"
IDS_CURRENCY_GREEK_DRACHMA "Dracma"
IDS_CURRENCY_IRISH_POUND "Libra irlandesa"
IDS_CURRENCY_ITALIAN_LIRA "Lira italiana"
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Franco luxemburguês"
IDS_CURRENCY_MALTESE_LIRA "Lira maltesa"
IDS_CURRENCY_PORTUGUESE_ESCUDO "Escudo português"
IDS_CURRENCY_SLOVAK_KORUNA "Coroa eslovaca"
IDS_CURRENCY_SLOVENIAN_TOLAR "Tolar"
IDS_CURRENCY_SPANISH_PESETA "Peseta"
END
/* Energies */
STRINGTABLE
BEGIN
IDS_ENERGY_15_C_CALORIES "15 °C calorias"
IDS_ENERGY_BTUS "British Thermal Unit"
IDS_ENERGY_ERGS "Ergs (Cgs)"
IDS_ENERGY_EVS "Elétron-volt"
IDS_ENERGY_FOOT_POUNDS "Foot-Pounds"
IDS_ENERGY_IT_CALORIES "Tabela Internacional de calorias"
IDS_ENERGY_IT_KILOCALORIES "Tabela Internacional de quilocalorias"
IDS_ENERGY_JOULES "Joules"
IDS_ENERGY_KILOJOULES "Quilojoules"
IDS_ENERGY_KILOWATT_HOURS "Quilowatt-hora"
IDS_ENERGY_NUTRITION_CALORIES "Calorias nutritivas"
IDS_ENERGY_TH_CALORIES "Caloria termoquímica"
END
/* Lengths */
STRINGTABLE
BEGIN
IDS_LENGTH_ANGSTROMS "Ångström"
IDS_LENGTH_ASTRONOMICAL_UNITS "Unidade astronômica"
IDS_LENGTH_BARLEYCORNS "Barleycorns"
IDS_LENGTH_CENTIMETERS "Centímetros"
IDS_LENGTH_CHAINS_UK "Correntes (UK)"
IDS_LENGTH_CHI "Chi"
IDS_LENGTH_CHOU "Chou"
IDS_LENGTH_CHR "Chr"
IDS_LENGTH_CUN "Cun"
IDS_LENGTH_FATHOMS "Braças"
IDS_LENGTH_FATHOMS_HUNGARY "Braças (Hungária)"
IDS_LENGTH_FEET "Pés"
IDS_LENGTH_FURLONGS "Furlongs"
IDS_LENGTH_GAN "Gan"
IDS_LENGTH_HANDS "Mãos"
IDS_LENGTH_HUNH "Hunh"
IDS_LENGTH_INCHES "Polegadas"
IDS_LENGTH_JA "Ja"
IDS_LENGTH_JEONG "Jeong"
IDS_LENGTH_KABIET "Kabiet"
IDS_LENGTH_KEN "Ken"
IDS_LENGTH_KEUB "Keub"
IDS_LENGTH_KILOMETERS "Quilômetors"
IDS_LENGTH_LAR "Lar"
IDS_LENGTH_LIGHT_YEARS "Anos-luz"
IDS_LENGTH_LINKS_UK "Links (UK)"
IDS_LENGTH_METERS "Metros"
IDS_LENGTH_MICRONS "Micrômetro"
IDS_LENGTH_MILES "Milhas"
IDS_LENGTH_MILLIMETERS "Milímetros"
IDS_LENGTH_NAUTICAL_MILES "Milhas náuticas"
IDS_LENGTH_NIEU "Nieu"
IDS_LENGTH_PARSECS "Parsecs"
IDS_LENGTH_PICAS "Paicas"
IDS_LENGTH_RI_JAPAN "Ri (Japão)"
IDS_LENGTH_RI_KOREA "Ri (Coreia)"
IDS_LENGTH_RODS "Varas"
IDS_LENGTH_SAWK "Sawk"
IDS_LENGTH_SEN "Sen"
IDS_LENGTH_SHAKU "Shaku"
IDS_LENGTH_SPAN "Span"
IDS_LENGTH_SUN "Sun"
IDS_LENGTH_TSUEN "Tsuen"
IDS_LENGTH_VA "Va"
IDS_LENGTH_YARDS "Jardas"
IDS_LENGTH_YOTE "Yote"
IDS_LENGTH_ZHANG "Zhang"
END
/* Powers */
STRINGTABLE
BEGIN
IDS_POWER_BTUS_PER_MINUTE "British Thermal Units por minuto"
IDS_POWER_FPS_PER_MINUTE "Foot-Pounds por minuto"
IDS_POWER_HORSEPOWER "Cavalos de potência"
IDS_POWER_KILOWATTS "Quilowatts"
IDS_POWER_MEGAWATTS "Megawatts"
IDS_POWER_WATTS "Watts"
END
/* Pressures */
STRINGTABLE
BEGIN
IDS_PRESSURE_ATMOSPHERES "Atmosferas"
IDS_PRESSURE_BARS "Bars"
IDS_PRESSURE_HECTOPASCALS "Hectopascais"
IDS_PRESSURE_KILOPASCALS "Quilopascais"
IDS_PRESSURE_MM_OF_MERCURY "Milímetros de mercúrio"
IDS_PRESSURE_PASCALS "Pascais"
IDS_PRESSURE_PSI "Pounds-force per square inch (PSI)"
END
/* Temperatures */
STRINGTABLE
BEGIN
IDS_TEMPERATURE_CELSIUS "Celsius"
IDS_TEMPERATURE_FAHRENHEIT "Fahrenheit"
IDS_TEMPERATURE_KELVIN "Kelvin"
IDS_TEMPERATURE_RANKINE "Rankine"
END
/* Time */
STRINGTABLE
BEGIN
IDS_TIME_DAYS "Dias"
IDS_TIME_HOURS "Horas"
IDS_TIME_NANOSECONDS "Nanosegundos"
IDS_TIME_MICROSECONDS "Microsegundos"
IDS_TIME_MILLISECONDS "Milisegundos"
IDS_TIME_MINUTES "Minutos"
IDS_TIME_SECONDS "Segundos"
IDS_TIME_WEEKS "Semanas"
IDS_TIME_YEARS "Anos"
END
/* Velocities */
STRINGTABLE
BEGIN
IDS_VELOCITY_CMS_SECOND "Centímetros/hora"
IDS_VELOCITY_FEET_HOUR "Pés/hora"
IDS_VELOCITY_FEET_SECOND "Pés/segundo"
IDS_VELOCITY_KILOMETERS_HOUR "Quilômetros/hora"
IDS_VELOCITY_KNOTS "Nós"
IDS_VELOCITY_MACH "Mach"
IDS_VELOCITY_METERS_SECOND "Metros/segundo"
IDS_VELOCITY_MILES_HOUR "Milhas/hora"
END
/* Volumes */
STRINGTABLE
BEGIN
IDS_VOLUME_BARRELS_UK "Barris (UK)"
IDS_VOLUME_BARRELS_OIL "Barris de petróleo"
IDS_VOLUME_BUN "Bun"
IDS_VOLUME_BUSHELS_UK "Celemim (UK)"
IDS_VOLUME_BUSHELS_US "Celemim (EUA)"
IDS_VOLUME_CUBIC_CENTIMETERS "Centímetros cúbicos"
IDS_VOLUME_CUBIC_FEET "Pés cúbicos"
IDS_VOLUME_CUBIC_INCHES "Polegadas cúbicas"
IDS_VOLUME_CUBIC_METERS "Metros cúbicos"
IDS_VOLUME_CUBIC_YARDS "Jardas cúbicas"
IDS_VOLUME_DOE "Doe"
IDS_VOLUME_FLUID_OUNCES_UK "Onças líquidas (UK)"
IDS_VOLUME_FLUID_OUNCES_US "Onças líquidas (EUA)"
IDS_VOLUME_GALLONS_UK "Galões (EUA)"
IDS_VOLUME_GALLONS_DRY_US "Galões secos (EUA)"
IDS_VOLUME_GALLONS_LIQUID_US "Galões líquidos (EUA)"
IDS_VOLUME_GOU "Gou"
IDS_VOLUME_HOP "Hop"
IDS_VOLUME_ICCE "Icce"
IDS_VOLUME_KWIAN "Kwian"
IDS_VOLUME_LITERS "Litros"
IDS_VOLUME_MAL "Mal"
IDS_VOLUME_MILLILITERS "Milímetros"
IDS_VOLUME_PINTS_UK "Pintos (UK)"
IDS_VOLUME_PINTS_DRY_US "Pintos secos (EUA)"
IDS_VOLUME_PINTS_LIQUID_US "Pints líquidos (EUA)"
IDS_VOLUME_QUARTS_UK "Quartos (UK)"
IDS_VOLUME_QUARTS_DRY_US "Quartos secos (EUA)"
IDS_VOLUME_QUARTS_LIQUID_US "Quartos líquidos (EUA)"
IDS_VOLUME_SEKI "Seki"
IDS_VOLUME_SYOU "Syou"
IDS_VOLUME_TANANLOUNG "Tananloung"
IDS_VOLUME_TANG "Tang"
IDS_VOLUME_TO "To"
END
/* Weights */
STRINGTABLE
BEGIN
IDS_WEIGHT_BAHT "Baht"
IDS_WEIGHT_CARATS "Quilate"
IDS_WEIGHT_CHUNG "Chung"
IDS_WEIGHT_DON "Don"
IDS_WEIGHT_GEUN "Geun"
IDS_WEIGHT_GRAMS "Gramas"
IDS_WEIGHT_GWAN "Gwan"
IDS_WEIGHT_HARB "Harb"
IDS_WEIGHT_JIN_CHINA "Jin (China)"
IDS_WEIGHT_JIN_TAIWAN "Jin (Taiwan)"
IDS_WEIGHT_KAN "Kan"
IDS_WEIGHT_KILOGRAMS "Quilogramas"
IDS_WEIGHT_KIN "Kin"
IDS_WEIGHT_LIANG_CHINA "Liang (China)"
IDS_WEIGHT_LIANG_TAIWAN "Liang (Taiwan)"
IDS_WEIGHT_MONME "Monme"
IDS_WEIGHT_OUNCES_AVOIRDUPOIS "Onças avoirdupois"
IDS_WEIGHT_OUNCES_TROY "Onças troy"
IDS_WEIGHT_POUNDS "Libras"
IDS_WEIGHT_QUINTAL_METRIC "Quintal (métrico)"
IDS_WEIGHT_SALOUNG "Saloung"
IDS_WEIGHT_STONES "Pedras"
IDS_WEIGHT_TAMLUNG "Tamlung"
IDS_WEIGHT_TONNES "Toneladas"
IDS_WEIGHT_TONS_UK "Toneladas (UK)"
IDS_WEIGHT_TONS_US "Toneladas (EUA)"
END

View File

@@ -1,23 +1,27 @@
/*
* Translators: Petru Dimitriu (petrimetri at gmail dot com)
* Ștefan Fulea (stefan dot fulea at mail dot com)
* PROJECT: ReactOS Calc
* LICENSE: LGPL-2.0-or-later (https://spdx.org/licenses/LGPL-2.0-or-later)
* PURPOSE: Romanian resource file
* TRANSLATORS: Copyright 2009 Petru Dimitriu <petrimetri@gmail.com>
* Copyright 2011-2018 Ștefan Fulea <stefan.fulea@mail.com>
* Copyright 2022-2024 Andrei Miloiu <miloiuandrei@gmail.com>
*/
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Minicalculator"
CAPTION "Calculator"
MENU IDR_MENU_SCIENTIFIC_1
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
CONTROL "Hex", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
CONTROL "Dec", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
CONTROL "Oct", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
CONTROL "Bin", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
AUTORADIOBUTTON "Hex", IDC_RADIO_HEX, 8, 21, 30, 10
AUTORADIOBUTTON "Dec", IDC_RADIO_DEC, 41, 21, 30, 10
AUTORADIOBUTTON "Oct", IDC_RADIO_OCT, 74, 21, 30, 10
AUTORADIOBUTTON "Bin", IDC_RADIO_BIN, 107, 21, 30, 10
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
@@ -134,30 +138,26 @@ BEGIN
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
CONTROL "64 biți", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 150, 21, 38, 10
CONTROL "32 biți", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 190, 21, 38, 10
CONTROL "16 biți", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 230, 21, 38, 10
CONTROL "8 biți", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 270, 21, 38, 10
CONTROL "Grade", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
CONTROL "Radiani", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "Gradiani", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
AUTORADIOBUTTON "64 biți", IDC_RADIO_QWORD, 150, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "32 biți", IDC_RADIO_DWORD, 190, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "16 biți", IDC_RADIO_WORD, 230, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "8 biți", IDC_RADIO_BYTE, 270, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Grade", IDC_RADIO_DEG, 150, 21, 45, 10
AUTORADIOBUTTON "Radiani", IDC_RADIO_RAD, 204, 21, 45, 10
AUTORADIOBUTTON "Gradiani", IDC_RADIO_GRAD, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Înapoi", IDC_BUTTON_BACK, 177, 38, 43, 18, BS_CENTER |
PUSHBUTTON "Backspace", IDC_BUTTON_BACK, 177, 38, 43, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 305, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Minicalculator"
CAPTION "Calculator"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
@@ -165,7 +165,7 @@ BEGIN
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 80, 23, 41, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Înapoi", IDC_BUTTON_BACK, 36, 23, 42, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "Backspace", IDC_BUTTON_BACK, 36, 23, 42, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 159, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
PUSHBUTTON "7", IDC_BUTTON_7, 36, 45, 24, 18, BS_CENTER | BS_VCENTER |
@@ -220,9 +220,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Minicalculator"
CAPTION "Calculator"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg"
BEGIN
@@ -240,7 +240,7 @@ BEGIN
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 276, 24, 40, 17
CONTROL "CE", IDC_BUTTON_CE, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 232, 24, 40, 17
CONTROL "Înapoi", IDC_BUTTON_BACK, "Button", BS_OWNERDRAW | BS_CENTER |
CONTROL "Backspace", IDC_BUTTON_BACK, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 24, 40,17
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 312, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
CONTROL "7", IDC_BUTTON_7, "Button", BS_OWNERDRAW | BS_CENTER |
@@ -314,31 +314,31 @@ IDR_MENU_SCIENTIFIC_1 MENU
BEGIN
POPUP "&Editare"
BEGIN
MENUITEM "&Copiază\tCtrl-C", IDM_EDIT_COPY
MENUITEM "&Lipește\tCtrl-V", IDM_EDIT_PASTE
MENUITEM "&Copiere\tCtrl-C", IDM_EDIT_COPY
MENUITEM "&Lipire\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "&Afișare"
POPUP "&Vizualizare"
BEGIN
MENUITEM "Mod st&andard", IDM_VIEW_STANDARD
MENUITEM "Mod știi&nțific", IDM_VIEW_SCIENTIFIC
MENUITEM "Con&versie", IDM_VIEW_CONVERSION
MENUITEM "&Standard", IDM_VIEW_STANDARD
MENUITEM "&Ştiinţific", IDM_VIEW_SCIENTIFIC
MENUITEM "Co&nversie", IDM_VIEW_CONVERSION
MENUITEM SEPARATOR
MENUITEM "&Hexazecimal\tF5", IDM_VIEW_HEX, CHECKED
MENUITEM "&Zecimal\tF6", IDM_VIEW_DEC, CHECKED
MENUITEM "&Octal\tF7", IDM_VIEW_OCT, CHECKED
MENUITEM "O&ctal\tF7", IDM_VIEW_OCT, CHECKED
MENUITEM "&Binar\tF8", IDM_VIEW_BIN, CHECKED
MENUITEM SEPARATOR
MENUITEM "&Grade\tF2", IDM_VIEW_DEG, CHECKED
MENUITEM "&Radiani\tF3", IDM_VIEW_RAD, CHECKED
MENUITEM "Gra&diani\tF4", IDM_VIEW_GRAD, CHECKED
MENUITEM SEPARATOR
MENUITEM "Grupează &cifrele", IDM_VIEW_GROUP, CHECKED
MENUITEM "G&ruparea cifrelor", IDM_VIEW_GROUP, CHECKED
END
POPUP "Aj&utor"
BEGIN
MENUITEM "&Manual…", IDM_HELP_HELP
MENUITEM "&Termeni din Ajutor", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "&Despre", IDM_HELP_ABOUT
MENUITEM "&Despre Calculator ReactOS", IDM_HELP_ABOUT
END
END
@@ -346,32 +346,32 @@ IDR_MENU_SCIENTIFIC_2 MENU
BEGIN
POPUP "&Editare"
BEGIN
MENUITEM "&Copiază\tCTRL-C", IDM_EDIT_COPY
MENUITEM "&Lipește\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "&Copiere\tCtrl-C", IDM_EDIT_COPY
MENUITEM "&Lipire\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "&Afișare"
POPUP "&Vizualizare"
BEGIN
MENUITEM "Mod st&andard", IDM_VIEW_STANDARD
MENUITEM "Mod știi&nțific", IDM_VIEW_SCIENTIFIC
MENUITEM "Con&versie", IDM_VIEW_CONVERSION
MENUITEM "&Standard", IDM_VIEW_STANDARD
MENUITEM "&Ştiinţific", IDM_VIEW_SCIENTIFIC
MENUITEM "G&ruparea cifrelor", IDM_VIEW_CONVERSION
MENUITEM SEPARATOR
MENUITEM "&Hexazecimal\tF5", IDM_VIEW_HEX, CHECKED
MENUITEM "&Zecimal\tF6", IDM_VIEW_DEC, CHECKED
MENUITEM "&Octal\tF7", IDM_VIEW_OCT, CHECKED
MENUITEM "&Binar\tF8", IDM_VIEW_BIN, CHECKED
MENUITEM SEPARATOR
MENUITEM "&64 biți\tF12", IDM_VIEW_QWORD, CHECKED
MENUITEM "&32 biți\tF2", IDM_VIEW_DWORD, CHECKED
MENUITEM "&64 de biți\tF12", IDM_VIEW_QWORD, CHECKED
MENUITEM "&32 de biți\tF2", IDM_VIEW_DWORD, CHECKED
MENUITEM "&16 biți\tF3", IDM_VIEW_WORD, CHECKED
MENUITEM "&8 biți\tF4", IDM_VIEW_BYTE, CHECKED
MENUITEM SEPARATOR
MENUITEM "Grupează &cifrele", IDM_VIEW_GROUP, CHECKED
MENUITEM "Gr&uparea cifrelor", IDM_VIEW_GROUP, CHECKED
END
POPUP "Aj&utor"
BEGIN
MENUITEM "&Manual…", IDM_HELP_HELP
MENUITEM "&Termeni din Ajutor", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "&Despre", IDM_HELP_ABOUT
MENUITEM "&Despre Calculator ReactOS", IDM_HELP_ABOUT
END
END
@@ -379,22 +379,22 @@ IDR_MENU_STANDARD MENU
BEGIN
POPUP "&Editare"
BEGIN
MENUITEM "&Copiază\tCTRL-C", IDM_EDIT_COPY
MENUITEM "&Lipește\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "&Copiere\tCtrl-C", IDM_EDIT_COPY
MENUITEM "&Lipire\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "&Afișare"
POPUP "&Vizualizare"
BEGIN
MENUITEM "Mod st&andard", IDM_VIEW_STANDARD
MENUITEM "Mod știi&nțific", IDM_VIEW_SCIENTIFIC
MENUITEM "Con&versie", IDM_VIEW_CONVERSION
MENUITEM "&Standard", IDM_VIEW_STANDARD
MENUITEM "&Ştiinţific", IDM_VIEW_SCIENTIFIC
MENUITEM "Co&nversie", IDM_VIEW_CONVERSION
MENUITEM SEPARATOR
MENUITEM "Grupează &cifre", IDM_VIEW_GROUP, CHECKED
MENUITEM "Gr&uparea cifrelor", IDM_VIEW_GROUP, CHECKED
END
POPUP "Aj&utor"
BEGIN
MENUITEM "&Manual…", IDM_HELP_HELP
MENUITEM "&Termeni din Ajutor", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "&Despre", IDM_HELP_ABOUT
MENUITEM "&Despre Calculator ReactOS", IDM_HELP_ABOUT
END
END
@@ -403,13 +403,13 @@ END
STRINGTABLE
BEGIN
IDS_MATH_ERROR "Eroare"
IDS_QUICKHELP "Manual"
IDS_QUICKHELP "Termeni din Ajutor"
END
/* About */
STRINGTABLE
BEGIN
IDS_CALC_NAME "Minicalculator ReactOS"
IDS_CALC_NAME "Calculator ReactOS"
IDS_AUTHOR "Scris de Carlo Bramini"
END
@@ -434,8 +434,8 @@ END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_ARCMINUTES "Minut de arc"
IDS_ANGLE_ARCSECONDS "Secundă de arc"
IDS_ANGLE_DEGREES "Grade"
IDS_ANGLE_GRADIANS "Gradiani"
IDS_ANGLE_RADIANS "Radiani"
@@ -466,7 +466,7 @@ BEGIN
IDS_AREA_SQUARE_FATHOMS "Fathomi pătrați"
IDS_AREA_SQUARE_FATHOMS_HUNGARY "Fathomi pătrați (Ungaria)"
IDS_AREA_SQUARE_FEET "Picioare pătrate"
IDS_AREA_SQUARE_INCHES "Țoli pătrați"
IDS_AREA_SQUARE_INCHES "Inci pătrați"
IDS_AREA_SQUARE_KILOMETERS "Kilometri pătrați"
IDS_AREA_SQUARE_LAR "Lar pătrați"
IDS_AREA_SQUARE_METER "Metri pătrați"
@@ -501,7 +501,7 @@ BEGIN
IDS_CURRENCY_ESTONIAN_KROON "Coroană estoniană"
IDS_CURRENCY_EURO "Euro"
IDS_CURRENCY_FINNISH_MARKKA "Marcă finlandeză"
IDS_CURRENCY_FRENCH_FRANC "Franc framcez"
IDS_CURRENCY_FRENCH_FRANC "Franc francez"
IDS_CURRENCY_GREEK_DRACHMA "Drahmă grecească"
IDS_CURRENCY_IRISH_POUND "Liră irlandeză"
IDS_CURRENCY_ITALIAN_LIRA "Liră italiană"
@@ -509,7 +509,7 @@ BEGIN
IDS_CURRENCY_LITHUANIAN_LITAS "Litas lituanian"
IDS_CURRENCY_LUXEMBOURG_FRANC "Franc luxemburghez"
IDS_CURRENCY_MALTESE_LIRA "Litră malteză"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Escudo portughez"
IDS_CURRENCY_PORTUGUESE_ESCUDO "Escudo portughez"
IDS_CURRENCY_SLOVAK_KORUNA "Coroană slovacă"
IDS_CURRENCY_SLOVENIAN_TOLAR "Tolar sloven"
IDS_CURRENCY_SPANISH_PESETA "Peseta spaniolă"
@@ -520,7 +520,7 @@ STRINGTABLE
BEGIN
IDS_ENERGY_15_C_CALORIES "Calorii 15 °C"
IDS_ENERGY_BTUS "Unități termale britanice"
IDS_ENERGY_ERGS "Erg"
IDS_ENERGY_ERGS "Ergi"
IDS_ENERGY_EVS "Electroni-Volt"
IDS_ENERGY_FOOT_POUNDS "Picioare-Livră"
IDS_ENERGY_IT_CALORIES "Calorii Tabel Internațional"
@@ -551,7 +551,7 @@ BEGIN
IDS_LENGTH_GAN "Gan"
IDS_LENGTH_HANDS "Palme"
IDS_LENGTH_HUNH "Hunh"
IDS_LENGTH_INCHES "Țoli"
IDS_LENGTH_INCHES "Inci"
IDS_LENGTH_JA "Ja"
IDS_LENGTH_JEONG "Jeong"
IDS_LENGTH_KABIET "Kabiet"
@@ -588,7 +588,7 @@ END
STRINGTABLE
BEGIN
IDS_POWER_BTUS_PER_MINUTE "Unități termice britanice pe minut"
IDS_POWER_FPS_PER_MINUTE "Picior-livre pe minut"
IDS_POWER_FPS_PER_MINUTE "Picior-lire pe minut"
IDS_POWER_HORSEPOWER "Cai putere"
IDS_POWER_KILOWATTS "Kilowați"
IDS_POWER_MEGAWATTS "Megawați"
@@ -604,7 +604,7 @@ BEGIN
IDS_PRESSURE_KILOPASCALS "Kilopascali"
IDS_PRESSURE_MM_OF_MERCURY "Milimetri coloană de mercur"
IDS_PRESSURE_PASCALS "Pascali"
IDS_PRESSURE_PSI "Livre-forță pe țol pătrat"
IDS_PRESSURE_PSI "Livre-forță pe inci pătrați"
END
/* Temperatures */
@@ -653,7 +653,7 @@ BEGIN
IDS_VOLUME_BUSHELS_US "Bushel (SUA)"
IDS_VOLUME_CUBIC_CENTIMETERS "Centrimetri cubi"
IDS_VOLUME_CUBIC_FEET "Picioare^3"
IDS_VOLUME_CUBIC_INCHES "Țoli cubi"
IDS_VOLUME_CUBIC_INCHES "Inci cubi"
IDS_VOLUME_CUBIC_METERS "Metri cubi"
IDS_VOLUME_CUBIC_YARDS "Yarzi cubi"
IDS_VOLUME_DOE "Doe"
@@ -704,11 +704,11 @@ BEGIN
IDS_WEIGHT_OUNCES_AVOIRDUPOIS "Uncii, avoirdupois"
IDS_WEIGHT_OUNCES_TROY "Uncii, troy"
IDS_WEIGHT_POUNDS "Livre"
IDS_WEIGHT_QUINTAL_METRIC "Chintale (metric)"
IDS_WEIGHT_QUINTAL_METRIC "Quintale (metric)"
IDS_WEIGHT_SALOUNG "Saloung"
IDS_WEIGHT_STONES "Stones"
IDS_WEIGHT_TAMLUNG "Tamlung"
IDS_WEIGHT_TONNES "Tonni"
IDS_WEIGHT_TONNES "Tone"
IDS_WEIGHT_TONS_UK "Tone (Marea Britanie)"
IDS_WEIGHT_TONS_US "Tone (SUA)"
END

View File

@@ -2,17 +2,17 @@ LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Калькулятор ReactOS"
MENU IDR_MENU_SCIENTIFIC_1
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
CONTROL "Hex", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
CONTROL "Dec", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
CONTROL "Oct", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
CONTROL "Bin", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
AUTORADIOBUTTON "Hex", IDC_RADIO_HEX, 8, 21, 30, 10
AUTORADIOBUTTON "Dec", IDC_RADIO_DEC, 41, 21, 30, 10
AUTORADIOBUTTON "Oct", IDC_RADIO_OCT, 74, 21, 30, 10
AUTORADIOBUTTON "Bin", IDC_RADIO_BIN, 107, 21, 30, 10
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
@@ -129,17 +129,13 @@ BEGIN
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
CONTROL "8 байт", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 150, 21, 38, 10
CONTROL "4 байт", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 190, 21, 38, 10
CONTROL "2 байт", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 230, 21, 38, 10
CONTROL "1 байт", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 270, 21, 38, 10
CONTROL "Градусы", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
CONTROL "Радианы", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "Грады", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
AUTORADIOBUTTON "8 байт", IDC_RADIO_QWORD, 150, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "4 байт", IDC_RADIO_DWORD, 190, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "2 байт", IDC_RADIO_WORD, 230, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "1 байт", IDC_RADIO_BYTE, 270, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Градусы", IDC_RADIO_DEG, 150, 21, 45, 10
AUTORADIOBUTTON "Радианы", IDC_RADIO_RAD, 204, 21, 45, 10
AUTORADIOBUTTON "Грады", IDC_RADIO_GRAD, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
@@ -150,7 +146,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Калькулятор ReactOS"
MENU IDR_MENU_STANDARD
@@ -215,7 +211,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Калькулятор ReactOS"
MENU IDR_MENU_STANDARD
@@ -309,8 +305,8 @@ IDR_MENU_SCIENTIFIC_1 MENU
BEGIN
POPUP "&Правка"
BEGIN
MENUITEM "&Копировать\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Вст&авить\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "&Копировать\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Вст&авить\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "В&ид"
BEGIN
@@ -341,8 +337,8 @@ IDR_MENU_SCIENTIFIC_2 MENU
BEGIN
POPUP "&Правка"
BEGIN
MENUITEM "&Копировать\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Вст&авить\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "&Копировать\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Вст&авить\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "В&ид"
BEGIN
@@ -374,8 +370,8 @@ IDR_MENU_STANDARD MENU
BEGIN
POPUP "&Правка"
BEGIN
MENUITEM "&Копировать\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Вст&авить\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "&Копировать\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Вст&авить\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "В&ид"
BEGIN
@@ -429,8 +425,8 @@ END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_ARCMINUTES "Угловая минута"
IDS_ANGLE_ARCSECONDS "Угловая секунда"
IDS_ANGLE_DEGREES "градус"
IDS_ANGLE_GRADIANS "град"
IDS_ANGLE_RADIANS "радиан"
@@ -504,7 +500,7 @@ BEGIN
IDS_CURRENCY_LITHUANIAN_LITAS "Литовский лит"
IDS_CURRENCY_LUXEMBOURG_FRANC "Люксембургский франк"
IDS_CURRENCY_MALTESE_LIRA "Мальтийская лира"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Португальское эскудо"
IDS_CURRENCY_PORTUGUESE_ESCUDO "Португальское эскудо"
IDS_CURRENCY_SLOVAK_KORUNA "Словацкая крона"
IDS_CURRENCY_SLOVENIAN_TOLAR "Словенский толар"
IDS_CURRENCY_SPANISH_PESETA "Испанская песета"

View File

@@ -1,7 +1,4 @@
/* TRANSLATOR : Mário Kačmár /Mario Kacmar/ aka Kario (kario@szm.sk)
* DATE OF TR.: 30-01-2008
* LAST CHANGE: 09-08-2011
* ---------------------------------------
/* TRANSLATOR: 2008-2011 Mário Kačmár /Mario Kacmar/ aka Kario <kario@szm.sk>
* TODO: pridanie navigačných značiek "&" ?
*/
@@ -9,17 +6,17 @@ LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulačka systému ReactOS"
CAPTION "Kalkulačka"
MENU IDR_MENU_SCIENTIFIC_1
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
CONTROL "Hex", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
CONTROL "Dec", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
CONTROL "Oct", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
CONTROL "Bin", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
AUTORADIOBUTTON "Hex", IDC_RADIO_HEX, 8, 21, 30, 10
AUTORADIOBUTTON "Dec", IDC_RADIO_DEC, 41, 21, 30, 10
AUTORADIOBUTTON "Oct", IDC_RADIO_OCT, 74, 21, 30, 10
AUTORADIOBUTTON "Bin", IDC_RADIO_BIN, 107, 21, 30, 10
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
@@ -136,17 +133,13 @@ BEGIN
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
CONTROL "Qword", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 150, 21, 38, 10
CONTROL "Dword", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 190, 21, 38, 10
CONTROL "Word", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 230, 21, 38, 10
CONTROL "Bajt", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 270, 21, 38, 10
CONTROL "Stupne", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
CONTROL "Radiány", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "Grady", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
AUTORADIOBUTTON "Qword", IDC_RADIO_QWORD, 150, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Dword", IDC_RADIO_DWORD, 190, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Word", IDC_RADIO_WORD, 230, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Bajt", IDC_RADIO_BYTE, 270, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Stupne", IDC_RADIO_DEG, 150, 21, 45, 10
AUTORADIOBUTTON "Radiány", IDC_RADIO_RAD, 204, 21, 45, 10
AUTORADIOBUTTON "Grady", IDC_RADIO_GRAD, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
@@ -157,9 +150,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulačka systému ReactOS"
CAPTION "Kalkulačka"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
@@ -222,9 +215,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulačka systému ReactOS"
CAPTION "Kalkulačka"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg"
BEGIN
@@ -316,8 +309,8 @@ IDR_MENU_SCIENTIFIC_1 MENU
BEGIN
POPUP "Úpravy"
BEGIN
MENUITEM "Kopírovať\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Prilepiť\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Kopírovať\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Prilepiť\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "Zobraziť"
BEGIN
@@ -348,8 +341,8 @@ IDR_MENU_SCIENTIFIC_2 MENU
BEGIN
POPUP "Úpravy"
BEGIN
MENUITEM "Kopírovať\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Prilepiť\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Kopírovať\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Prilepiť\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "Zobraziť"
BEGIN
@@ -381,8 +374,8 @@ IDR_MENU_STANDARD MENU
BEGIN
POPUP "Úpravy"
BEGIN
MENUITEM "Kopírovať\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Prilepiť\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Kopírovať\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Prilepiť\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "Zobraziť"
BEGIN
@@ -511,7 +504,7 @@ BEGIN
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxemburský frank"
IDS_CURRENCY_MALTESE_LIRA "Maltská líra"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portugalské escudo"
IDS_CURRENCY_PORTUGUESE_ESCUDO "Portugalské escudo"
IDS_CURRENCY_SLOVAK_KORUNA "Slovenská koruna"
IDS_CURRENCY_SLOVENIAN_TOLAR "Slovinský toliar"
IDS_CURRENCY_SPANISH_PESETA "Španielska peseta"

View File

@@ -1,22 +1,21 @@
/* TRANSLATOR : Ardit Dani (Ard1t) (ardit.dani@gmail.com)
* DATE OF TR: 29-11-2013
/* TRANSLATOR: 2013 Ardit Dani (Ard1t) <ardit.dani@gmail.com>
*/
LANGUAGE LANG_ALBANIAN, SUBLANG_NEUTRAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Makine Llogaritje"
CAPTION "Makine Llogaritje"
MENU IDR_MENU_SCIENTIFIC_1
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
CONTROL "Hex", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
CONTROL "Dec", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
CONTROL "Oct", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
CONTROL "Bin", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
AUTORADIOBUTTON "Hex", IDC_RADIO_HEX, 8, 21, 30, 10
AUTORADIOBUTTON "Dec", IDC_RADIO_DEC, 41, 21, 30, 10
AUTORADIOBUTTON "Oct", IDC_RADIO_OCT, 74, 21, 30, 10
AUTORADIOBUTTON "Bin", IDC_RADIO_BIN, 107, 21, 30, 10
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
@@ -133,17 +132,13 @@ BEGIN
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
CONTROL "Qword", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 150, 21, 38, 10
CONTROL "Dword", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 190, 21, 38, 10
CONTROL "Word", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 230, 21, 38, 10
CONTROL "Byte", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 270, 21, 38, 10
CONTROL "Degrees", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
CONTROL "Radians", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "Gradians", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
AUTORADIOBUTTON "Qword", IDC_RADIO_QWORD, 150, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Dword", IDC_RADIO_DWORD, 190, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Word", IDC_RADIO_WORD, 230, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Byte", IDC_RADIO_BYTE, 270, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Degrees", IDC_RADIO_DEG, 150, 21, 45, 10
AUTORADIOBUTTON "Radians", IDC_RADIO_RAD, 204, 21, 45, 10
AUTORADIOBUTTON "Gradians", IDC_RADIO_GRAD, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
@@ -154,9 +149,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Makine Llogaritje"
CAPTION "Makine Llogaritje"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
@@ -219,9 +214,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Makine Llogaritje"
CAPTION "Makine Llogaritje"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg"
BEGIN
@@ -508,7 +503,7 @@ BEGIN
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxembourg franc"
IDS_CURRENCY_MALTESE_LIRA "Lira Maltese"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Escudo Portugez"
IDS_CURRENCY_PORTUGUESE_ESCUDO "Escudo Portugez"
IDS_CURRENCY_SLOVAK_KORUNA "Koruna Sllovake"
IDS_CURRENCY_SLOVENIAN_TOLAR "Tolari Slloven"
IDS_CURRENCY_SPANISH_PESETA "Peseta Spanjolle"

View File

@@ -1,6 +1,5 @@
/*
* PROJECT: ReactOS CALC
* FILE: base/applications/calc/lang/sv-SE.rc
* PURPOSE: Swedish resource file
* Translation: Jaix Bly
*/
@@ -9,17 +8,17 @@ LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Kalkylator"
CAPTION "Kalkylator"
MENU IDR_MENU_SCIENTIFIC_1
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
CONTROL "Hex", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
CONTROL "Dec", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
CONTROL "Okt", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
CONTROL "Bin", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
AUTORADIOBUTTON "Hex", IDC_RADIO_HEX, 8, 21, 30, 10
AUTORADIOBUTTON "Dec", IDC_RADIO_DEC, 41, 21, 30, 10
AUTORADIOBUTTON "Okt", IDC_RADIO_OCT, 74, 21, 30, 10
AUTORADIOBUTTON "Bin", IDC_RADIO_BIN, 107, 21, 30, 10
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
@@ -136,17 +135,13 @@ BEGIN
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
CONTROL "Qword", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 150, 21, 38, 10
CONTROL "Dword", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 190, 21, 38, 10
CONTROL "Word", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 230, 21, 38, 10
CONTROL "Byte", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 270, 21, 38, 10
CONTROL "Grader", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
CONTROL "Radianer", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "Gradienter", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
AUTORADIOBUTTON "Qword", IDC_RADIO_QWORD, 150, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Dword", IDC_RADIO_DWORD, 190, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Word", IDC_RADIO_WORD, 230, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Byte", IDC_RADIO_BYTE, 270, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Grader", IDC_RADIO_DEG, 150, 21, 45, 10
AUTORADIOBUTTON "Radianer", IDC_RADIO_RAD, 204, 21, 45, 10
AUTORADIOBUTTON "Gradienter", IDC_RADIO_GRAD, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
@@ -157,9 +152,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Kalkylator"
CAPTION "Kalkylator"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
@@ -222,9 +217,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Kalkylator"
CAPTION "Kalkylator"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg"
BEGIN
@@ -316,8 +311,8 @@ IDR_MENU_SCIENTIFIC_1 MENU
BEGIN
POPUP "Redigera"
BEGIN
MENUITEM "Kopiera\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Klistra in\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Kopiera\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Klistra in\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "Visa"
BEGIN
@@ -348,8 +343,8 @@ IDR_MENU_SCIENTIFIC_2 MENU
BEGIN
POPUP "Redigera"
BEGIN
MENUITEM "Kopiera\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Klistra in\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Kopiera\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Klistra in\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "Vis"
BEGIN
@@ -381,8 +376,8 @@ IDR_MENU_STANDARD MENU
BEGIN
POPUP "Redigera"
BEGIN
MENUITEM "Kopiera\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Klistra in\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Kopiera\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Klistra in\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "Visa"
BEGIN
@@ -511,7 +506,7 @@ BEGIN
IDS_CURRENCY_LITHUANIAN_LITAS "Litauenisk litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxembourg franc"
IDS_CURRENCY_MALTESE_LIRA "Maltesisk lire"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portugisisk escudo"
IDS_CURRENCY_PORTUGUESE_ESCUDO "Portugisisk escudo"
IDS_CURRENCY_SLOVAK_KORUNA "Slovakisk koruna"
IDS_CURRENCY_SLOVENIAN_TOLAR "Slovensk tolar"
IDS_CURRENCY_SPANISH_PESETA "Spansk peseta"

View File

@@ -2,17 +2,17 @@ LANGUAGE LANG_THAI, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "เครื่องคิดเลข ReactOS"
CAPTION "เครื่องคิดเลข"
MENU IDR_MENU_SCIENTIFIC_1
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
CONTROL "สิบหก", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
CONTROL "สิบ", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
CONTROL "แปด", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
CONTROL "สอง", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
AUTORADIOBUTTON "สิบหก", IDC_RADIO_HEX, 8, 21, 30, 10
AUTORADIOBUTTON "สิบ", IDC_RADIO_DEC, 41, 21, 30, 10
AUTORADIOBUTTON "แปด", IDC_RADIO_OCT, 74, 21, 30, 10
AUTORADIOBUTTON "สอง", IDC_RADIO_BIN, 107, 21, 30, 10
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
@@ -129,17 +129,13 @@ BEGIN
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
CONTROL "สี่เวิร์ด", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 150, 21, 38, 10
CONTROL "สองเวิร์ด", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 190, 21, 38, 10
CONTROL "เวิร์ด", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 230, 21, 38, 10
CONTROL "ไบต์", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 270, 21, 38, 10
CONTROL "องศา", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
CONTROL "เรเดียน", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "เกรเดียน", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
AUTORADIOBUTTON "สี่เวิร์ด", IDC_RADIO_QWORD, 150, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "สองเวิร์ด", IDC_RADIO_DWORD, 190, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "เวิร์ด", IDC_RADIO_WORD, 230, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "ไบต", IDC_RADIO_BYTE, 270, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "องศา", IDC_RADIO_DEG, 150, 21, 45, 10
AUTORADIOBUTTON "เกรเดียน", IDC_RADIO_RAD, 204, 21, 45, 10
AUTORADIOBUTTON "Gradians", IDC_RADIO_GRAD, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
@@ -150,7 +146,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "สถานภาพทั่วไป"
MENU IDR_MENU_STANDARD
@@ -215,9 +211,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "เครื่องคิดเลข ReactOS"
CAPTION "เครื่องคิดเลข"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg"
BEGIN
@@ -309,8 +305,8 @@ IDR_MENU_SCIENTIFIC_1 MENU
BEGIN
POPUP "แ&ก้ไข"
BEGIN
MENUITEM "คัดลอก\tCTRL-C", IDM_EDIT_COPY
MENUITEM "วาง\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "คัดลอก\tCtrl-C", IDM_EDIT_COPY
MENUITEM "วาง\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "&มุมมอง"
BEGIN
@@ -341,8 +337,8 @@ IDR_MENU_SCIENTIFIC_2 MENU
BEGIN
POPUP "แ&ก้ไข"
BEGIN
MENUITEM "คัดลอก\tCTRL-C", IDM_EDIT_COPY
MENUITEM "วาง\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "คัดลอก\tCtrl-C", IDM_EDIT_COPY
MENUITEM "วาง\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "&มุมมอง"
BEGIN
@@ -374,8 +370,8 @@ IDR_MENU_STANDARD MENU
BEGIN
POPUP "แ&ก้ไข"
BEGIN
MENUITEM "คัดลอก\tCTRL-C", IDM_EDIT_COPY
MENUITEM "วาง\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "คัดลอก\tCtrl-C", IDM_EDIT_COPY
MENUITEM "วาง\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "&มุมมอง"
BEGIN
@@ -504,7 +500,7 @@ BEGIN
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxembourg franc"
IDS_CURRENCY_MALTESE_LIRA "Maltese lira"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portoguese escudo"
IDS_CURRENCY_PORTUGUESE_ESCUDO "Portuguese escudo"
IDS_CURRENCY_SLOVAK_KORUNA "Slovak koruna"
IDS_CURRENCY_SLOVENIAN_TOLAR "Slovenian tolar"
IDS_CURRENCY_SPANISH_PESETA "Spanish peseta"

View File

@@ -1,26 +1,29 @@
/* TRANSLATOR: 2013-2014, 2016, 2019 Erdem Ersoy (eersoy93) (erdemersoy [at] erdemersoy [dot] net) */
/* TRANSLATOR:
2013-2019 Erdem Ersoy (eersoy93) <erdemersoy@erdemersoy.net>
2021 Süleyman Poyraz <zaryob.dev@gmail.com>
*/
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Hesap Makinesi"
CAPTION "Hesap Makinesi"
MENU IDR_MENU_SCIENTIFIC_1
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
CONTROL "Onaltılık", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
CONTROL "Onluk", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
CONTROL "Sekizlik", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
CONTROL "İkilik", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
AUTORADIOBUTTON "Onaltılık", IDC_RADIO_HEX, 8, 21, 30, 10
AUTORADIOBUTTON "Onluk", IDC_RADIO_DEC, 41, 21, 30, 10
AUTORADIOBUTTON "Sekizlik", IDC_RADIO_OCT, 74, 21, 30, 10
AUTORADIOBUTTON "İkilik", IDC_RADIO_BIN, 107, 21, 30, 10
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
CONTROL "Ters", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "ırı", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
CTEXT "", IDC_TEXT_PARENT, 93, 38, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
CTEXT "", IDC_TEXT_MEMORY, 126, 38, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
PUSHBUTTON "İst", IDC_BUTTON_STA, 5, 60, 24, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "Sta", IDC_BUTTON_STA, 5, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Ort", IDC_BUTTON_AVE, 5, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
@@ -30,9 +33,9 @@ BEGIN
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Ekle", IDC_BUTTON_DAT, 5, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "BG", IDC_BUTTON_FE, 38, 60, 24, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "F-E", IDC_BUTTON_FE, 38, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "DDS", IDC_BUTTON_DMS, 38, 80, 24, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "dms", IDC_BUTTON_DMS, 38, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "sin", IDC_BUTTON_SIN, 38, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
@@ -60,13 +63,13 @@ BEGIN
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "1/x", IDC_BUTTON_RX, 90, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "BS", IDC_BUTTON_MC, 123, 60, 24, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "MC", IDC_BUTTON_MC, 123, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "BG", IDC_BUTTON_MR, 123, 80, 24, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "MR", IDC_BUTTON_MR, 123, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "BK", IDC_BUTTON_MS, 123, 100, 24, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "MS", IDC_BUTTON_MS, 123, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "BE", IDC_BUTTON_MP, 123, 120, 24, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "M+", IDC_BUTTON_MP, 123, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "pi", IDC_BUTTON_PI, 123, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
@@ -112,39 +115,35 @@ BEGIN
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Mod", IDC_BUTTON_MOD, 260, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Veya", IDC_BUTTON_OR, 260, 80, 24, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "Or", IDC_BUTTON_OR, 260, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Sola", IDC_BUTTON_LSH, 260, 100, 24, 18, BS_CENTER |
PUSHBUTTON "Lsh", IDC_BUTTON_LSH, 260, 100, 24, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "=", IDC_BUTTON_EQU, 260, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "E", IDC_BUTTON_E, 260, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Ve", IDC_BUTTON_AND, 286, 60, 24, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "And", IDC_BUTTON_AND, 286, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Ya da", IDC_BUTTON_XOR, 286, 80, 24, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "Xor", IDC_BUTTON_XOR, 286, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Değil", IDC_BUTTON_NOT, 286, 100, 24, 18, BS_CENTER |
PUSHBUTTON "Not", IDC_BUTTON_NOT, 286, 100, 24, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Tam", IDC_BUTTON_INT, 286, 120, 24, 18, BS_CENTER |
PUSHBUTTON "Int", IDC_BUTTON_INT, 286, 120, 24, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
CONTROL "Dörtlü Sözcük", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 150, 21, 38, 10
CONTROL "İkili Sözcük", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 190, 21, 38, 10
CONTROL "Sözcük", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 230, 21, 38, 10
CONTROL "Bayt", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 270, 21, 38, 10
CONTROL "Derece", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
CONTROL "Radyan", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "Gradyan", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
PUSHBUTTON "Baştan", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
AUTORADIOBUTTON "Qword", IDC_RADIO_QWORD, 150, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Dword", IDC_RADIO_DWORD, 190, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Word", IDC_RADIO_WORD, 230, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Byte", IDC_RADIO_BYTE, 270, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Derece", IDC_RADIO_DEG, 150, 21, 45, 10
AUTORADIOBUTTON "Radian", IDC_RADIO_RAD, 204, 21, 45, 10
AUTORADIOBUTTON "Gradian", IDC_RADIO_GRAD, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Sil", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Geri", IDC_BUTTON_BACK, 177, 38, 43, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
@@ -152,15 +151,15 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Hesap Makinesi"
CAPTION "Hesap Makinesi"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
PUSHBUTTON "Baştan", IDC_BUTTON_CANC, 123, 23, 41, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "C", IDC_BUTTON_CANC, 123, 23, 41, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Sil", IDC_BUTTON_CE, 80, 23, 41, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "CE", IDC_BUTTON_CE, 80, 23, 41, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Geri", IDC_BUTTON_BACK, 36, 23, 42, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
@@ -197,7 +196,7 @@ BEGIN
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "+", IDC_BUTTON_ADD, 114, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Karekök", IDC_BUTTON_SQRT, 140, 45, 24, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "Sqrt", IDC_BUTTON_SQRT, 140, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "%", IDC_BUTTON_PERCENT, 140, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
@@ -206,20 +205,20 @@ BEGIN
PUSHBUTTON "=", IDC_BUTTON_EQU, 140, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
CTEXT "", IDC_TEXT_MEMORY, 8, 24, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
PUSHBUTTON "BS", IDC_BUTTON_MC, 5, 45, 24, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "MC", IDC_BUTTON_MC, 5, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "BG", IDC_BUTTON_MR, 5, 65, 24, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "MR", IDC_BUTTON_MR, 5, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "BK", IDC_BUTTON_MS, 5, 85, 24, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "MS", IDC_BUTTON_MS, 5, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "BE", IDC_BUTTON_MP, 5, 105, 24, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "M+", IDC_BUTTON_MP, 5, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Hesap Makinesi"
CAPTION "Hesap Makinesi"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg"
BEGIN
@@ -229,13 +228,13 @@ BEGIN
LTEXT "Kategori:", IDC_STATIC, 5, 20, 56, 8
COMBOBOX IDC_COMBO_FROM, 5, 60, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP | CBS_SORT
LTEXT "Şundan Dönüştür:", IDC_STATIC, 5, 49, 56, 8
LTEXT "Şundan dönüştür:", IDC_STATIC, 5, 49, 56, 8
COMBOBOX IDC_COMBO_TO, 5, 87, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP | CBS_SORT
LTEXT "Şuna Dönüştür:", IDC_STATIC, 5, 76, 56, 8
CONTROL "Baştan", IDC_BUTTON_CANC, "Button", BS_OWNERDRAW | BS_CENTER |
CONTROL "C", IDC_BUTTON_CANC, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 276, 24, 40, 17
CONTROL "Sil", IDC_BUTTON_CE, "Button", BS_OWNERDRAW | BS_CENTER |
CONTROL "CE", IDC_BUTTON_CE, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 232, 24, 40, 17
CONTROL "Geri", IDC_BUTTON_BACK, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 24, 40,17
@@ -272,7 +271,7 @@ BEGIN
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 86, 24, 18
CONTROL "+", IDC_BUTTON_ADD, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 105, 24, 18
CONTROL "Karekök", IDC_BUTTON_SQRT, "Button", BS_OWNERDRAW | BS_CENTER |
CONTROL "Sqrt", IDC_BUTTON_SQRT, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 48, 24, 18
CONTROL "%", IDC_BUTTON_PERCENT, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 67, 24, 18
@@ -281,13 +280,13 @@ BEGIN
CONTROL "=", IDC_BUTTON_EQU, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 105, 24, 18
CTEXT "", IDC_TEXT_MEMORY, 152, 24, 24, 18, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
CONTROL "BS", IDC_BUTTON_MC, "Button", BS_OWNERDRAW | BS_CENTER |
CONTROL "MC", IDC_BUTTON_MC, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 48, 24, 18
CONTROL "BG", IDC_BUTTON_MR, "Button", BS_OWNERDRAW | BS_CENTER |
CONTROL "MR", IDC_BUTTON_MR, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 67, 24, 18
CONTROL "BK", IDC_BUTTON_MS, "Button", BS_OWNERDRAW | BS_CENTER |
CONTROL "MS", IDC_BUTTON_MS, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 86, 24, 18
CONTROL "BE", IDC_BUTTON_MP, "Button", BS_OWNERDRAW | BS_CENTER |
CONTROL "M+", IDC_BUTTON_MP, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 105, 24, 18
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
@@ -298,10 +297,10 @@ CAPTION "İstatistik Kutusu"
FONT 8, "MS Shell Dlg"
BEGIN
LISTBOX IDC_LIST_STAT, 4, 4, 156, 40, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "&Geri Dön", IDC_BUTTON_RET, 4, 48, 36, 16
PUSHBUTTON "&Yükle", IDC_BUTTON_LOAD, 44, 48, 36, 16
PUSHBUTTON "&Sil", IDC_BUTTON_CD, 84, 48, 36, 16
PUSHBUTTON "&Tümünü Sil", IDC_BUTTON_CAD, 124, 48, 36, 16
PUSHBUTTON "RET", IDC_BUTTON_RET, 4, 48, 36, 16
PUSHBUTTON "LOAD", IDC_BUTTON_LOAD, 44, 48, 36, 16
PUSHBUTTON "CD", IDC_BUTTON_CD, 84, 48, 36, 16
PUSHBUTTON "CAD", IDC_BUTTON_CAD, 124, 48, 36, 16
CTEXT "n=0", IDC_TEXT_NITEMS, 4, 68, 156, 12, SS_CENTERIMAGE | SS_SUNKEN
END
@@ -506,7 +505,7 @@ BEGIN
IDS_CURRENCY_LITHUANIAN_LITAS "Litvanya litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Lüksemburg Frangı"
IDS_CURRENCY_MALTESE_LIRA "Malta Lirası"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portekiz Esküdosu"
IDS_CURRENCY_PORTUGUESE_ESCUDO "Portekiz Esküdosu"
IDS_CURRENCY_SLOVAK_KORUNA "Slovak Korunası"
IDS_CURRENCY_SLOVENIAN_TOLAR "Slovenya Toları"
IDS_CURRENCY_SPANISH_PESETA "İspanyol Pesetası"
@@ -586,7 +585,7 @@ STRINGTABLE
BEGIN
IDS_POWER_BTUS_PER_MINUTE "Dakikadaki İngiliz Isı Birimi"
IDS_POWER_FPS_PER_MINUTE "Dakikadaki ayak pond kuvveti"
IDS_POWER_HORSEPOWER "At gücü"
IDS_POWER_HORSEPOWER "Beygir gücü"
IDS_POWER_KILOWATTS "Kilovat"
IDS_POWER_MEGAWATTS "Megavat"
IDS_POWER_WATTS "Vat"

View File

@@ -1,8 +1,7 @@
/*
* PROJECT: ReactOS Calculator
* PROJECT: ReactOS Calc
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/applications/calc/lang/uk-UA.rc
* PURPOSE: Ukraianian Language File for ReactOS Calc
* PURPOSE: Ukrainian Language File
* TRANSLATORS: Artem Reznikov & Sakara Yevhen
*/
@@ -10,17 +9,17 @@ LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Калькулятор ReactOS"
CAPTION "Калькулятор"
MENU IDR_MENU_SCIENTIFIC_1
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
CONTROL "Hex", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
CONTROL "Dec", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
CONTROL "Oct", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
CONTROL "Bin", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
AUTORADIOBUTTON "Hex", IDC_RADIO_HEX, 8, 21, 30, 10
AUTORADIOBUTTON "Dec", IDC_RADIO_DEC, 41, 21, 30, 10
AUTORADIOBUTTON "Oct", IDC_RADIO_OCT, 74, 21, 30, 10
AUTORADIOBUTTON "Bin", IDC_RADIO_BIN, 107, 21, 30, 10
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
@@ -137,17 +136,13 @@ BEGIN
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
CONTROL "8 байт", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 150, 21, 38, 10
CONTROL "4 байт", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 190, 21, 38, 10
CONTROL "2 байт", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 230, 21, 38, 10
CONTROL "1 байт", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 270, 21, 38, 10
CONTROL "Градуси", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
CONTROL "Радіани", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "Гради", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
AUTORADIOBUTTON "8 байт", IDC_RADIO_QWORD, 150, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "4 байт", IDC_RADIO_DWORD, 190, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "2 байт", IDC_RADIO_WORD, 230, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "1 байт", IDC_RADIO_BYTE, 270, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Градуси", IDC_RADIO_DEG, 150, 21, 45, 10
AUTORADIOBUTTON "Радіани", IDC_RADIO_RAD, 204, 21, 45, 10
AUTORADIOBUTTON "Гради", IDC_RADIO_GRAD, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
@@ -158,9 +153,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Калькулятор ReactOS"
CAPTION "Калькулятор"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
@@ -223,9 +218,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Калькулятор ReactOS"
CAPTION "Калькулятор"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg"
BEGIN
@@ -317,8 +312,8 @@ IDR_MENU_SCIENTIFIC_1 MENU
BEGIN
POPUP "Правка"
BEGIN
MENUITEM "Копіювати\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Вставити\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Копіювати\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Вставити\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "Вигляд"
BEGIN
@@ -349,8 +344,8 @@ IDR_MENU_SCIENTIFIC_2 MENU
BEGIN
POPUP "Правка"
BEGIN
MENUITEM "Копіювати\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Вставити\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Копіювати\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Вставити\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "Вигляд"
BEGIN
@@ -382,8 +377,8 @@ IDR_MENU_STANDARD MENU
BEGIN
POPUP "Правка"
BEGIN
MENUITEM "Копіювати\tCTRL-C", IDM_EDIT_COPY
MENUITEM "Вставити\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "Копіювати\tCtrl-C", IDM_EDIT_COPY
MENUITEM "Вставити\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "Вигляд"
BEGIN
@@ -512,7 +507,7 @@ BEGIN
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Люксембургський франк"
IDS_CURRENCY_MALTESE_LIRA "Мальтийськая ліра"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Португальське ескудо"
IDS_CURRENCY_PORTUGUESE_ESCUDO "Португальське ескудо"
IDS_CURRENCY_SLOVAK_KORUNA "Словацька крона"
IDS_CURRENCY_SLOVENIAN_TOLAR "Словенський толар"
IDS_CURRENCY_SPANISH_PESETA "Іспанська песета"

View File

@@ -1,20 +1,26 @@
/* Simplified Chinese translation for calc. By Song Fuchang (0xfc) <sfc_0@yahoo.com.cn> */
/*
* PROJECT: ReactOS Calc
* LICENSE: LGPL-2.0-or-later (https://spdx.org/licenses/LGPL-2.0-or-later)
* PURPOSE: Chinese (Simplified) resource file
* TRANSLATORS: Copyright 2011 Song Fuchang (0xfc) <sfc_0@yahoo.com.cn>
* Copyright 2021 Wu Haotian <rigoligo03@gmail.com>
*/
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 计算器"
CAPTION "计算器"
MENU IDR_MENU_SCIENTIFIC_1
FONT 9, "宋体", 0, 0, 0x1
BEGIN
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
CONTROL "Hex", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
CONTROL "Dec", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
CONTROL "Oct", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
CONTROL "Bin", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
AUTORADIOBUTTON "Hex", IDC_RADIO_HEX, 8, 21, 30, 10
AUTORADIOBUTTON "Dec", IDC_RADIO_DEC, 41, 21, 30, 10
AUTORADIOBUTTON "Oct", IDC_RADIO_OCT, 74, 21, 30, 10
AUTORADIOBUTTON "Bin", IDC_RADIO_BIN, 107, 21, 30, 10
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
@@ -131,17 +137,13 @@ BEGIN
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
CONTROL "四字", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 150, 21, 38, 10
CONTROL "字", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 190, 21, 38, 10
CONTROL "字", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 230, 21, 38, 10
CONTROL "字节", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 270, 21, 38, 10
CONTROL "角度", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
CONTROL "弧度", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "梯度", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
AUTORADIOBUTTON "四字", IDC_RADIO_QWORD, 150, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "双字", IDC_RADIO_DWORD, 190, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "字", IDC_RADIO_WORD, 230, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "字节", IDC_RADIO_BYTE, 270, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "角度", IDC_RADIO_DEG, 150, 21, 45, 10
AUTORADIOBUTTON "弧度", IDC_RADIO_RAD, 204, 21, 45, 10
AUTORADIOBUTTON "梯度", IDC_RADIO_GRAD, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
@@ -152,9 +154,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 计算器"
CAPTION "计算器"
MENU IDR_MENU_STANDARD
FONT 9, "宋体", 0, 0, 0x1
BEGIN
@@ -217,22 +219,22 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 计算器"
CAPTION "计算器"
MENU IDR_MENU_STANDARD
FONT 9, "宋体"
BEGIN
PUSHBUTTON "转换", IDC_BUTTON_CONVERT, 35, 105, 76, 17
COMBOBOX IDC_COMBO_CATEGORY, 5, 31, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP | CBS_SORT
LTEXT "类别:", IDC_STATIC, 5, 20, 56, 8
LTEXT "类别", IDC_STATIC, 5, 20, 56, 8
COMBOBOX IDC_COMBO_FROM, 5, 60, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP | CBS_SORT
LTEXT "从...转换:", IDC_STATIC, 5, 49, 56, 8
LTEXT "从...转换", IDC_STATIC, 5, 49, 56, 8
COMBOBOX IDC_COMBO_TO, 5, 87, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP | CBS_SORT
LTEXT "转换为:", IDC_STATIC, 5, 76, 56, 8
LTEXT "转换为", IDC_STATIC, 5, 76, 56, 8
CONTROL "C", IDC_BUTTON_CANC, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 276, 24, 40, 17
CONTROL "CE", IDC_BUTTON_CE, "Button", BS_OWNERDRAW | BS_CENTER |
@@ -415,7 +417,7 @@ STRINGTABLE
BEGIN
IDS_CONV_ANGLE "角"
IDS_CONV_AREA "面积"
IDS_CONV_CONSUMPTION "油耗 (引擎)"
IDS_CONV_CONSUMPTION "油耗引擎"
IDS_CONV_CURRENCY "货币"
IDS_CONV_ENERGY "能量"
IDS_CONV_LENGTH "长度"
@@ -431,8 +433,8 @@ END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_ARCMINUTES ""
IDS_ANGLE_ARCSECONDS ""
IDS_ANGLE_DEGREES "角度"
IDS_ANGLE_GRADIANS "梯度"
IDS_ANGLE_RADIANS "弧度"
@@ -442,26 +444,26 @@ END
STRINGTABLE
BEGIN
IDS_AREA_ACRES "英亩"
IDS_AREA_ACRES_BRAZIL "英亩 (巴西)"
IDS_AREA_ACRES_FRANCE "英亩 (法国)"
IDS_AREA_ACRES_SCOTS "英亩 (苏格兰)"
IDS_AREA_ACRES_US "英亩 (美国)"
IDS_AREA_ACRES_BRAZIL "英亩巴西"
IDS_AREA_ACRES_FRANCE "英亩法国"
IDS_AREA_ACRES_SCOTS "英亩苏格兰"
IDS_AREA_ACRES_US "英亩美国"
IDS_AREA_ARES "公亩"
IDS_AREA_CHOU "畴"
IDS_AREA_DANBO "大亩"
IDS_AREA_HECTARES "公顷"
IDS_AREA_JEONGBO "Jeongbo"
IDS_AREA_MORGEN_HUNGARY "摩根 (匈牙利)"
IDS_AREA_MORGEN_HUNGARY "摩根匈牙利"
IDS_AREA_MU "亩"
IDS_AREA_PING "坪"
IDS_AREA_PYEONG "坪 (韩国)"
IDS_AREA_PYEONG "坪韩国"
IDS_AREA_PYEONGBANGJA "Pyeongbangja"
IDS_AREA_RAI "莱"
IDS_AREA_SE "亩 (日本)"
IDS_AREA_SE "亩日本"
IDS_AREA_SQUARE_CENTIMETERS "平方厘米"
IDS_AREA_SQUARE_CHR "Square chr"
IDS_AREA_SQUARE_FATHOMS "平方英寻"
IDS_AREA_SQUARE_FATHOMS_HUNGARY "平方英寻 (匈牙利)"
IDS_AREA_SQUARE_FATHOMS_HUNGARY "平方英寻匈牙利"
IDS_AREA_SQUARE_FEET "平方英尺"
IDS_AREA_SQUARE_INCHES "平方英寸"
IDS_AREA_SQUARE_KILOMETERS "平方千米"
@@ -474,7 +476,7 @@ BEGIN
IDS_AREA_SQUARE_VA "Square va"
IDS_AREA_SQUARE_YARD "平方码"
IDS_AREA_TAN "段"
IDS_AREA_TSUBO "坪 (日本)"
IDS_AREA_TSUBO "坪日本"
END
/* Consumptions */
@@ -482,8 +484,8 @@ STRINGTABLE
BEGIN
IDS_CONSUMPTION_KM_PER_L "千米/升"
IDS_CONSUMPTION_L_PER_100_KM "升/100 千米"
IDS_CONSUMPTION_MILES_GALLON_UK "英里/加仑 (英国)"
IDS_CONSUMPTION_MILES_GALLON_US "英里/加仑 (美国)"
IDS_CONSUMPTION_MILES_GALLON_UK "英里/加仑英国"
IDS_CONSUMPTION_MILES_GALLON_US "英里/加仑美国"
END
/* Currencies */
@@ -506,7 +508,7 @@ BEGIN
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "卢森堡法郎"
IDS_CURRENCY_MALTESE_LIRA "马耳他里拉"
IDS_CURRENCY_PORTOGUESE_ESCUDO "葡萄牙埃斯库多"
IDS_CURRENCY_PORTUGUESE_ESCUDO "葡萄牙埃斯库多"
IDS_CURRENCY_SLOVAK_KORUNA "斯洛伐克克朗"
IDS_CURRENCY_SLOVENIAN_TOLAR "斯洛文尼亚拖拉"
IDS_CURRENCY_SPANISH_PESETA "西班牙比塞塔"
@@ -536,20 +538,20 @@ BEGIN
IDS_LENGTH_ASTRONOMICAL_UNITS "天文单位"
IDS_LENGTH_BARLEYCORNS "巴利肯"
IDS_LENGTH_CENTIMETERS "厘米"
IDS_LENGTH_CHAINS_UK "链 (英国)"
IDS_LENGTH_CHAINS_UK "链英国"
IDS_LENGTH_CHI "尺"
IDS_LENGTH_CHOU "畴"
IDS_LENGTH_CHR "Chr"
IDS_LENGTH_CUN "寸"
IDS_LENGTH_FATHOMS "英寻"
IDS_LENGTH_FATHOMS_HUNGARY "英寻 (匈牙利)"
IDS_LENGTH_FATHOMS_HUNGARY "英寻匈牙利"
IDS_LENGTH_FEET "英尺"
IDS_LENGTH_FURLONGS "浪"
IDS_LENGTH_GAN "杆"
IDS_LENGTH_HANDS "掌宽"
IDS_LENGTH_HUNH "Hunh"
IDS_LENGTH_INCHES "英尺"
IDS_LENGTH_JA "尺 (韩国)"
IDS_LENGTH_JA "尺韩国"
IDS_LENGTH_JEONG "Jeong"
IDS_LENGTH_KABIET "Kabiet"
IDS_LENGTH_KEN "Ken"
@@ -566,14 +568,14 @@ BEGIN
IDS_LENGTH_NIEU "Nieu"
IDS_LENGTH_PARSECS "Parsecs"
IDS_LENGTH_PICAS "Picas"
IDS_LENGTH_RI_JAPAN "里 (日本)"
IDS_LENGTH_RI_KOREA "里 (韩国)"
IDS_LENGTH_RI_JAPAN "里日本"
IDS_LENGTH_RI_KOREA "里韩国"
IDS_LENGTH_RODS "杆"
IDS_LENGTH_SAWK "Sawk"
IDS_LENGTH_SEN "Sen"
IDS_LENGTH_SHAKU "尺 (日本)"
IDS_LENGTH_SHAKU "尺日本"
IDS_LENGTH_SPAN "Span"
IDS_LENGTH_SUN "寸 (日本)"
IDS_LENGTH_SUN "寸日本"
IDS_LENGTH_TSUEN "寸"
IDS_LENGTH_VA "Va"
IDS_LENGTH_YARDS "码"
@@ -643,22 +645,22 @@ END
/* Volumes */
STRINGTABLE
BEGIN
IDS_VOLUME_BARRELS_UK "桶 (英国)"
IDS_VOLUME_BARRELS_UK "桶英国"
IDS_VOLUME_BARRELS_OIL "桶油"
IDS_VOLUME_BUN "Bun"
IDS_VOLUME_BUSHELS_UK "蒲式耳 (英国)"
IDS_VOLUME_BUSHELS_US "蒲式耳 (美国)"
IDS_VOLUME_BUSHELS_UK "蒲式耳英国"
IDS_VOLUME_BUSHELS_US "蒲式耳美国"
IDS_VOLUME_CUBIC_CENTIMETERS "立方厘米"
IDS_VOLUME_CUBIC_FEET "立方英尺"
IDS_VOLUME_CUBIC_INCHES "立方英寸"
IDS_VOLUME_CUBIC_METERS "立方米"
IDS_VOLUME_CUBIC_YARDS "立方码"
IDS_VOLUME_DOE "Doe"
IDS_VOLUME_FLUID_OUNCES_UK "液盎司 (英国)"
IDS_VOLUME_FLUID_OUNCES_US "液盎司 (美国)"
IDS_VOLUME_GALLONS_UK "加仑 (英国)"
IDS_VOLUME_GALLONS_DRY_US "干量加仑 (美国)"
IDS_VOLUME_GALLONS_LIQUID_US "液加仑 (美国)"
IDS_VOLUME_FLUID_OUNCES_UK "液盎司英国"
IDS_VOLUME_FLUID_OUNCES_US "液盎司美国"
IDS_VOLUME_GALLONS_UK "加仑英国"
IDS_VOLUME_GALLONS_DRY_US "干量加仑美国"
IDS_VOLUME_GALLONS_LIQUID_US "液加仑美国"
IDS_VOLUME_GOU "合"
IDS_VOLUME_HOP "Hop"
IDS_VOLUME_ICCE "Icce"
@@ -666,17 +668,17 @@ BEGIN
IDS_VOLUME_LITERS "升"
IDS_VOLUME_MAL "Mal"
IDS_VOLUME_MILLILITERS "毫升"
IDS_VOLUME_PINTS_UK "品脱 (英国)"
IDS_VOLUME_PINTS_DRY_US "干量品脱 (美国)"
IDS_VOLUME_PINTS_LIQUID_US "液品脱 (美国)"
IDS_VOLUME_QUARTS_UK "夸脱 (英国)"
IDS_VOLUME_QUARTS_DRY_US "干量夸脱 (美国)"
IDS_VOLUME_QUARTS_LIQUID_US "液夸脱 (美国)"
IDS_VOLUME_PINTS_UK "品脱英国"
IDS_VOLUME_PINTS_DRY_US "干量品脱美国"
IDS_VOLUME_PINTS_LIQUID_US "液品脱美国"
IDS_VOLUME_QUARTS_UK "夸脱英国"
IDS_VOLUME_QUARTS_DRY_US "干量夸脱美国"
IDS_VOLUME_QUARTS_LIQUID_US "液夸脱美国"
IDS_VOLUME_SEKI "Seki"
IDS_VOLUME_SYOU "Syou"
IDS_VOLUME_TANANLOUNG "Tananloung"
IDS_VOLUME_TANG "Tang"
IDS_VOLUME_TO "斗 (日本)"
IDS_VOLUME_TO "斗日本"
END
/* Weights */
@@ -690,14 +692,14 @@ BEGIN
IDS_WEIGHT_GRAMS "克"
IDS_WEIGHT_GWAN "Gwan"
IDS_WEIGHT_HARB "Harb"
IDS_WEIGHT_JIN_CHINA "斤 (中国)"
IDS_WEIGHT_JIN_TAIWAN "斤 (中国台湾)"
IDS_WEIGHT_KAN "贯 (日本)"
IDS_WEIGHT_JIN_CHINA "斤中国"
IDS_WEIGHT_JIN_TAIWAN "斤中国台湾"
IDS_WEIGHT_KAN "贯日本"
IDS_WEIGHT_KILOGRAMS "千克"
IDS_WEIGHT_KIN "斤 (日本)"
IDS_WEIGHT_LIANG_CHINA "两 (中国)"
IDS_WEIGHT_LIANG_TAIWAN "两 (中国台湾)"
IDS_WEIGHT_MONME "两 (日本)"
IDS_WEIGHT_KIN "斤日本"
IDS_WEIGHT_LIANG_CHINA "两中国"
IDS_WEIGHT_LIANG_TAIWAN "两中国台湾"
IDS_WEIGHT_MONME "两日本"
IDS_WEIGHT_OUNCES_AVOIRDUPOIS "常衡盎司"
IDS_WEIGHT_OUNCES_TROY "金衡盎司"
IDS_WEIGHT_POUNDS "英磅"
@@ -706,6 +708,6 @@ BEGIN
IDS_WEIGHT_STONES "石"
IDS_WEIGHT_TAMLUNG "Tamlung"
IDS_WEIGHT_TONNES "吨"
IDS_WEIGHT_TONS_UK "吨 (英国)"
IDS_WEIGHT_TONS_US "吨 (美国)"
IDS_WEIGHT_TONS_UK "吨英国"
IDS_WEIGHT_TONS_US "吨美国"
END

View File

@@ -0,0 +1,713 @@
/*
* PROJECT: ReactOS Calc
* LICENSE: LGPL-2.0-or-later (https://spdx.org/licenses/LGPL-2.0-or-later)
* PURPOSE: Chinese (Hong Kong) resource file
* TRANSLATORS: Copyright 2021 Chan Chilung <eason066@gmail.com>
* REFERENCES: Chinese (Simplified) resource file
*/
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_HONGKONG
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "計數機"
MENU IDR_MENU_SCIENTIFIC_1
FONT 9, "新細明體", 0, 0, 0x1
BEGIN
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
AUTORADIOBUTTON "Hex", IDC_RADIO_HEX, 8, 21, 30, 10
AUTORADIOBUTTON "Dec", IDC_RADIO_DEC, 41, 21, 30, 10
AUTORADIOBUTTON "Oct", IDC_RADIO_OCT, 74, 21, 30, 10
AUTORADIOBUTTON "Bin", IDC_RADIO_BIN, 107, 21, 30, 10
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
CTEXT "", IDC_TEXT_PARENT, 93, 38, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
CTEXT "", IDC_TEXT_MEMORY, 126, 38, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
PUSHBUTTON "Sta", IDC_BUTTON_STA, 5, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Ave", IDC_BUTTON_AVE, 5, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Sum", IDC_BUTTON_SUM, 5, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "s", IDC_BUTTON_S, 5, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Dat", IDC_BUTTON_DAT, 5, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "F-E", IDC_BUTTON_FE, 38, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "dms", IDC_BUTTON_DMS, 38, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "sin", IDC_BUTTON_SIN, 38, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "cos", IDC_BUTTON_COS, 38, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "tan", IDC_BUTTON_TAN, 38, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "(", IDC_BUTTON_LEFTPAR, 64, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Exp", IDC_BUTTON_EXP, 64, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "x^y", IDC_BUTTON_XeY, 64, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "x^2", IDC_BUTTON_Xe2, 64, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "x^3", IDC_BUTTON_Xe3, 64, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON ")", IDC_BUTTON_RIGHTPAR, 90, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "ln", IDC_BUTTON_LN, 90, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "log", IDC_BUTTON_LOG, 90, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "n!", IDC_BUTTON_NF, 90, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "1/x", IDC_BUTTON_RX, 90, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MC", IDC_BUTTON_MC, 123, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MR", IDC_BUTTON_MR, 123, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MS", IDC_BUTTON_MS, 123, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "M+", IDC_BUTTON_MP, 123, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "pi", IDC_BUTTON_PI, 123, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "7", IDC_BUTTON_7, 156, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "4", IDC_BUTTON_4, 156, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "1", IDC_BUTTON_1, 156, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "0", IDC_BUTTON_0, 156, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "A", IDC_BUTTON_A, 156, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "8", IDC_BUTTON_8, 182, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "5", IDC_BUTTON_5, 182, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "2", IDC_BUTTON_2, 182, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "+/-", IDC_BUTTON_SIGN, 182, 120, 24, 18,BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "B", IDC_BUTTON_B, 182, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "9", IDC_BUTTON_9, 208, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "6", IDC_BUTTON_6, 208, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "3", IDC_BUTTON_3, 208, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON ",", IDC_BUTTON_DOT, 208, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "C", IDC_BUTTON_C, 208, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "/", IDC_BUTTON_DIV, 234, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "*", IDC_BUTTON_MULT, 234, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "-", IDC_BUTTON_SUB, 234, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "+", IDC_BUTTON_ADD, 234, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "D", IDC_BUTTON_D, 234, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Mod", IDC_BUTTON_MOD, 260, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Or", IDC_BUTTON_OR, 260, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Lsh", IDC_BUTTON_LSH, 260, 100, 24, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "=", IDC_BUTTON_EQU, 260, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "E", IDC_BUTTON_E, 260, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "And", IDC_BUTTON_AND, 286, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Xor", IDC_BUTTON_XOR, 286, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Not", IDC_BUTTON_NOT, 286, 100, 24, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Int", IDC_BUTTON_INT, 286, 120, 24, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
AUTORADIOBUTTON "Qword", IDC_RADIO_QWORD, 150, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Dword", IDC_RADIO_DWORD, 190, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Word", IDC_RADIO_WORD, 230, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "位元組", IDC_RADIO_BYTE, 270, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "角度", IDC_RADIO_DEG, 150, 21, 45, 10
AUTORADIOBUTTON "弧度", IDC_RADIO_RAD, 204, 21, 45, 10
AUTORADIOBUTTON "梯度", IDC_RADIO_GRAD, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Back", IDC_BUTTON_BACK, 177, 38, 43, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 305, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "計數機"
MENU IDR_MENU_STANDARD
FONT 9, "新細明體", 0, 0, 0x1
BEGIN
PUSHBUTTON "C", IDC_BUTTON_CANC, 123, 23, 41, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 80, 23, 41, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Back", IDC_BUTTON_BACK, 36, 23, 42, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 159, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
PUSHBUTTON "7", IDC_BUTTON_7, 36, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "4", IDC_BUTTON_4, 36, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "1", IDC_BUTTON_1, 36, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "0", IDC_BUTTON_0, 36, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "8", IDC_BUTTON_8, 62, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "5", IDC_BUTTON_5, 62, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "2", IDC_BUTTON_2, 62, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "+/-", IDC_BUTTON_SIGN, 62, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "9", IDC_BUTTON_9, 88, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "6", IDC_BUTTON_6, 88, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "3", IDC_BUTTON_3, 88, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON ",", IDC_BUTTON_DOT, 88, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "/", IDC_BUTTON_DIV, 114, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "*", IDC_BUTTON_MULT, 114, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "-", IDC_BUTTON_SUB, 114, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "+", IDC_BUTTON_ADD, 114, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Sqrt", IDC_BUTTON_SQRT, 140, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "%", IDC_BUTTON_PERCENT, 140, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "1/x", IDC_BUTTON_RX, 140, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "=", IDC_BUTTON_EQU, 140, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
CTEXT "", IDC_TEXT_MEMORY, 8, 24, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
PUSHBUTTON "MC", IDC_BUTTON_MC, 5, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MR", IDC_BUTTON_MR, 5, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MS", IDC_BUTTON_MS, 5, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "M+", IDC_BUTTON_MP, 5, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "計數機"
MENU IDR_MENU_STANDARD
FONT 9, "新細明體"
BEGIN
PUSHBUTTON "轉換", IDC_BUTTON_CONVERT, 35, 105, 76, 17
COMBOBOX IDC_COMBO_CATEGORY, 5, 31, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP | CBS_SORT
LTEXT "類別:", IDC_STATIC, 5, 20, 56, 8
COMBOBOX IDC_COMBO_FROM, 5, 60, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP | CBS_SORT
LTEXT "從...轉換:", IDC_STATIC, 5, 49, 56, 8
COMBOBOX IDC_COMBO_TO, 5, 87, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP | CBS_SORT
LTEXT "轉換為:", IDC_STATIC, 5, 76, 56, 8
CONTROL "C", IDC_BUTTON_CANC, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 276, 24, 40, 17
CONTROL "CE", IDC_BUTTON_CE, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 232, 24, 40, 17
CONTROL "Back", IDC_BUTTON_BACK, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 24, 40,17
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 312, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
CONTROL "7", IDC_BUTTON_7, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 48, 24, 18
CONTROL "4", IDC_BUTTON_4, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 67, 24, 18
CONTROL "1", IDC_BUTTON_1, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 86, 24, 18
CONTROL "0", IDC_BUTTON_0, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 105, 24, 18
CONTROL "8", IDC_BUTTON_8, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 48, 24, 18
CONTROL "5", IDC_BUTTON_5, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 67, 24, 18
CONTROL "2", IDC_BUTTON_2, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 86, 24, 18
CONTROL "+/-", IDC_BUTTON_SIGN, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 105, 24, 18
CONTROL "9", IDC_BUTTON_9, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 48, 24, 18
CONTROL "6", IDC_BUTTON_6, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 67, 24, 18
CONTROL "3", IDC_BUTTON_3, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 86, 24, 18
CONTROL ",", IDC_BUTTON_DOT, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 105, 24, 18
CONTROL "/", IDC_BUTTON_DIV, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 48, 24, 18
CONTROL "*", IDC_BUTTON_MULT, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 67, 24, 18
CONTROL "-", IDC_BUTTON_SUB, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 86, 24, 18
CONTROL "+", IDC_BUTTON_ADD, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 105, 24, 18
CONTROL "Sqrt", IDC_BUTTON_SQRT, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 48, 24, 18
CONTROL "%", IDC_BUTTON_PERCENT, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 67, 24, 18
CONTROL "1/x", IDC_BUTTON_RX, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 86, 24, 18
CONTROL "=", IDC_BUTTON_EQU, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 105, 24, 18
CTEXT "", IDC_TEXT_MEMORY, 152, 24, 24, 18, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
CONTROL "MC", IDC_BUTTON_MC, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 48, 24, 18
CONTROL "MR", IDC_BUTTON_MR, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 67, 24, 18
CONTROL "MS", IDC_BUTTON_MS, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 86, 24, 18
CONTROL "M+", IDC_BUTTON_MP, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 105, 24, 18
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STAT DIALOGEX 0, 0, 163, 85
STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "統計框"
FONT 9, "新細明體"
BEGIN
LISTBOX IDC_LIST_STAT, 4, 4, 156, 40, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "返回", IDC_BUTTON_RET, 4, 48, 36, 16
PUSHBUTTON "載入", IDC_BUTTON_LOAD, 44, 48, 36, 16
PUSHBUTTON "清除", IDC_BUTTON_CD, 84, 48, 36, 16
PUSHBUTTON "全清", IDC_BUTTON_CAD, 124, 48, 36, 16
CTEXT "n=0", IDC_TEXT_NITEMS, 4, 68, 156, 12, SS_CENTERIMAGE | SS_SUNKEN
END
/* Menus */
IDR_MENU_SCIENTIFIC_1 MENU
BEGIN
POPUP "編輯"
BEGIN
MENUITEM "複製\tCtrl+C", IDM_EDIT_COPY
MENUITEM "貼上\tCtrl+V", IDM_EDIT_PASTE
END
POPUP "查看"
BEGIN
MENUITEM "標準型", IDM_VIEW_STANDARD
MENUITEM "工程型", IDM_VIEW_SCIENTIFIC
MENUITEM "轉換", IDM_VIEW_CONVERSION
MENUITEM SEPARATOR
MENUITEM "十六進制\tF5", IDM_VIEW_HEX, CHECKED
MENUITEM "十進制\tF6", IDM_VIEW_DEC, CHECKED
MENUITEM "八進制\tF7", IDM_VIEW_OCT, CHECKED
MENUITEM "二進制\tF8", IDM_VIEW_BIN, CHECKED
MENUITEM SEPARATOR
MENUITEM "角度\tF2", IDM_VIEW_DEG, CHECKED
MENUITEM "弧度\tF3", IDM_VIEW_RAD, CHECKED
MENUITEM "梯度\tF4", IDM_VIEW_GRAD, CHECKED
MENUITEM SEPARATOR
MENUITEM "數字分組", IDM_VIEW_GROUP, CHECKED
END
POPUP "說明"
BEGIN
MENUITEM "說明主題", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "關於 ReactOS 計數機", IDM_HELP_ABOUT
END
END
IDR_MENU_SCIENTIFIC_2 MENU
BEGIN
POPUP "編輯"
BEGIN
MENUITEM "複製\tCtrl+C", IDM_EDIT_COPY
MENUITEM "貼上\tCtrl+V", IDM_EDIT_PASTE
END
POPUP "查看"
BEGIN
MENUITEM "標準型", IDM_VIEW_STANDARD
MENUITEM "工程型", IDM_VIEW_SCIENTIFIC
MENUITEM "轉換", IDM_VIEW_CONVERSION
MENUITEM SEPARATOR
MENUITEM "十六進制\tF5", IDM_VIEW_HEX, CHECKED
MENUITEM "十進制\tF6", IDM_VIEW_DEC, CHECKED
MENUITEM "八進制\tF7", IDM_VIEW_OCT, CHECKED
MENUITEM "二進制\tF8", IDM_VIEW_BIN, CHECKED
MENUITEM SEPARATOR
MENUITEM "Qword\tF12", IDM_VIEW_QWORD, CHECKED
MENUITEM "Dword\tF2", IDM_VIEW_DWORD, CHECKED
MENUITEM "Word\tF3", IDM_VIEW_WORD, CHECKED
MENUITEM "位元組\tF4", IDM_VIEW_BYTE, CHECKED
MENUITEM SEPARATOR
MENUITEM "數字分組", IDM_VIEW_GROUP, CHECKED
END
POPUP "說明"
BEGIN
MENUITEM "說明主題", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "關於 ReactOS 計數機", IDM_HELP_ABOUT
END
END
IDR_MENU_STANDARD MENU
BEGIN
POPUP "編輯"
BEGIN
MENUITEM "複製\tCtrl+C", IDM_EDIT_COPY
MENUITEM "貼上\tCtrl+V", IDM_EDIT_PASTE
END
POPUP "查看"
BEGIN
MENUITEM "標準型", IDM_VIEW_STANDARD
MENUITEM "工程型", IDM_VIEW_SCIENTIFIC
MENUITEM "轉換", IDM_VIEW_CONVERSION
MENUITEM SEPARATOR
MENUITEM "數字分組", IDM_VIEW_GROUP, CHECKED
END
POPUP "說明"
BEGIN
MENUITEM "說明主題", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "關於 ReactOS 計數機", IDM_HELP_ABOUT
END
END
/* String Tables */
STRINGTABLE
BEGIN
IDS_MATH_ERROR "錯誤"
IDS_QUICKHELP "快速說明"
END
/* About */
STRINGTABLE
BEGIN
IDS_CALC_NAME "ReactOS 計數機"
IDS_AUTHOR "作者 Carlo Bramini"
END
/* Types of conversion */
STRINGTABLE
BEGIN
IDS_CONV_ANGLE "角度"
IDS_CONV_AREA "面積"
IDS_CONV_CONSUMPTION "油耗(引擎)"
IDS_CONV_CURRENCY "貨幣"
IDS_CONV_ENERGY "能量"
IDS_CONV_LENGTH "長度"
IDS_CONV_POWER "功率"
IDS_CONV_PRESSURE "壓力"
IDS_CONV_TEMPERATURE "溫度"
IDS_CONV_TIME "時間"
IDS_CONV_VELOCITY "速度"
IDS_CONV_VOLUME "體積"
IDS_CONV_WEIGHT "質量"
END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "角分"
IDS_ANGLE_ARCSECONDS "角秒"
IDS_ANGLE_DEGREES "角度"
IDS_ANGLE_GRADIANS "梯度"
IDS_ANGLE_RADIANS "弧度"
END
/* Areas */
STRINGTABLE
BEGIN
IDS_AREA_ACRES "英畝"
IDS_AREA_ACRES_BRAZIL "英畝(巴西)"
IDS_AREA_ACRES_FRANCE "英畝(法國)"
IDS_AREA_ACRES_SCOTS "英畝(蘇格蘭)"
IDS_AREA_ACRES_US "英畝(美國)"
IDS_AREA_ARES "公畝"
IDS_AREA_CHOU "疇"
IDS_AREA_DANBO "大畝"
IDS_AREA_HECTARES "公頃"
IDS_AREA_JEONGBO "Jeongbo"
IDS_AREA_MORGEN_HUNGARY "摩根(匈牙利)"
IDS_AREA_MU "畝"
IDS_AREA_PING "坪"
IDS_AREA_PYEONG "坪(韓國)"
IDS_AREA_PYEONGBANGJA "Pyeongbangja"
IDS_AREA_RAI "萊"
IDS_AREA_SE "畝(日本)"
IDS_AREA_SQUARE_CENTIMETERS "平方厘米"
IDS_AREA_SQUARE_CHR "Square chr"
IDS_AREA_SQUARE_FATHOMS "平方英尋"
IDS_AREA_SQUARE_FATHOMS_HUNGARY "平方英尋(匈牙利)"
IDS_AREA_SQUARE_FEET "平方英尺"
IDS_AREA_SQUARE_INCHES "平方英寸"
IDS_AREA_SQUARE_KILOMETERS "平方公里"
IDS_AREA_SQUARE_LAR "平方拉爾"
IDS_AREA_SQUARE_METER "平方米"
IDS_AREA_SQUARE_MILES "平方英里"
IDS_AREA_SQUARE_MILLIMETERS "平方毫米"
IDS_AREA_SQUARE_SHAKU "平方尺"
IDS_AREA_SQUARE_TSUEN "平方寸"
IDS_AREA_SQUARE_VA "Square va"
IDS_AREA_SQUARE_YARD "平方碼"
IDS_AREA_TAN "段"
IDS_AREA_TSUBO "坪(日本)"
END
/* Consumptions */
STRINGTABLE
BEGIN
IDS_CONSUMPTION_KM_PER_L "公里/升"
IDS_CONSUMPTION_L_PER_100_KM "升100 公里"
IDS_CONSUMPTION_MILES_GALLON_UK "英里/加侖(英國)"
IDS_CONSUMPTION_MILES_GALLON_US "英里/加侖(美國)"
END
/* Currencies */
STRINGTABLE
BEGIN
IDS_CURRENCY_AUSTRIAN_SCHILLING "奥地利先令"
IDS_CURRENCY_BELGIAN_FRANC "比利時法郎"
IDS_CURRENCY_CYPRIOT_POUND "賽普勒斯鎊"
IDS_CURRENCY_CZECH_KORUNA "捷克克朗"
IDS_CURRENCY_DEUTSCHE_MARK "德國馬克"
IDS_CURRENCY_DUTCH_GUILDER "荷蘭盾"
IDS_CURRENCY_ESTONIAN_KROON "愛沙尼亞克朗"
IDS_CURRENCY_EURO "歐元"
IDS_CURRENCY_FINNISH_MARKKA "芬蘭馬克"
IDS_CURRENCY_FRENCH_FRANC "法郎"
IDS_CURRENCY_GREEK_DRACHMA "希臘德拉克馬"
IDS_CURRENCY_IRISH_POUND "愛爾蘭鎊"
IDS_CURRENCY_ITALIAN_LIRA "義大利里拉"
IDS_CURRENCY_LATVIAN_LATS "拉脫維亞拉特"
IDS_CURRENCY_LITHUANIAN_LITAS "拉脫維亞拉分"
IDS_CURRENCY_LUXEMBOURG_FRANC "盧森堡法郎"
IDS_CURRENCY_MALTESE_LIRA "馬爾他里拉"
IDS_CURRENCY_PORTUGUESE_ESCUDO "葡萄牙埃斯庫多"
IDS_CURRENCY_SLOVAK_KORUNA "斯洛伐克克朗"
IDS_CURRENCY_SLOVENIAN_TOLAR "斯洛維尼亞拖拉"
IDS_CURRENCY_SPANISH_PESETA "西班牙比塞塔"
END
/* Energies */
STRINGTABLE
BEGIN
IDS_ENERGY_15_C_CALORIES "15 °C 卡路里"
IDS_ENERGY_BTUS "英制熱量單位"
IDS_ENERGY_ERGS "爾格"
IDS_ENERGY_EVS "電子伏特"
IDS_ENERGY_FOOT_POUNDS "英尺-磅"
IDS_ENERGY_IT_CALORIES "國際蒸汽表卡路里"
IDS_ENERGY_IT_KILOCALORIES "國際蒸汽表千卡路里"
IDS_ENERGY_JOULES "焦耳"
IDS_ENERGY_KILOJOULES "千焦耳"
IDS_ENERGY_KILOWATT_HOURS "千瓦時"
IDS_ENERGY_NUTRITION_CALORIES "營養卡路里"
IDS_ENERGY_TH_CALORIES "熱化學卡路里"
END
/* Lengths */
STRINGTABLE
BEGIN
IDS_LENGTH_ANGSTROMS "埃"
IDS_LENGTH_ASTRONOMICAL_UNITS "天文單位"
IDS_LENGTH_BARLEYCORNS "Barleycorns"
IDS_LENGTH_CENTIMETERS "釐米"
IDS_LENGTH_CHAINS_UK "鏈(英國)"
IDS_LENGTH_CHI "尺"
IDS_LENGTH_CHOU "疇"
IDS_LENGTH_CHR "Chr"
IDS_LENGTH_CUN "寸"
IDS_LENGTH_FATHOMS "英尋"
IDS_LENGTH_FATHOMS_HUNGARY "英尋(匈牙利)"
IDS_LENGTH_FEET "英尺"
IDS_LENGTH_FURLONGS "化朗"
IDS_LENGTH_GAN "杆"
IDS_LENGTH_HANDS "掌寬"
IDS_LENGTH_HUNH "Hunh"
IDS_LENGTH_INCHES "英尺"
IDS_LENGTH_JA "尺(韓國)"
IDS_LENGTH_JEONG "Jeong"
IDS_LENGTH_KABIET "Kabiet"
IDS_LENGTH_KEN "Ken"
IDS_LENGTH_KEUB "Keub"
IDS_LENGTH_KILOMETERS "公里"
IDS_LENGTH_LAR "拉爾"
IDS_LENGTH_LIGHT_YEARS "光年"
IDS_LENGTH_LINKS_UK "Links英國"
IDS_LENGTH_METERS "米"
IDS_LENGTH_MICRONS "微米"
IDS_LENGTH_MILES "英里"
IDS_LENGTH_MILLIMETERS "毫米"
IDS_LENGTH_NAUTICAL_MILES "海里"
IDS_LENGTH_NIEU "Nieu"
IDS_LENGTH_PARSECS "秒差距"
IDS_LENGTH_PICAS "派卡"
IDS_LENGTH_RI_JAPAN "里(日本)"
IDS_LENGTH_RI_KOREA "里(韓國)"
IDS_LENGTH_RODS "杆"
IDS_LENGTH_SAWK "Sawk"
IDS_LENGTH_SEN "Sen"
IDS_LENGTH_SHAKU "尺(日本)"
IDS_LENGTH_SPAN "拃"
IDS_LENGTH_SUN "寸(日本)"
IDS_LENGTH_TSUEN "寸"
IDS_LENGTH_VA "Va"
IDS_LENGTH_YARDS "碼"
IDS_LENGTH_YOTE "約特"
IDS_LENGTH_ZHANG "丈"
END
/* Powers */
STRINGTABLE
BEGIN
IDS_POWER_BTUS_PER_MINUTE "英制熱量單位每分鐘"
IDS_POWER_FPS_PER_MINUTE "英尺-磅每分鐘"
IDS_POWER_HORSEPOWER "馬力"
IDS_POWER_KILOWATTS "千瓦"
IDS_POWER_MEGAWATTS "兆瓦"
IDS_POWER_WATTS "瓦"
END
/* Pressures */
STRINGTABLE
BEGIN
IDS_PRESSURE_ATMOSPHERES "大氣壓"
IDS_PRESSURE_BARS "巴"
IDS_PRESSURE_HECTOPASCALS "百帕"
IDS_PRESSURE_KILOPASCALS "千帕"
IDS_PRESSURE_MM_OF_MERCURY "毫米汞柱"
IDS_PRESSURE_PASCALS "帕斯卡"
IDS_PRESSURE_PSI "英磅-力每平方英尺"
END
/* Temperatures */
STRINGTABLE
BEGIN
IDS_TEMPERATURE_CELSIUS "攝氏度"
IDS_TEMPERATURE_FAHRENHEIT "華氏度"
IDS_TEMPERATURE_KELVIN "開爾文"
IDS_TEMPERATURE_RANKINE "蘭金度"
END
/* Time */
STRINGTABLE
BEGIN
IDS_TIME_DAYS "日"
IDS_TIME_HOURS "小時"
IDS_TIME_NANOSECONDS "納秒"
IDS_TIME_MICROSECONDS "微秒"
IDS_TIME_MILLISECONDS "毫秒"
IDS_TIME_MINUTES "分"
IDS_TIME_SECONDS "秒"
IDS_TIME_WEEKS "周"
IDS_TIME_YEARS "年"
END
/* Velocities */
STRINGTABLE
BEGIN
IDS_VELOCITY_CMS_SECOND "厘米/小時"
IDS_VELOCITY_FEET_HOUR "英尺/小時"
IDS_VELOCITY_FEET_SECOND "英尺/秒"
IDS_VELOCITY_KILOMETERS_HOUR "公里/小時"
IDS_VELOCITY_KNOTS "節"
IDS_VELOCITY_MACH "馬赫"
IDS_VELOCITY_METERS_SECOND "米/秒"
IDS_VELOCITY_MILES_HOUR "英里/小時"
END
/* Volumes */
STRINGTABLE
BEGIN
IDS_VOLUME_BARRELS_UK "桶(英國)"
IDS_VOLUME_BARRELS_OIL "桶油"
IDS_VOLUME_BUN "Bun"
IDS_VOLUME_BUSHELS_UK "蒲式耳(英國)"
IDS_VOLUME_BUSHELS_US "蒲式耳(美國)"
IDS_VOLUME_CUBIC_CENTIMETERS "立方釐米"
IDS_VOLUME_CUBIC_FEET "立方英尺"
IDS_VOLUME_CUBIC_INCHES "立方英寸"
IDS_VOLUME_CUBIC_METERS "立方米"
IDS_VOLUME_CUBIC_YARDS "立方碼"
IDS_VOLUME_DOE "Doe"
IDS_VOLUME_FLUID_OUNCES_UK "液安士(英國)"
IDS_VOLUME_FLUID_OUNCES_US "液安士(美國)"
IDS_VOLUME_GALLONS_UK "加侖(英國)"
IDS_VOLUME_GALLONS_DRY_US "乾量加侖(美國)"
IDS_VOLUME_GALLONS_LIQUID_US "濕量加侖(美國)"
IDS_VOLUME_GOU "合"
IDS_VOLUME_HOP "Hop"
IDS_VOLUME_ICCE "Icce"
IDS_VOLUME_KWIAN "Kwian"
IDS_VOLUME_LITERS "升"
IDS_VOLUME_MAL "Mal"
IDS_VOLUME_MILLILITERS "毫升"
IDS_VOLUME_PINTS_UK "品脱(英國)"
IDS_VOLUME_PINTS_DRY_US "乾量品脱(美國)"
IDS_VOLUME_PINTS_LIQUID_US "濕量品脱(美國)"
IDS_VOLUME_QUARTS_UK "夸脫(英國)"
IDS_VOLUME_QUARTS_DRY_US "乾量夸脫(美國)"
IDS_VOLUME_QUARTS_LIQUID_US "濕量夸脫(美國)"
IDS_VOLUME_SEKI "Seki"
IDS_VOLUME_SYOU "Syou"
IDS_VOLUME_TANANLOUNG "Tananloung"
IDS_VOLUME_TANG "Tang"
IDS_VOLUME_TO "斗(日本)"
END
/* Weights */
STRINGTABLE
BEGIN
IDS_WEIGHT_BAHT "銖"
IDS_WEIGHT_CARATS "克拉"
IDS_WEIGHT_CHUNG "Chung"
IDS_WEIGHT_DON "Don"
IDS_WEIGHT_GEUN "Geun"
IDS_WEIGHT_GRAMS "克"
IDS_WEIGHT_GWAN "Gwan"
IDS_WEIGHT_HARB "Harb"
IDS_WEIGHT_JIN_CHINA "斤(中國)"
IDS_WEIGHT_JIN_TAIWAN "斤(台灣)"
IDS_WEIGHT_KAN "貫(日本)"
IDS_WEIGHT_KILOGRAMS "千克"
IDS_WEIGHT_KIN "斤(日本)"
IDS_WEIGHT_LIANG_CHINA "兩(中國)"
IDS_WEIGHT_LIANG_TAIWAN "兩(台灣)"
IDS_WEIGHT_MONME "兩(日本)"
IDS_WEIGHT_OUNCES_AVOIRDUPOIS "常衡安士"
IDS_WEIGHT_OUNCES_TROY "金衡安士"
IDS_WEIGHT_POUNDS "英磅"
IDS_WEIGHT_QUINTAL_METRIC "公擔"
IDS_WEIGHT_SALOUNG "Saloung"
IDS_WEIGHT_STONES "石"
IDS_WEIGHT_TAMLUNG "Tamlung"
IDS_WEIGHT_TONNES "噸"
IDS_WEIGHT_TONS_UK "噸(英國)"
IDS_WEIGHT_TONS_US "噸(美國)"
END

View File

@@ -1,20 +1,20 @@
// Traditional Chinese translation by 2021 Chan Chilung <eason066@gmail.com>
// TRANSLATOR: 2021 Chan Chilung <eason066@gmail.com>
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 計算機"
CAPTION "計算機"
MENU IDR_MENU_SCIENTIFIC_1
FONT 9, "新細明體", 0, 0, 0x1
BEGIN
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
CONTROL "Hex", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
CONTROL "Dec", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
CONTROL "Oct", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
CONTROL "Bin", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
AUTORADIOBUTTON "Hex", IDC_RADIO_HEX, 8, 21, 30, 10
AUTORADIOBUTTON "Dec", IDC_RADIO_DEC, 41, 21, 30, 10
AUTORADIOBUTTON "Oct", IDC_RADIO_OCT, 74, 21, 30, 10
AUTORADIOBUTTON "Bin", IDC_RADIO_BIN, 107, 21, 30, 10
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
@@ -131,17 +131,13 @@ BEGIN
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
CONTROL "Qword", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 150, 21, 38, 10
CONTROL "Dword", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 190, 21, 38, 10
CONTROL "Word", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 230, 21, 38, 10
CONTROL "位元組", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 270, 21, 38, 10
CONTROL "角度", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
CONTROL "弧度", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "梯度", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
AUTORADIOBUTTON "Qword", IDC_RADIO_QWORD, 150, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Dword", IDC_RADIO_DWORD, 190, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "Word", IDC_RADIO_WORD, 230, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "位元組", IDC_RADIO_BYTE, 270, 21, 38, 10, NOT WS_VISIBLE
AUTORADIOBUTTON "角度", IDC_RADIO_DEG, 150, 21, 45, 10
AUTORADIOBUTTON "弧度", IDC_RADIO_RAD, 204, 21, 45, 10
AUTORADIOBUTTON "梯度", IDC_RADIO_GRAD, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
@@ -152,9 +148,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 計算機"
CAPTION "計算機"
MENU IDR_MENU_STANDARD
FONT 9, "新細明體", 0, 0, 0x1
BEGIN
@@ -217,9 +213,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 計算機"
CAPTION "計算機"
MENU IDR_MENU_STANDARD
FONT 9, "新細明體"
BEGIN
@@ -506,7 +502,7 @@ BEGIN
IDS_CURRENCY_LITHUANIAN_LITAS "拉脫維亞拉分"
IDS_CURRENCY_LUXEMBOURG_FRANC "盧森堡法郎"
IDS_CURRENCY_MALTESE_LIRA "馬爾他里拉"
IDS_CURRENCY_PORTOGUESE_ESCUDO "葡萄牙埃斯庫多"
IDS_CURRENCY_PORTUGUESE_ESCUDO "葡萄牙埃斯庫多"
IDS_CURRENCY_SLOVAK_KORUNA "斯洛伐克克朗"
IDS_CURRENCY_SLOVENIAN_TOLAR "斯洛維尼亞拖拉"
IDS_CURRENCY_SPANISH_PESETA "西班牙比塞塔"

View File

@@ -4,6 +4,8 @@
#define IDC_STATIC -1
#endif
#define CW_USEDEFAULT16 0x8000
#define IDS_CALC_NAME 1
#define IDS_MATH_ERROR 2
#define IDS_QUICKHELP 3
@@ -192,7 +194,7 @@
#define IDS_CURRENCY_LITHUANIAN_LITAS 2414
#define IDS_CURRENCY_LUXEMBOURG_FRANC 2415
#define IDS_CURRENCY_MALTESE_LIRA 2416
#define IDS_CURRENCY_PORTOGUESE_ESCUDO 2417
#define IDS_CURRENCY_PORTUGUESE_ESCUDO 2417
#define IDS_CURRENCY_SLOVAK_KORUNA 2418
#define IDS_CURRENCY_SLOVENIAN_TOLAR 2419
#define IDS_CURRENCY_SPANISH_PESETA 2420

View File

@@ -19,7 +19,7 @@
*/
#include <windef.h>
#include <winuser.h>
#include <winuser.rh>
#include "resource.h"
@@ -28,7 +28,7 @@
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
/* Icons */
IDI_CALC ICON DISCARDABLE "res/calc.ico"
IDI_CALC ICON "res/calc.ico"
/* Manifest */
#include <reactos/manifest_exe.rc>
@@ -63,6 +63,9 @@ IDI_CALC ICON DISCARDABLE "res/calc.ico"
#ifdef LANGUAGE_HU_HU
#include "lang/hu-HU.rc"
#endif
#ifdef LANGUAGE_ID_ID
#include "lang/id-ID.rc"
#endif
#ifdef LANGUAGE_IT_IT
#include "lang/it-IT.rc"
#endif
@@ -84,6 +87,9 @@ IDI_CALC ICON DISCARDABLE "res/calc.ico"
#ifdef LANGUAGE_PT_BR
#include "lang/pt-BR.rc"
#endif
#ifdef LANGUAGE_PT_PT
#include "lang/pt-PT.rc"
#endif
#ifdef LANGUAGE_RO_RO
#include "lang/ro-RO.rc"
#endif
@@ -111,6 +117,9 @@ IDI_CALC ICON DISCARDABLE "res/calc.ico"
#ifdef LANGUAGE_ZH_CN
#include "lang/zh-CN.rc"
#endif
#ifdef LANGUAGE_ZH_HK
#include "lang/zh-HK.rc"
#endif
#ifdef LANGUAGE_ZH_TW
#include "lang/zh-TW.rc"
#endif

View File

@@ -27,7 +27,7 @@ void prepare_rpn_result_2(calc_number_t *rpn, TCHAR *buffer, int size, int base)
switch (base) {
case IDC_RADIO_HEX:
_stprintf(buffer, _T("%I64X"), rpn->i);
StringCchPrintf(buffer, size, _T("%I64X"), rpn->i);
break;
case IDC_RADIO_DEC:
/*
@@ -40,11 +40,11 @@ void prepare_rpn_result_2(calc_number_t *rpn, TCHAR *buffer, int size, int base)
/* calculate the width of integer number */
width = (rpn->f==0) ? 1 : (int)log10(fabs(rpn->f))+1;
if (calc.sci_out == TRUE || width > MAX_LD_WIDTH || width < -MAX_LD_WIDTH)
_stprintf(buffer, _T("%#.*e"), MAX_LD_WIDTH-1, rpn->f);
StringCchPrintf(buffer, size, _T("%#.*e"), MAX_LD_WIDTH-1, rpn->f);
else {
TCHAR *ptr, *dst;
ptr = buffer + _stprintf(buffer, _T("%#*.*f"), width, ((MAX_LD_WIDTH-width-1)>=0) ? MAX_LD_WIDTH-width-1 : 0, rpn->f);
StringCchPrintfEx(buffer, size, &ptr, NULL, 0, _T("%#*.*f"), width, ((MAX_LD_WIDTH-width-1)>=0) ? MAX_LD_WIDTH-width-1 : 0, rpn->f);
/* format string ensures there is a '.': */
dst = _tcschr(buffer, _T('.'));
while (--ptr > dst)
@@ -61,7 +61,7 @@ void prepare_rpn_result_2(calc_number_t *rpn, TCHAR *buffer, int size, int base)
#undef MAX_LD_WIDTH
break;
case IDC_RADIO_OCT:
_stprintf(buffer, _T("%I64o"), rpn->i);
StringCchPrintf(buffer, size, _T("%I64o"), rpn->i);
break;
case IDC_RADIO_BIN:
if (rpn->i == 0) {

View File

@@ -107,7 +107,7 @@ void prepare_rpn_result_2(calc_number_t *rpn, TCHAR *buffer, int size, int base)
}
mpz_clear(zz);
mpf_clear(ff);
_sntprintf(buffer, SIZEOF(calc.buffer), _T("%hs"), temp);
StringCchPrintf(buffer, size, _T("%hs"), temp);
}
void convert_text2number_2(calc_number_t *a)

View File

@@ -133,7 +133,7 @@
* "DOT" function can be used for starting a number (integer part will be zero).
* Added repeat function.
* If the number is greater than maximum resolution, it will be displayed with exponential notation.
* Removed mouse and keyboard focuses from displayed buttons.
* Removed mouse and keyboard focuses from displayed buttons.
* Added normal and small icons.
1.00 (20070323)

View File

@@ -254,10 +254,10 @@ static void UpdateNumberIntl(void)
{
/* Get current user defaults */
if (!GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SDECIMAL, calc.sDecimal, SIZEOF(calc.sDecimal)))
_tcscpy(calc.sDecimal, _T("."));
StringCbCopy(calc.sDecimal, sizeof(calc.sDecimal), _T("."));
if (!GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_STHOUSAND, calc.sThousand, SIZEOF(calc.sThousand)))
_tcscpy(calc.sThousand, _T(","));
StringCbCopy(calc.sThousand, sizeof(calc.sThousand), _T(","));
/* get the string lengths */
calc.sDecimal_len = _tcslen(calc.sDecimal);
@@ -342,7 +342,7 @@ static void save_config(void)
switch (osvi.dwPlatformId) {
case VER_PLATFORM_WIN32s:
case VER_PLATFORM_WIN32_WINDOWS:
_stprintf(buf, _T("%lu"), calc.layout);
StringCbPrintf(buf, sizeof(buf), _T("%lu"), calc.layout);
WriteProfileString(_T("SciCalc"), _T("layout"), buf);
WriteProfileString(_T("SciCalc"), _T("UseSep"), (calc.usesep==TRUE) ? _T("1") : _T("0"));
break;
@@ -496,16 +496,16 @@ static void update_lcd_display(HWND hwnd)
TCHAR tmp[MAX_CALC_SIZE * 2 + 2];
if (calc.buffer[0] == _T('\0'))
_tcscpy(tmp, _T("0"));
StringCbCopy(tmp, sizeof(tmp), _T("0"));
else
_tcscpy(tmp, calc.buffer);
StringCbCopy(tmp, sizeof(tmp), calc.buffer);
/* Add final '.' in decimal mode (if it's missing), but
* only if it's a result: no append if it prints "ERROR".
*/
if (calc.base == IDC_RADIO_DEC && !calc.is_nan) {
if (_tcschr(tmp, _T('.')) == NULL)
_tcscat(tmp, _T("."));
StringCbCat(tmp, sizeof(tmp), _T("."));
}
/* if separator mode is on, let's add an additional space */
if (calc.usesep && !calc.sci_in && !calc.sci_out && !calc.is_nan) {
@@ -573,13 +573,14 @@ static void update_parent_display(HWND hWnd)
if (!n)
str[0] = _T('\0');
else
_stprintf(str,_T("(=%d"), n);
StringCbPrintf(str, sizeof(str), _T("(=%d"), n);
SetDlgItemText(hWnd, IDC_TEXT_PARENT, str);
}
static void build_operand(HWND hwnd, DWORD idc)
{
unsigned int i = 0, n;
size_t cbPtr;
if (idc == IDC_BUTTON_DOT) {
/* if dot is the first char, it's added automatically */
@@ -617,12 +618,14 @@ static void build_operand(HWND hwnd, DWORD idc)
if (idc != IDC_STATIC)
calc.esp = (calc.esp * 10 + (key2code[i].key-'0')) % LOCAL_EXP_SIZE;
if (calc.ptr == calc.buffer)
_stprintf(calc.ptr, _T("0.e%+d"), calc.esp);
StringCbPrintf(calc.ptr, sizeof(calc.buffer), _T("0.e%+d"), calc.esp);
else {
/* adds the dot at the end if the number has no decimal part */
if (!_tcschr(calc.buffer, _T('.')))
*calc.ptr++ = _T('.');
_stprintf(calc.ptr, _T("e%+d"), calc.esp);
cbPtr = sizeof(calc.buffer) - ((BYTE*)calc.ptr - (BYTE*)calc.buffer);
StringCbPrintf(calc.ptr, cbPtr, _T("e%+d"), calc.esp);
}
update_lcd_display(hwnd);
return;
@@ -637,7 +640,11 @@ static void build_operand(HWND hwnd, DWORD idc)
return;
break;
}
calc.ptr += _stprintf(calc.ptr, _T("%C"), key2code[i].key);
cbPtr = sizeof(calc.buffer) - ((BYTE*)calc.ptr - (BYTE*)calc.buffer);
StringCbPrintfEx(calc.ptr, cbPtr, &calc.ptr, NULL, STRSAFE_FILL_ON_FAILURE,
_T("%C"), key2code[i].key);
update_lcd_display(hwnd);
}
@@ -850,11 +857,11 @@ static void update_memory_flag(HWND hWnd, BOOL mem_flag)
SetDlgItemText(hWnd, IDC_TEXT_MEMORY, mem_flag ? _T("M") : _T(""));
}
static void update_n_stats_items(HWND hWnd, TCHAR *buffer)
static void update_n_stats_items(HWND hWnd, TCHAR *buffer, size_t cbBuffer)
{
unsigned int n = SendDlgItemMessage(hWnd, IDC_LIST_STAT, LB_GETCOUNT, 0, 0);
unsigned int n = SendDlgItemMessage(hWnd, IDC_LIST_STAT, LB_GETCOUNT, 0, 0);
_stprintf(buffer, _T("n=%u"), n);
StringCbPrintf(buffer, cbBuffer, _T("n=%u"), n);
SetDlgItemText(hWnd, IDC_TEXT_NITEMS, buffer);
}
@@ -905,7 +912,7 @@ static char *ReadConversion(const char *formula)
str[len+1] = ')';
str[len+2] = '\0';
_tcscpy(calc.source, (*calc.buffer == _T('\0')) ? _T("0") : calc.buffer);
StringCbCopy(calc.source, sizeof(calc.source), (*calc.buffer == _T('\0')) ? _T("0") : calc.buffer);
/* clear display content before proceeding */
calc.ptr = calc.buffer;
@@ -942,13 +949,13 @@ static INT_PTR CALLBACK DlgStatProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp)
if (n == LB_ERR)
return TRUE;
SendDlgItemMessage(hWnd, IDC_LIST_STAT, LB_DELETESTRING, (WPARAM)n, 0);
update_n_stats_items(hWnd, buffer);
update_n_stats_items(hWnd, buffer, sizeof(buffer));
delete_stat_item(n);
return TRUE;
case IDC_BUTTON_CAD:
SendDlgItemMessage(hWnd, IDC_LIST_STAT, LB_RESETCONTENT, 0, 0);
clean_stat_list();
update_n_stats_items(hWnd, buffer);
update_n_stats_items(hWnd, buffer, sizeof(buffer));
return TRUE;
}
break;
@@ -964,7 +971,7 @@ static INT_PTR CALLBACK DlgStatProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp)
buffer, SIZEOF(buffer),
((statistic_t *)lp)->base);
SendDlgItemMessage(hWnd, IDC_LIST_STAT, LB_ADDSTRING, 0, (LPARAM)buffer);
update_n_stats_items(hWnd, buffer);
update_n_stats_items(hWnd, buffer, sizeof(buffer));
return TRUE;
}
return FALSE;
@@ -986,11 +993,13 @@ static void CopyMemToClipboard(void *ptr)
if(OpenClipboard(NULL)) {
HGLOBAL clipbuffer;
TCHAR *buffer;
size_t cbBuffer;
EmptyClipboard();
clipbuffer = GlobalAlloc(GMEM_DDESHARE, (_tcslen(ptr)+1)*sizeof(TCHAR));
cbBuffer = (_tcslen(ptr) + 1) * sizeof(TCHAR);
clipbuffer = GlobalAlloc(GMEM_DDESHARE, cbBuffer);
buffer = (TCHAR *)GlobalLock(clipbuffer);
_tcscpy(buffer, ptr);
StringCbCopy(buffer, cbBuffer, ptr);
GlobalUnlock(clipbuffer);
#ifdef UNICODE
SetClipboardData(CF_UNICODETEXT,clipbuffer);
@@ -1006,10 +1015,16 @@ static void handle_copy_command(HWND hWnd)
TCHAR display[MAX_CALC_SIZE];
UINT n;
// Read current text from output display
n = GetDlgItemText(hWnd, IDC_TEXT_OUTPUT, display, SIZEOF(display));
if (calc.base == IDC_RADIO_DEC && _tcschr(calc.buffer, _T('.')) == NULL)
display[n - calc.sDecimal_len] = _T('\0');
// Check if result is a true number
if (!calc.is_nan)
{
// Remove trailing decimal point if no decimal digits exist
if (calc.base == IDC_RADIO_DEC && _tcschr(calc.buffer, _T('.')) == NULL)
display[n - calc.sDecimal_len] = _T('\0');
}
CopyMemToClipboard(display);
}
@@ -1056,9 +1071,8 @@ static char *handle_sequence_input(HWND hwnd, sequence_t *seq)
}
} else
if (ch == '$') {
calc.ptr =
_tcscpy(calc.buffer, calc.source) +
_tcslen(calc.source);
StringCbCopyEx(calc.buffer, sizeof(calc.buffer), calc.source, &calc.ptr, NULL,
STRSAFE_FILL_ON_FAILURE);
} else {
for (x=0; x<SIZEOF(key2code); x++) {
if (!(key2code[x].mask & BITMASK_IS_ASCII) ||
@@ -1211,7 +1225,7 @@ static void handle_context_menu(HWND hWnd, WPARAM wp, LPARAM lp)
#else
(void)idm;
#endif
}
}
static void run_canc(calc_number_t *c)
{
@@ -1627,7 +1641,7 @@ static INT_PTR CALLBACK DlgMainProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp)
case IDC_BUTTON_D:
case IDC_BUTTON_E:
case IDC_BUTTON_F:
calc.is_nan = FALSE;
if (calc.is_nan) break;
build_operand(hWnd, LOWORD(wp));
return TRUE;
case IDC_BUTTON_PERCENT:
@@ -1693,6 +1707,7 @@ static INT_PTR CALLBACK DlgMainProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp)
}
return TRUE;
case IDC_BUTTON_BACK:
if (calc.is_nan) break;
if (calc.sci_in) {
if (calc.esp == 0) {
TCHAR *ptr;
@@ -1945,9 +1960,9 @@ int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdL
hInstance,
MAKEINTRESOURCE(IDI_CALC),
IMAGE_ICON,
GetSystemMetrics(SM_CXICON),
GetSystemMetrics(SM_CYICON),
0);
0,
0,
LR_DEFAULTSIZE | LR_SHARED);
calc.hSmIcon = LoadImage(
hInstance,
@@ -1955,7 +1970,7 @@ int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdL
IMAGE_ICON,
GetSystemMetrics(SM_CXSMICON),
GetSystemMetrics(SM_CYSMICON),
0);
LR_SHARED);
do {
/* ignore hwnd: dialogs are already visible! */
@@ -1985,12 +2000,6 @@ int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdL
save_config();
} while (calc.action != IDC_STATIC);
if (calc.hBgIcon != NULL)
DestroyIcon(calc.hBgIcon);
if (calc.hSmIcon != NULL)
DestroyIcon(calc.hSmIcon);
stop_rpn_engine();
Theme_Stop();

View File

@@ -4,7 +4,6 @@
* FILE: base/applications/charmap/charmap.c
* PURPOSE: main dialog implementation
* COPYRIGHT: Copyright 2007 Ged Murphy <gedmurphy@reactos.org>
*
*/
#include "precomp.h"
@@ -47,7 +46,7 @@ FillCharacterSetComboList(HWND hwndCombo)
if (GetCPInfoExW(codePages[i], 0, &cpInfo))
{
trimmedName = wcschr(cpInfo.CodePageName, L'(');
if (!trimmedName)
if (!trimmedName)
trimmedName = cpInfo.CodePageName;
SendMessageW(hwndCombo,
@@ -567,6 +566,8 @@ PanelOnCreate(HWND hWnd, WPARAM wParam, LPARAM lParam)
}
}
SetFocus(hCharmapDlg);
return 0;
}
@@ -678,7 +679,7 @@ wWinMain(HINSTANCE hInst,
MSG Msg;
hInstance = hInst;
/* Mirroring code for the titlebar */
switch (GetUserDefaultUILanguage())
{
@@ -710,6 +711,14 @@ wWinMain(HINSTANCE hInst,
break;
}
/* NOTE: CreateDialog needs IsDialogMessage call in message loop */
if (hCharmapDlg && IsDialogMessage(hCharmapDlg, &Msg))
continue;
#ifndef REMOVE_ADVANCED
if (hAdvancedDlg && IsDialogMessage(hAdvancedDlg, &Msg))
continue;
#endif
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}

View File

@@ -99,6 +99,9 @@ IDI_ICON ICON "res/charmap.ico"
#ifdef LANGUAGE_ZH_CN
#include "lang/zh-CN.rc"
#endif
#ifdef LANGUAGE_ZH_HK
#include "lang/zh-HK.rc"
#endif
#ifdef LANGUAGE_ZH_TW
#include "lang/zh-TW.rc"
#endif

View File

@@ -1,5 +1,5 @@
/* Превод на Български/ Bulgarian translation */
/* http://www.reactos.org/wiki/Bulgarian_translation */
/* https://reactos.org/wiki/Bulgarian_translation */
LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
@@ -8,7 +8,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Шрифт :", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Помощ", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -5,7 +5,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Font:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Ajuda", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -10,7 +10,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Písmo:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Nápověda", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -5,7 +5,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Schrift:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "&Hilfe", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -5,7 +5,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Γραμματοσειρά :", IDC_STATIC, 6, 7, 60, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Βοήθεια", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -5,7 +5,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "&Font:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "&Help", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -8,7 +8,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Fuente:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Ayuda", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -5,7 +5,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "&Font:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "&Spikker", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -5,7 +5,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Police :", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Aide", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -7,7 +7,7 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
EXSTYLE WS_EX_LAYOUTRTL
BEGIN
LTEXT "גופן", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "עזרה", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -5,7 +5,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Fon:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Bantuan", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -5,7 +5,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Font:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Aiuto", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -5,7 +5,7 @@ FONT 9, "MS UI Gothic", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "フォント:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "ヘルプ", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |
@@ -15,7 +15,7 @@ BEGIN
WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13
DEFPUSHBUTTON "選択", IDC_SELECT, 194, 186, 44, 13
PUSHBUTTON "コピー", IDC_COPY, 242, 186, 44, 13, WS_DISABLED
CONTROL "Advanced view", IDC_CHECK_ADVANCED, "Button", BS_AUTOCHECKBOX |
CONTROL "詳細表示", IDC_CHECK_ADVANCED, "Button", BS_AUTOCHECKBOX |
WS_TABSTOP, 8, 208, 95, 10
END
@@ -23,13 +23,13 @@ IDD_ADVANCED DIALOGEX 0, 0, 292, 64
STYLE DS_SHELLFONT | WS_CHILD
FONT 9, "MS UI Gothic"
BEGIN
LTEXT "Charset:", IDC_STATIC, 8, 8, 48, 8
LTEXT "文字セット:", IDC_STATIC, 8, 8, 48, 8
COMBOBOX IDC_COMBO_CHARSET, 72, 4, 116, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "Group by:", IDC_STATIC, 8, 28, 50, 8
LTEXT "分類:", IDC_STATIC, 8, 28, 50, 8
COMBOBOX IDC_COMBO_GROUPBY, 72, 24, 116, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "Search", IDC_BUTTON_SEARCH, 200, 44, 50, 14
PUSHBUTTON "検索", IDC_BUTTON_SEARCH, 200, 44, 50, 14
EDITTEXT IDC_EDIT_SEARCH, 72, 44, 116, 14, ES_AUTOHSCROLL
LTEXT "Search for:", IDC_STATIC, 8, 48, 42, 8
LTEXT "検索文字列:", IDC_STATIC, 8, 48, 42, 8
LTEXT "Unicode:", IDC_STATIC, 200, 8, 30, 8
EDITTEXT IDC_EDIT_UNICODE, 236, 4, 28, 12, ES_AUTOHSCROLL
END
@@ -48,9 +48,9 @@ END
STRINGTABLE
BEGIN
IDS_LICENSE "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
IDS_LICENSE "本プログラムはフリーソフトウェアです。フリーソフトウェア財団が発行した GNU 一般公衆利用許諾契約書のバージョン2、またはそれ以降のバージョン任意選択の条件の下で再配布、または改変することができます。\r\n\r\n本プログラムは、有用であることを期待して配布されていますが、商品性や特定目的への適合性についての暗黙の保証もなく、いかなる保証もありません。詳細は GNU 一般公衆利用許諾契約書をご覧ください。\r\n\r\nあなたはこのプログラムとともに GNU 一般公衆利用許諾書のコピーを受け取っているはずです。そうでない場合は、フリーソフトウェア財団(Free Software Foundation, Inc, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA)までご連絡ください。"
IDS_ABOUT "バージョン情報(&B)..."
IDS_TITLE "Character Map"
IDS_TITLE "文字コード表"
IDS_UNICODE "Unicode"
IDS_ALL "All"
IDS_ALL "すべて"
END

View File

@@ -9,7 +9,7 @@ FONT 9, "굴림", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "글꼴:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "도움말", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -14,7 +14,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Šriftas:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Pagalba", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -5,7 +5,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Lettertype:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Help", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -5,7 +5,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Skrift:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Hjelp", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -14,7 +14,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Czci&onka:", IDC_STATIC, 7, 9, 32, 8
COMBOBOX IDC_FONTCOMBO, 49, 7, 183, 60, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 49, 7, 183, 60, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Pomo&c", IDC_CMHELP, 237, 7, 50, 14
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -5,7 +5,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "&Fonte:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Aj&uda", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -1,7 +1,8 @@
/*
* FILE: base/applications/charmap/lang/ro-RO.rc
* ReactOS Project (http://www.reactos.org)
* TRANSLATOR: Ștefan Fulea (stefan dot fulea at mail dot com)
* ReactOS Project (https://reactos.org)
* TRANSLATORS: Copyright 2011-2018 Ștefan Fulea <stefan.fulea@mail.com>
* Copyright 2023-2024 Andrei Miloiu <miloiuandrei@gmail.com>
*/
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
@@ -10,18 +11,18 @@ IDD_CHARMAP DIALOGEX 6, 6, 292, 224
FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "F&ont:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
LTEXT "&Font:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "&Manual…", IDC_CMHELP, 249, 5, 35, 13
PUSHBUTTON "Ajut&or", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL, 20, 22, 266, 156
LTEXT "C&aractere de copiat:", IDC_STATIC, 6, 188, 66, 9
CONTROL "", IDC_TEXTBOX, RICHEDIT_CLASS, ES_AUTOHSCROLL | WS_BORDER |
WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13
DEFPUSHBUTTON "S&electează", IDC_SELECT, 194, 186, 44, 13
PUSHBUTTON "&Copiază", IDC_COPY, 242, 186, 44, 13, WS_DISABLED
CONTROL "Mod a&vansat", IDC_CHECK_ADVANCED, "Button", BS_AUTOCHECKBOX |
DEFPUSHBUTTON "Se&lectare", IDC_SELECT, 194, 186, 44, 13
PUSHBUTTON "&Copiere", IDC_COPY, 242, 186, 44, 13, WS_DISABLED
CONTROL "&Vizualizare complexă", IDC_CHECK_ADVANCED, "Button", BS_AUTOCHECKBOX |
WS_TABSTOP, 8, 208, 95, 10
END
@@ -29,14 +30,14 @@ IDD_ADVANCED DIALOGEX 0, 0, 292, 64
STYLE DS_SHELLFONT | WS_CHILD
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Co&dificare:", IDC_STATIC, 8, 8, 48, 8
LTEXT "Se&t de caractere:", IDC_STATIC, 8, 8, 60, 8
COMBOBOX IDC_COMBO_CHARSET, 72, 4, 116, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "&Grupare după:", IDC_STATIC, 8, 28, 50, 8
COMBOBOX IDC_COMBO_GROUPBY, 72, 24, 116, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "&Caută", IDC_BUTTON_SEARCH, 200, 44, 50, 14
PUSHBUTTON "Căutar&e", IDC_BUTTON_SEARCH, 200, 44, 50, 14
EDITTEXT IDC_EDIT_SEARCH, 72, 44, 116, 14, ES_AUTOHSCROLL
LTEXT "Căuta&re:", IDC_STATIC, 8, 48, 42, 8
LTEXT "&Unicode:", IDC_STATIC, 200, 8, 30, 8
LTEXT "Că&utare:", IDC_STATIC, 8, 48, 42, 8
LTEXT "U&nicode:", IDC_STATIC, 200, 8, 30, 8
EDITTEXT IDC_EDIT_UNICODE, 236, 4, 28, 12, ES_AUTOHSCROLL
END
@@ -45,7 +46,7 @@ CAPTION "Despre"
FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Hartă de caractere v0.1\nDrept de autor (C) 2007 Ged Murphy (gedmurphy@reactos.org)\nTraducere de Ștefan Fulea (stefan.fulea@mail.com)", IDC_STATIC, 48, 7, 210, 36
LTEXT "Plan caractere v0.1\nDrept de autor (C) 2007 Ged Murphy (gedmurphy@reactos.org)\nTraducere de Ștefan Fulea (stefan.fulea@mail.com)", IDC_STATIC, 48, 7, 210, 36
PUSHBUTTON "Î&nchide", IDOK, 105, 162, 44, 15
ICON IDI_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 254, 107, WS_VISIBLE | WS_VSCROLL |
@@ -56,7 +57,7 @@ STRINGTABLE
BEGIN
IDS_LICENSE "Această aplicație este publică; fiind permisă modificarea și/sau (re)distribuția sa în termenii Licenței Publice Generale GNU publicată de Free Software Foundation; sau versiunea 2 a Licenței, sau (la alegere) a oricărei versiuni ulterioare.\r\n\r\nAceastă aplicație este distribuită doar în speranța de a fi utilă, FĂRĂ însă NICI O GARANȚIE; nici măcar cu garanția implicită a VANDABILITĂȚII sau a UTILITĂȚII ÎNTR-UN SCOP ANUME. Pentru mai multe detalii consultați Licența Publică Generală GNU.\r\n\r\nPuteți vedea această licență aici:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nDe asemenea puteți consulta traduceri neoficiale ale acestei licențe aici:\r\nhttp://www.gnu.org/licenses/translations.html"
IDS_ABOUT "&Despre…"
IDS_TITLE "Hartă de caractere"
IDS_TITLE "Plan caractere"
IDS_UNICODE "Unicode"
IDS_ALL "All"
IDS_ALL "Toate"
END

View File

@@ -7,7 +7,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "&Шрифт:", IDC_STATIC, 6, 7, 27, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "&Справка", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |
@@ -54,5 +54,5 @@ BEGIN
IDS_ABOUT "&О программе..."
IDS_TITLE "Таблица символов"
IDS_UNICODE "Unicode"
IDS_ALL "All"
IDS_ALL "Все"
END

View File

@@ -14,7 +14,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Pís&mo:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "&Pomocník", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -1,4 +1,4 @@
/* TRANSLATOR : Ardit Dani (Ard1t) (ardit.dani@gmail.com)
/* TRANSLATOR : Ardit Dani (Ard1t) (ardit.dani@gmail.com)
* DATE OF TR: 29-11-2013
*/
@@ -9,7 +9,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Font:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Ndihmë", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -12,7 +12,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Typsnitt:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Hjälp", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -1,4 +1,7 @@
/* TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy [at] erdemersoy [dot] net) */
/* TRANSLATOR:
2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy [at] erdemersoy [dot] net),
2021 Süleyman Poyraz (zaryob [dot] dev [at] gmail [dot] com)
*/
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
@@ -7,12 +10,12 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Yazı Tipi:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Yardım", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL, 20, 22, 266, 156
LTEXT "Çoğaltılacak Damgalar:", IDC_STATIC, 6, 188, 66, 9
LTEXT "Çoğaltılacak Karakterler:", IDC_STATIC, 6, 188, 66, 9
CONTROL "", IDC_TEXTBOX, RICHEDIT_CLASS, ES_AUTOHSCROLL | WS_BORDER |
WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13
DEFPUSHBUTTON "Seç", IDC_SELECT, 194, 186, 44, 13
@@ -25,23 +28,23 @@ IDD_ADVANCED DIALOGEX 0, 0, 292, 64
STYLE DS_SHELLFONT | WS_CHILD
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Damga Öbeği:", IDC_STATIC, 8, 8, 48, 8
LTEXT "Karakter Yığını:", IDC_STATIC, 8, 8, 48, 8
COMBOBOX IDC_COMBO_CHARSET, 72, 4, 116, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "Takımla:", IDC_STATIC, 8, 28, 50, 8
LTEXT "Gruplandır:", IDC_STATIC, 8, 28, 50, 8
COMBOBOX IDC_COMBO_GROUPBY, 72, 24, 116, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "Ara", IDC_BUTTON_SEARCH, 200, 44, 50, 14
EDITTEXT IDC_EDIT_SEARCH, 72, 44, 116, 14, ES_AUTOHSCROLL
LTEXT "Ada Göre Ara:", IDC_STATIC, 8, 48, 42, 8
LTEXT "Evrenlik Kod:", IDC_STATIC, 200, 8, 30, 8
LTEXT "&Unicode:", IDC_STATIC, 200, 8, 30, 8
EDITTEXT IDC_EDIT_UNICODE, 236, 4, 28, 12, ES_AUTOHSCROLL
END
IDD_ABOUTBOX DIALOGEX 22, 16, 210, 182
CAPTION "Damga Eşlemi Üzerine"
CAPTION "Karakter Seçici Hakkında"
FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Damga Eşlemi - Sürüm: 0.1\nTelif Hakkı: 2007 - Ged Murphy (gedmurphy@reactos.org)", IDC_STATIC, 48, 7, 150, 36
LTEXT "Karakter Seçici - Sürüm: 0.1\nTelif Hakkı: 2007 - Ged Murphy (gedmurphy@reactos.org)", IDC_STATIC, 48, 7, 150, 36
PUSHBUTTON "Tamam", IDOK, 75, 162, 44, 15
ICON IDI_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 194, 107, WS_VISIBLE | WS_VSCROLL |
@@ -50,9 +53,9 @@ END
STRINGTABLE
BEGIN
IDS_LICENSE "ÖNEMLİ: Aşağıdaki metin, özgün metnin resmî olmayan çevirisidir. Çeviri metniyle özgün metin arasında ayrım olabilir. Özgün metin, çeviri metninin altındadır.\r\n\r\n***\r\n\r\nBu izlence özgür yazılımdır; bunu, Özgür Yazılım Vakfı'nın yayımladığı GNU Umûmî Kamu Ruhsatı'nın, 2. sürümünün ya da daha sonraki bir sürümünün (Orası size bağlı.) şartları altında yeniden dağıtabilir veyâ değiştirebilirsiniz.\r\n\r\nBu izlence, kullanışlı olabileceği beklentisiyle dağıtılmıştır ancak bu izlencenin HİÇBİR GÜVENCESİ YOKTUR, SATILABİLİRLİĞİN ve BELİRLİ BİR AMACA UYGUNLUĞUN demek istenilen güvencesi bile. Daha çok bilgi için GNU Umûmî Kamu Ruhsatı'na bakınız.\r\n\r\nBu izlenceyle birlikte GNU Umûmî Kamu Ruhsatı'nın bir kopyasını almış olmalısınız, eğer yoksa Özgür Yazılım Vakfı AŞ'ye (51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 ABD) yazınız.\r\n\r\n***\r\n\r\nThis program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
IDS_ABOUT "&Üzerine..."
IDS_TITLE "Damga Eşlemi"
IDS_LICENSE "ÖNEMLİ: Aşağıdaki metin, özgün metnin resmi olmayan çevirisidir. Çeviri metniyle özgün metin arasında farklar olabilir. Özgün metin, çeviri metninin altındadır.\r\n\r\n***\r\n\r\nBu program özgür yazılımdır; bunu, Özgür Yazılım Vakfı'nın yayımladığı GNU Genel Kamu Lisansı'nın, 2. sürümünün ya da daha sonraki bir sürümünün (seçiminize bağlı olarak.) şartları altında yeniden dağıtabilir veya değiştirebilirsiniz.\r\n\r\nBu program, kullanışlı olabileceği beklentisiyle dağıtılmıştır; ancak, bu program HİÇBİR GÜVENCE VEREMEZ, SATILABİLİRLİĞİN ve BELİRLİ BİR AMACA UYGUNLUĞUN güvencesi de verilemez. Daha çok bilgi için GNU Genel Kamu Lisansı'na bakınız.\r\n\r\nBu programla birlikte GNU Genel Kamu Lisansı'nın bir kopyasını almış olmalısınız, eğer yoksa Özgür Yazılım Vakfı AŞ'ye (51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 ABD) yazınız.\r\n\r\n***\r\n\r\nThis program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
IDS_ABOUT "&Hakkında..."
IDS_TITLE "Karakter Seçici"
IDS_UNICODE "Unicode"
IDS_ALL "All"
IDS_ALL "Tümü"
END

View File

@@ -13,7 +13,7 @@ FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "Шрифт :", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "Довідка", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |

View File

@@ -12,13 +12,13 @@ IDD_CHARMAP DIALOGEX 6, 6, 292, 224
FONT 9, "宋体", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "字体:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
LTEXT "字体", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "说明", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL, 20, 22, 266, 156
LTEXT "待复制的字符:", IDC_STATIC, 6, 188, 66, 9
LTEXT "待复制的字符", IDC_STATIC, 6, 188, 66, 9
CONTROL "", IDC_TEXTBOX, RICHEDIT_CLASS, ES_AUTOHSCROLL | WS_BORDER |
WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13
DEFPUSHBUTTON "选择", IDC_SELECT, 194, 186, 44, 13
@@ -31,14 +31,14 @@ IDD_ADVANCED DIALOGEX 0, 0, 292, 64
STYLE DS_SHELLFONT | WS_CHILD
FONT 9, "宋体"
BEGIN
LTEXT "字符集:", IDC_STATIC, 8, 8, 48, 8
LTEXT "字符集", IDC_STATIC, 8, 8, 48, 8
COMBOBOX IDC_COMBO_CHARSET, 72, 4, 116, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "分组:", IDC_STATIC, 8, 28, 50, 8
LTEXT "分组", IDC_STATIC, 8, 28, 50, 8
COMBOBOX IDC_COMBO_GROUPBY, 72, 24, 116, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "搜索", IDC_BUTTON_SEARCH, 200, 44, 50, 14
EDITTEXT IDC_EDIT_SEARCH, 72, 44, 116, 14, ES_AUTOHSCROLL
LTEXT "搜索目标:", IDC_STATIC, 8, 48, 42, 8
LTEXT "到 Unicode:", IDC_STATIC, 200, 8, 30, 8
LTEXT "搜索目标", IDC_STATIC, 8, 48, 42, 8
LTEXT "到 Unicode", IDC_STATIC, 200, 8, 30, 8
EDITTEXT IDC_EDIT_UNICODE, 236, 4, 28, 12, ES_AUTOHSCROLL
END

View File

@@ -0,0 +1,64 @@
/*
* PROJECT: ReactOS Character Map
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Chinese (Hong Kong) resource file
* TRANSLATORS: Copyright 2021 Chan Chilung <eason066@gmail.com>
* REFERENCES: Chinese (Traditional) resource file
*/
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_HONGKONG
IDD_CHARMAP DIALOGEX 6, 6, 292, 224
FONT 9, "新細明體", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "字型:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "説明", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL, 20, 22, 266, 156
LTEXT "待複製字元:", IDC_STATIC, 6, 188, 66, 9
CONTROL "", IDC_TEXTBOX, RICHEDIT_CLASS, ES_AUTOHSCROLL | WS_BORDER |
WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13
DEFPUSHBUTTON "選擇", IDC_SELECT, 194, 186, 44, 13
PUSHBUTTON "複製", IDC_COPY, 242, 186, 44, 13, WS_DISABLED
CONTROL "進階檢視", IDC_CHECK_ADVANCED, "Button", BS_AUTOCHECKBOX |
WS_TABSTOP, 8, 208, 95, 10
END
IDD_ADVANCED DIALOGEX 0, 0, 292, 64
STYLE DS_SHELLFONT | WS_CHILD
FONT 9, "新細明體"
BEGIN
LTEXT "字元集:", IDC_STATIC, 8, 8, 48, 8
COMBOBOX IDC_COMBO_CHARSET, 72, 4, 116, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "分組:", IDC_STATIC, 8, 28, 50, 8
COMBOBOX IDC_COMBO_GROUPBY, 72, 24, 116, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "搜尋", IDC_BUTTON_SEARCH, 200, 44, 50, 14
EDITTEXT IDC_EDIT_SEARCH, 72, 44, 116, 14, ES_AUTOHSCROLL
LTEXT "搜尋目標:", IDC_STATIC, 8, 48, 42, 8
LTEXT "到 Unicode", IDC_STATIC, 200, 8, 30, 8
EDITTEXT IDC_EDIT_UNICODE, 236, 4, 28, 12, ES_AUTOHSCROLL
END
IDD_ABOUTBOX DIALOGEX 22, 16, 210, 182
CAPTION "關於字元對應表"
FONT 9, "新細明體", 0, 0
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "字元對應表 v0.1\nCopyright (C) 2007 Ged Murphy (gedmurphy@reactos.org)", IDC_STATIC, 48, 7, 150, 36
PUSHBUTTON "關閉", IDOK, 75, 162, 44, 15
ICON IDI_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 194, 107, WS_VISIBLE | WS_VSCROLL |
WS_TABSTOP | ES_READONLY | ES_MULTILINE
END
STRINGTABLE
BEGIN
IDS_LICENSE "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
IDS_ABOUT "關於(&A)..."
IDS_TITLE "字元對應表"
IDS_UNICODE "Unicode"
IDS_ALL "All"
END

View File

@@ -13,7 +13,7 @@ FONT 9, "新細明體", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "字型:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "說明", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |
@@ -56,7 +56,7 @@ END
STRINGTABLE
BEGIN
IDS_LICENSE "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
IDS_LICENSE "本程式為自由軟體,在自由軟體聯盟發佈的 GNU 通用公共授權合約的約束下,你可以對其進行再發佈及修改,協議版本為第二版或(隨你)更新的版本。\r\n\r\n我們希望發佈的這款程式有用但不保證甚至不保證它有經濟價值和適合特定用途。詳情參見GNU通用公共授權合約。\r\n\r\n你理當已收到一份GNU通用公共授權合約的副本如果沒有請填寫郵件到 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA"
IDS_ABOUT "關於(&A)..."
IDS_TITLE "字元對應表"
IDS_UNICODE "Unicode"

View File

@@ -4,6 +4,7 @@
* FILE: base/applications/charmap/map.c
* PURPOSE: class implementation for painting glyph region
* COPYRIGHT: Copyright 2007 Ged Murphy <gedmurphy@reactos.org>
* Copyright 2022 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
*
*/
@@ -17,79 +18,51 @@ static const WCHAR szLrgCellWndClass[] = L"LrgCellWnd";
#define MAX_ROWS (0xFFFF / XCELLS) + 1 - YCELLS
static
VOID
SetGrid(PMAP infoPtr)
{
INT x, y;
for (y = 0; y < YCELLS; y++)
for (x = 0; x < XCELLS; x++)
{
infoPtr->Cells[y][x].CellExt.left = x * infoPtr->CellSize.cx + 1;
infoPtr->Cells[y][x].CellExt.top = y * infoPtr->CellSize.cy + 1;
infoPtr->Cells[y][x].CellExt.right = (x + 1) * infoPtr->CellSize.cx + 2;
infoPtr->Cells[y][x].CellExt.bottom = (y + 1) * infoPtr->CellSize.cy + 2;
CopyRect(&infoPtr->Cells[y][x].CellInt,
&infoPtr->Cells[y][x].CellExt);
InflateRect(&infoPtr->Cells[y][x].CellInt,
-1,
-1);
}
}
static
VOID
DrawActiveCell(PMAP infoPtr,
HDC hdc)
{
Rectangle(hdc,
infoPtr->pActiveCell->CellInt.left,
infoPtr->pActiveCell->CellInt.top,
infoPtr->pActiveCell->CellInt.right,
infoPtr->pActiveCell->CellInt.bottom);
}
static
VOID
DrawGrid(PMAP infoPtr,
PAINTSTRUCT *ps)
{
INT x, y;
RECT rc;
PCELL Cell;
for (y = 0; y < YCELLS; y++)
for (x = 0; x < XCELLS; x++)
{
Cell = &infoPtr->Cells[y][x];
Cell->CellExt.left = x * infoPtr->CellSize.cx + 1;
Cell->CellExt.top = y * infoPtr->CellSize.cy + 1;
Cell->CellExt.right = (x + 1) * infoPtr->CellSize.cx + 2;
Cell->CellExt.bottom = (y + 1) * infoPtr->CellSize.cy + 2;
if (!IntersectRect(&rc,
&ps->rcPaint,
&Cell->CellExt))
{
continue;
}
Cell->CellInt = Cell->CellExt;
Rectangle(ps->hdc,
Cell->CellExt.left,
Cell->CellExt.top,
Cell->CellExt.right,
Cell->CellExt.bottom);
if (infoPtr->pActiveCell == Cell)
{
DrawActiveCell(infoPtr, ps->hdc);
}
InflateRect(&Cell->CellInt, -1, -1);
}
}
static
VOID
UpdateCells(PMAP infoPtr)
{
INT x, y;
INT i = XCELLS * infoPtr->iYStart;
WCHAR ch;
PCELL Cell;
for (y = 0; y < YCELLS; ++y)
{
for (x = 0; x < XCELLS; ++x, ++i)
{
if (i < infoPtr->NumValidGlyphs)
ch = (WCHAR)infoPtr->ValidGlyphs[i];
else
ch = 0xFFFF;
Cell = &infoPtr->Cells[y][x];
Cell->ch = ch;
}
}
}
static
VOID
@@ -97,48 +70,66 @@ FillGrid(PMAP infoPtr,
PAINTSTRUCT *ps)
{
HFONT hOldFont;
WCHAR ch;
INT x, y;
RECT rc;
PCELL Cell;
INT i, added;
INT i;
HBRUSH hOldBrush, hbrGray = (HBRUSH)GetStockObject(LTGRAY_BRUSH);
HPEN hOldPen, hPenGray = CreatePen(PS_SOLID, 1, RGB(140, 140, 140));
hOldFont = SelectObject(ps->hdc,
infoPtr->hFont);
UpdateCells(infoPtr);
hOldFont = SelectObject(ps->hdc, infoPtr->hFont);
hOldPen = SelectObject(ps->hdc, GetStockObject(BLACK_PEN));
hOldBrush = SelectObject(ps->hdc, GetStockObject(WHITE_BRUSH));
i = XCELLS * infoPtr->iYStart;
added = 0;
for (y = 0; y < YCELLS; y++)
for (x = 0; x < XCELLS; x++)
{
if (i >= infoPtr->NumValidGlyphs) break;
ch = (WCHAR)infoPtr->ValidGlyphs[i];
Cell = &infoPtr->Cells[y][x];
if (IntersectRect(&rc,
&ps->rcPaint,
&Cell->CellExt))
for (x = 0; x < XCELLS; x++, i++)
{
Cell->ch = ch;
Cell = &infoPtr->Cells[y][x];
if (!IntersectRect(&rc, &ps->rcPaint, &Cell->CellExt))
continue;
DrawTextW(ps->hdc,
&ch,
1,
&Cell->CellInt,
DT_CENTER | DT_VCENTER | DT_SINGLELINE);
rc = Cell->CellExt;
Rectangle(ps->hdc, rc.left, rc.top, rc.right, rc.bottom);
added++;
if (i < infoPtr->NumValidGlyphs)
{
DrawTextW(ps->hdc, &Cell->ch, 1, &Cell->CellInt,
DT_CENTER | DT_VCENTER | DT_SINGLELINE);
if (Cell == infoPtr->pActiveCell)
{
rc = Cell->CellInt;
/* Draw gray box */
SelectObject(ps->hdc, GetStockObject(NULL_BRUSH));
SelectObject(ps->hdc, hPenGray);
Rectangle(ps->hdc, rc.left, rc.top, rc.right, rc.bottom);
SelectObject(ps->hdc, hOldPen);
SelectObject(ps->hdc, hOldBrush);
if (GetFocus() == infoPtr->hMapWnd)
{
/* Draw focus rectangle */
InflateRect(&rc, -1, -1);
DrawFocusRect(ps->hdc, &rc);
}
}
}
else
{
FillRect(ps->hdc, &Cell->CellInt, hbrGray);
}
}
i++;
ch = (WCHAR)i;
}
SelectObject(ps->hdc,
hOldFont);
SelectObject(ps->hdc, hOldFont);
SelectObject(ps->hdc, hOldPen);
SelectObject(ps->hdc, hOldBrush);
DeleteObject(hPenGray);
}
@@ -146,19 +137,11 @@ static
BOOL
CreateLargeCell(PMAP infoPtr)
{
RECT rLarge;
RECT rLarge = infoPtr->pActiveCell->CellExt;
CopyRect(&rLarge,
&infoPtr->pActiveCell->CellExt);
MapWindowPoints(infoPtr->hMapWnd, infoPtr->hParent, (LPPOINT)&rLarge, 2);
MapWindowPoints(infoPtr->hMapWnd,
infoPtr->hParent,
(VOID*)&rLarge,
2);
InflateRect(&rLarge,
XLARGE - XCELLS,
YLARGE - YCELLS);
InflateRect(&rLarge, XLARGE - XCELLS, YLARGE - YCELLS);
infoPtr->hLrgWnd = CreateWindowExW(0,
szLrgCellWndClass,
@@ -183,19 +166,11 @@ static
VOID
MoveLargeCell(PMAP infoPtr)
{
RECT rLarge;
RECT rLarge = infoPtr->pActiveCell->CellExt;
CopyRect(&rLarge,
&infoPtr->pActiveCell->CellExt);
MapWindowPoints(infoPtr->hMapWnd, infoPtr->hParent, (LPPOINT)&rLarge, 2);
MapWindowPoints(infoPtr->hMapWnd,
infoPtr->hParent,
(VOID*)&rLarge,
2);
InflateRect(&rLarge,
XLARGE - XCELLS,
YLARGE - YCELLS);
InflateRect(&rLarge, XLARGE - XCELLS, YLARGE - YCELLS);
MoveWindow(infoPtr->hLrgWnd,
rLarge.left,
@@ -204,9 +179,7 @@ MoveLargeCell(PMAP infoPtr)
rLarge.bottom - rLarge.top,
TRUE);
InvalidateRect(infoPtr->hLrgWnd,
NULL,
TRUE);
InvalidateRect(infoPtr->hLrgWnd, NULL, TRUE);
}
@@ -216,7 +189,7 @@ GetPossibleCharacters(WCHAR* ch, INT chLen, INT codePageIdx)
{
INT i, j;
memset(ch, 0, sizeof(ch[0]) * chLen);
ZeroMemory(ch, sizeof(ch[0]) * chLen);
if (codePageIdx <= 0 || codePageIdx > SIZEOF(codePages))
{
@@ -276,11 +249,6 @@ SetFont(PMAP infoPtr,
NULL,
TRUE);
if (infoPtr->pActiveCell)
infoPtr->pActiveCell->bActive = FALSE;
infoPtr->pActiveCell = &infoPtr->Cells[0][0];
infoPtr->pActiveCell->bActive = TRUE;
// Get all the valid glyphs in this font
SelectObject(hdc, infoPtr->hFont);
@@ -347,60 +315,97 @@ NotifyParentOfSelection(PMAP infoPtr,
static
VOID
OnClick(PMAP infoPtr,
WORD ptx,
WORD pty)
LimitCaretXY(PMAP infoPtr, INT *pX, INT *pY)
{
INT x, y, i;
INT i, X = *pX, Y = *pY, iYStart = infoPtr->iYStart;
/*
* Find the cell the mouse pointer is over.
* Since each cell is the same size, this can be done quickly using CellSize.
* Clamp to XCELLS - 1 and YCELLS - 1 because the map can sometimes be slightly
* larger than infoPtr.CellSize * XCELLS , due to the map size being a non integer
* multiple of infoPtr.CellSize .
*/
x = min(XCELLS - 1, ptx / max(1, infoPtr->CellSize.cx));
y = min(YCELLS - 1, pty / max(1, infoPtr->CellSize.cy));
/* Make sure the mouse is within a valid glyph */
i = XCELLS * infoPtr->iYStart + y * XCELLS + x;
if (i >= infoPtr->NumValidGlyphs)
i = XCELLS * (iYStart + Y) + X;
while (i >= infoPtr->NumValidGlyphs)
{
if (infoPtr->pActiveCell)
infoPtr->pActiveCell->bActive = FALSE;
infoPtr->pActiveCell = NULL;
return;
if (X > 0)
{
--X;
}
else
{
X = XCELLS - 1;
--Y;
}
i = XCELLS * (iYStart + Y) + X;
}
/* if the cell is not already active */
if (!infoPtr->Cells[y][x].bActive)
*pX = X;
*pY = Y;
}
static
VOID
SetCaretXY(PMAP infoPtr, INT X, INT Y, BOOL bLarge, BOOL bInvalidateAll)
{
/* set previous active cell to inactive */
if (!bInvalidateAll)
{
/* set previous active cell to inactive */
if (infoPtr->pActiveCell)
{
/* invalidate normal cells, required when
* moving a small active cell via keyboard */
if (!infoPtr->pActiveCell->bLarge)
{
InvalidateRect(infoPtr->hMapWnd,
&infoPtr->pActiveCell->CellInt,
TRUE);
}
InvalidateRect(infoPtr->hMapWnd,
&infoPtr->pActiveCell->CellInt,
FALSE);
}
infoPtr->pActiveCell->bActive = FALSE;
infoPtr->pActiveCell->bLarge = FALSE;
}
LimitCaretXY(infoPtr, &X, &Y);
infoPtr->CaretX = X;
infoPtr->CaretY = Y;
UpdateCells(infoPtr);
/* set new cell to active */
infoPtr->pActiveCell = &infoPtr->Cells[y][x];
infoPtr->pActiveCell->bActive = TRUE;
infoPtr->pActiveCell->bLarge = TRUE;
/* set new cell to active */
infoPtr->pActiveCell = &infoPtr->Cells[Y][X];
if (!bInvalidateAll)
{
InvalidateRect(infoPtr->hMapWnd,
&infoPtr->pActiveCell->CellInt,
FALSE);
}
/* Create if needed */
if (bLarge)
{
if (infoPtr->hLrgWnd)
MoveLargeCell(infoPtr);
else
CreateLargeCell(infoPtr);
}
else
{
/* Destroy large window */
if (infoPtr->hLrgWnd)
{
DestroyWindow(infoPtr->hLrgWnd);
infoPtr->hLrgWnd = NULL;
}
}
if (bInvalidateAll)
InvalidateRect(infoPtr->hMapWnd, NULL, FALSE);
UpdateStatusBar(infoPtr->pActiveCell->ch);
}
static
VOID
OnClick(PMAP infoPtr,
WORD ptx,
WORD pty)
{
/*
* Find the cell the mouse pointer is over.
* Since each cell is the same size, this can be done quickly using CellSize.
* Clamp to XCELLS - 1 and YCELLS - 1 because the map can sometimes be slightly
* larger than infoPtr.CellSize * XCELLS , due to the map size being a non integer
* multiple of infoPtr.CellSize .
*/
INT x = min(XCELLS - 1, ptx / max(1, infoPtr->CellSize.cx));
INT y = min(YCELLS - 1, pty / max(1, infoPtr->CellSize.cy));
SetCaretXY(infoPtr, x, y, TRUE, FALSE);
}
@@ -411,45 +416,30 @@ MapOnCreate(PMAP infoPtr,
HWND hParent)
{
RECT rc;
BOOL Ret = FALSE;
infoPtr = HeapAlloc(GetProcessHeap(),
0,
sizeof(MAP));
if (infoPtr)
{
SetLastError(0);
SetWindowLongPtrW(hwnd,
0,
(DWORD_PTR)infoPtr);
if (GetLastError() == 0)
{
ZeroMemory(infoPtr,
sizeof(MAP));
infoPtr = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(MAP));
if (!infoPtr)
return FALSE;
infoPtr->hMapWnd = hwnd;
infoPtr->hParent = hParent;
SetWindowLongPtrW(hwnd, 0, (LONG_PTR)infoPtr);
GetClientRect(hwnd, &rc);
infoPtr->ClientSize.cx = rc.right;
infoPtr->ClientSize.cy = rc.bottom;
infoPtr->CellSize.cx = infoPtr->ClientSize.cx / XCELLS;
infoPtr->CellSize.cy = infoPtr->ClientSize.cy / YCELLS;
infoPtr->hMapWnd = hwnd;
infoPtr->hParent = hParent;
infoPtr->pActiveCell = NULL;
GetClientRect(hwnd, &rc);
infoPtr->ClientSize.cx = rc.right;
infoPtr->ClientSize.cy = rc.bottom;
infoPtr->CellSize.cx = infoPtr->ClientSize.cx / XCELLS;
infoPtr->CellSize.cy = infoPtr->ClientSize.cy / YCELLS;
SetGrid(infoPtr);
infoPtr->pActiveCell = &infoPtr->Cells[0][0];
SetScrollPos(infoPtr->hParent, SB_VERT, 0, TRUE);
SetGrid(infoPtr);
Ret = TRUE;
}
}
return Ret;
SetScrollPos(infoPtr->hParent, SB_VERT, 0, TRUE);
return TRUE;
}
static
VOID
OnVScroll(PMAP infoPtr,
@@ -457,6 +447,7 @@ OnVScroll(PMAP infoPtr,
INT Pos)
{
INT iYDiff, iOldYStart = infoPtr->iYStart;
INT X, Y;
switch (Value)
{
@@ -480,13 +471,30 @@ OnVScroll(PMAP infoPtr,
infoPtr->iYStart = Pos;
break;
default:
case SB_TOP:
infoPtr->iYStart = 0;
SetCaretXY(infoPtr, 0, 0, FALSE, TRUE);
return;
case SB_BOTTOM:
infoPtr->iYStart = infoPtr->NumRows;
SetCaretXY(infoPtr, XCELLS - 1, YCELLS - 1, FALSE, TRUE);
break;
}
default:
break;
}
infoPtr->iYStart = max(0, infoPtr->iYStart);
infoPtr->iYStart = min(infoPtr->iYStart, infoPtr->NumRows);
UpdateCells(infoPtr);
X = infoPtr->CaretX;
Y = infoPtr->CaretY;
LimitCaretXY(infoPtr, &X, &Y);
SetCaretXY(infoPtr, X, Y, IsWindow(infoPtr->hLrgWnd), FALSE);
iYDiff = iOldYStart - infoPtr->iYStart;
if (iYDiff)
{
@@ -505,13 +513,13 @@ OnVScroll(PMAP infoPtr,
RECT rect;
/* Invalidate the rect around the active cell since a new cell will become active */
if (infoPtr->pActiveCell && infoPtr->pActiveCell->bActive)
if (infoPtr->pActiveCell)
{
InvalidateRect(infoPtr->hMapWnd,
&infoPtr->pActiveCell->CellExt,
InvalidateRect(infoPtr->hMapWnd,
&infoPtr->pActiveCell->CellExt,
TRUE);
}
GetClientRect(infoPtr->hMapWnd, &rect);
rect.top += 2;
rect.bottom -= 2;
@@ -536,6 +544,8 @@ OnVScroll(PMAP infoPtr,
ShowWindow(infoPtr->hLrgWnd, SW_SHOW);
}
}
UpdateStatusBar(infoPtr->pActiveCell->ch);
}
@@ -547,38 +557,172 @@ OnPaint(PMAP infoPtr,
PAINTSTRUCT ps;
HDC hdc;
if (wParam != 0)
{
if (!GetUpdateRect(infoPtr->hMapWnd,
&ps.rcPaint,
TRUE))
{
if (!GetUpdateRect(infoPtr->hMapWnd, &ps.rcPaint, TRUE))
return;
}
ps.hdc = (HDC)wParam;
}
else
{
hdc = BeginPaint(infoPtr->hMapWnd,
&ps);
hdc = BeginPaint(infoPtr->hMapWnd, &ps);
if (hdc == NULL)
{
return;
}
}
DrawGrid(infoPtr, &ps);
FillGrid(infoPtr, &ps);
if (wParam == 0)
{
EndPaint(infoPtr->hMapWnd,
&ps);
EndPaint(infoPtr->hMapWnd, &ps);
}
}
static
VOID
MoveUpDown(PMAP infoPtr, INT DY)
{
INT Y = infoPtr->CaretY;
if (DY < 0) /* Move Up */
{
if (Y <= 0)
{
SendMessageW(infoPtr->hMapWnd, WM_VSCROLL, MAKEWPARAM(SB_LINEUP, 0), 0);
return;
}
Y -= 1;
}
else if (DY > 0) /* Move Down */
{
if (Y + 1 >= YCELLS)
{
SendMessageW(infoPtr->hMapWnd, WM_VSCROLL, MAKEWPARAM(SB_LINEDOWN, 0), 0);
return;
}
Y += 1;
}
SetCaretXY(infoPtr, infoPtr->CaretX, Y, IsWindow(infoPtr->hLrgWnd), FALSE);
}
static
VOID
MoveLeftRight(PMAP infoPtr, INT DX)
{
INT X = infoPtr->CaretX;
INT Y = infoPtr->CaretY;
if (DX < 0) /* Move Left */
{
if (X <= 0) /* at left edge */
{
if (Y <= 0) /* at top */
{
Y = 0;
if (infoPtr->iYStart > 0)
X = XCELLS - 1;
SendMessageW(infoPtr->hMapWnd, WM_VSCROLL, MAKEWPARAM(SB_LINEUP, 0), 0);
}
else
{
X = XCELLS - 1;
Y -= 1;
}
}
else /* Not at left edge */
{
X -= 1;
}
}
else if (DX > 0) /* Move Right */
{
if (X + 1 >= XCELLS) /* at right edge */
{
if (Y + 1 >= YCELLS) /* at bottom */
{
Y = YCELLS - 1;
if (infoPtr->iYStart < infoPtr->NumRows)
X = 0;
SendMessageW(infoPtr->hMapWnd, WM_VSCROLL, MAKEWPARAM(SB_LINEDOWN, 0), 0);
}
else
{
X = 0;
Y += 1;
}
}
else
{
X += 1;
}
}
SetCaretXY(infoPtr, X, Y, IsWindow(infoPtr->hLrgWnd), FALSE);
}
static
VOID
OnKeyDown(PMAP infoPtr, WPARAM wParam, LPARAM lParam)
{
BOOL bCtrlDown = (GetKeyState(VK_CONTROL) < 0);
switch (wParam)
{
case VK_UP:
if (bCtrlDown)
SetCaretXY(infoPtr, infoPtr->CaretX, 0, FALSE, FALSE);
else
MoveUpDown(infoPtr, -1);
break;
case VK_DOWN:
if (bCtrlDown)
SetCaretXY(infoPtr, infoPtr->CaretX, YCELLS - 1, FALSE, FALSE);
else
MoveUpDown(infoPtr, +1);
break;
case VK_LEFT:
if (bCtrlDown)
SetCaretXY(infoPtr, 0, infoPtr->CaretY, FALSE, FALSE);
else
MoveLeftRight(infoPtr, -1);
break;
case VK_RIGHT:
if (bCtrlDown)
SetCaretXY(infoPtr, XCELLS - 1, infoPtr->CaretY, FALSE, FALSE);
else
MoveLeftRight(infoPtr, +1);
break;
case VK_PRIOR: /* Page Up */
SendMessageW(infoPtr->hMapWnd, WM_VSCROLL, MAKEWPARAM(SB_PAGEUP, 0), 0);
break;
case VK_NEXT: /* Page Down */
SendMessageW(infoPtr->hMapWnd, WM_VSCROLL, MAKEWPARAM(SB_PAGEDOWN, 0), 0);
break;
case VK_HOME:
if (bCtrlDown)
SendMessageW(infoPtr->hMapWnd, WM_VSCROLL, MAKEWPARAM(SB_TOP, 0), 0);
else
SetCaretXY(infoPtr, 0, infoPtr->CaretY, FALSE, FALSE);
break;
case VK_END:
if (bCtrlDown)
SendMessageW(infoPtr->hMapWnd, WM_VSCROLL, MAKEWPARAM(SB_BOTTOM, 0), 0);
else
SetCaretXY(infoPtr, XCELLS - 1, infoPtr->CaretY, FALSE, FALSE);
break;
}
}
LRESULT
CALLBACK
@@ -587,13 +731,10 @@ MapWndProc(HWND hwnd,
WPARAM wParam,
LPARAM lParam)
{
PMAP infoPtr;
PMAP infoPtr = (PMAP)GetWindowLongPtrW(hwnd, 0);
LRESULT Ret = 0;
WCHAR lfFaceName[LF_FACESIZE];
infoPtr = (PMAP)GetWindowLongPtrW(hwnd,
0);
switch (uMsg)
{
case WM_CREATE:
@@ -608,12 +749,16 @@ MapWndProc(HWND hwnd,
break;
}
case WM_KEYDOWN:
{
OnKeyDown(infoPtr, wParam, lParam);
break;
}
case WM_LBUTTONDOWN:
{
OnClick(infoPtr,
LOWORD(lParam),
HIWORD(lParam));
SetFocus(hwnd);
OnClick(infoPtr, LOWORD(lParam), HIWORD(lParam));
break;
}
@@ -621,43 +766,36 @@ MapWndProc(HWND hwnd,
{
if (wParam & MK_LBUTTON)
{
OnClick(infoPtr,
LOWORD(lParam),
HIWORD(lParam));
OnClick(infoPtr, LOWORD(lParam), HIWORD(lParam));
}
break;
}
case WM_LBUTTONDBLCLK:
{
if (!infoPtr->pActiveCell)
if (!infoPtr->pActiveCell || GetFocus() != hwnd)
break;
NotifyParentOfSelection(infoPtr,
FM_SETCHAR,
infoPtr->pActiveCell->ch);
if (infoPtr->pActiveCell->bLarge)
if (infoPtr->hLrgWnd)
{
DestroyWindow(infoPtr->hLrgWnd);
infoPtr->hLrgWnd = NULL;
}
infoPtr->pActiveCell->bLarge = FALSE;
break;
}
case WM_VSCROLL:
{
OnVScroll(infoPtr,
LOWORD(wParam),
HIWORD(wParam));
OnVScroll(infoPtr, LOWORD(wParam), HIWORD(wParam));
break;
}
case FM_SETCHARMAP:
infoPtr->CaretX = infoPtr->CaretY = infoPtr->iYStart = 0;
infoPtr->CharMap = LOWORD(wParam);
wcsncpy(lfFaceName,
infoPtr->CurrentFont.lfFaceName,
@@ -666,6 +804,7 @@ MapWndProc(HWND hwnd,
break;
case FM_SETFONT:
infoPtr->CaretX = infoPtr->CaretY = infoPtr->iYStart = 0;
SetFont(infoPtr, (LPWSTR)lParam);
break;
@@ -679,32 +818,27 @@ MapWndProc(HWND hwnd,
return (LRESULT)infoPtr->hFont;
case WM_PAINT:
{
OnPaint(infoPtr,
wParam);
OnPaint(infoPtr, wParam);
break;
}
case WM_DESTROY:
{
DeleteObject(infoPtr->hFont);
HeapFree(GetProcessHeap(),
0,
infoPtr);
SetWindowLongPtrW(hwnd,
0,
(DWORD_PTR)NULL);
HeapFree(GetProcessHeap(), 0, infoPtr);
SetWindowLongPtrW(hwnd, 0, (LONG_PTR)NULL);
break;
case WM_GETDLGCODE:
return DLGC_WANTARROWS;
case WM_SETFOCUS:
case WM_KILLFOCUS:
if (!infoPtr->hLrgWnd)
InvalidateRect(hwnd, &(infoPtr->pActiveCell->CellInt), FALSE);
break;
}
default:
{
Ret = DefWindowProcW(hwnd,
uMsg,
wParam,
lParam);
Ret = DefWindowProcW(hwnd, uMsg, wParam, lParam);
break;
}
}
return Ret;
@@ -740,9 +874,6 @@ RegisterMapClasses(HINSTANCE hInstance)
VOID
UnregisterMapClasses(HINSTANCE hInstance)
{
UnregisterClassW(szMapWndClass,
hInstance);
UnregisterClassW(szLrgCellWndClass,
hInstance);
UnregisterClassW(szMapWndClass, hInstance);
UnregisterClassW(szLrgCellWndClass, hInstance);
}

Some files were not shown because too many files have changed in this diff Show More