Compare commits

...

1474 Commits

Author SHA1 Message Date
Hervé Poussineau
f1171128ca [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 17:13:18 +01:00
Hervé Poussineau
daa34596d8 [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 17:13:17 +01:00
Hermès Bélusca-Maïto
ae70120a18 [NTOS:KD64] Add a missing KdEnteredDebugger reset in KdExitDebugger() 2025-01-28 17:13:17 +01:00
Hervé Poussineau
a269aae455 [NTOS:EX] Implement NtSystemDebugControl: SysDbgGetKdBlockEnable/SysDbgSetKdBlockEnable 2025-01-28 17:13:15 +01:00
Hervé Poussineau
e6c20b5446 [NTOS:EX] Implement NtSystemDebugControl: SysDbgGetKdUmExceptionEnable/SysDbgSetKdUmExceptionEnable 2025-01-28 17:13:14 +01:00
Hervé Poussineau
b5f4a928ae [NTOS:EX] Implement NtSystemDebugControl: SysDbgGetPrintBufferSize 2025-01-28 17:13:13 +01:00
Hervé Poussineau
7a5d450218 [NTOS:EX] Implement NtSystemDebugControl: SysDbgGetAutoKdEnable/SysDbgSetAutoKdEnable 2025-01-28 17:13:11 +01:00
Hervé Poussineau
698eaaceda [NTOS:EX] Implement NtSystemDebugControl: SysDbgEnableKernelDebugger/SysDbgDisableKernelDebugger 2025-01-28 17:13:10 +01:00
Hervé Poussineau
55d91fccdf [NTOS:EX] Implement NtSystemDebugControl: SysDbgBreakPoint 2025-01-28 17:13:08 +01:00
Hervé Poussineau
936e7a8b36 [NTOS:KD64] Implement KdSystemDebugControl: SysDbgCheckLowMemory 2025-01-28 17:13:08 +01:00
Hervé Poussineau
c570cbf5cd [NTOS:KD64] Implement KdSystemDebugControl: SysDbgReadBusData/SysDbgWriteBusData 2025-01-28 17:13:07 +01:00
Hervé Poussineau
2d378eeeb7 [NTOS:KD64] Implement KdSystemDebugControl: SysDbgReadMsr/SysDbgWriteMsr 2025-01-28 17:13:06 +01:00
Hervé Poussineau
a8e03d6da9 [NTOS:KD64] Implement KdSystemDebugControl: SysDbgReadIoSpace/SysDbgWriteIoSpace 2025-01-28 17:13:05 +01:00
Hervé Poussineau
d27c012891 [NTOS:KD64] Implement KdSystemDebugControl: SysDbgReadControlSpace/SysDbgWriteControlSpace 2025-01-28 17:13:03 +01:00
Hervé Poussineau
1bec6a3094 [NTOS:KD64] Implement KdSystemDebugControl: SysDbgReadPhysical/SysDbgWritePhysical 2025-01-28 17:13:01 +01:00
Hervé Poussineau
7974e47690 [NTOS:KD64] Implement KdSystemDebugControl: SysDbgReadVirtual/SysDbgWriteVirtual 2025-01-28 17:13:00 +01:00
Hervé Poussineau
51e13a366a [NTOS:KD64] Implement KdSystemDebugControl: SysDbgQueryVersion 2025-01-28 17:12:57 +01:00
Hervé Poussineau
1c0d5734dd [NTOS:EX] In NtSystemDebugControl, check for SeDebugPrivilege 2025-01-28 17:12:56 +01:00
Hervé Poussineau
bdfc074a41 [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 17:12:55 +01:00
Hervé Poussineau
9cb25e62b3 [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 17:12:54 +01:00
Hermès Bélusca-Maïto
8eda8b69d5 [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 17:12:53 +01:00
Hermès Bélusca-Maïto
5fc675515b [NDK][NTOS:EX:KD64] Add SAL annotations to Kd/Nt/ZwSystemDebugControl. 2025-01-28 17:12:51 +01:00
Hermès Bélusca-Maïto
b1407aae4c [NTOS:KD64] Simplify some code in debugging helpers 2025-01-28 17:12:50 +01:00
Hermès Bélusca-Maïto
20179408eb [NTOS:KD64] Add annotations to debugger control routines used in Kd/Nt/ZwSystemDebugControl 2025-01-28 17:12:48 +01:00
Hervé Poussineau
bef9e57cf7 [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 17:12:47 +01:00
Hervé Poussineau
5948011612 [NTOS:EX] Allow calling ExLockUserBuffer up to DISPATCH_LEVEL 2025-01-28 17:12:46 +01:00
Hervé Poussineau
402a2b1401 [NTOS:EX] Add prototypes for ExLockUserBuffer/ExUnlockUserBuffer 2025-01-28 17:12:45 +01:00
Hermès Bélusca-Maïto
f416c4f16e [NDK] SYSDBG: Add SysDbgKdPullRemoteFile enum value and structure (Win10 19041+)
From https://github.com/processhacker/phnt/
2025-01-28 17:12:43 +01:00
Hermès Bélusca-Maïto
06bf42d900 [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 17:12:42 +01:00
Hermès Bélusca-Maïto
e2a3da5a13 [NDK] SYSDBG: Add versioning info for Vista+ commands. 2025-01-28 17:12:34 +01: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
4755 changed files with 392338 additions and 125764 deletions

11
.github/labeler.yml vendored
View File

@@ -43,3 +43,14 @@ 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

@@ -15,7 +15,7 @@ jobs:
- 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
@@ -84,24 +84,14 @@ jobs:
build-msvc:
strategy:
matrix:
os: [windows-latest, windows-2019]
toolset: ['14.2', '14.1', '14.0'] # VS 2019, 2017, and 2015 (see below)
os: [windows-latest]
toolset: ['14','14.2'] # VS 2022, and 2019 (see below)
arch: [i386, amd64]
config: [Debug, Release]
dllver: ['0x502', '0x600']
exclude: # VS 2019, 2017 only with windows-latest; VS 2015 only with windows-2019
- os: windows-2019
toolset: '14.2'
- os: windows-2019
toolset: '14.1'
- os: windows-latest
toolset: '14.0'
exclude: # Build NT6 ISOs only with the latest toolset when compiled as a debug build
- dllver: 0x600
os: windows-2019
- dllver: 0x600
toolset: '14.1'
- dllver: 0x600
toolset: '14.0'
toolset: 14.2
- dllver: 0x600
config: Release
fail-fast: false
@@ -155,7 +145,7 @@ jobs:
build-msvc-arm:
strategy:
matrix:
toolset: ['14.2', '14.1'] # VS 2019, 2017
toolset: ['14','14.2'] # VS 2022, 2019
arch: [arm, arm64]
config: [Debug, Release]
fail-fast: false
@@ -175,6 +165,7 @@ jobs:
uses: ilammy/msvc-dev-cmd@v1
with:
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' }}
@@ -232,6 +223,7 @@ jobs:
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:
@@ -258,13 +250,13 @@ 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
@@ -293,7 +285,7 @@ jobs:
build-msbuild-i386:
name: MSBuild (i386)
runs-on: windows-2019
runs-on: windows-latest
steps:
- name: Install Flex and Bison
run: |
@@ -313,6 +305,6 @@ jobs:
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

@@ -140,6 +140,10 @@ 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)
@@ -233,6 +237,8 @@ Enable this if the module uses typeid or dynamic_cast. You will probably need to
-D_WIN32_WINDOWS=0x502
-D_SETUPAPI_VER=0x502
-DMINGW_HAS_SECURE_API=1
-DD3D_UMD_INTERFACE_VERSION=0x000C # Vista
-DDXGKDDI_INTERFACE_VERSION=0x1052 # Vista
-DDLL_EXPORT_VERSION=${DLL_EXPORT_VERSION})
# Arch Options
@@ -250,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")
@@ -310,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
@@ -317,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)

View File

@@ -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

View File

@@ -8,23 +8,17 @@
<p align=center>
<a href="https://reactos.org/project-news/reactos-0414-released/">
<img alt="ReactOS 0.4.14 Release" src="https://img.shields.io/badge/release-0.4.14-0688CB.svg">
</a>
<img alt="ReactOS 0.4.14 Release" src="https://img.shields.io/badge/release-0.4.14-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
@@ -56,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.
@@ -127,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

@@ -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")

View File

@@ -1,7 +1,5 @@
/* Превод на Български/ Bulgarian translation
* https://reactos.org/wiki/Bulgarian_translation
* FILE: base/applications/calc/lang/bg-BG.rc
* Недовършен / Incomplete
*/
LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
@@ -10,15 +8,15 @@ LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
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 "Обр", 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 |
@@ -158,7 +152,7 @@ END
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,7 +217,7 @@ END
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
@@ -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
@@ -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
@@ -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
@@ -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 "Испанска песета"

View File

@@ -1,6 +1,5 @@
/* 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
@@ -9,15 +8,15 @@ LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
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 |
@@ -157,7 +152,7 @@ END
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
@@ -222,7 +217,7 @@ END
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

@@ -4,15 +4,15 @@ LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
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 |
@@ -152,7 +148,7 @@ END
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
@@ -217,7 +213,7 @@ END
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

@@ -9,10 +9,10 @@ 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 |
@@ -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

@@ -4,15 +4,15 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
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 |
@@ -152,7 +148,7 @@ END
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
@@ -217,7 +213,7 @@ END
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

@@ -10,15 +10,15 @@ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
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 |
@@ -158,7 +154,7 @@ END
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
@@ -223,7 +219,7 @@ END
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

@@ -4,15 +4,15 @@ LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
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 |
@@ -152,7 +148,7 @@ END
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
@@ -217,7 +213,7 @@ END
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
@@ -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"

View File

@@ -1,4 +1,4 @@
/* Translated by Baruch Rutman */
/* TRANSLATOR: Baruch Rutman */
LANGUAGE LANG_HEBREW, SUBLANG_DEFAULT
@@ -7,15 +7,15 @@ LANGUAGE LANG_HEBREW, SUBLANG_DEFAULT
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 |
@@ -156,7 +152,7 @@ END
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
@@ -222,7 +218,7 @@ END
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,9 +1,8 @@
/*
* 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
@@ -12,15 +11,15 @@ LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT
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 |
@@ -160,7 +155,7 @@ END
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
@@ -225,7 +220,7 @@ END
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

@@ -11,15 +11,15 @@ LANGUAGE LANG_INDONESIAN, SUBLANG_DEFAULT
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
@@ -136,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 "Byte", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 270, 21, 38, 10
CONTROL "Derajat", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
CONTROL "Radian", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "Gradian", 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 "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 |
@@ -159,7 +155,7 @@ END
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,7 +220,7 @@ END
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
@@ -511,7 +507,7 @@ BEGIN
IDS_CURRENCY_LITHUANIAN_LITAS "Litas Lithuania"
IDS_CURRENCY_LUXEMBOURG_FRANC "Franc Luksemburg"
IDS_CURRENCY_MALTESE_LIRA "Lira Malta"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Escudo Portugis"
IDS_CURRENCY_PORTUGUESE_ESCUDO "Escudo Portugis"
IDS_CURRENCY_SLOVAK_KORUNA "Koruna Slovakia"
IDS_CURRENCY_SLOVENIAN_TOLAR "Tolar Slovenia"
IDS_CURRENCY_SPANISH_PESETA "Peseta Spanyol"

View File

@@ -4,15 +4,15 @@ LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
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 |
@@ -152,7 +148,7 @@ END
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
@@ -217,7 +213,7 @@ END
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

@@ -4,15 +4,15 @@ LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
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 |
@@ -152,7 +148,7 @@ END
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
@@ -217,7 +213,7 @@ END
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

@@ -6,15 +6,15 @@ LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
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 |
@@ -154,7 +150,7 @@ END
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
@@ -219,7 +215,7 @@ END
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

@@ -4,15 +4,15 @@ LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL
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 |
@@ -152,7 +148,7 @@ END
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
@@ -217,7 +213,7 @@ END
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

@@ -4,15 +4,15 @@ LANGUAGE LANG_NORWEGIAN, SUBLANG_NEUTRAL
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 |
@@ -152,7 +148,7 @@ END
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
@@ -217,7 +213,7 @@ END
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,10 +1,8 @@
/*
* Translated by Caemyr - Olaf Siejka (Feb, Jun 2008)
* Translated by Caemyr - Olaf Siejka 2008-2011
* Use ReactOS forum PM or IRC to contact me
* https://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)
* Updated by Saibamen - Adam Stachowicz <saibamenppl@gmail.com> 2011
*/
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
@@ -13,15 +11,15 @@ LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
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 |
@@ -161,7 +155,7 @@ END
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
@@ -226,7 +220,7 @@ END
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,4 +1,4 @@
/* Translation and UTF-8 Conversion by mkbu95 <mkbu95@gmail.com> (August, 2011) */
/* TRANSLATOR: 2011 mkbu95 <mkbu95@gmail.com> */
LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN
@@ -6,15 +6,15 @@ LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN
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 |
@@ -154,7 +150,7 @@ END
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
@@ -219,7 +215,7 @@ END
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

@@ -1,4 +1,4 @@
/* Translation and UTF-8 Conversion by Gabriel Aguiar <fgygh5804@gmail.com,fgsoftwarestudio@gmail.com> (July, 2021) */
/* TRANSLATOR: 2021 Gabriel Aguiar <fgygh5804@gmail.com,fgsoftwarestudio@gmail.com> */
LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
@@ -6,15 +6,15 @@ LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
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 |
@@ -154,7 +150,7 @@ END
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
@@ -219,7 +215,7 @@ END
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

@@ -18,10 +18,10 @@ 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 +138,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 "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 |
@@ -350,8 +346,8 @@ IDR_MENU_SCIENTIFIC_2 MENU
BEGIN
POPUP "&Editare"
BEGIN
MENUITEM "&Copiere\tCTRL-C", IDM_EDIT_COPY
MENUITEM "&Lipire\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "&Copiere\tCtrl-C", IDM_EDIT_COPY
MENUITEM "&Lipire\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "&Vizualizare"
BEGIN
@@ -383,8 +379,8 @@ IDR_MENU_STANDARD MENU
BEGIN
POPUP "&Editare"
BEGIN
MENUITEM "&Copiere\tCTRL-C", IDM_EDIT_COPY
MENUITEM "&Lipire\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "&Copiere\tCtrl-C", IDM_EDIT_COPY
MENUITEM "&Lipire\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "&Vizualizare"
BEGIN
@@ -513,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ă"

View File

@@ -9,10 +9,10 @@ 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 |
@@ -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 "Литовский лит"
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 "&" ?
*/
@@ -11,15 +8,15 @@ LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
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 |
@@ -159,7 +152,7 @@ END
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
@@ -224,7 +217,7 @@ END
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,5 +1,4 @@
/* 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
@@ -8,15 +7,15 @@ LANGUAGE LANG_ALBANIAN, SUBLANG_NEUTRAL
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 |
@@ -156,7 +151,7 @@ END
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
@@ -221,7 +216,7 @@ END
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
*/
@@ -11,15 +10,15 @@ LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL
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 |
@@ -159,7 +154,7 @@ END
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
@@ -224,7 +219,7 @@ END
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

@@ -4,15 +4,15 @@ LANGUAGE LANG_THAI, SUBLANG_DEFAULT
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 |
@@ -217,7 +213,7 @@ END
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,6 +1,6 @@
/* TRANSLATOR:
2013-2014, 2016, 2019 Erdem Ersoy (eersoy93) (erdemersoy [at] erdemersoy [dot] net),
2021 Süleyman Poyraz (zaryob [dot] dev [at] gmail [dot] com)
2013-2019 Erdem Ersoy (eersoy93) <erdemersoy@erdemersoy.net>
2021 Süleyman Poyraz <zaryob.dev@gmail.com>
*/
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
@@ -9,15 +9,15 @@ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
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 "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 +134,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 "Derece", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
CONTROL "Radian", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "Gradian", 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 "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 "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
@@ -157,7 +153,7 @@ END
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
@@ -222,7 +218,7 @@ END
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
@@ -509,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ı"

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
*/
@@ -12,15 +11,15 @@ LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
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 |
@@ -160,7 +155,7 @@ END
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
@@ -225,7 +220,7 @@ END
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

@@ -12,15 +12,15 @@ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
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
@@ -137,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 |
@@ -160,7 +156,7 @@ END
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
@@ -225,7 +221,7 @@ END
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
@@ -512,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 "西班牙比塞塔"

View File

@@ -12,15 +12,15 @@ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_HONGKONG
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
@@ -137,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 "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 |
@@ -160,7 +156,7 @@ END
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
@@ -225,7 +221,7 @@ END
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
@@ -512,7 +508,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,4 +1,4 @@
// Traditional Chinese translation by 2021 Chan Chilung <eason066@gmail.com>
// TRANSLATOR: 2021 Chan Chilung <eason066@gmail.com>
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
@@ -6,15 +6,15 @@ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
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 |
@@ -154,7 +150,7 @@ END
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
@@ -219,7 +215,7 @@ END
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

@@ -194,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

@@ -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>

View File

@@ -1015,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));
// 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);
}
@@ -1635,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:
@@ -1701,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;

View File

@@ -11,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
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
@@ -30,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

View File

@@ -2,7 +2,7 @@
* PROJECT: ReactOS Clipboard
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Romanian resource file
* TRANSLATORS: Copyright 2011-2019 Ștefan Fulea <stefan.fulea@mail.com>
* TRANSLATORS: Copyright 2011-2018 Ștefan Fulea <stefan.fulea@mail.com>
* Copyright 2023-2024 Andrei Miloiu <miloiuandrei@gmail.com>
*/
@@ -18,23 +18,23 @@ BEGIN
POPUP "&Fișier"
BEGIN
MENUITEM "&Deschidere…", CMD_OPEN
MENUITEM "S&alvare ca…", CMD_SAVE_AS
MENUITEM "&Salvare ca…", CMD_SAVE_AS
MENUITEM SEPARATOR
MENUITEM "I&eșire", CMD_EXIT
END
POPUP "&Editare"
BEGIN
MENUITEM "Șt&ergere\tDel", CMD_DELETE
MENUITEM "Ș&tergere\tDel", CMD_DELETE
END
POPUP "&Afișare"
BEGIN
MENUITEM "&Automată", CMD_AUTOMATIC
MENUITEM "A&utomată", CMD_AUTOMATIC
END
POPUP "Aj&utor"
POPUP "A&jutor"
BEGIN
MENUITEM "&Manual…", CMD_HELP
MENUITEM "Aj&utor", CMD_HELP
MENUITEM SEPARATOR
MENUITEM "&Despre", CMD_ABOUT
MENUITEM "&Despre", CMD_ABOUT
END
END
@@ -60,10 +60,10 @@ BEGIN
STRING_CF_ENHMETAFILE "Metafișier îmbunătățit"
STRING_CF_METAFILEPICT "Metafișier"
STRING_CF_PALETTE "Paletă de culori"
STRING_CF_DIBV5 "Bitmap DIB (versiune 5)"
STRING_CF_DIBV5 "Bitmap DIB (versiunea 5)"
STRING_CF_SYLK "Format de legătură simbolică"
STRING_CF_DIF "Format de transfer al datelor"
STRING_CF_HDROP "Abandon date"
STRING_CF_DIF "Format de schimb de date"
STRING_CF_HDROP "Ștergere a datelor"
END
STRINGTABLE

View File

@@ -257,9 +257,9 @@ void SetDIBitsToDeviceFromClipboard(UINT uFormat, PAINTSTRUCT ps, SCROLLSTATE st
*
* FIXME: investigate!!
* ANSWER: this is a Windows bug; part of the answer is there:
* https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/ac7ab3b5-8609-4478-b86a-976dab44c271/bug-clipboard-format-conversions-cfdib-cfdibv5-cfdib
* https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/ac7ab3b5-8609-4478-b86a-976dab44c271/bug-clipboard-format-conversions-cfdib-cfdibv5-cfdib (DEAD_LINK)
* May be related:
* https://blog.talosintelligence.com/2015/10/dangerous-clipboard.html
* https://blog.talosintelligence.com/dangerous-clipboard/
*/
#if 0
if ((lpInfoHeader->biSize == sizeof(BITMAPINFOHEADER)) &&

View File

@@ -19,6 +19,7 @@ add_subdirectory(mode)
add_subdirectory(mofcomp)
add_subdirectory(more)
add_subdirectory(reg)
add_subdirectory(replace)
add_subdirectory(schtasks)
add_subdirectory(sort)
add_subdirectory(taskkill)

View File

@@ -9,6 +9,7 @@
/* UTF-8 */
#pragma code_page(65001)
#ifdef LANGUAGE_DE_DE
#include "lang/de-DE.rc"
#endif

View File

@@ -150,7 +150,7 @@ typedef struct _ENUMFILES_CTX
static BOOL
EnumFilesWorker(
_Inout_ PENUMFILES_CTX EnumCtx,
_Inout_ off_t offFilePart) // Offset to the file name inside FullPathBuffer
_Inout_ _off_t offFilePart) // Offset to the file name inside FullPathBuffer
{
BOOL bFound = FALSE;
HRESULT hRes;
@@ -243,7 +243,7 @@ EnumFilesWorker(
do
{
BOOL bIsDir = !!(EnumCtx->findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY);
BOOL bExactMatch = (wcsicmp(findFileName, EnumCtx->FileName) == 0);
BOOL bExactMatch = (_wcsicmp(findFileName, EnumCtx->FileName) == 0);
if (bIsDir && !(EnumCtx->Flags & ENUM_DIRECTORIES) && !bExactMatch)
continue;
@@ -330,9 +330,9 @@ int wmain(int argc, WCHAR *argv[])
}
else
/* Retrieve the enumeration modes */
if (wcsicmp(argv[i], L"/s") == 0)
if (_wcsicmp(argv[i], L"/s") == 0)
dwEnumFlags |= ENUM_RECURSE;
else if (wcsicmp(argv[i], L"/d") == 0)
else if (_wcsicmp(argv[i], L"/d") == 0)
dwEnumFlags |= ENUM_DIRECTORIES;
else
{

View File

@@ -13,8 +13,9 @@ add_executable(cscript ${SOURCE} rsrc.rc)
add_idl_headers(cscript_idlheader ihost.idl)
add_typelib(ihost.idl)
set_source_files_properties(rsrc.rc PROPERTIES OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/ihost.tlb)
target_link_libraries(cscript uuid wine)
target_link_libraries(cscript uuid wine oldnames)
set_module_type(cscript win32cui UNICODE)
add_delay_importlibs(cscript shlwapi)
add_importlibs(cscript shell32 oleaut32 ole32 advapi32 user32 msvcrt kernel32 ntdll)
add_dependencies(cscript stdole2 cscript_idlheader)
add_pch(cscript ${wscript_folder}/precomp.h SOURCE)

View File

@@ -305,8 +305,8 @@ wmain(VOID)
{
pszExeName = RemoveQuotes(pArgStart + 9);
}
else if (!wcsicmp(pArgStart, L"/H") ||
!wcsicmp(pArgStart, L"/HISTORY"))
else if (!_wcsicmp(pArgStart, L"/H") ||
!_wcsicmp(pArgStart, L"/HISTORY"))
{
PrintHistory();
}
@@ -314,20 +314,20 @@ wmain(VOID)
{
SetConsoleNumberOfCommandsW(_wtoi(pArgStart + 10), pszExeName);
}
else if (!wcsicmp(pArgStart, L"/REINSTALL"))
else if (!_wcsicmp(pArgStart, L"/REINSTALL"))
{
ExpungeConsoleCommandHistoryW(pszExeName);
}
else if (!wcsicmp(pArgStart, L"/INSERT"))
else if (!_wcsicmp(pArgStart, L"/INSERT"))
{
SetInsert(ENABLE_INSERT_MODE);
}
else if (!wcsicmp(pArgStart, L"/OVERSTRIKE"))
else if (!_wcsicmp(pArgStart, L"/OVERSTRIKE"))
{
SetInsert(0);
}
else if (!wcsicmp(pArgStart, L"/M") ||
!wcsicmp(pArgStart, L"/MACROS"))
else if (!_wcsicmp(pArgStart, L"/M") ||
!_wcsicmp(pArgStart, L"/MACROS"))
{
PrintMacros(pszExeName, L"");
}
@@ -335,7 +335,7 @@ wmain(VOID)
!_wcsnicmp(pArgStart, L"/MACROS:", 8))
{
LPWSTR exe = RemoveQuotes(wcschr(pArgStart, L':') + 1);
if (!wcsicmp(exe, L"ALL"))
if (!_wcsicmp(exe, L"ALL"))
PrintAllMacros();
else
PrintMacros(exe, L"");

View File

@@ -6,7 +6,9 @@
#define REACTOS_STR_ORIGINAL_FILENAME "fc.exe"
#include <reactos/version.rc>
#pragma code_page(65001) /* UTF-8 */
/* UTF-8 */
#pragma code_page(65001)
#ifdef LANGUAGE_BG_BG
#include "lang/bg-BG.rc"
#endif

View File

@@ -9,6 +9,7 @@
/* UTF-8 */
#pragma code_page(65001)
#ifdef LANGUAGE_BG_BG
#include "lang/bg-BG.rc"
#endif

View File

@@ -12,6 +12,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
/* UTF-8 */
#pragma code_page(65001)
#ifdef LANGUAGE_DE_DE
#include "lang/de-DE.rc"
#endif

View File

@@ -56,7 +56,7 @@ int wmain(int argc, WCHAR* argv[])
}
else
{
if ((wcsicmp(argv[1], L"-s") == 0) || (wcsicmp(argv[1], L"/s") == 0))
if ((_wcsicmp(argv[1], L"-s") == 0) || (_wcsicmp(argv[1], L"/s") == 0))
{
/* The program doesn't allow the user to set the host name */
LoadStringW(GetModuleHandle(NULL), IDS_NOSET, Msg, _countof(Msg));

View File

@@ -176,19 +176,20 @@ PagePrompt(PCON_PAGER Pager, DWORD Done, DWORD Total)
static WCHAR StrLineAt[80] = L"";
static WCHAR StrOptions[80] = L"";
static WCHAR StrLines[80] = L"";
static BOOL AreStrLoaded = FALSE;
WCHAR szPercent[80] = L"";
WCHAR szLineAt[80] = L"";
/* Load the prompt strings */
if (!*StrPercent)
if (!AreStrLoaded)
{
K32LoadStringW(NULL, IDS_CONTINUE_PERCENT, StrPercent, ARRAYSIZE(StrPercent));
if (!*StrLineAt)
K32LoadStringW(NULL, IDS_CONTINUE_LINE_AT, StrLineAt, ARRAYSIZE(StrLineAt));
if (!*StrOptions)
K32LoadStringW(NULL, IDS_CONTINUE_OPTIONS, StrOptions, ARRAYSIZE(StrOptions));
if (!*StrLines)
K32LoadStringW(NULL, IDS_CONTINUE_LINES, StrLines, ARRAYSIZE(StrLines));
AreStrLoaded = TRUE;
}
/*
* Check whether the pager is prompting, but we have actually finished
@@ -486,7 +487,7 @@ Restart:
* See base/applications/cmdutils/clip/clip.c!IsDataUnicode()
* and base/applications/notepad/text.c!ReadText() for more details.
* Also some good code example can be found at:
* https://github.com/AutoIt/text-encoding-detect
* https://github.com/AutoItConsulting/text-encoding-detect
*/
typedef enum
{

View File

@@ -5,6 +5,6 @@ add_definitions(-D_WIN32_WINNT=0x600)
add_definitions(-D__WINESRC__)
add_executable(reg add.c copy.c delete.c export.c import.c query.c reg.c reg.rc)
set_module_type(reg win32cui UNICODE)
target_link_libraries(reg wine)
target_link_libraries(reg wine oldnames)
add_importlibs(reg advapi32 advapi32_vista user32 msvcrt kernel32 ntdll)
add_cd_file(TARGET reg DESTINATION reactos/system32 FOR all)

View File

@@ -0,0 +1,8 @@
include_directories(${REACTOS_SOURCE_DIR}/sdk/lib/conutils)
add_executable(replace replace.c util.c replace.rc)
set_module_type(replace win32cui UNICODE)
target_link_libraries(replace conutils ${PSEH_LIB})
add_importlibs(replace user32 msvcrt kernel32)
add_cd_file(TARGET replace DESTINATION reactos/system32 FOR all)

View File

@@ -0,0 +1,54 @@
/*
* PROJECT: ReactOS Replace Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Czech resource file
* TRANSLATOR: Copyright 2015 Radek Liška (Black_Fox) <radekliska@gmail.com>
*/
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
STRING_REPLACE_HELP1 "Replaces files.\n\n\
REPLACE [drive1:][path1]filename [drive2:][path2] [/A] [/P] [/R] [/W]\n\
REPLACE [drive1:][path1]filename [drive2:][path2] [/P] [/R] [/S] [/W] [/U]\n\n\
[drive1:][path1]filename Specifies the source file or files.\n\
[drive2:][path2] Specifies the directory where files are to be\n\
replaced.\n\
/A Adds new files to destination directory. Cannot\n\
use with /S or /U switches.\n\
/P Prompts for confirmation before replacing a file or\n\
adding a source file.\n\
/R Replaces read-only files as well as unprotected\n\
files.\n\
/S Replaces files in all subdirectories of the\n\
destination directory. Cannot use with the /A\n\
switch.\n\
/W Waits for you to insert a disk before beginning.\n\
/U Replaces (updates) only files that are older than\n\
source files. Cannot use with the /A switch.\n"
STRING_REPLACE_HELP2 "Source path required\n"
STRING_REPLACE_HELP3 "No files replaced\n"
STRING_REPLACE_HELP4 "%lu file(s) replaced\n"
STRING_REPLACE_HELP5 "Replacing %s\n"
STRING_REPLACE_HELP7 "No files added\n"
STRING_REPLACE_HELP8 "%lu file(s) added\n"
STRING_REPLACE_HELP9 "Add %s (Y/N)? "
STRING_REPLACE_HELP10 "Replace %s (Y/N)? "
STRING_REPLACE_HELP11 "Adding %s\n"
STRING_REPLACE_ERROR1 "Neplatný přepínač - %s\n"
STRING_REPLACE_ERROR2 "Cesta nenalezena - %s\n"
STRING_REPLACE_ERROR3 "Název souboru, adresáře nebo popisek svazku je neplatný.\n"
STRING_REPLACE_ERROR4 "Neplatná kombinace parametrů\n"
STRING_REPLACE_ERROR5 "Přístup odepřen - %s\n"
STRING_REPLACE_ERROR6 "Nebyly nazeleny žádné soubory - %s\n"
STRING_REPLACE_ERROR7 "Rozšířená chyba 32\n"
STRING_COPY_OPTION "ANV"
STRING_COPY_ERROR1 "Chyba: Nelze otevřít zdroj - %s!\n"
STRING_COPY_ERROR3 "Chyba při zápisu do cíle!\n"
STRING_CONSOLE_ERROR "Neznámá chyba: %d\n"
STRING_ERROR_OUT_OF_MEMORY "Chyba - nedostatek paměti.\n"
STRING_ERROR_D_PAUSEMSG "Pokračujte stisknutím libovolné klávesy . . . "
END

View File

@@ -0,0 +1,56 @@
/*
* PROJECT: ReactOS Replace Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: German (Germany) resource file
* TRANSLATORS: Copyright 2005 Klemens Friedl <frik85@gmail.com>
* Copyright 2007 Daniel Reimer <reimer.daniel@freenet.de>
*/
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
STRING_REPLACE_HELP1 "Ersetzt Dateien.\n\n\
REPLACE [Laufwerk1:][Pfad1]Dateiname [Laufwerk2:][Pfad2] [/A] [/P] [/R] [/W]\n\
REPLACE [Laufwerk1:][Pfad1]Dateiname [Laufwerk2:][Pfad2] [/P] [/R] [/S] [/W] [/U]\n\n\
[Laufwerk1:][Pfad1]Dateiname Bezeichnet die Quelldatei(en).\n\
[Laufwerk2:][Pfad2] Bezeichnet den Pfad in dem die Dateien ersetzt\n\
werden sollen.\n\
/A Fügt neue Dateien dem Zielpfad hinzu. Kann nicht\n\
mit /S oder /U Parameter genutzt werden.\n\
/P Wartet auf Bestätigung bevor eine Datei ersetzt\n\
oder eine Quelldatei hinzugefügt wird.\n\
/R Ersetzt schreibgeschützte Dateien.\n\
/S Ersetzt Dateien in allen Unterordnern des Ziel-\n\
pfades. Kann nicht mit Parameter /A genutzt\n\
werden.\n\
/W Wartet vor dem Start, bis ein Datenträger\n\
eingelegt wurde.\n\
/U Ersetzt (aktualisiert) nur Dateien, die älter\n\
sind als die Quelldaten. Kann nicht mit Parameter\n\
/A genutzt werden.\n"
STRING_REPLACE_HELP2 "Quellpfad benötigt\n"
STRING_REPLACE_HELP3 "Keine Dateien ersetzt\n"
STRING_REPLACE_HELP4 "%lu Datei(en) ersetzt\n"
STRING_REPLACE_HELP5 "Ersetze %s\n"
STRING_REPLACE_HELP7 "Keine Dateien hinzugefügt\n"
STRING_REPLACE_HELP8 "%lu Datei(en) hinzugefügt\n"
STRING_REPLACE_HELP9 "Füge %s hinzu (J/N)? "
STRING_REPLACE_HELP10 "Ersetze %s (J/N)? "
STRING_REPLACE_HELP11 "Füge %s hinzu\n"
STRING_REPLACE_ERROR1 "Ungültiger Parameter - %s\n"
STRING_REPLACE_ERROR2 "Pfad wurde nicht gefunden - %s\n"
STRING_REPLACE_ERROR3 "Der Dateiname, Ordnername oder die Syntax der Volumenbezeichung sind inkorrekt.\n"
STRING_REPLACE_ERROR4 "Ungültige Parameterkombination\n"
STRING_REPLACE_ERROR5 "Zugriff verweigert - %s\n"
STRING_REPLACE_ERROR6 "Keine Dateien gefunden - %s\n"
STRING_REPLACE_ERROR7 "Erweiterter Fehler 32\n"
STRING_COPY_OPTION "JNA"
STRING_COPY_ERROR1 "Fehler: Quelle kann nicht geöffnet werden - %s!\n"
STRING_COPY_ERROR3 "Fehler: Schreibziel!\n"
STRING_ERROR_D_PAUSEMSG "Drücken Sie eine beliebige Taste . . . "
STRING_CONSOLE_ERROR "Unbekannter Fehler: %d\n"
STRING_ERROR_OUT_OF_MEMORY "Fehler: Zu wenig Speicher verfügbar.\n"
END

View File

@@ -0,0 +1,54 @@
/*
* PROJECT: ReactOS Replace Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Greek resource file
* TRANSLATOR: Copyright 2008 Apostolos Alexiadis <djapal@gmail.com>
*/
LANGUAGE LANG_GREEK, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
STRING_REPLACE_HELP1 "Replaces files.\n\n\
REPLACE [drive1:][path1]filename [drive2:][path2] [/A] [/P] [/R] [/W]\n\
REPLACE [drive1:][path1]filename [drive2:][path2] [/P] [/R] [/S] [/W] [/U]\n\n\
[drive1:][path1]filename Specifies the source file or files.\n\
[drive2:][path2] Specifies the directory where files are to be\n\
replaced.\n\
/A Adds new files to destination directory. Cannot\n\
use with /S or /U switches.\n\
/P Prompts for confirmation before replacing a file or\n\
adding a source file.\n\
/R Replaces read-only files as well as unprotected\n\
files.\n\
/S Replaces files in all subdirectories of the\n\
destination directory. Cannot use with the /A\n\
switch.\n\
/W Waits for you to insert a disk before beginning.\n\
/U Replaces (updates) only files that are older than\n\
source files. Cannot use with the /A switch.\n"
STRING_REPLACE_HELP2 "Απαιτείται το μονοπάτι-πηγή\n"
STRING_REPLACE_HELP3 "Δεν έγινε αντικατάσταση αρχείων\n"
STRING_REPLACE_HELP4 "%lu αρχείο(α) αντικαταστάθηκαν\n"
STRING_REPLACE_HELP5 "Γίνεται αντικατάσταση του %s\n"
STRING_REPLACE_HELP7 "Δεν προστέθηκαν αρχεία\n"
STRING_REPLACE_HELP8 "%lu αρχείο(α) προστέθηκαν\n"
STRING_REPLACE_HELP9 "Προσθήκη %s (Y/N)? "
STRING_REPLACE_HELP10 "Αντικατάσταση %s (Y/N)? "
STRING_REPLACE_HELP11 "Γίνεται προσθήκη του %s\n"
STRING_REPLACE_ERROR1 "Invalid switch - %s\n"
STRING_REPLACE_ERROR2 "Δε βρέθηκε το μονοπάτι - %s\n"
STRING_REPLACE_ERROR3 "The filename, directory name, or volume label syntax is incorrect.\n"
STRING_REPLACE_ERROR4 "Invalid parameter combination\n"
STRING_REPLACE_ERROR5 "Δεν επιτρέπεται η πρόσβαση - %s\n"
STRING_REPLACE_ERROR6 "Δε βρέθηκαν αρχεία - %s\n"
STRING_REPLACE_ERROR7 "Extended Error 32\n"
STRING_COPY_OPTION "YNA"
STRING_COPY_ERROR1 "Σφάλμα: Δεν ήταν δυνατό το άνοιγμα της πηγής - %s!\n"
STRING_COPY_ERROR3 "Σφάλμα: writing destination!\n"
STRING_ERROR_D_PAUSEMSG "Πατήστε οποιοδήποτε πλήκτρο για συνέχεια . . . "
STRING_CONSOLE_ERROR "Άγνωστο σφάλμα: %d\n"
STRING_ERROR_OUT_OF_MEMORY "Out of memory error.\n"
END

View File

@@ -0,0 +1,54 @@
/*
* PROJECT: ReactOS Replace Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: English (United States) resource file
* TRANSLATOR: Copyright 2007 Samuel Erdtman <samuel@erdtman.se>
*/
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
STRINGTABLE
BEGIN
STRING_REPLACE_HELP1 "Replaces files.\n\n\
REPLACE [drive1:][path1]filename [drive2:][path2] [/A] [/P] [/R] [/W]\n\
REPLACE [drive1:][path1]filename [drive2:][path2] [/P] [/R] [/S] [/W] [/U]\n\n\
[drive1:][path1]filename Specifies the source file or files.\n\
[drive2:][path2] Specifies the directory where files are to be\n\
replaced.\n\
/A Adds new files to destination directory. Cannot\n\
use with /S or /U switches.\n\
/P Prompts for confirmation before replacing a file or\n\
adding a source file.\n\
/R Replaces read-only files as well as unprotected\n\
files.\n\
/S Replaces files in all subdirectories of the\n\
destination directory. Cannot use with the /A\n\
switch.\n\
/W Waits for you to insert a disk before beginning.\n\
/U Replaces (updates) only files that are older than\n\
source files. Cannot use with the /A switch.\n"
STRING_REPLACE_HELP2 "Source path required\n"
STRING_REPLACE_HELP3 "No files replaced\n"
STRING_REPLACE_HELP4 "%lu file(s) replaced\n"
STRING_REPLACE_HELP5 "Replacing %s\n"
STRING_REPLACE_HELP7 "No files added\n"
STRING_REPLACE_HELP8 "%lu file(s) added\n"
STRING_REPLACE_HELP9 "Add %s (Y/N)? "
STRING_REPLACE_HELP10 "Replace %s (Y/N)? "
STRING_REPLACE_HELP11 "Adding %s\n"
STRING_REPLACE_ERROR1 "Invalid switch - %s\n"
STRING_REPLACE_ERROR2 "Path not found - %s\n"
STRING_REPLACE_ERROR3 "The filename, directory name, or volume label syntax is incorrect.\n"
STRING_REPLACE_ERROR4 "Invalid parameter combination\n"
STRING_REPLACE_ERROR5 "Access denied - %s\n"
STRING_REPLACE_ERROR6 "No files found - %s\n"
STRING_REPLACE_ERROR7 "Extended Error 32\n"
STRING_COPY_OPTION "YNA"
STRING_COPY_ERROR1 "Error: Cannot open source - %s!\n"
STRING_COPY_ERROR3 "Error writing destination!\n"
STRING_ERROR_D_PAUSEMSG "Press any key to continue . . . "
STRING_CONSOLE_ERROR "Unknown error: %d\n"
STRING_ERROR_OUT_OF_MEMORY "Out of memory error.\n"
END

View File

@@ -0,0 +1,57 @@
/*
* PROJECT: ReactOS Replace Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Spanish (Spain) resource file
* TRANSLATORS: Copyright 2005 Jose Pedro Fernández Pascual <huma2000@terra.es>
* Copyright 2015 Ismael Ferreras Morezuelas <swyterzone+ros@gmail.com>
* Copyright 2020 Catalin Gabriel Draghita <catalin.draghita@hotmail.es>
*/
LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
STRING_REPLACE_HELP1 "Reemplaza archivos.\n\n\
REPLACE [drive1:][path1]filename [drive2:][path2] [/A] [/P] [/R] [/W]\n\
REPLACE [drive1:][path1]filename [drive2:][path2] [/P] [/R] [/S] [/W] [/U]\n\n\
[drive1:][path1]filename Especifica el archivo o archivos de origen.\n\
[drive2:][path2] Especifica el nombre de la carpeta donde se\n\
reemplacen los archivos.\n\
/A Añade nuevos archivos al directorio destino. No\n\
se puede usar con las opciones /S o /U.\n\
/P Pregunta para confirmación antes de reemplazar un\n\
archivo o añadir un archivo origen.\n\
/R Reemplaza todos los archivos solo lectura y los\n\
archivos no protegidos.\n\
/S Reemplaza todos los archivos en todos los\n\
subdirectorios\n\
del directorio destino. No se puede usar con la opción /A.\n\
/W Espera que insertes un disco antes de empezar.\n\
/U Reemplaza (actualiza) solo los archivos que son más\n\
antiguos que los de origen. No se puede usar con\n\
la opción /A.\n"
STRING_REPLACE_HELP2 "Ruta de origen requerida\n"
STRING_REPLACE_HELP3 "No se han reemplazado archivos\n"
STRING_REPLACE_HELP4 "Se han reemplazado %lu archivo(s)\n"
STRING_REPLACE_HELP5 "Reemplazando %s\n"
STRING_REPLACE_HELP7 "No se han añadido archivos\n"
STRING_REPLACE_HELP8 "%lu archivo(s) añadidos\n"
STRING_REPLACE_HELP9 "Añadir %s (S/N)? "
STRING_REPLACE_HELP10 "Reemplazar %s (S/N)? "
STRING_REPLACE_HELP11 "Añadiendo %s\n"
STRING_REPLACE_ERROR1 "Argumento no válido - %s\n"
STRING_REPLACE_ERROR2 "Ruta no encontrada - %s\n"
STRING_REPLACE_ERROR3 "La sintaxis del nombre de archivo, carpeta o volúmen es incorrecta.\n"
STRING_REPLACE_ERROR4 "Combinación de parámetros incorrecta\n"
STRING_REPLACE_ERROR5 "Acceso denegado - %s\n"
STRING_REPLACE_ERROR6 "No se han encontrado archivos - %s\n"
STRING_REPLACE_ERROR7 "Error extendido 32\n"
STRING_COPY_OPTION "SNT"
STRING_COPY_ERROR1 "Error: No se puede abrir el origen - %s!\n"
STRING_COPY_ERROR3 "¡Error escribiendo destino!\n"
STRING_ERROR_D_PAUSEMSG "Pulse una tecla para continuar ... "
STRING_CONSOLE_ERROR "Error desconocido: %d\n"
STRING_ERROR_OUT_OF_MEMORY "Error fuera de memoria.\n"
END

View File

@@ -0,0 +1,55 @@
/*
* PROJECT: ReactOS Replace Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: French (France) resource file
* TRANSLATORS: Copyright 2005 Sylvain Pétréolle <spetreolle@yahoo.fr>
* Copyright 2007 Pierre Schweitzer <heis_spiter@hotmail.com>
* Copyright 2018 Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
*/
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
STRING_REPLACE_HELP1 "Remplace les fichiers.\n\n\
REPLACE [lecteur1:][chemin1]nomdefichier [lecteur2:][chemin2] [/A] [/P] [/R] [/W]\n\
REPLACE [lecteur1:][chemin1]nomdefichier [lecteur2:][chemin2] [/P] [/R] [/S] [/W] [/U]\n\n\
[lecteur1:][chemin1]nomdefichier Spécifie le ou les fichier(s) source.\n\
[lecteur2:][chemin2] Spécifie le répertoire où les fichiers doivent être\n\
remplacés.\n\
/A Ajoute les nouveaux fichiers dans le répertoire de destination. Ne peut\n\
être utilisé avec /S ou /U.\n\
/P Demande une confirmation avant de remplacer un fichier ou\n\
d'ajouter un fichier source.\n\
/R Remplace les fichiers en lecture-seule aussi bien que les\n\
fichiers sans protection.\n\
/S Remplace les fichiers dans tous les sous-répertoires du\n\
répertoire de destination. Ne peut être utilisé avec /A.\n\
/W Attend que vous insériez un disque avant de commencer.\n\
/U Remplace (met à jour) uniquement les fichiers qui sont plus anciens que\n\
les fichiers sources. Ne peut être utilisé avec /A.\n"
STRING_REPLACE_HELP2 "Chemin source requis\n"
STRING_REPLACE_HELP3 "Aucun fichier remplacé\n"
STRING_REPLACE_HELP4 "%lu fichier(s) remplacé(s)\n"
STRING_REPLACE_HELP5 "Remplace %s\n"
STRING_REPLACE_HELP7 "Aucun fichier ajouté\n"
STRING_REPLACE_HELP8 "%lu fichier(s) ajouté(s)\n"
STRING_REPLACE_HELP9 "Ajouter %s (O/N) ? "
STRING_REPLACE_HELP10 "Remplacer %s (O/N) ? "
STRING_REPLACE_HELP11 "Ajoute %s\n"
STRING_REPLACE_ERROR1 "Commutateur invalide - %s\n"
STRING_REPLACE_ERROR2 "Chemin introuvable - %s\n"
STRING_REPLACE_ERROR3 "La syntaxe du nom de fichier, du répertoire, ou du nom de volume est incorrecte.\n"
STRING_REPLACE_ERROR4 "Combinaison de paramètres invalide\n"
STRING_REPLACE_ERROR5 "Accès refusé - %s\n"
STRING_REPLACE_ERROR6 "Aucun fichier trouvé - %s\n"
STRING_REPLACE_ERROR7 "Erreur étendue 32\n"
STRING_COPY_OPTION "ONT"
STRING_COPY_ERROR1 "Erreur : Ne peut ouvrir la source - %s !\n"
STRING_COPY_ERROR3 "Erreur à l'écriture de la destination !\n"
STRING_ERROR_D_PAUSEMSG "Appuyez sur une touche pour continuer . . . "
STRING_CONSOLE_ERROR "Erreur inconnue : %d\n"
STRING_ERROR_OUT_OF_MEMORY "Pas assez de mémoire.\n"
END

View File

@@ -0,0 +1,53 @@
/*
* PROJECT: ReactOS Replace Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Hungarian resource file
* TRANSLATORS: Copyright 2005 Robert Horvath <talley@cubeclub.hu>
* Copyright 2020 Tibor Lajos Füzi <tibor.fuzi@gmail.com>
*/
LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
STRING_REPLACE_HELP1 "Fájlok cseréje.\n\n\
REPLACE [meghajt1:][útvonal1]fájl [meghajt2:][útvonal2] [/A] [/P] [/R] [/W]\n\
REPLACE [meghajt1:][útvonal1]fájl [meghajt2:][útvonal2] [/P] [/R] [/S] [/W] [/U]\n\n\
[meghajt1:][útvonal1]fájl A forrás fájl vagy fájlok.\n\
[meghajt2:][útvonal2] A cél mappa, ahol a fájlok lecserélődnek.\n\
/A Új fájlokat ad a cél mappába. Nem lehet\n\
a /S vagy /U kapcsolókkal együtt használni.\n\
/P Rákérdez fájlcsere vagy fájl hozzáadása előtt.\n\
/R A csak olvasható fájlokat is ugyanúgy cseréli, mint\n\
a védelem nélküli fájlokat.\n\
/S Az célmappa összes almappájában cseréli a fájlokat.\n\
Nem lehet a /A kapcsolóval együtt használni.\n\
/W Lemez behelyezésére vár a kezdés előtt.\n\
/U Csak azokat a fájlokat cseréli (frissíti), amik\n\
régebbiek mint a forrás fájl.\n\
Nem lehet a /A kapcsolóval együtt használni.\n"
STRING_REPLACE_HELP2 "Meg kell adni a forrás útvonalat\n"
STRING_REPLACE_HELP3 "Egy fájl sem lett cserélve\n"
STRING_REPLACE_HELP4 "%lu fájl lett cserélve\n"
STRING_REPLACE_HELP5 "Csere: %s\n"
STRING_REPLACE_HELP7 "Egy fájl sem lett hozzáadva\n"
STRING_REPLACE_HELP8 "%lu fájl lett hozzáadva\n"
STRING_REPLACE_HELP9 "Hozzáadja %s (I/N)? "
STRING_REPLACE_HELP10 "Cseréli %s (I/N)? "
STRING_REPLACE_HELP11 "Hozzáadás: %s\n"
STRING_REPLACE_ERROR1 "Érvénytelen kapcsoló - %s\n"
STRING_REPLACE_ERROR2 "Útvonal nem található - %s\n"
STRING_REPLACE_ERROR3 "A fájlnév, mappanév, vagy kötetcímke szintaxis hibás.\n"
STRING_REPLACE_ERROR4 "Érvénytelen paraméter kombináció\n"
STRING_REPLACE_ERROR5 "Hozzáférés megtagadva - %s\n"
STRING_REPLACE_ERROR6 "Nem találhatóak fájlok - %s\n"
STRING_REPLACE_ERROR7 "Kiterjesztett hiba 32\n"
STRING_COPY_OPTION "INM"
STRING_COPY_ERROR1 "Hiba: a forrás nem nyitható meg - %s!\n"
STRING_COPY_ERROR3 "Hiba a cél írása közben!\n"
STRING_ERROR_D_PAUSEMSG "A folytatáshoz nyomjon meg egy billentyűt . . . "
STRING_CONSOLE_ERROR "Ismeretlen hiba: %d\n"
STRING_ERROR_OUT_OF_MEMORY "Nincs elég memória.\n"
END

View File

@@ -0,0 +1,55 @@
/*
* PROJECT: ReactOS Replace Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Indonesian resource file
* TRANSLATORS: Copyright 2007 Zaenal Mutaqin <ade999@gmail.com>
* Copyright 2021 Reinhart Previano Koentjoro <reinhart_previano@yahoo.com>
*/
LANGUAGE LANG_INDONESIAN, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
STRING_REPLACE_HELP1 "Replaces files.\n\n\
REPLACE [drive1:][path1]filename [drive2:][path2] [/A] [/P] [/R] [/W]\n\
REPLACE [drive1:][path1]filename [drive2:][path2] [/P] [/R] [/S] [/W] [/U]\n\n\
[drive1:][path1]filename Specifies the source file or files.\n\
[drive2:][path2] Specifies the directory where files are to be\n\
replaced.\n\
/A Adds new files to destination directory. Cannot\n\
use with /S or /U switches.\n\
/P Prompts for confirmation before replacing a file or\n\
adding a source file.\n\
/R Replaces read-only files as well as unprotected\n\
files.\n\
/S Replaces files in all subdirectories of the\n\
destination directory. Cannot use with the /A\n\
switch.\n\
/W Waits for you to insert a disk before beginning.\n\
/U Replaces (updates) only files that are older than\n\
source files. Cannot use with the /A switch.\n"
STRING_REPLACE_HELP2 "Source path required\n"
STRING_REPLACE_HELP3 "No files replaced\n"
STRING_REPLACE_HELP4 "%lu file(s) replaced\n"
STRING_REPLACE_HELP5 "Replacing %s\n"
STRING_REPLACE_HELP7 "No files added\n"
STRING_REPLACE_HELP8 "%lu file(s) added\n"
STRING_REPLACE_HELP9 "Add %s (Y/N)? "
STRING_REPLACE_HELP10 "Replace %s (Y/N)? "
STRING_REPLACE_HELP11 "Adding %s\n"
STRING_REPLACE_ERROR1 "Saklar perintah tidak valid - %s\n"
STRING_REPLACE_ERROR2 "Alamat file/direktori tidak ditemukan - %s\n"
STRING_REPLACE_ERROR3 "Sintaks nama file, direktori, atau label volume tidak benar.\n"
STRING_REPLACE_ERROR4 "Kombinasi parameter tidak valid\n"
STRING_REPLACE_ERROR5 "Akses ditolak - %s\n"
STRING_REPLACE_ERROR6 "No files found - %s\n"
STRING_REPLACE_ERROR7 "Extended Error 32\n"
STRING_COPY_OPTION "YTS"
STRING_COPY_ERROR1 "Salah: Tidak dapat membuka sumber - %s!\n"
STRING_COPY_ERROR3 "Kesalahan menulis tujuan!\n"
STRING_ERROR_D_PAUSEMSG "Tekan tombol untuk melanjutkan . . . "
STRING_CONSOLE_ERROR "Kesalahan tidak dikenal: %d\n"
STRING_ERROR_OUT_OF_MEMORY "Kesalahan kekurangan memori.\n"
END

View File

@@ -0,0 +1,54 @@
/*
* PROJECT: ReactOS Replace Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Italian resource file
* TRANSLATOR: Copyright 2007-2008 Paolo Devoti <devotip@tiscali.it>
*/
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
STRING_REPLACE_HELP1 "Sostituisce i file.\n\n\
REPLACE [disco1:][percorso1]nomefile [disco2:][percorso2] [/A] [/P] [/R] [/W]\n\
REPLACE [disco1:][percorso1]nomefile [disco2:][percorso2] [/P] [/R] [/S] [/W] [/U]\n\n\
[drive1:][path1]nomefile Specifica il o i file sorgenti.\n\
[disco2:][percorso2] Specifica la cartella dove i file devono essere\n\
sostituiti.\n\
/A Aggiunge i file alla cartella di destinazione. Non può\n\
essere usato con /S o /U .\n\
/P Chiede conferma prima di sostituire o aggiungere\n\
un file.\n\
/R Sostituisce sia i file in sola lettura che quelli\n\
non protetti.\n\
/S Sostituisce i file in tutte le sottocartelle\n\
della cartella di destinazione. Non può essere\n\
usato con /A .\n\
/W Aspetta che sia inserito un disco prima di iniziare.\n\
/U Sostituisce (aggiorna) solo i file più vecchi\n\
dei file sorgenti. Non può essere usato con /A .\n"
STRING_REPLACE_HELP2 "Il percorso sorgente è obbligatorio\n"
STRING_REPLACE_HELP3 "Nessun file sostituito\n"
STRING_REPLACE_HELP4 "%lu file sostituiti\n"
STRING_REPLACE_HELP5 "Sostituzione di %s in corso\n"
STRING_REPLACE_HELP7 "Nessun file aggiunto\n"
STRING_REPLACE_HELP8 "%lu file aggiunti\n"
STRING_REPLACE_HELP9 "Aggiungere %s (S/N)? "
STRING_REPLACE_HELP10 "Sostituire %s (S/N)? "
STRING_REPLACE_HELP11 "Aggiunta di %s in corso\n"
STRING_REPLACE_ERROR1 "Parametro non valido - %s\n"
STRING_REPLACE_ERROR2 "Percorso non trovato - %s\n"
STRING_REPLACE_ERROR3 "Il nome del file, della cartella o della etichetta di volume è errato.\n"
STRING_REPLACE_ERROR4 "Combinazione di parametri non valida\n"
STRING_REPLACE_ERROR5 "Accesso negato - %s\n"
STRING_REPLACE_ERROR6 "Nessun file trovato - %s\n"
STRING_REPLACE_ERROR7 "Errore esteso 32\n"
STRING_COPY_OPTION "SNT"
STRING_COPY_ERROR1 "Errore: Impossibile aprire il file sorgente - %s!\n"
STRING_COPY_ERROR3 "Errore durante la scrittura della destinazione!\n"
STRING_ERROR_D_PAUSEMSG "Premi un tasto per continuare . . . "
STRING_CONSOLE_ERROR "Errore sconosciuto: %d\n"
STRING_ERROR_OUT_OF_MEMORY "Errore di memoria esaurita.\n"
END

View File

@@ -0,0 +1,56 @@
/*
* PROJECT: ReactOS Replace Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Japanese resource file
* TRANSLATORS: Copyright 2005 tsk <tsk_n@mail.goo.ne.jp>
* Copyright 2024 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
*/
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
STRING_REPLACE_HELP1 "ファイルを置き換えます。\n\n\
REPLACE [ドライブ1:][パス1]ファイル名 [ドライブ2:][パス2] [/A] [/P] [/R] [/W]\n\
REPLACE [ドライブ1:][パス1]ファイル名 [ドライブ2:][パス2] [/P] [/R] [/S] [/W]\n\
[/U]\n\n\
[ドライブ1:][パス1]ファイル名 ソースファイルを指定します(複数可)。\n\
[ドライブ2:][パス2] 置き換えるファイルのあるディレクトリを\n\
指定します。\n\
/A 新しいファイルを転送先ディレクトリに追加\n\
します。/S や /U とは一緒には使えません。\n\
/P 置き換えまたは追加の前に確認プロンプトを表示\n\
します。\n\
/R 読み込み専用のファイルを書き込み可能にして\n\
ファイルを置き換えます。\n\
/S 転送先ディレクトリのすべての子ディレクトリ\n\
でファイルを置き換えます。/A と一緒には使え\n\
ません。\n\
/W 開始前にディスクの挿入を待ちます。\n\
/U 転送先の古いファイルのみを置き換えまたは\n\
更新します。/A と一緒には使えません。\n"
STRING_REPLACE_HELP2 "ソースパスが必要です。\n"
STRING_REPLACE_HELP3 "何も置き換えていません。\n"
STRING_REPLACE_HELP4 "%lu 個のファイルを置き換えました。\n"
STRING_REPLACE_HELP5 "置き換え中: %s\n"
STRING_REPLACE_HELP7 "何も追加していません。\n"
STRING_REPLACE_HELP8 "%lu 個のファイルを追加しました。\n"
STRING_REPLACE_HELP9 "%s を追加しますか (Y/N) ?"
STRING_REPLACE_HELP10 "%s を置き換えますか (Y/N) ?"
STRING_REPLACE_HELP11 "追加中: %s\n"
STRING_REPLACE_ERROR1 "無効なスイッチ - %s\n"
STRING_REPLACE_ERROR2 "パスが見つかりません - %s\n"
STRING_REPLACE_ERROR3 "ファイル名、ディレクトリ名、ボリュームラベルの文法が不正です。\n"
STRING_REPLACE_ERROR4 "無効なパラメータの組み合わせです。\n"
STRING_REPLACE_ERROR5 "アクセスが拒否されました - %s\n"
STRING_REPLACE_ERROR6 "ファイルが見つかりませんでした - %s\n"
STRING_REPLACE_ERROR7 "拡張エラー 32\n"
STRING_COPY_OPTION "YNA"
STRING_COPY_ERROR1 "エラー: 元のファイル %s を開けません!\n"
STRING_COPY_ERROR3 "指定先への書き込みでエラーが発生しました!\n"
STRING_ERROR_D_PAUSEMSG "続行するには何かキーを押してください . . . "
STRING_CONSOLE_ERROR "不明なエラー: %d\n"
STRING_ERROR_OUT_OF_MEMORY "メモリ不足エラー。\n"
END

View File

@@ -0,0 +1,55 @@
/*
* PROJECT: ReactOS Replace Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Norwegian resource file
* TRANSLATORS: Copyright 2007 Frode Lillerud (Scalpel78) <frode@enkelt.no>
* Copyright 2009 Lars Martin Hambro (LMH1) <lars_martin4@hotmail.com>
*/
LANGUAGE LANG_NORWEGIAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
STRING_REPLACE_HELP1 "Replaces files.\n\n\
REPLACE [drive1:][path1]filename [drive2:][path2] [/A] [/P] [/R] [/W]\n\
REPLACE [drive1:][path1]filename [drive2:][path2] [/P] [/R] [/S] [/W] [/U]\n\n\
[drive1:][path1]filename Specifies the source file or files.\n\
[drive2:][path2] Specifies the directory where files are to be\n\
replaced.\n\
/A Adds new files to destination directory. Cannot\n\
use with /S or /U switches.\n\
/P Prompts for confirmation before replacing a file or\n\
adding a source file.\n\
/R Replaces read-only files as well as unprotected\n\
files.\n\
/S Replaces files in all subdirectories of the\n\
destination directory. Cannot use with the /A\n\
switch.\n\
/W Waits for you to insert a disk before beginning.\n\
/U Replaces (updates) only files that are older than\n\
source files. Cannot use with the /A switch.\n"
STRING_REPLACE_HELP2 "Source path required\n"
STRING_REPLACE_HELP3 "No files replaced\n"
STRING_REPLACE_HELP4 "%lu file(s) replaced\n"
STRING_REPLACE_HELP5 "Replacing %s\n"
STRING_REPLACE_HELP7 "No files added\n"
STRING_REPLACE_HELP8 "%lu file(s) added\n"
STRING_REPLACE_HELP9 "Add %s (Y/N)? "
STRING_REPLACE_HELP10 "Replace %s (Y/N)? "
STRING_REPLACE_HELP11 "Adding %s\n"
STRING_REPLACE_ERROR1 "Invalid switch - %s\n"
STRING_REPLACE_ERROR2 "Mappen ble ikke funnet - %s\n"
STRING_REPLACE_ERROR3 "The filename, directory name, or volume label syntax is incorrect.\n"
STRING_REPLACE_ERROR4 "Invalid parameter combination\n"
STRING_REPLACE_ERROR5 "Tilgang nektet - %s\n"
STRING_REPLACE_ERROR6 "Ingen filer ble funnet - %s\n"
STRING_REPLACE_ERROR7 "Extended Error 32\n"
STRING_COPY_OPTION "YNA"
STRING_COPY_ERROR1 "Feil: kan ikke åpne kilden - %s!\n"
STRING_COPY_ERROR3 "Feil ved skriving til destinasjon!\n"
STRING_ERROR_D_PAUSEMSG "Trykk en tast for å fortsette . . . "
STRING_CONSOLE_ERROR "Ukjent feil: %d\n"
STRING_ERROR_OUT_OF_MEMORY "Feil: Minne fullt.\n"
END

View File

@@ -0,0 +1,53 @@
/*
* PROJECT: ReactOS Replace Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Polish resource file
* TRANSLATOR: Copyright 2007-2011 Olaf Siejka <caemyr@gmail.com>
*/
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
STRING_REPLACE_HELP1 "Zamienia pliki.\n\n\
REPLACE [napęd1:][ścieżka1] pliki [napęd2:][ścieżka2] [/A] [/P] [/R] [/W]\n\
REPLACE [napęd1:][ścieżka1] pliki [napęd2:][ścieżka2] [/P] [/R] [/S] [/W] [/U]\n\n\
[napęd1:][ścieżka1]nazwa_pliku Wyznacza źródło pliku bądź plików.\n\
[napęd2:][ścieżka2] Wyznacza lokalizacje gdzie pliki mają być\n\
zamienione.\n\
/A Dodaje nowe pliki do lokalizacji docelowej. Nie można\n\
łączyć z opcjami /S lub /U.\n\
/P Żąda potwierdzenia przed zamianą istniejącego lub\n\
dodaniem nowego pliku.\n\
/R Zamienia pliki tylko do odczytu na równi z niezabez-\n\
pieczonymi.\n\
/S Zamienia pliki we wszystkich podkatalogach w lokazlizacji\n\
docelowej. Nie można łączyć z opcją /A.\n\
/W Czeka na włożenie dyskietki przed rozpoczęciem zamiany.\n\
/U Zamienia (aktualizuje) wyłącznie pliki starsze od\n\
źródłowych. Nie można łączyć z opcją /A.\n"
STRING_REPLACE_HELP2 "Brak ścieżki do źródła\n"
STRING_REPLACE_HELP3 "Nie zamieniono żadnego pliku\n"
STRING_REPLACE_HELP4 "Zamieniono %lu plik(i/ów)\n"
STRING_REPLACE_HELP5 "Zamiana %s\n"
STRING_REPLACE_HELP7 "Nie dodano nowych plików\n"
STRING_REPLACE_HELP8 "Dodano %lu plik(i/ów)\n"
STRING_REPLACE_HELP9 "Czy dodać %s (T/N)? "
STRING_REPLACE_HELP10 "Czy zamienić %s (T/N)? "
STRING_REPLACE_HELP11 "Dodawanie %s\n"
STRING_REPLACE_ERROR1 "Nieprawidłowy parametr - %s\n"
STRING_REPLACE_ERROR2 "Ścieżka nie została odnaleziona - %s\n"
STRING_REPLACE_ERROR3 "Nazwa pliku, katalogu lub napędu nie jest prawidłowa.\n"
STRING_REPLACE_ERROR4 "Nieprawidłowa kombinacja parametrów\n"
STRING_REPLACE_ERROR5 "Dostęp zabroniony - %s\n"
STRING_REPLACE_ERROR6 "Nie znaleziono plików - %s\n"
STRING_REPLACE_ERROR7 "Extended Error 32 - Błąd współdzielenia\n"
STRING_COPY_OPTION "TNZ"
STRING_COPY_ERROR1 "Błąd: Nie można otworzyć źródła - %s!\n"
STRING_COPY_ERROR3 "Błąd zapisu na miejscu docelowym!\n"
STRING_ERROR_D_PAUSEMSG "Naciśnij dowolny klawisz, aby kontynuować . . . "
STRING_CONSOLE_ERROR "Nieznany błąd: %d\n"
STRING_ERROR_OUT_OF_MEMORY "Błąd - brak pamięci.\n"
END

View File

@@ -0,0 +1,54 @@
/*
* PROJECT: ReactOS Replace Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Portuguese (Brazilian) resource file
* TRANSLATOR: Copyright 2022 Fernando Isnaldo Silva de Faria <fernando-i@outlook.com>
*/
LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN
STRINGTABLE
BEGIN
STRING_REPLACE_HELP1 "Substitui arquivos.\n\n\
REPLACE [unidade1:][caminho1]arquivo [unidade2:][caminho2][/A][/P][/R][/W]\n\
REPLACE [unidade1:][caminho1]arquivo [unidade2:][caminho2][/P][/R][/S][/W][/U]\n\n\
[unidade1:] [caminho1] arquivo\n\
Especifica o arquivo ou arquivos de origem.\n\
[unidade2:] [caminho2]\n\
Especifica o diretório onde os arquivos devem ser\n\
substituídos.\n\
/A Adiciona novos arquivos ao diretório de destino.\n\
Não pode usar com as opções /S ou /U.\n\
/P Solicita confirmação antes de substituir ou adicionar\n\
um arquivo.\n\
/R Substitui arquivos só de leitura e arquivos desprotegidos\n\
/S Substitui os arquivos em todos os subdiretórios do\n\
diretório de destino. Não é possível usar com a opção /A.\n\
/W Espera que insira um disco antes de começar.\n\
/U Substitui (atualiza) apenas os arquivos mais antigos que os\n\
arquivos fonte. Não é possível usar com a opção /A.\n"
STRING_REPLACE_HELP2 "Caminho de origem obrigatório\n"
STRING_REPLACE_HELP3 "Nenhum arquivo substituído\n"
STRING_REPLACE_HELP4 "%lu arquivo(s) substituído(s)\n"
STRING_REPLACE_HELP5 "A substituir %s\n"
STRING_REPLACE_HELP7 "Nenhum arquivo adicionado\n"
STRING_REPLACE_HELP8 "%lu arquivo(s) adicionado(s)\n"
STRING_REPLACE_HELP9 "Adicionar %s (S/N)?"
STRING_REPLACE_HELP10 "Substituir %s (S/N)?"
STRING_REPLACE_HELP11 "A adicionar %s\n"
STRING_REPLACE_ERROR1 "Opção inválida - %s\n"
STRING_REPLACE_ERROR2 "Caminho não encontrado - %s\n"
STRING_REPLACE_ERROR3 "O nome do arquivo, nome do diretório ou sintaxe do rótulo do volume está incorreto.\n"
STRING_REPLACE_ERROR4 "Combinação de parâmetro inválida\n"
STRING_REPLACE_ERROR5 "Acesso negado - %s\n"
STRING_REPLACE_ERROR6 "Nenhum arquivo encontrado - %s\n"
STRING_REPLACE_ERROR7 "Erro estendido 32\n"
STRING_COPY_OPTION "SNT"
STRING_COPY_ERROR1 "Erro: Não é possível abrir o código - %s!\n"
STRING_COPY_ERROR3 "Erro ao escrever destino!\n"
STRING_ERROR_D_PAUSEMSG "Pressione qualquer tecla para continuar..."
STRING_CONSOLE_ERROR "Erro desconhecido: %d\n"
STRING_ERROR_OUT_OF_MEMORY "Erro de falta de memória.\n"
END

View File

@@ -0,0 +1,54 @@
/*
* PROJECT: ReactOS Replace Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Portuguese (Portugal) resource file
* TRANSLATOR: Copyright 2020 Jose Carlos Jesus <zecarlos1957@hotmail.com>
*/
LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE
STRINGTABLE
BEGIN
STRING_REPLACE_HELP1 "Substitui ficheiros.\n\n\
REPLACE [unidade1:][caminho1]ficheiro [unidade2:][caminho2][/A][/P][/R][/W]\n\
REPLACE [unidade1:][caminho1]ficheiro [unidade2:][caminho2][/P][/R][/S][/W][/U]\n\n\
[unidade1:] [caminho1] ficheiro\n\
Especifica o ficheiro ou ficheiros de origem.\n\
[unidade2:] [caminho2]\n\
Especifica o directório onde os ficheiros devem ser\n\
substituídos.\n\
/A Adiciona novos ficheiros ao directório de destino.\n\
Não pode usar com as opções /S ou /U.\n\
/P Solicita confirmação antes de substituir ou adicionar\n\
um ficheiro.\n\
/R Substitui ficheiros só de leitura e ficheiros desprotegidos\n\
/S Substitui os ficheiros em todos os subdiretórios do\n\
directório de destino. Não é possível usar com a opção /A.\n\
/W Espera que insira um disco antes de começar.\n\
/U Substitui (atualiza) apenas os ficheiros mais antigos que os\n\
arquivos fonte. Não é possível usar com a opção /A.\n"
STRING_REPLACE_HELP2 "Caminho de origem obrigatório\n"
STRING_REPLACE_HELP3 "Nenhum ficheiro substituído\n"
STRING_REPLACE_HELP4 "%lu ficheiro(s) substituído(s)\n"
STRING_REPLACE_HELP5 "A substituir %s\n"
STRING_REPLACE_HELP7 "Nenhum ficheiro adicionado\n"
STRING_REPLACE_HELP8 "%lu ficheiro(s) adicionado(s)\n"
STRING_REPLACE_HELP9 "Adicionar %s (S/N)?"
STRING_REPLACE_HELP10 "Substituir %s (S/N)?"
STRING_REPLACE_HELP11 "A adicionar %s\n"
STRING_REPLACE_ERROR1 "Opção inválida - %s\n"
STRING_REPLACE_ERROR2 "Caminho não encontrado - %s\n"
STRING_REPLACE_ERROR3 "O nome do ficheiro, nome do directório ou sintaxe do rótulo do volume está incorrecto.\n"
STRING_REPLACE_ERROR4 "Combinação de parâmetro inválida\n"
STRING_REPLACE_ERROR5 "Acesso negado - %s\n"
STRING_REPLACE_ERROR6 "Nenhum ficheiro encontrado - %s\n"
STRING_REPLACE_ERROR7 "Erro estendido 32\n"
STRING_COPY_OPTION "SNT"
STRING_COPY_ERROR1 "Erro: Não é possível abrir o código - %s!\n"
STRING_COPY_ERROR3 "Erro ao escrever destino!\n"
STRING_ERROR_D_PAUSEMSG "Pressione qualquer tecla para continuar..."
STRING_CONSOLE_ERROR "Erro desconhecido: %d\n"
STRING_ERROR_OUT_OF_MEMORY "Erro de falta de memória.\n"
END

View File

@@ -0,0 +1,54 @@
/*
* PROJECT: ReactOS Replace Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Romanian resource file
* TRANSLATORS: Copyright 2011-2019 Ștefan Fulea <stefan.fulea@mail.com>
* Copyright 2023-2024 Andrei Miloiu <miloiuandrei@gmail.com>
*/
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
STRING_REPLACE_HELP1 "Înlocuiește fișiere.\n\n\
REPLACE [disc1:][cale1]fișier [disc2:][cale2] [/A] [/P] [/R] [/W]\n\
REPLACE [disc1:][cale1]fișier [disc2:][cale2] [/P] [/R] [/S] [/W] [/U]\n\n\
[disc1:][cale1]fișier Specifică fișierul sau fișierele sursă.\n\
[disc2:][cale2] Specifică directorul unde vor fi înlocuite fișiere.\n\
/A Adaugă fișiere noi în directorul destinație. Nu se\n\
poate folosi cu argumentele /S sau /U.\n\
/P Cere confirmare înaintea înlocuirii unui fișier sau\n\
a adăugării unui fișier sursă.\n\
/R Înlocuiește atât fișierele modificabile, cât și\n\
fișierele nemodificabile.\n\
/S Înlocuiește fișierele în toate subdirectoarele\n\
directorului destinație. Nu se poate folosi\n\
cu argumentul /A.\n\
/W Așteaptă inserția unui disc înainte de a începe.\n\
/U Înlocuiește (actualizează) doar fișierele mai vechi\n\
decât fișierele sursă. Nu se poate folosi cu /A.\n"
STRING_REPLACE_HELP2 "Este necesară calea sursă\n"
STRING_REPLACE_HELP3 "Nu a fost înlocuit nici un fișier\n"
STRING_REPLACE_HELP4 "A(u) fost înlocuit(e) %lu fișier(e)\n"
STRING_REPLACE_HELP5 "Înlocuire «%s»\n"
STRING_REPLACE_HELP7 "Nu au fost adăugate fișiere\n"
STRING_REPLACE_HELP8 "A(u) fost adăugat(e) %lu fișier(e)\n"
STRING_REPLACE_HELP9 "Adaugă «%s» (Da/Nu)? "
STRING_REPLACE_HELP10 "Înlocuiește «%s» (Da/Nu)? "
STRING_REPLACE_HELP11 "Adăugare «%s»\n"
STRING_REPLACE_ERROR1 "Argument eronat - %s\n"
STRING_REPLACE_ERROR2 "Calea nu este găsită - %s\n"
STRING_REPLACE_ERROR3 "Numele fișierului, directorului sau eticheta volumului este incorectă.\n"
STRING_REPLACE_ERROR4 "Combinația de argumente nu este validă!\n"
STRING_REPLACE_ERROR5 "Acces respins - %s\n"
STRING_REPLACE_ERROR6 "Fișierele nu au fost găsite - %s\n"
STRING_REPLACE_ERROR7 "Eroare extinsă 32\n"
STRING_COPY_OPTION "DNT"
STRING_COPY_ERROR1 "Eroare: Nu se poate deschide sursa - %s!\n"
STRING_COPY_ERROR3 "Eroare de scriere în destinație!\n"
STRING_ERROR_D_PAUSEMSG "Tastați pentru a continua... "
STRING_CONSOLE_ERROR "Eroare necunoscută: %d\n"
STRING_ERROR_OUT_OF_MEMORY "Eroare de exces de memorie.\n"
END

View File

@@ -0,0 +1,56 @@
/*
* PROJECT: ReactOS Replace Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Russian resource file
* TRANSLATORS: Copyright 2005 Aleksey Bragin <aleksey@reactos.org>
* Copyright 2007 Dmitry Chapyshev <dmitry@reactos.org>
* Copyright 2014-2015 Kudratov Olimjon <olim98@bk.ru>
*/
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
STRING_REPLACE_HELP1 "Замена файлов.\n\n\
REPLACE [диск1:][путь1]имя_файла [диск2:][путь2] [/A] [/P] [/R] [/W]\n\
REPLACE [диск1:][путь1]имя_файла [диск2:][путь2] [/P] [/R] [/S] [/W] [/U]\n\n\
[диск1:][путь1]имя_файла Один или несколько исходных файлов.\n\
[диск2:][путь2] Каталог, в котором следует заменить\n\
файлы.\n\
/A Добавление новых файлов в конечный каталог.\n\
Этот ключ несовместим с ключами /S и /U.\n\
/P Вывод запроса перед заменой или\n\
добавлением файла.\n\
/R Разрешение замены файлов, предназначенных\n\
только для чтения (среди прочих).\n\
/S Замена файлов во всех подкаталогах\n\
конечного каталога.\n\
Этот ключ несовместим с ключом /A.\n\
/W Ожидание вставки диска перед началом выполнения.\n\
/U Замена только файлов, более старых, чем исходные.\n\
Этот ключ несовместим с ключом /A.\n"
STRING_REPLACE_HELP2 "Необходимо указать путь к исходным файлам\n"
STRING_REPLACE_HELP3 "Ни один файл не заменен\n"
STRING_REPLACE_HELP4 "%lu файл(ов) заменено\n"
STRING_REPLACE_HELP5 "Замена %s\n"
STRING_REPLACE_HELP7 "Нет новых файлов\n"
STRING_REPLACE_HELP8 "%lu файл(ов) добавлено\n"
STRING_REPLACE_HELP9 "Добавить %s (Y/N)? "
STRING_REPLACE_HELP10 "Заменить %s (Y/N)? "
STRING_REPLACE_HELP11 "Добавление %s\n"
STRING_REPLACE_ERROR1 "Неверный ключ - %s\n"
STRING_REPLACE_ERROR2 "Путь не найден - %s\n"
STRING_REPLACE_ERROR3 "Имя файла, папки или метка диска неверная.\n"
STRING_REPLACE_ERROR4 "Неверная комбинация параметров\n"
STRING_REPLACE_ERROR5 "Доступ запрещён - %s\n"
STRING_REPLACE_ERROR6 "Не найдено файлов - %s\n"
STRING_REPLACE_ERROR7 "Расширенная ошибка 32\n"
STRING_COPY_OPTION "YNA"
STRING_COPY_ERROR1 "Ошибка: Невозможно открыть источник - %s!\n"
STRING_COPY_ERROR3 "Ошибка записи!\n"
STRING_ERROR_D_PAUSEMSG "Для продолжения нажмите любую клавишу . . . "
STRING_CONSOLE_ERROR "Неизвестная ошибка: %d\n"
STRING_ERROR_OUT_OF_MEMORY "Нехватка памяти.\n"
END

View File

@@ -0,0 +1,54 @@
/*
* PROJECT: ReactOS Replace Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Slovak resource file
* TRANSLATOR: Copyright 2009-2010 Mário Kačmár <kario@szm.sk>
*/
LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
STRING_REPLACE_HELP1 "Replaces files.\n\n\
REPLACE [drive1:][path1]filename [drive2:][path2] [/A] [/P] [/R] [/W]\n\
REPLACE [drive1:][path1]filename [drive2:][path2] [/P] [/R] [/S] [/W] [/U]\n\n\
[drive1:][path1]filename Specifies the source file or files.\n\
[drive2:][path2] Specifies the directory where files are to be\n\
replaced.\n\
/A Adds new files to destination directory. Cannot\n\
use with /S or /U switches.\n\
/P Prompts for confirmation before replacing a file or\n\
adding a source file.\n\
/R Replaces read-only files as well as unprotected\n\
files.\n\
/S Replaces files in all subdirectories of the\n\
destination directory. Cannot use with the /A\n\
switch.\n\
/W Waits for you to insert a disk before beginning.\n\
/U Replaces (updates) only files that are older than\n\
source files. Cannot use with the /A switch.\n"
STRING_REPLACE_HELP2 "Source path required\n"
STRING_REPLACE_HELP3 "No files replaced\n"
STRING_REPLACE_HELP4 "%lu file(s) replaced\n"
STRING_REPLACE_HELP5 "Replacing %s\n"
STRING_REPLACE_HELP7 "No files added\n"
STRING_REPLACE_HELP8 "%lu file(s) added\n"
STRING_REPLACE_HELP9 "Add %s (Y/N)? "
STRING_REPLACE_HELP10 "Replace %s (Y/N)? "
STRING_REPLACE_HELP11 "Adding %s\n"
STRING_REPLACE_ERROR1 "Neplatný prepínač - %s\n"
STRING_REPLACE_ERROR2 "Cesta sa nenašla - %s\n"
STRING_REPLACE_ERROR3 "The filename, directory name, or volume label syntax is incorrect.\n"
STRING_REPLACE_ERROR4 "Invalid parameter combination\n"
STRING_REPLACE_ERROR5 "Prístup zamietnutý - %s\n"
STRING_REPLACE_ERROR6 "Žiadne súbory sa nenašli - %s\n"
STRING_REPLACE_ERROR7 "Extended Error 32\n"
STRING_COPY_OPTION "YNA"
STRING_COPY_ERROR1 "Chyba: Cannot open source - %s!\n"
STRING_COPY_ERROR3 "Error writing destination!\n"
STRING_ERROR_D_PAUSEMSG "Pokračujte stlačením ľubovoľného klávesu ... "
STRING_CONSOLE_ERROR "Neznáma chyba: %d\n"
STRING_ERROR_OUT_OF_MEMORY "Chyba (z) nedostatku pamäte.\n"
END

View File

@@ -0,0 +1,54 @@
/*
* PROJECT: ReactOS Replace Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Albanian resource file
* TRANSLATOR: Copyright 2013 Ardit Dani (Ard1t) <ardit.dani@gmail.com>
*/
LANGUAGE LANG_ALBANIAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
STRING_REPLACE_HELP1 "zëvendëson dokumentat.\n\n\
REPLACE [drive1:][rrugë1]emri [drive2:][rrugë2] [/A] [/P] [/R] [/W]\n\
REPLACE [drive1:][rrugë1]emri [drive2:][rrugë2] [/P] [/R] [/S] [/W] [/U]\n\n\
[drive1:][rrugë1]emri Specifikon e dokumentit ose dokumentëve.\n\
[drive2:][rrugë2] Specifikon directorine ku dokumentet do të\n\
zëvendësohen.\n\
/A Shton dokumente të reja tek directoria e destinacionit. Nuk\n\
përdoret me /S ose /U.\n\
/P Shfaw konfirmimim para se të zëvendësosh një dokument apo\n\
shtimit të burimit të dokumentit.\n\
/R Zëvendëso dokumentat vetëm-lexohet, si dhe dokumentet e\n\
pambrojtur.\n\
/S Zëvendëson dokumentet në të gjitha nën-direktoritë e\n\
directorite. Nuk mund të përdorë me/A\n\
parametra.\n\
/W Pret për ju për të futur një disk para fillimit të.\n\
/U Zëvendëso (update) vetem dokumenta që janë më të vjetër se\n\
dokumentat e burimit. Nuk mund ta përdorësh me /A.\n"
STRING_REPLACE_HELP2 "Rruga e Burimi kërkohet\n"
STRING_REPLACE_HELP3 "Nuk zëvendësohen dokumentat\n"
STRING_REPLACE_HELP4 "%lu dokumenta(t) zëvendësohen\n"
STRING_REPLACE_HELP5 "Zëvendësohen %s\n"
STRING_REPLACE_HELP7 "S'ka dokumentat te shtuar\n"
STRING_REPLACE_HELP8 "%lu dokumenta(t) u shtuan\n"
STRING_REPLACE_HELP9 "Shto %s (P/J)? "
STRING_REPLACE_HELP10 "Zëvendëso %s (P/J)? "
STRING_REPLACE_HELP11 "Shtim %s\n"
STRING_REPLACE_ERROR1 "Qeles invalid - %s\n"
STRING_REPLACE_ERROR2 "Rruga nuk u gjet - %s\n"
STRING_REPLACE_ERROR3 "Dokumenti, emri i direktorise, ose syntaksi i etiketes volumetrike eshte gabim.\n"
STRING_REPLACE_ERROR4 "Kombimi i parametrave invalid\n"
STRING_REPLACE_ERROR5 "Refuzot hyrja - %s\n"
STRING_REPLACE_ERROR6 "Nuk u gjet dokumenti - %s\n"
STRING_REPLACE_ERROR7 "Error i zgjatur 32\n"
STRING_COPY_OPTION "PJT"
STRING_COPY_ERROR1 "Error: Nuk mund të hapni burim - %s!\n"
STRING_COPY_ERROR3 "Gabim gjatë shkrimit në destinacion!\n"
STRING_ERROR_D_PAUSEMSG "Shtypni një buton për të vazhduar . . . "
STRING_CONSOLE_ERROR "Error i paditur: %d\n"
STRING_ERROR_OUT_OF_MEMORY "Error ska memorie te mjaftueshme.\n"
END

View File

@@ -0,0 +1,55 @@
/*
* PROJECT: ReactOS Replace Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Swedish resource file
* TRANSLATORS: Copyright 2011 Jan Blomqvist Kinander (Jaix Bly) <jaixbly@spray.se>
* Copyright 2017 Markus Gothe <nietzsche@lysator.liu.se>
*/
LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
STRING_REPLACE_HELP1 "Ersätter filer.\n\n\
REPLACE [drive1:][path1]filnamn [drive2:][path2] [/A] [/P] [/R] [/W]\n\
REPLACE [drive1:][path1]filnamn [drive2:][path2] [/P] [/R] [/S] [/W] [/U]\n\n\
[drive1:][path1]filename Specifies the source file or files.\n\
[drive2:][path2] Specifies the directory where files are to be\n\
replaced.\n\
/A Adds new files to destination directory. Cannot\n\
use with /S or /U switches.\n\
/P Prompts for confirmation before replacing a file or\n\
adding a source file.\n\
/R Replaces read-only files as well as unprotected\n\
files.\n\
/S Replaces files in all subdirectories of the\n\
destination directory. Cannot use with the /A\n\
switch.\n\
/W Waits for you to insert a disk before beginning.\n\
/U Replaces (updates) only files that are older than\n\
source files. Cannot use with the /A switch.\n"
STRING_REPLACE_HELP2 "Source path required\n"
STRING_REPLACE_HELP3 "No files replaced\n"
STRING_REPLACE_HELP4 "%lu file(s) replaced\n"
STRING_REPLACE_HELP5 "Replacing %s\n"
STRING_REPLACE_HELP7 "No files added\n"
STRING_REPLACE_HELP8 "%lu file(s) added\n"
STRING_REPLACE_HELP9 "Add %s (Y/N)? "
STRING_REPLACE_HELP10 "Replace %s (Y/N)? "
STRING_REPLACE_HELP11 "Adding %s\n"
STRING_REPLACE_ERROR1 "Felaktig växel - %s\n"
STRING_REPLACE_ERROR2 "Mappen ble inte funnet - %s\n"
STRING_REPLACE_ERROR3 "The filename, directory name, or volume label syntax is incorrect.\n"
STRING_REPLACE_ERROR4 "Invalid parameter combination\n"
STRING_REPLACE_ERROR5 "Tillgång nekas - %s\n"
STRING_REPLACE_ERROR6 "Ingna filer hittades - %s\n"
STRING_REPLACE_ERROR7 "Extended Error 32\n"
STRING_COPY_OPTION "YNA"
STRING_COPY_ERROR1 "Fel: kan inte öppna källan - %s!\n"
STRING_COPY_ERROR3 "Fel vid skriving till destinationen!\n"
STRING_ERROR_D_PAUSEMSG "Tryck på valfri tangent för att fortsätta . . . "
STRING_CONSOLE_ERROR "Okänt fel: %d\n"
STRING_ERROR_OUT_OF_MEMORY "Fel: Minnet fullt.\n"
END

View File

@@ -0,0 +1,52 @@
/*
* PROJECT: ReactOS Replace Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Turkish resource file
* TRANSLATORS: Copyright 2015 Erdem Ersoy (eersoy93) <erdemersoy@erdemersoy.net>
* Copyright 2021 Süleyman Poyraz <zaryob.dev@gmail.com>
*/
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
STRING_REPLACE_HELP1 "Replaces files.\n\n\
REPLACE [sürücü1:][yol1]filename [sürücü2:][yol2] [/A] [/P] [/R] [/W]\n\
REPLACE [sürücü1:][yol1]filename [sürücü2:][yol2] [/P] [/R] [/S] [/W] [/U]\n\n\
[drive1:][yol1]dosya adı Kaynak dosyayı veya dosyaları belirtir.\n\
[drive2:][yol2] Dosyaların aktarılacağı dizini belirtir.\n\
/A Hedef dizine yeni dosyalar ekler. /S veya /U\n\
anahtarlarıyla kullanılamaz.\n\
/P Bir dosyayı değiştirmeden veya bir kaynak dosya eklemeden\n\
önce onay ister.\n\
/R Salt okunur dosyaları da normal dosyalar gibi değiştirir\n\
/S Hedef dizinin tüm alt dizinlerindeki dosyaları değiştirir.\n\
/A anahtarıyla kullanılamaz.\n\
/W Başlamadan önce bir disk yerleştirmenizi bekler.\n\
/U Yalnızca kaynak dosyalardan daha eski dosyaları\n\
değiştirir (günceller). /A anahtarıyla kullanılamaz.\n"
STRING_REPLACE_HELP2 "Kaynak konum gerekli\n"
STRING_REPLACE_HELP3 "Herhangi bir dosya değiştirilmedi\n"
STRING_REPLACE_HELP4 "%lu dosya değiştirildi\n"
STRING_REPLACE_HELP5 "Değiştiriliyor: %s\n"
STRING_REPLACE_HELP7 "Herhangi bir dosya eklenemedi\n"
STRING_REPLACE_HELP8 "%lu dosya(lar) eklendi\n"
STRING_REPLACE_HELP9 "Şunu ekle %s (E/H)? "
STRING_REPLACE_HELP10 "Şunu değiştir %s (E/H)? "
STRING_REPLACE_HELP11 "Ekleniyor: %s\n"
STRING_REPLACE_ERROR1 "Geçersiz anahtar - %s\n"
STRING_REPLACE_ERROR2 "Yol bulunamadı - %s\n"
STRING_REPLACE_ERROR3 "Dosya adı, dizin adı veya birim etiketi sözdizimi yanlış.\n"
STRING_REPLACE_ERROR4 "Hatalı parametre kombinasyonu\n"
STRING_REPLACE_ERROR5 "Erişim reddedildi - %s\n"
STRING_REPLACE_ERROR6 "Hiçbir dosya bulunamadı - %s\n"
STRING_REPLACE_ERROR7 "Genişletilmiş Hata 32\n"
STRING_COPY_OPTION "EHT"
STRING_COPY_ERROR1 "Hata: Kaynak açılamadı - %s!\n"
STRING_COPY_ERROR3 "Hata: Hedefe yazılırken hata oluştu!\n"
STRING_ERROR_D_PAUSEMSG "Devam etmek için herhangi bir tuşa basın . . . "
STRING_CONSOLE_ERROR "Bilinmeyen Hata: %d\n"
STRING_ERROR_OUT_OF_MEMORY "Yetersiz bellek.\n"
END

View File

@@ -0,0 +1,54 @@
/*
* PROJECT: ReactOS Replace Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Ukrainian resource file
* TRANSLATORS: Copyright 2007 Artem Reznikov <temarez@yandex.ru>
* Copyright 2011 Igor Paliychuk <mansonigor@gmail.com>
*/
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
STRING_REPLACE_HELP1 "Замiна файлiв.\n\n\
REPLACE [диск1:][шлях1]iм'я_файлу [диск2:][шлях2] [/A] [/P] [/R] [/W]\n\
REPLACE [диск1:][шлях1]iм'я_файлу [диск2:][шлях2] [/P] [/R] [/S] [/W] [/U]\n\n\
[диск1:][шлях1]iм'я_файлу Задає файл(и) для замiни.\n\
[диск2:][шлях2] Задає каталог, в якому будуть замiненi файли\n\
файли.\n\
/A Додати новi файли в кiнцеву теку. Неможливе\n\
при використаннi ключiв /S чи /U.\n\
/P Запит на пiдтвердження замiни файлу чи\n\
додавання початкового файлу.\n\
/R Замiнює також файли лише для читання.\n\
/S Замiнює файли у всiх пiдкаталогах каталогу\n\
призначення. Неможливе при використаннi\n\
ключа /A.\n\
/W Чекає поки ви вставите диск перед початком.\n\
/U Замiнює (оновлює) лише файли, що старiшi нiж\n\
копiйованi. Неможливе при використаннi ключа /A.\n"
STRING_REPLACE_HELP2 "Необхiдний шлях джерела\n"
STRING_REPLACE_HELP3 "Не замiнено жодних файлiв\n"
STRING_REPLACE_HELP4 "%lu файл(iв) замiнено\n"
STRING_REPLACE_HELP5 "Замiна %s\n"
STRING_REPLACE_HELP7 "Не додано жодних файлiв\n"
STRING_REPLACE_HELP8 "%lu файл(iв) додано\n"
STRING_REPLACE_HELP9 "Додати %s (Y/N)? "
STRING_REPLACE_HELP10 "Замiнити %s (Y/N)? "
STRING_REPLACE_HELP11 "Додавання %s\n"
STRING_REPLACE_ERROR1 "Невiрний ключ - %s\n"
STRING_REPLACE_ERROR2 "Шлях не знайдено - %s\n"
STRING_REPLACE_ERROR3 "Синтаксис iменi файлу, теки чи мiтки диску некоректнi.\n"
STRING_REPLACE_ERROR4 "Невiрна комбацiя параметрiв\n"
STRING_REPLACE_ERROR5 "Немає доступу - %s\n"
STRING_REPLACE_ERROR6 "Файли не знайдено - %s\n"
STRING_REPLACE_ERROR7 "Розширена помилка 32\n"
STRING_COPY_OPTION "YNA"
STRING_COPY_ERROR1 "Помилка: Неможливо вiдкрити джерело - %s!\n"
STRING_COPY_ERROR3 "Помилка запису призначення!\n"
STRING_ERROR_D_PAUSEMSG "Натиснiть будь-яку клавiшу для продовження . . . "
STRING_CONSOLE_ERROR "Невiдома помилка: %d\n"
STRING_ERROR_OUT_OF_MEMORY "Недостатньо пам'ятi.\n"
END

View File

@@ -0,0 +1,48 @@
/*
* PROJECT: ReactOS Replace Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-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
STRINGTABLE
BEGIN
STRING_REPLACE_HELP1 "替换文件。\n\n\
REPLACE [驱动器1:][路径1]文件名 [驱动器2:][路径2] [/A] [/P] [/R] [/W]\n\
REPLACE [驱动器1:][路径1]文件名 [驱动器2:][路径2] [/P] [/R] [/S] [/W] [/U]\n\n\
[驱动器1:][路径1]文件名 指定一个或多个源文件。\n\
[驱动器2:][路径2] 指定要被替换文件所在的目录。\n\
/A 将新文件添加到目标目录。不能和 /S 或 /U 同时使用。\n\
/P 在替换一个文件或添加一个源文件之前请求确认。\n\
/R 将只读文件视为未保护文件并替换。\n\
/S 替换目标目录中所有子目录中的文件。不能与 /A 同时使用。\n\
/W 在开始前等待您插入一张磁盘。\n\
/U 仅替换(更新)比原文件老的文件。不能和 /A 同时使用。\n"
STRING_REPLACE_HELP2 "需要源路径\n"
STRING_REPLACE_HELP3 "没有文件被替换\n"
STRING_REPLACE_HELP4 "%lu 个文件已被替换\n"
STRING_REPLACE_HELP5 "正在替换 %s\n"
STRING_REPLACE_HELP7 "没有文件被添加\n"
STRING_REPLACE_HELP8 "%lu 个文件已被添加\n"
STRING_REPLACE_HELP9 "添加 %s 吗 (Y/N) "
STRING_REPLACE_HELP10 "替换 %s 吗 (Y/N) "
STRING_REPLACE_HELP11 "正在添加 %s\n"
STRING_REPLACE_ERROR1 "无效开关 - %s\n"
STRING_REPLACE_ERROR2 "路径未找到 - %s\n"
STRING_REPLACE_ERROR3 "文件名、目录名或卷标语法不正确。\n"
STRING_REPLACE_ERROR4 "无效的参数组合\n"
STRING_REPLACE_ERROR5 "禁止访问 - %s\n"
STRING_REPLACE_ERROR6 "没有文件被发现 - %s\n"
STRING_REPLACE_ERROR7 "扩展错误 32\n"
STRING_COPY_OPTION "YNA"
STRING_COPY_ERROR1 "错误:无法打开源文件 - %s\n"
STRING_COPY_ERROR3 "写入目标文件时出错!\n"
STRING_ERROR_D_PAUSEMSG "按任意键继续... "
STRING_CONSOLE_ERROR "未知错误:%d\n"
STRING_ERROR_OUT_OF_MEMORY "内存不足。\n"
END

View File

@@ -0,0 +1,48 @@
/*
* PROJECT: ReactOS Replace Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Chinese (Traditional) resource file
* TRANSLATORS: Copyright 2015 Henry Tang Ih <henrytang2@hotmail.com>
* Copyright 2021 Chan Chilung <eason066@gmail.com>
*/
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
STRINGTABLE
BEGIN
STRING_REPLACE_HELP1 "取代檔案。\n\n\
REPLACE [磁碟機1:][路徑1]檔案名稱 [磁碟機2:][路徑2] [/A] [/P] [/R] [/W]\n\
REPLACE [磁碟機1:][路徑1]檔案名稱 [磁碟機2:][路徑2] [/P] [/R] [/S] [/W] [/U]\n\n\
[磁碟機1:][路徑1]檔案名稱 指定一個或多個原始檔。\n\
[磁碟機2:][路徑2] 指定要被取代檔案所在的目錄。\n\
/A 將新檔案新增到目標目錄。不能和 /S 或 /U 同時使用。\n\
/P 在取代一個檔案或新增一個原始檔之前請求確認。\n\
/R 將只讀檔案視為未保護檔案並取代。\n\
/S 取代目標目錄中所有子目錄中的檔案。不能與 /A 同時使用。\n\
/W 在開始前等待您插入一張磁碟。\n\
/U 僅取代(更新)比原檔案舊的檔案。不能和 /A 同時使用。\n"
STRING_REPLACE_HELP2 "需要來源路徑\n"
STRING_REPLACE_HELP3 "沒有檔案被取代\n"
STRING_REPLACE_HELP4 "%lu 個檔案已被取代\n"
STRING_REPLACE_HELP5 "正在取代 %s\n"
STRING_REPLACE_HELP7 "沒有檔案被新增\n"
STRING_REPLACE_HELP8 "%lu 個檔案已被新增\n"
STRING_REPLACE_HELP9 "新增 %s 嗎 (Y/N)"
STRING_REPLACE_HELP10 "取代 %s 嗎 (Y/N)"
STRING_REPLACE_HELP11 "正在新增 %s\n"
STRING_REPLACE_ERROR1 "無效開關 - %s\n"
STRING_REPLACE_ERROR2 "找不到路徑 - %s\n"
STRING_REPLACE_ERROR3 "檔案名稱、目錄名稱或磁碟區標籤語法不正確。\n"
STRING_REPLACE_ERROR4 "無效的參陣組合\n"
STRING_REPLACE_ERROR5 "存取被拒 - %s\n"
STRING_REPLACE_ERROR6 "找不到檔案 - %s\n"
STRING_REPLACE_ERROR7 "擴展錯誤 32\n"
STRING_COPY_OPTION "YNA"
STRING_COPY_ERROR1 "錯誤:無法開啟來源 - %s\n"
STRING_COPY_ERROR3 "寫入目的時出錯!\n"
STRING_ERROR_D_PAUSEMSG "按任意鍵繼續... "
STRING_CONSOLE_ERROR "未知錯誤:%d\n"
STRING_ERROR_OUT_OF_MEMORY "記憶體不足。\n"
END

View File

@@ -1,18 +1,12 @@
/*
* PROJECT: ReactOS Command shell
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/shell/cmd/replace.c
* PURPOSE: Implements 'replace' cmd command
* PROGRAMMERS: Samuel Erdtman (samuel@erdtman.se)
* PROJECT: ReactOS Replace Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Implements 'replace' command
* COPYRIGHT: Copyright Samuel Erdtman (samuel@erdtman.se)
* COPYRIGHT: Copyright 2024 Katayama Hirofumi MZ (katayama.hirofumi.mz@gmail.com)
*/
/* INCLUDES ******************************************************************/
#include "precomp.h"
#ifdef INCLUDE_CMD_REPLACE
/* GLOBALS *******************************************************************/
#include "replace.h"
enum
{
@@ -24,13 +18,11 @@ enum
REPLACE_UPDATE = 0x020, /* /U */
};
/* FUNCTIONS *****************************************************************/
/* just makes a print out if there is a problem with the switches */
void invalid_switch(LPTSTR is)
{
ConOutResPrintf(STRING_REPLACE_ERROR1,is);
ConOutResPaging(TRUE,STRING_REPLACE_HELP3);
ConOutResPrintf(STRING_REPLACE_HELP3);
}
/* retrieves the path dependent on the input file name */
@@ -42,7 +34,6 @@ void getPath(TCHAR* out, LPTSTR in)
GetFullPathName (in, MAX_PATH, out, NULL);
}
/* makes the replace */
INT replace(TCHAR source[MAX_PATH], TCHAR dest[MAX_PATH], DWORD dwFlags, BOOL *doMore)
{
@@ -147,7 +138,7 @@ INT replace(TCHAR source[MAX_PATH], TCHAR dest[MAX_PATH], DWORD dwFlags, BOOL *d
/* Make sure source and destination is not the same */
if (!_tcscmp(s, d))
{
ConOutResPaging(TRUE, STRING_REPLACE_ERROR7);
ConOutResPrintf(STRING_REPLACE_ERROR7);
CloseHandle (hFileSrc);
*doMore = FALSE;
return 0;
@@ -158,7 +149,7 @@ INT replace(TCHAR source[MAX_PATH], TCHAR dest[MAX_PATH], DWORD dwFlags, BOOL *d
if (hFileDest == INVALID_HANDLE_VALUE)
{
CloseHandle (hFileSrc);
ConOutResPaging(TRUE, STRING_REPLACE_ERROR7);
ConOutResPrintf(STRING_REPLACE_ERROR7);
*doMore = FALSE;
return 0;
}
@@ -169,7 +160,7 @@ INT replace(TCHAR source[MAX_PATH], TCHAR dest[MAX_PATH], DWORD dwFlags, BOOL *d
{
CloseHandle (hFileDest);
CloseHandle (hFileSrc);
ConOutResPaging(TRUE, STRING_ERROR_OUT_OF_MEMORY);
ConOutResPrintf(STRING_ERROR_OUT_OF_MEMORY);
return 0;
}
@@ -189,13 +180,12 @@ INT replace(TCHAR source[MAX_PATH], TCHAR dest[MAX_PATH], DWORD dwFlags, BOOL *d
WriteFile (hFileDest, buffer, dwRead, &dwWritten, NULL);
/* Done! or ctrl break! */
if (dwWritten != dwRead || CheckCtrlBreak(BREAK_INPUT))
if (dwWritten != dwRead || bCtrlBreak)
{
ConOutResPuts(STRING_COPY_ERROR3);
VirtualFree (buffer, 0, MEM_RELEASE);
CloseHandle (hFileDest);
CloseHandle (hFileSrc);
nErrorLevel = 1;
return 0;
}
}
@@ -242,10 +232,8 @@ INT recReplace(DWORD dwFlags,
/* Go through all the sourcefiles and copy/replace them */
do
{
if (CheckCtrlBreak(BREAK_INPUT))
{
if (bCtrlBreak)
return filesReplaced;
}
/* Problem with file handler */
if (hFile == INVALID_HANDLE_VALUE)
@@ -389,23 +377,26 @@ INT recFindSubDirs(DWORD dwFlags,
return filesReplaced;
}
INT cmd_replace (LPTSTR param)
INT cmd_replace(INT argc, WCHAR **argv)
{
LPTSTR *arg;
INT argc, i,filesReplaced = 0, nFiles, srcIndex = -1, destIndex = -1;
INT i, filesReplaced = 0, nFiles, srcIndex = -1, destIndex = -1;
DWORD dwFlags = 0;
TCHAR szDestPath[MAX_PATH], szSrcPath[MAX_PATH], tmpSrcPath[MAX_PATH];
BOOL doMore = TRUE;
--argc;
++argv;
/* Help wanted? */
if (!_tcsncmp (param, _T("/?"), 2))
if (argc == 1 && !_tcscmp(argv[0], _T("/?")))
{
ConOutResPaging(TRUE,STRING_REPLACE_HELP1);
return 0;
ConOutResPrintf(STRING_REPLACE_HELP1);
return EXIT_SUCCESS;
}
/* Divide the argument in to an array of c-strings */
arg = split (param, &argc, FALSE, FALSE);
arg = argv;
nFiles = argc;
/* Read options */
@@ -437,15 +428,13 @@ INT cmd_replace (LPTSTR param)
break;
default:
invalid_switch(arg[i]);
freep(arg);
return 0;
return 11; /* Error */
}
}
else
{
invalid_switch(arg[i]);
freep(arg);
return 0;
return 11; /* Error */
}
nFiles--;
}
@@ -462,8 +451,7 @@ INT cmd_replace (LPTSTR param)
else
{
invalid_switch(arg[i]);
freep(arg);
return 0;
return 11; /* Error */
}
}
}
@@ -471,18 +459,17 @@ INT cmd_replace (LPTSTR param)
/* See so that at least source is there */
if (nFiles < 1)
{
ConOutResPaging(TRUE,STRING_REPLACE_HELP2);
ConOutResPaging(TRUE,STRING_REPLACE_HELP3);
freep(arg);
return 1;
ConOutResPrintf(STRING_REPLACE_HELP2);
ConOutResPrintf(STRING_REPLACE_HELP3);
return 11; /* Error */
}
/* Check so that not both update and add switch is added and subdir */
if ((dwFlags & REPLACE_UPDATE || dwFlags & REPLACE_SUBDIR) && (dwFlags & REPLACE_ADD))
{
ConOutResPaging(TRUE,STRING_REPLACE_ERROR4);
ConOutResPaging(TRUE,STRING_REPLACE_HELP7);
freep(arg);
return 1;
ConOutResPrintf(STRING_REPLACE_ERROR4);
ConOutResPrintf(STRING_REPLACE_HELP7);
return 11; /* Error */
}
/* If we have a destination get the full path */
@@ -497,18 +484,16 @@ INT cmd_replace (LPTSTR param)
_tcschr (arg[destIndex], _T('?')) != NULL)
{
ConOutResPrintf(STRING_REPLACE_ERROR2,arg[destIndex]);
ConOutResPaging(TRUE,STRING_REPLACE_HELP3);
freep(arg);
return 1;
ConOutResPrintf(STRING_REPLACE_HELP3);
return 3; /* Error */
}
getPath(szDestPath, arg[destIndex]);
/* Make sure that destination exists */
if (!IsExistingDirectory(szDestPath))
{
ConOutResPrintf(STRING_REPLACE_ERROR2, szDestPath);
ConOutResPaging(TRUE,STRING_REPLACE_HELP3);
freep(arg);
return 1;
ConOutResPrintf(STRING_REPLACE_HELP3);
return 3; /* Error */
}
}
}
@@ -532,18 +517,17 @@ INT cmd_replace (LPTSTR param)
if (IsExistingDirectory(szSrcPath))
{
ConOutResPrintf(STRING_REPLACE_ERROR6, szSrcPath);
ConOutResPaging(TRUE,STRING_REPLACE_HELP3);
freep(arg);
return 1;
ConOutResPrintf(STRING_REPLACE_HELP3);
return 2; /* Error */
}
/* Check if the file exists */
if (!IsExistingFile(szSrcPath))
{
ConOutResPaging(TRUE,STRING_REPLACE_HELP3);
freep(arg);
return 1;
ConOutResPrintf(STRING_REPLACE_HELP3);
return 2; /* Error */
}
}
/* /w switch is set so wait for any key to be pressed */
if (dwFlags & REPLACE_DISK)
{
@@ -573,9 +557,9 @@ INT cmd_replace (LPTSTR param)
{
/* Add switch dependent output */
if (dwFlags & REPLACE_ADD)
ConOutResPaging(TRUE,STRING_REPLACE_HELP7);
ConOutResPrintf(STRING_REPLACE_HELP7);
else
ConOutResPaging(TRUE,STRING_REPLACE_HELP3);
ConOutResPrintf(STRING_REPLACE_HELP3);
}
/* Some files replaced */
else
@@ -587,8 +571,33 @@ INT cmd_replace (LPTSTR param)
ConOutResPrintf(STRING_REPLACE_HELP4, filesReplaced);
}
}
/* Return memory */
freep(arg);
return 1;
return EXIT_SUCCESS;
}
static BOOL CALLBACK
CtrlHandlerRoutine(DWORD dwCtrlType)
{
switch (dwCtrlType)
{
case CTRL_C_EVENT: /* Ctrl+C */
case CTRL_CLOSE_EVENT: /* Closing console? */
bCtrlBreak = TRUE;
return TRUE; /* Handled */
default:
return FALSE; /* Ignored */
}
}
int wmain(int argc, WCHAR **argvW)
{
/* Handle Ctrl+C and console closing */
SetConsoleCtrlHandler(CtrlHandlerRoutine, TRUE);
/* Initialize the Console Standard Streams */
ConInitStdStreams();
return cmd_replace(argc, argvW);
}
#endif /* INCLUDE_CMD_REPLACE */

View File

@@ -0,0 +1,54 @@
/*
* PROJECT: ReactOS Replace Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Main header
* COPYRIGHT: Copyright Samuel Erdtman (samuel@erdtman.se)
* COPYRIGHT: Copyright 2024 Katayama Hirofumi MZ (katayama.hirofumi.mz@gmail.com)
*/
#pragma once
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <tchar.h>
#include <stdlib.h>
#include <conutils.h>
#include "resource.h"
#define RC_STRING_MAX_SIZE 3072
#define PROMPT_NO 0
#define PROMPT_YES 1
#define PROMPT_ALL 2
#define PROMPT_BREAK 3
/* 16k = max buffer size */
#define BUFF_SIZE 16384
#define ConOutResPuts(uID) \
ConResPuts(StdOut, (uID))
#define ConOutResPrintf(uID, ...) \
ConResPrintf(StdOut, (uID), ##__VA_ARGS__)
#define ConOutFormatMessage(MessageId, ...) \
ConFormatMessage(StdOut, (MessageId), ##__VA_ARGS__)
/* util.c */
VOID ConInString(LPTSTR lpInput, DWORD dwLength);
VOID __cdecl ConFormatMessage(PCON_STREAM Stream, DWORD MessageId, ...);
VOID ConOutChar(TCHAR c);
VOID GetPathCase(TCHAR * Path, TCHAR * OutPath);
BOOL IsExistingFile(IN LPCTSTR pszPath);
BOOL IsExistingDirectory(IN LPCTSTR pszPath);
INT FilePromptYNA(UINT resID);
VOID msg_pause(VOID);
TCHAR cgetchar(VOID);
INT
GetRootPath(
IN LPCTSTR InPath,
OUT LPTSTR OutPath,
IN INT size);
extern BOOL bCtrlBreak;

View File

@@ -0,0 +1,83 @@
#include <windef.h>
#include "resource.h"
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
#define REACTOS_STR_FILE_DESCRIPTION "ReactOS Replace Command"
#define REACTOS_STR_INTERNAL_NAME "replace"
#define REACTOS_STR_ORIGINAL_FILENAME "replace.exe"
#include <reactos/version.rc>
/* UTF-8 */
#pragma code_page(65001)
#ifdef LANGUAGE_CS_CZ
#include "lang/cs-CZ.rc"
#endif
#ifdef LANGUAGE_DE_DE
#include "lang/de-DE.rc"
#endif
#ifdef LANGUAGE_EL_GR
#include "lang/el-GR.rc"
#endif
#ifdef LANGUAGE_EN_US
#include "lang/en-US.rc"
#endif
#ifdef LANGUAGE_ES_ES
#include "lang/es-ES.rc"
#endif
#ifdef LANGUAGE_FR_FR
#include "lang/fr-FR.rc"
#endif
#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
#ifdef LANGUAGE_NB_NO
#include "lang/no-NO.rc"
#endif
#ifdef LANGUAGE_JA_JP
#include "lang/ja-JP.rc"
#endif
#ifdef LANGUAGE_PL_PL
#include "lang/pl-PL.rc"
#endif
#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
#ifdef LANGUAGE_RU_RU
#include "lang/ru-RU.rc"
#endif
#ifdef LANGUAGE_SK_SK
#include "lang/sk-SK.rc"
#endif
#ifdef LANGUAGE_SV_SE
#include "lang/sv-SE.rc"
#endif
#ifdef LANGUAGE_SQ_AL
#include "lang/sq-AL.rc"
#endif
#ifdef LANGUAGE_TR_TR
#include "lang/tr-TR.rc"
#endif
#ifdef LANGUAGE_UK_UA
#include "lang/uk-UA.rc"
#endif
#ifdef LANGUAGE_ZH_CN
#include "lang/zh-CN.rc"
#endif
#ifdef LANGUAGE_ZH_TW
#include "lang/zh-TW.rc"
#endif

View File

@@ -0,0 +1,27 @@
#define STRING_CONSOLE_ERROR 316
#define STRING_REPLACE_ERROR1 351
#define STRING_REPLACE_ERROR2 352
#define STRING_REPLACE_ERROR3 353
#define STRING_REPLACE_ERROR4 354
#define STRING_REPLACE_ERROR5 355
#define STRING_REPLACE_ERROR6 356
#define STRING_REPLACE_ERROR7 357
#define STRING_REPLACE_HELP1 727
#define STRING_REPLACE_HELP2 728
#define STRING_REPLACE_HELP3 729
#define STRING_REPLACE_HELP4 730
#define STRING_REPLACE_HELP5 731
#define STRING_REPLACE_HELP7 733
#define STRING_REPLACE_HELP8 734
#define STRING_REPLACE_HELP9 735
#define STRING_REPLACE_HELP10 736
#define STRING_REPLACE_HELP11 737
#define STRING_COPY_OPTION 201
#define STRING_COPY_ERROR1 320
#define STRING_COPY_ERROR3 322
#define STRING_ERROR_OUT_OF_MEMORY 109
#define STRING_ERROR_D_PAUSEMSG 111

View File

@@ -0,0 +1,282 @@
/*
* PROJECT: ReactOS Replace Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Internal helpers. See cmd/internal.c
* COPYRIGHT: Copyright Samuel Erdtman (samuel@erdtman.se)
* COPYRIGHT: Copyright 2024 Katayama Hirofumi MZ (katayama.hirofumi.mz@gmail.com)
*/
#include "replace.h"
BOOL bCtrlBreak = FALSE; /* Ctrl-Break or Ctrl-C hit */
/*
* Helper function for getting the current path from drive
* without changing the drive. Return code: 0 = ok, 1 = fail.
* 'InPath' can have any size; if the two first letters are
* not a drive with ':' it will get the current path on
* the current drive exactly as GetCurrentDirectory() does.
*/
INT
GetRootPath(
IN LPCTSTR InPath,
OUT LPTSTR OutPath,
IN INT size)
{
if (InPath[0] && InPath[1] == _T(':'))
{
INT t = 0;
if ((InPath[0] >= _T('0')) && (InPath[0] <= _T('9')))
{
t = (InPath[0] - _T('0')) + 28;
}
else if ((InPath[0] >= _T('a')) && (InPath[0] <= _T('z')))
{
t = (InPath[0] - _T('a')) + 1;
}
else if ((InPath[0] >= _T('A')) && (InPath[0] <= _T('Z')))
{
t = (InPath[0] - _T('A')) + 1;
}
return (_tgetdcwd(t, OutPath, size) == NULL);
}
/* Get current directory */
return !GetCurrentDirectory(size, OutPath);
}
/*
* Takes a path in and returns it with the correct case of the letters
*/
VOID GetPathCase( TCHAR * Path, TCHAR * OutPath)
{
UINT i = 0;
TCHAR TempPath[MAX_PATH];
WIN32_FIND_DATA FindFileData;
HANDLE hFind;
_tcscpy(TempPath, _T(""));
_tcscpy(OutPath, _T(""));
for(i = 0; i < _tcslen(Path); i++)
{
if (Path[i] != _T('\\'))
{
_tcsncat(TempPath, &Path[i], 1);
if (i != _tcslen(Path) - 1)
continue;
}
/* Handle the base part of the path different.
Because if you put it into findfirstfile, it will
return your current folder */
if (_tcslen(TempPath) == 2 && TempPath[1] == _T(':'))
{
_tcscat(OutPath, TempPath);
_tcscat(OutPath, _T("\\"));
_tcscat(TempPath, _T("\\"));
}
else
{
hFind = FindFirstFile(TempPath,&FindFileData);
if (hFind == INVALID_HANDLE_VALUE)
{
_tcscpy(OutPath, Path);
return;
}
_tcscat(TempPath, _T("\\"));
_tcscat(OutPath, FindFileData.cFileName);
_tcscat(OutPath, _T("\\"));
FindClose(hFind);
}
}
}
/*
* Checks if a file exists (is accessible)
*/
BOOL IsExistingFile(IN LPCTSTR pszPath)
{
DWORD attr = GetFileAttributes(pszPath);
return ((attr != INVALID_FILE_ATTRIBUTES) && !(attr & FILE_ATTRIBUTE_DIRECTORY));
}
BOOL IsExistingDirectory(IN LPCTSTR pszPath)
{
DWORD attr = GetFileAttributes(pszPath);
return ((attr != INVALID_FILE_ATTRIBUTES) && (attr & FILE_ATTRIBUTE_DIRECTORY));
}
INT FilePromptYNA (UINT resID)
{
TCHAR szMsg[RC_STRING_MAX_SIZE];
// TCHAR cKey = 0;
// LPTSTR szKeys = _T("yna");
TCHAR szIn[10];
LPTSTR p;
if (resID != 0)
ConOutResPrintf (resID);
/* preliminary fix */
ConInString(szIn, 10);
_tcsupr (szIn);
for (p = szIn; _istspace (*p); p++)
;
LoadString(NULL, STRING_COPY_OPTION, szMsg, ARRAYSIZE(szMsg));
if (_tcsncmp(p, &szMsg[0], 1) == 0)
return PROMPT_YES;
else if (_tcsncmp(p, &szMsg[1], 1) == 0)
return PROMPT_NO;
else if (_tcsncmp(p, &szMsg[2], 1) == 0)
return PROMPT_ALL;
#if 0
else if (*p == _T('\03'))
return PROMPT_BREAK;
#endif
return PROMPT_NO;
/* unfinished solution */
#if 0
RemoveBreakHandler();
ConInDisable();
do
{
ConInKey (&ir);
cKey = _totlower (ir.Event.KeyEvent.uChar.AsciiChar);
if (_tcschr (szKeys, cKey[0]) == NULL)
cKey = 0;
}
while ((ir.Event.KeyEvent.wVirtualKeyCode == VK_SHIFT) ||
(ir.Event.KeyEvent.wVirtualKeyCode == VK_MENU) ||
(ir.Event.KeyEvent.wVirtualKeyCode == VK_CONTROL));
AddBreakHandler();
ConInEnable();
if ((ir.Event.KeyEvent.wVirtualKeyCode == VK_ESCAPE) ||
((ir.Event.KeyEvent.wVirtualKeyCode == _T('C')) &&
(ir.Event.KeyEvent.dwControlKeyState & (LEFT_CTRL_PRESSED | RIGHT_CTRL_PRESSED))))
return PROMPT_BREAK;
return PROMPT_YES;
#endif
}
VOID ConInString(LPTSTR lpInput, DWORD dwLength)
{
DWORD dwOldMode;
DWORD dwRead = 0;
HANDLE hFile;
LPTSTR p;
PCHAR pBuf;
#ifdef _UNICODE
pBuf = (PCHAR)malloc(dwLength - 1);
#else
pBuf = lpInput;
#endif
ZeroMemory(lpInput, dwLength * sizeof(TCHAR));
hFile = GetStdHandle(STD_INPUT_HANDLE);
GetConsoleMode(hFile, &dwOldMode);
SetConsoleMode(hFile, ENABLE_PROCESSED_INPUT | ENABLE_LINE_INPUT | ENABLE_ECHO_INPUT);
ReadFile(hFile, (PVOID)pBuf, dwLength - 1, &dwRead, NULL);
#ifdef _UNICODE
MultiByteToWideChar(GetConsoleCP(), 0, pBuf, dwRead, lpInput, dwLength - 1);
free(pBuf);
#endif
for (p = lpInput; *p; p++)
{
if (*p == _T('\r')) // Terminate at the carriage-return.
{
*p = _T('\0');
break;
}
}
SetConsoleMode(hFile, dwOldMode);
}
VOID msg_pause(VOID)
{
ConOutResPuts(STRING_ERROR_D_PAUSEMSG);
}
VOID __cdecl ConFormatMessage(PCON_STREAM Stream, DWORD MessageId, ...)
{
INT Len;
va_list arg_ptr;
va_start(arg_ptr, MessageId);
Len = ConMsgPrintfV(Stream,
FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
MessageId,
LANG_USER_DEFAULT,
&arg_ptr);
va_end(arg_ptr);
if (Len <= 0)
ConResPrintf(Stream, STRING_CONSOLE_ERROR, MessageId);
}
VOID ConOutChar(TCHAR c)
{
ConWrite(StdOut, &c, 1);
}
/*
* get a character out-of-band and honor Ctrl-Break characters
*/
TCHAR
cgetchar (VOID)
{
HANDLE hInput = GetStdHandle (STD_INPUT_HANDLE);
INPUT_RECORD irBuffer;
DWORD dwRead;
do
{
ReadConsoleInput (hInput, &irBuffer, 1, &dwRead);
if ((irBuffer.EventType == KEY_EVENT) &&
(irBuffer.Event.KeyEvent.bKeyDown != FALSE))
{
if (irBuffer.Event.KeyEvent.dwControlKeyState &
(LEFT_CTRL_PRESSED | RIGHT_CTRL_PRESSED))
{
if (irBuffer.Event.KeyEvent.wVirtualKeyCode == 'C')
{
bCtrlBreak = TRUE;
break;
}
}
else if ((irBuffer.Event.KeyEvent.wVirtualKeyCode == VK_SHIFT) ||
(irBuffer.Event.KeyEvent.wVirtualKeyCode == VK_MENU) ||
(irBuffer.Event.KeyEvent.wVirtualKeyCode == VK_CONTROL))
{
// Nothing to do
}
else
{
break;
}
}
}
while (TRUE);
#ifndef _UNICODE
return irBuffer.Event.KeyEvent.uChar.AsciiChar;
#else
return irBuffer.Event.KeyEvent.uChar.UnicodeChar;
#endif /* _UNICODE */
}

View File

@@ -9,6 +9,7 @@
/* UTF-8 */
#pragma code_page(65001)
#ifdef LANGUAGE_BG_BG
#include "lang/bg-BG.rc"
#endif

View File

@@ -11,6 +11,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
/* UTF-8 */
#pragma code_page(65001)
#ifdef LANGUAGE_DE_DE
#include "lang/de-DE.rc"
#endif

View File

@@ -6,7 +6,8 @@
#define REACTOS_STR_ORIGINAL_FILENAME "where.exe"
#include <reactos/version.rc>
#pragma code_page(65001) /* UTF-8 */
/* UTF-8 */
#pragma code_page(65001)
#ifdef LANGUAGE_DE_DE
#include "lang/de-DE.rc"

View File

@@ -39,7 +39,7 @@ BOOL GetArgument(WCHAR* arg, int argc, WCHAR* argv[])
for (i = 1; i < argc; i++)
{
if (wcsicmp(argv[i], arg) == 0)
if (_wcsicmp(argv[i], arg) == 0)
return TRUE;
}
@@ -698,7 +698,7 @@ int wmain(int argc, WCHAR* argv[])
/* first things first-- let's detect and manage both printing modifiers (/fo and /nh) */
for (i = 1; i < argc; i++)
{
if (wcsicmp(argv[i], L"/nh") == 0)
if (_wcsicmp(argv[i], L"/nh") == 0)
{
NoHeaderArgCount++;
@@ -713,7 +713,7 @@ int wmain(int argc, WCHAR* argv[])
for (i = 1; i < argc; i++)
{
if (wcsicmp(argv[i], L"/fo") == 0)
if (_wcsicmp(argv[i], L"/fo") == 0)
{
if ((i + 1) < argc)
{
@@ -721,14 +721,14 @@ int wmain(int argc, WCHAR* argv[])
PrintFormatArgCount++;
if (wcsicmp(argv[i + 1], L"table") == 0 && PrintFormat != table)
if (_wcsicmp(argv[i + 1], L"table") == 0 && PrintFormat != table)
{
PrintFormat = table;
// wprintf(L"Changed to table format\n");
BlankArgument(i, argv);
BlankArgument(i + 1, argv);
}
else if (wcsicmp(argv[i + 1], L"list") == 0 && PrintFormat != list)
else if (_wcsicmp(argv[i + 1], L"list") == 0 && PrintFormat != list)
{
PrintFormat = list;
// wprintf(L"Changed to list format\n");
@@ -743,7 +743,7 @@ int wmain(int argc, WCHAR* argv[])
return 1;
}
}
else if (wcsicmp(argv[i + 1], L"csv") == 0 && PrintFormat != csv)
else if (_wcsicmp(argv[i + 1], L"csv") == 0 && PrintFormat != csv)
{
PrintFormat = csv;
// wprintf(L"Changed to csv format\n");
@@ -751,14 +751,14 @@ int wmain(int argc, WCHAR* argv[])
BlankArgument(i + 1, argv);
}
/* /nh or /fo after /fo isn't parsed as a value */
else if (wcsicmp(argv[i + 1], L"/nh") == 0 || wcsicmp(argv[i + 1], L"/fo") == 0
else if (_wcsicmp(argv[i + 1], L"/nh") == 0 || _wcsicmp(argv[i + 1], L"/fo") == 0
/* same goes for the other named options, not ideal, but works */
|| wcsicmp(argv[i + 1], L"/priv") == 0
|| wcsicmp(argv[i + 1], L"/groups") == 0
|| wcsicmp(argv[i + 1], L"/user") == 0
|| wcsicmp(argv[i + 1], L"/all") == 0
|| wcsicmp(argv[i + 1], L"") == 0)
|| _wcsicmp(argv[i + 1], L"/priv") == 0
|| _wcsicmp(argv[i + 1], L"/groups") == 0
|| _wcsicmp(argv[i + 1], L"/user") == 0
|| _wcsicmp(argv[i + 1], L"/all") == 0
|| _wcsicmp(argv[i + 1], L"") == 0)
{
goto FoValueExpected;
}
@@ -806,13 +806,13 @@ int wmain(int argc, WCHAR* argv[])
if (argc == 2)
{
/* now let's try to parse the triumvirate of simpler, single (1) arguments... plus help */
if (wcsicmp(argv[1], L"/?") == 0)
if (_wcsicmp(argv[1], L"/?") == 0)
{
wprintf(WhoamiLoadRcString(IDS_HELP));
return 0;
}
else if (wcsicmp(argv[1], L"/upn") == 0)
else if (_wcsicmp(argv[1], L"/upn") == 0)
{
LPWSTR UserBuffer = WhoamiGetUser(NameUserPrincipal);
@@ -829,7 +829,7 @@ int wmain(int argc, WCHAR* argv[])
}
}
else if (wcsicmp(argv[1], L"/fqdn") == 0)
else if (_wcsicmp(argv[1], L"/fqdn") == 0)
{
LPWSTR UserBuffer = WhoamiGetUser(NameFullyQualifiedDN);
@@ -846,7 +846,7 @@ int wmain(int argc, WCHAR* argv[])
}
}
else if (wcsicmp(argv[1], L"/logonid") == 0)
else if (_wcsicmp(argv[1], L"/logonid") == 0)
{
return WhoamiLogonId();
}
@@ -858,11 +858,11 @@ int wmain(int argc, WCHAR* argv[])
/* sometimes is just easier to whitelist for lack of a better method */
for (i=1; i<argc; i++)
{
if ((wcsicmp(argv[i], L"/user") != 0) &&
(wcsicmp(argv[i], L"/groups") != 0) &&
(wcsicmp(argv[i], L"/priv") != 0) &&
(wcsicmp(argv[i], L"/all") != 0) &&
(wcsicmp(argv[i], L"") != 0))
if ((_wcsicmp(argv[i], L"/user") != 0) &&
(_wcsicmp(argv[i], L"/groups") != 0) &&
(_wcsicmp(argv[i], L"/priv") != 0) &&
(_wcsicmp(argv[i], L"/all") != 0) &&
(_wcsicmp(argv[i], L"") != 0))
{
wprintf(WhoamiLoadRcString(IDS_ERROR_INVALIDARG), argv[i]);
return 1;

View File

@@ -11,8 +11,9 @@ add_executable(wscript ${SOURCE} rsrc.rc)
add_idl_headers(wscript_idlheader ihost.idl)
add_typelib(ihost.idl)
set_source_files_properties(rsrc.rc PROPERTIES OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/ihost.tlb)
target_link_libraries(wscript uuid wine)
target_link_libraries(wscript uuid wine oldnames)
set_module_type(wscript win32gui UNICODE)
add_delay_importlibs(wscript shlwapi)
add_importlibs(wscript shell32 oleaut32 ole32 user32 advapi32 msvcrt kernel32 ntdll)
add_dependencies(wscript stdole2 wscript_idlheader)
add_pch(wscript precomp.h SOURCE)

View File

@@ -60,6 +60,141 @@ ITypeInfo *arguments_ti;
static HRESULT query_interface(REFIID,void**);
#ifdef __REACTOS__
#include <commctrl.h>
typedef struct {
UINT itemsize, count;
void *mem;
} SIMPLEVECTOR;
static void SVect_Free(SIMPLEVECTOR *pV)
{
if (pV->mem)
LocalFree(pV->mem);
pV->mem = NULL;
}
static void* SVect_Add(SIMPLEVECTOR *pV)
{
void *p = NULL;
if (pV->mem)
{
p = LocalReAlloc(pV->mem, pV->itemsize * (pV->count + 1), LMEM_FIXED | LMEM_MOVEABLE);
if (p)
{
pV->mem = p;
p = (char*)p + (pV->count * pV->itemsize);
pV->count++;
}
}
else
{
p = pV->mem = LocalAlloc(LMEM_FIXED, pV->itemsize);
if (p)
{
pV->count = 1;
}
}
return p;
}
#define SVect_Delete(pV, pItem) ( (pV), (pItem) ) /* Should not be required for global items */
static void* SVect_Get(SIMPLEVECTOR *pV, UINT i)
{
return pV->mem && i < pV->count ? (char*)pV->mem + (i * pV->itemsize) : NULL;
}
typedef struct {
BSTR name;
IUnknown *punk;
} GLOBAL_ITEM;
SIMPLEVECTOR g_global_items = { sizeof(GLOBAL_ITEM) };
static void free_globals(void)
{
UINT i;
for (i = 0;; ++i)
{
GLOBAL_ITEM *p = (GLOBAL_ITEM*)SVect_Get(&g_global_items, i);
if (!p)
break;
IUnknown_Release(p->punk);
SysFreeString(p->name);
}
SVect_Free(&g_global_items);
}
static HRESULT add_globalitem(IActiveScript *script, BSTR name, IUnknown *punk, DWORD siflags)
{
GLOBAL_ITEM *item;
HRESULT hr;
name = SysAllocString(name);
if (!name)
return E_OUTOFMEMORY;
item = SVect_Add(&g_global_items);
if (item)
{
item->name = name;
item->punk = punk;
hr = IActiveScript_AddNamedItem(script, name, siflags);
if (SUCCEEDED(hr))
{
IUnknown_AddRef(punk);
return hr;
}
SVect_Delete(&g_global_items, item);
}
SysFreeString(name);
return E_OUTOFMEMORY;
}
static HRESULT add_globalitem_from_clsid(IActiveScript *script, BSTR name, REFCLSID clsid, DWORD siflags)
{
IUnknown *punk;
HRESULT hr = CoCreateInstance(clsid, NULL, CLSCTX_INPROC_SERVER, &IID_IUnknown, (void**)&punk);
if (SUCCEEDED(hr))
{
hr = add_globalitem(script, name, punk, siflags);
IUnknown_Release(punk);
}
return hr;
}
static HRESULT get_globalitem_info(LPCOLESTR Name, DWORD Mask, IUnknown **ppunk, ITypeInfo **ppti, BOOL *pHandled)
{
HRESULT hr = S_FALSE;
UINT i;
for (i = 0;; ++i)
{
GLOBAL_ITEM *p = (GLOBAL_ITEM*)SVect_Get(&g_global_items, i);
if (!p)
break;
if (!lstrcmpiW(Name, p->name))
{
if (ppti)
*ppti = NULL;
if (Mask & SCRIPTINFO_IUNKNOWN)
{
*ppunk = p->punk;
if (p->punk)
{
IUnknown_AddRef(p->punk);
*pHandled = TRUE;
}
return S_OK;
}
break;
}
}
return hr;
}
#endif
static HRESULT WINAPI ActiveScriptSite_QueryInterface(IActiveScriptSite *iface,
REFIID riid, void **ppv)
{
@@ -89,6 +224,15 @@ static HRESULT WINAPI ActiveScriptSite_GetItemInfo(IActiveScriptSite *iface,
{
WINE_TRACE("(%s %x %p %p)\n", wine_dbgstr_w(pstrName), dwReturnMask, ppunkItem, ppti);
#ifdef __REACTOS__
{
BOOL handled = FALSE;
HRESULT hr = get_globalitem_info(pstrName, dwReturnMask, ppunkItem, ppti, &handled);
if (handled)
return hr;
}
#endif
if(lstrcmpW(pstrName, wshW) && lstrcmpW(pstrName, wscriptW))
return E_FAIL;
@@ -388,6 +532,231 @@ static void run_script(const WCHAR *filename, IActiveScript *script, IActiveScri
WINE_FIXME("SetScriptState failed: %08x\n", hres);
}
#ifdef __REACTOS__
#include <msxml2.h>
#include <shlwapi.h>
static HRESULT xmldomnode_getattributevalue(IXMLDOMNode *pnode, LPCWSTR name, BSTR *pout)
{
IXMLDOMNamedNodeMap *pmap;
HRESULT hr = E_OUTOFMEMORY;
BSTR bsname = SysAllocString(name);
*pout = NULL;
if (bsname && SUCCEEDED(hr = IXMLDOMNode_get_attributes(pnode, &pmap)))
{
if (SUCCEEDED(hr = IXMLDOMNamedNodeMap_getNamedItem(pmap, bsname, &pnode)))
{
hr = HRESULT_FROM_WIN32(ERROR_NOT_FOUND);
if (pnode)
{
hr = IXMLDOMNode_get_text(pnode, pout);
if (SUCCEEDED(hr) && !*pout)
hr = HRESULT_FROM_WIN32(ERROR_NOT_FOUND);
IXMLDOMNode_Release(pnode);
}
}
IXMLDOMNamedNodeMap_Release(pmap);
}
SysFreeString(bsname);
return hr;
}
static HRESULT xmldomelem_getelembytag(IXMLDOMElement *pelem, LPCWSTR name, long index, IXMLDOMNode**ppout)
{
HRESULT hr = E_OUTOFMEMORY;
IXMLDOMNodeList *pnl;
BSTR bsname = SysAllocString(name);
*ppout = NULL;
if (bsname && SUCCEEDED(hr = IXMLDOMElement_getElementsByTagName(pelem, bsname, &pnl)))
{
hr = IXMLDOMNodeList_get_item(pnl, index, ppout);
if (SUCCEEDED(hr) && !*ppout)
hr = HRESULT_FROM_WIN32(ERROR_NO_MORE_ITEMS);
IUnknown_Release(pnl);
}
SysFreeString(bsname);
return hr;
}
static HRESULT xmldomelem_getelembytagasdomelem(IXMLDOMElement *pelem, LPCWSTR name, long index, IXMLDOMElement**ppout)
{
IXMLDOMNode *pnode;
HRESULT hr = xmldomelem_getelembytag(pelem, name, index, &pnode);
*ppout = NULL;
if (SUCCEEDED(hr))
{
hr = IUnknown_QueryInterface(pnode, &IID_IXMLDOMElement, (void**)ppout);
IUnknown_Release(pnode);
}
return hr;
}
static void wsf_addobjectfromnode(IActiveScript *script, IXMLDOMNode *obj)
{
BSTR bsid, bsclsid = NULL;
if (SUCCEEDED(xmldomnode_getattributevalue(obj, L"id", &bsid)))
{
CLSID clsid;
HRESULT hr;
hr = xmldomnode_getattributevalue(obj, L"clsid", &bsclsid);
if (FAILED(hr) || FAILED(CLSIDFromString(bsclsid, &clsid)))
{
SysFreeString(bsclsid);
if (SUCCEEDED(hr = xmldomnode_getattributevalue(obj, L"progid", &bsclsid)))
{
hr = CLSIDFromProgID(bsclsid, &clsid);
SysFreeString(bsclsid);
}
}
if (SUCCEEDED(hr))
{
hr = add_globalitem_from_clsid(script, bsid, &clsid, SCRIPTITEM_ISVISIBLE);
}
SysFreeString(bsid);
}
}
static HRESULT run_wsfjob(IXMLDOMElement *jobtag)
{
// FIXME: We are supposed to somehow handle multiple languages in the same IActiveScript.
IActiveScript *script;
LPCWSTR deflang = L"JScript";
IXMLDOMNode *scripttag;
HRESULT hr = S_OK;
if (SUCCEEDED(xmldomelem_getelembytag(jobtag, L"script", 0, &scripttag)))
{
CLSID clsid;
IActiveScriptParse *parser;
BSTR lang, code;
if (FAILED(xmldomnode_getattributevalue(scripttag, L"language", &lang)))
lang = NULL;
hr = CLSIDFromProgID(lang ? lang : deflang, &clsid);
SysFreeString(lang);
if (SUCCEEDED(hr))
{
hr = E_FAIL;
if (create_engine(&clsid, &script, &parser))
{
if (init_engine(script, parser))
{
long index;
for (index = 0; index < 0x7fffffff; ++index)
{
IXMLDOMNode *obj;
if (SUCCEEDED(xmldomelem_getelembytag(jobtag, L"object", index, &obj)))
{
wsf_addobjectfromnode(script, obj);
IUnknown_Release(obj);
}
else
{
break;
}
}
if (SUCCEEDED(hr = IXMLDOMNode_get_text(scripttag, &code)))
{
hr = IActiveScriptParse_ParseScriptText(parser, code, NULL, NULL, NULL, 1, 1,
SCRIPTTEXT_HOSTMANAGESSOURCE|SCRIPTITEM_ISVISIBLE,
NULL, NULL);
if (SUCCEEDED(hr))
{
hr = IActiveScript_SetScriptState(script, SCRIPTSTATE_STARTED);
IActiveScript_Close(script);
}
SysFreeString(code);
}
ITypeInfo_Release(host_ti);
}
IUnknown_Release(parser);
IUnknown_Release(script);
}
}
IUnknown_Release(scripttag);
}
return hr;
}
/*
.WSF files can contain a single job, or multiple jobs if contained in a package.
Jobs are identified by their id and if no id is specified, the first job is used.
Each job can contain multiple script tags and all scripts are merged into one.
<job><script language="JScript">WScript.Echo("JS");</script></job>
or
<package>
<job><script language="JScript">WScript.Echo("JS");</script></job>
</package>
or
<?xml version="1.0" ?>
<job>
<script language="JScript"><![CDATA[function JS(s) {WScript.Echo(s)}]]></script>
<script language="VBScript">JS "VB2JS"</script>
</job>
*/
static HRESULT run_wsf(LPCWSTR xmlpath)
{
WCHAR url[ARRAY_SIZE("file://") + max(ARRAY_SIZE(scriptFullName), MAX_PATH)];
DWORD cch = ARRAY_SIZE(url);
IXMLDOMDocument *pdoc;
HRESULT hr = UrlCreateFromPathW(xmlpath, url, &cch, 0), hrCom;
if (FAILED(hr))
return hr;
hrCom = CoInitialize(NULL);
hr = CoCreateInstance(&CLSID_DOMDocument30, NULL, CLSCTX_INPROC_SERVER,
&IID_IXMLDOMDocument, (void**)&pdoc);
if (SUCCEEDED(hr))
{
VARIANT_BOOL succ = VARIANT_FALSE;
IXMLDOMElement *pdocelm;
BSTR bsurl = SysAllocString(url);
VARIANT v;
V_VT(&v) = VT_BSTR;
V_BSTR(&v) = bsurl;
if (!bsurl || (hr = IXMLDOMDocument_load(pdoc, v, &succ)) > 0 || (SUCCEEDED(hr) && !succ))
{
hr = E_FAIL;
}
if (SUCCEEDED(hr) && SUCCEEDED(hr = IXMLDOMDocument_get_documentElement(pdoc, &pdocelm)))
{
BSTR tagName = NULL;
if (SUCCEEDED(hr = IXMLDOMElement_get_tagName(pdocelm, &tagName)))
{
if (lstrcmpiW(tagName, L"package") == 0)
{
// FIXME: Accept job id as a function parameter and find the job here
IXMLDOMElement *p;
if (SUCCEEDED(hr = xmldomelem_getelembytagasdomelem(pdocelm, L"job", 0, &p)))
{
IUnknown_Release(pdocelm);
pdocelm = p;
}
}
else if (lstrcmpiW(tagName, L"job") != 0)
{
hr = 0x800400C0ul;
}
SysFreeString(tagName);
}
if (SUCCEEDED(hr))
{
// FIXME: Only support CDATA blocks if the xml tag is present?
hr = run_wsfjob(pdocelm);
}
IUnknown_Release(pdocelm);
}
VariantClear(&v);
IUnknown_Release(pdoc);
}
free_globals();
if (SUCCEEDED(hrCom))
CoUninitialize();
return hr;
}
#endif
static BOOL set_host_properties(const WCHAR *prop)
{
static const WCHAR nologoW[] = {'n','o','l','o','g','o',0};
@@ -453,6 +822,11 @@ int WINAPI wWinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPWSTR cmdline, int cm
return 1;
ext = wcsrchr(filepart, '.');
#ifdef __REACTOS__
if (ext && !lstrcmpiW(ext, L".wsf")) {
return run_wsf(scriptFullName);
}
#endif
if(!ext || !get_engine_clsid(ext, &clsid)) {
WINE_FIXME("Could not find engine for %s\n", wine_dbgstr_w(ext));
return 1;
@@ -477,6 +851,10 @@ int WINAPI wWinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPWSTR cmdline, int cm
IActiveScript_Release(script);
IActiveScriptParse_Release(parser);
#ifdef __REACTOS__
free_globals();
#endif
CoUninitialize();
return 0;

View File

@@ -74,15 +74,16 @@ OpenShellFolder(LPWSTR lpFolderCLSID)
WCHAR szParameters[MAX_PATH];
/*
* Open a shell folder using "explorer.exe". The passed CLSIDs
* are all subfolders of the "Control Panel" shell folder.
* Open a shell folder using "explorer.exe". If Explorer shell is not
* available, use ReactOS's alternative file browser instead.
* The passed CLSIDs are all subfolders of the "Control Panel" shell folder.
*/
StringCbCopyW(szParameters, sizeof(szParameters), L"/n,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{21EC2020-3AEA-1069-A2DD-08002B30309D}");
StringCbCatW(szParameters, sizeof(szParameters), lpFolderCLSID);
return (INT_PTR)ShellExecuteW(NULL,
L"open",
L"explorer.exe",
GetShellWindow() ? L"explorer.exe" : L"filebrowser.exe",
szParameters,
NULL,
SW_SHOWDEFAULT) > 32;

View File

@@ -1,9 +1,8 @@
/*
* PROJECT: ReactX Diagnosis Application
* LICENSE: LGPL - See COPYING in the top level directory
* FILE: base/applications/dxdiag/ddtest.c
* PURPOSE: ReactX DirectDraw tests
* COPYRIGHT: Copyright 2008 Kamil Hornicek
* COPYRIGHT: Copyright 2008 Kamil Horníček
*
*/

View File

@@ -2,7 +2,7 @@
* PROJECT: ReactOS Font Viewer
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Czech resource file
* TRANSLATOR: Copyright 2014-2017 Kamil Hornicek <kamil.hornicek@reactos.org>
* TRANSLATOR: Copyright 2014-2017 Kamil Horníček <kamil.hornicek@reactos.org>
*/
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT

View File

@@ -5,6 +5,7 @@
* TRANSLATORS: Copyright 2009 Elton Chung aka MfldElton <elton328@gmail.com>
* Copyright 2017 Li Keqing <auroracloud4096@gmail.com>
* Copyright 2018-2022 Luke Luo <njlyf2011@hotmail.com>
* Copyright 2024 Ratin Gao <ratin@knsoft.org>
*/
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
@@ -19,12 +20,12 @@ BEGIN
IDS_ERROR_NOMEM "没有足够的内存来完成操作。"
IDS_ERROR_NOFONT "%1不是一个有效的字体文件。"
IDS_ERROR_NOCLASS "无法初始化窗口。"
IDS_ERROR_ISINSTALLED "This font is already installed!"
IDS_ERROR_FONTCPY "Failed to copy the font file!"
IDS_ERROR_OPENKEY "Failed to open the fonts registry key!"
IDS_ERROR_REGISTER "Failed to register the new font!"
IDS_SUCCESS "Success"
IDS_COMPLETED "Font installation completed."
IDS_ERROR_ISINSTALLED "此字体已安装!"
IDS_ERROR_FONTCPY "复制字体文件失败!"
IDS_ERROR_OPENKEY "无法访问字体注册表项!"
IDS_ERROR_REGISTER "注册新字体失败!"
IDS_SUCCESS "成功"
IDS_COMPLETED "字体安装完成。"
IDS_FILTER_LIST "所有支持的字体 (*.fon;*.fnt;*.ttf;*.ttc;*.otf;*.otc)\0*.fon;*.fnt;*.ttf;*.ttc;*.otf;*.otc\0\
字体文件 (*.fon;*.fnt)\0*.fon;*.fnt\0\
TrueType 字体 (*.ttf)\0*.ttf\0\

View File

@@ -7,7 +7,7 @@ card-game library.
Freeware
Copyright J Brown 2001
Updates at http://www.catch22.net
Updates at https://www.catch22.net/
******************************************/

View File

@@ -5,6 +5,11 @@
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
#define REACTOS_STR_FILE_DESCRIPTION "ReactOS Solitaire Game"
#define REACTOS_STR_INTERNAL_NAME "sol"
#define REACTOS_STR_ORIGINAL_FILENAME "sol.exe"
#include <reactos/version.rc>
IDI_SOLITAIRE ICON "solitaire.ico"
#include <reactos/manifest_exe.rc>

View File

@@ -11,7 +11,7 @@ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
/* Dialoguri */
IDD_CARDBACK DIALOGEX 6, 6, 345, 185
CAPTION "Selectare culoare dorsală"
CAPTION "Modificare aspect"
FONT 8, "MS Shell Dlg"
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | DS_SHELLFONT
BEGIN
@@ -27,20 +27,20 @@ BEGIN
CONTROL "", IDC_CARDBACK10, "Static", SS_NOTIFY, 175, 89, 50, 71
CONTROL "", IDC_CARDBACK11, "Static", SS_NOTIFY, 232, 89, 50, 71
CONTROL "", IDC_CARDBACK12, "Static", SS_NOTIFY, 289, 89, 50, 71
DEFPUSHBUTTON "Con&firmă", IDOK, 114, 165, 54, 14
PUSHBUTTON "A&nulează", IDCANCEL, 176, 165, 54, 14
DEFPUSHBUTTON "OK", IDOK, 114, 165, 54, 14
PUSHBUTTON "Revocare", IDCANCEL, 176, 165, 54, 14
END
IDD_DIFFICULTY DIALOGEX 100, 100, 106, 80
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | DS_SHELLFONT
CAPTION "Joc la categoria"
CAPTION "Dificultate"
FONT 8, "MS Shell Dlg"
BEGIN
AUTORADIOBUTTON "&Ușoară (o culoare)", IDC_DIF_ONECOLOR, 8, 10, 80, 10, WS_GROUP | WS_TABSTOP
AUTORADIOBUTTON "&Medie (două culori)", IDC_DIF_TWOCOLORS, 8, 23, 80, 10
AUTORADIOBUTTON "&Grea (patru culori)", IDC_DIF_FOURCOLORS, 8, 36, 80, 10
DEFPUSHBUTTON "Con&firmă", IDOK, 8, 58, 40, 14
PUSHBUTTON "A&nulează", IDCANCEL, 58, 58, 40, 14
AUTORADIOBUTTON "&Facil: O culoare", IDC_DIF_ONECOLOR, 8, 10, 80, 10, WS_GROUP | WS_TABSTOP
AUTORADIOBUTTON "&Mediu: Două culori", IDC_DIF_TWOCOLORS, 8, 23, 80, 10
AUTORADIOBUTTON "&Dificil: Patru culori", IDC_DIF_FOURCOLORS, 8, 36, 80, 10
DEFPUSHBUTTON "OK", IDOK, 8, 58, 40, 14
PUSHBUTTON "Revocare", IDCANCEL, 58, 58, 40, 14
END
/* Șiruri */
@@ -49,27 +49,27 @@ STRINGTABLE
BEGIN
IDS_SPI_NAME "Spider Solitaire"
IDS_SPI_ABOUT "Spider Solitaire de Gregor Schneider\nCardLib versiune 1.0"
IDS_SPI_QUIT "Abandonați jocul curent?"
IDS_SPI_QUIT "Ieșiți din jocul actual?"
IDS_SPI_WIN "Felicitări, ați câștigat!"
IDS_SPI_DEAL "O nouă rundă?"
IDS_SPI_DEAL "Începeţi un alt joc?"
END
/* Meniuri */
IDR_MENU1 MENU
BEGIN
POPUP "J&oc"
POPUP "&Joc"
BEGIN
MENUITEM "Rundă &nouă\tF2", IDM_GAME_NEW
MENUITEM "Joc &nou\tF2", IDM_GAME_NEW
MENUITEM SEPARATOR
MENUITEM "Culoare &dorsală…", IDM_GAME_DECK
MENUITEM "&Modificare aspect…", IDM_GAME_DECK
MENUITEM SEPARATOR
MENUITEM "I&eșire", IDM_GAME_EXIT
MENUITEM "I&eşire", IDM_GAME_EXIT
END
POPUP "Aj&utor"
BEGIN
MENUITEM "&Manual…\tF1", IDM_HELP_CONTENTS
MENUITEM "&Despre", IDM_HELP_ABOUT
MENUITEM "&Cuprins\tF1", IDM_HELP_CONTENTS
MENUITEM "&Despre Spider Solitaire", IDM_HELP_ABOUT
END
END

View File

@@ -5,6 +5,11 @@
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
#define REACTOS_STR_FILE_DESCRIPTION "ReactOS Spider Solitaire Game"
#define REACTOS_STR_INTERNAL_NAME "spider"
#define REACTOS_STR_ORIGINAL_FILENAME "spider.exe"
#include <reactos/version.rc>
IDI_SPIDER ICON "spider.ico"
#include <reactos/manifest_exe.rc>

View File

@@ -11,6 +11,6 @@ add_rc_deps(rsrc.rc ${winmine_rc_deps})
add_executable(winmine ${SOURCE} rsrc.rc)
set_module_type(winmine win32gui UNICODE)
target_link_libraries(winmine wine)
add_importlibs(winmine user32 gdi32 advapi32 shell32 msvcrt kernel32 ntdll)
add_importlibs(winmine user32 gdi32 advapi32 shell32 winmm msvcrt kernel32 ntdll)
add_pch(winmine main.h SOURCE)
add_cd_file(TARGET winmine DESTINATION reactos/system32 FOR all)

View File

@@ -14,6 +14,7 @@ BEGIN
MENUITEM "&Нов\tF2", IDM_NEW
MENUITEM SEPARATOR
MENUITEM "Слагане на &питанка", IDM_MARKQ
MENUITEM "Sound", IDM_SOUND
MENUITEM SEPARATOR
MENUITEM "На&чинаещ", IDM_BEGINNER
MENUITEM "&Напреднал", IDM_ADVANCED

View File

@@ -14,6 +14,7 @@ BEGIN
MENUITEM "&Nová\tF2", IDM_NEW
MENUITEM SEPARATOR
MENUITEM "&Označovat nerozhodnuté", IDM_MARKQ
MENUITEM "Sound", IDM_SOUND
MENUITEM SEPARATOR
MENUITEM "&Začátečník", IDM_BEGINNER
MENUITEM "&Pokročilý", IDM_ADVANCED

View File

@@ -14,6 +14,7 @@ BEGIN
MENUITEM "&Nyt spil\tF2", IDM_NEW
MENUITEM SEPARATOR
MENUITEM "&Brug spørgsmålstegn", IDM_MARKQ
MENUITEM "Sound", IDM_SOUND
MENUITEM SEPARATOR
MENUITEM "Ny&begynder", IDM_BEGINNER
MENUITEM "&Avanceret", IDM_ADVANCED

View File

@@ -14,6 +14,7 @@ BEGIN
MENUITEM "&Neu\tF2", IDM_NEW
MENUITEM SEPARATOR
MENUITEM "&Merker", IDM_MARKQ
MENUITEM "Sound", IDM_SOUND
MENUITEM SEPARATOR
MENUITEM "&Anfänger", IDM_BEGINNER
MENUITEM "&Fortgeschrittene", IDM_ADVANCED

Some files were not shown because too many files have changed in this diff Show More