Commit graph

3720 commits

Author SHA1 Message Date
Katayama Hirofumi MZ
6cb1e57a63
[SHELL32] Support CSIDL_FLAG_NO_ALIAS (#4381)
Adding the CSIDL_FLAG_NO_ALIAS flag to SHGetSpecialFolderLocation should return the physical PIDL if possible.
CORE-18079
2022-03-06 15:25:45 +09:00
Katayama Hirofumi MZ
c5f6e744e7 [SHELL32] Follow-up of 'Simplify CChangeNotifyServer'
Do DestroyAllItems() on OnDestroy().
CORE-13950
2022-03-06 12:33:10 +09:00
Katayama Hirofumi MZ
08bd879247 [SHELL32] Simplify CChangeNotifyServer
- Rename ITEM as CWatchItem.
- Change CWatchItem::hRegEntry to CWatchItem::pRegEntry.
- Simplify code around CWatchItem.

CWatchItem::hRegEntry was local to server, so we could change it to a pointer. CORE-13950
2022-03-06 11:49:28 +09:00
Katayama Hirofumi MZ
6ba810c08e [IMM32] s/CLIENTIMC_UNKNOWN1/CLIENTIMC_DESTROY/
CORE-11700
2022-03-03 16:17:07 +09:00
Katayama Hirofumi MZ
f6317405f6 [IMM32] Silence "invalid HIMC" in Imm32CleanupContext
CORE-18049
2022-03-03 10:21:49 +09:00
Katayama Hirofumi MZ
cfeb498e4f
[NTUSER][IMM32] Fix ValidateHandleNoErr (#4377)
- Add DesktopPtrToUser helper function.
- Fix imm32.ValidateHandleNoErr function.
- Use DesktopHeapAlloc to allocate the IMC, instead of ExAllocatePoolWithTag.
- Use DesktopHeapFree to free the IMC, instead of ExFreePoolWithTag.
CORE-11700, CORE-18049
2022-03-03 09:43:05 +09:00
Joachim Henze
d9f156e9a8 [RASDLG] de-DE.rc Update CORE-18056
Fix the glitch
"Wenn nur eine nur einzige Leitung verbunden ist"
to
"Wenn nur eine einzige Leitung verbunden ist"
which was introduced by
SVN r67570 == git 8ad8574f4b

and a few other small glitches.
2022-02-28 12:11:05 +01:00
Mark Jansen
6304059721
[SHELL32] Add extra information when encountering an unexpected pidl
In addition, make pdump slightly less unusable
2022-02-22 19:43:05 +01:00
Mark Jansen
6a68717c58
[SHELL32] CDefaultContextMenu: Provide a fallback property sheet
CORE-17691
2022-02-22 19:40:09 +01:00
Eric Kohl
7a42954cb7 [ADVAPI32] Remove buggy declaration of SystemFunction034
Addendum to f4982e54.
2022-02-21 17:34:23 +01:00
Eric Kohl
f4982e547d [ADVAPI32][SECLOGON] Start the implementation of CreateProcessWithLogonW 2022-02-21 16:38:29 +01:00
Alex Miccolis
9b71653918
[SHELL32] Stop SHELL_execute from always executing files (#4363)
CORE-18038
Add a check (PathIsExeW) to SHELL_execute to prevent it from executing non-exe files.
2022-02-16 00:54:20 +01:00
Katayama Hirofumi MZ
45a4e53fa4
[NTUSER][IMM32] Use Imm32CurrentPti and pool (#4356)
- Use newly-defined Imm32CurrentPti() instead of NtCurrentTeb()->Win32ThreadInfo.
- THREADSTATE_GETTHREADINFO is same as THREADSTATE_UNKNOWN18.
- Use the paged pool to allocate HIMC rather than heap.
- Fix and improve ImmDestroyContext function.
CORE-11700
2022-02-13 15:51:53 +09:00
Katayama Hirofumi MZ
8cdfc245b3 [IMM32] Implement ImmWINNLSGetEnableStatus
CORE-11700
2022-02-10 15:18:44 +09:00
Katayama Hirofumi MZ
cf32c7cb5e [IMM32] Implement ImmSendMessageToActiveDefImeWndW
CORE-11700
2022-02-10 15:05:59 +09:00
Hermès Bélusca-Maïto
0b6b0b0021
[CONCFG:FONT] Convert the TT_FONT_ENTRY structure to one similar to MS Terminal's _TT_FONT_LIST. (#4337)
See the definition of struct _TT_FONT_LIST
in https://github.com/microsoft/terminal/blob/main/dep/Console/winconp.h

Add Doxygen documentation.

[CONSOLE.CPL][CONSRV] "fonts cache" -> "font cache".
2022-02-08 15:59:08 +01:00
Hermès Bélusca-Maïto
5d3915d0fc
[CONCFG:FONT][CONSRV] Use a suitable font when changing console output CP; fail if none found. (#4337)
CORE-12451, CORE-17601, CORE-17803
Replaces PR #4281.

When changing the console output code page, check whether the current
font can support it. If not, try to find a suitable font for the new
code page. If none can be found:

- if we are creating a new console, forcefully switch to codepage 437
  (OEM USA) and retry finding a font, falling back to "Terminal" if
  none could be found;

- if we were just changing the current CP, just fail and keep the old
  code page and font.

Rework the console font selection/creation functions for this new job
(see CreateConsoleFontEx() and friends). Elements of implementation
based from https://github.com/microsoft/terminal ; see code for more
information.

Silence the noisy IsValidConsoleFont2() diagnostic messages.

Add Doxygen documentation.

[CONSOLE.CPL] Only add "Terminal" to the enumerated list of faces
+ add a TODO implementation comment.
2022-02-08 15:59:07 +01:00
Hermès Bélusca-Maïto
a94436b519
[KERNEL32] SetThreadUILanguage(): Validate the parameter. Use LANGIDFROMLCID() macro. (#4301)
Both ReactOS and Win2k3 only support '0' for the parameter.
2022-02-08 15:58:04 +01:00
Hermès Bélusca-Maïto
3e44a5d71c
[KERNEL32][CONSRV] Retrieve the best-suited language ID corresponding to the active console output code page. (#4301)
CORE-17601, CORE-17803
Replaces PR #4281.

Implement SrvGetConsoleLangId() (server-side) and set the new current
thread's locale after connecting to a console, or changing its output
code page.

Based on API tracing on Windows 2003, as well as on comments and code
gathered from: https://github.com/microsoft/terminal

Tests results are listed in PR #4301.
2022-02-08 15:58:02 +01:00
Mark Jansen
ce306b83db
[SHELL32] Rename functions to fix ambiguity 2022-02-07 20:56:46 +01:00
Mark Jansen
bc5603d9d0
[SHELL32] Show properties dialog in a new thread 2022-02-07 20:56:46 +01:00
Mark Jansen
93fac5533d
[SHELL32] ShellExecute: Retry after searching for the file in the SEE_MASK_INVOKEIDLIST case
CORE-18035
2022-02-07 20:56:46 +01:00
Mark Jansen
f6f5490ab4
[SHELL32] ShellExecute: Implement SEE_MASK_INVOKEIDLIST
CORE-18035
Also simplify some error handling by using smart pointers
2022-02-07 20:56:21 +01:00
Eric Kohl
b76d49bcaa [SYSSETUP] Disable debug messages on the process page 2022-02-06 16:30:53 +01:00
Serge Gautherie
1944d7b71b [KERNEL32] HeapCreateTagsW(): Sync' types and add annotations
See RtlCreateTagHeap().
2022-02-03 20:21:40 +01:00
Serge Gautherie
25bff3a1e0 [NDK][NTDLL][RTL] RtlCreateTagHeap(): Fix types and annotations
According to
https://processhacker.sourceforge.io/doc/ntrtl_8h.html
2022-02-03 20:21:40 +01:00
Joachim Henze
cacb2db2f3 [TAPIUI] Fix es-ES.rc MSVC warning RC4206 : title string too long; truncated at 256 CORE-18034
An addendum to 0.4.15-dev-257-g 546862babc which was (#2667)

Thanks for the shortened translation, provided by Vic Marcal and julenuri.
2022-01-30 17:20:57 +01:00
Katayama Hirofumi MZ
df8c74e78b
[INCLUDE] Rename <ddk/imm.h> as <ddk/immdev.h> (#4321)
- Rename <ddk/imm.h> as <ddk/immdev.h>.
- Delete sdk/include/reactos/wine/imm.h (this header is confusing and nonsense).
- Changes related to it.
CORE-11700
2022-01-30 09:38:04 +09:00
Hermès Bélusca-Maïto
38f6fd9df7
[CONSOLE.CPL] Fix problems detected by code analysis.
colors.c(129): warning C6287: Redundant code: the left and right sub-expressions are identical.

colors.c(159): warning C6001: Using uninitialized memory 'colorIndex'.
colors.c(180): warning C6385: Reading invalid data from 'ConInfo->ColorTable': the readable size is '64' bytes, but '259696' bytes may be read.
(I thank ThFabba for the suggestion fix.)

console.c(313): warning C6387: 'ConInfo->hWnd' could be '0': this does not adhere to the specification for the function 'SendMessageW'.

font.c(60): warning C6387: 'Preview->hFont' could be '0': this does not adhere to the specification for the function 'GetFontCellSize'.
font.c(230): warning C6001: Using uninitialized memory 'szFontSize'.
font.c(230): warning C6054: String 'szFontSize' might not be zero-terminated.
font.c(671): warning C6387: 'hFont' could be '0': this does not adhere to the specification for the function 'GetFontCellSize'.

layout.c(502): warning C6387: 'FontPreview.hFont' could be '0': this does not adhere to the specification for the function 'SelectObject'.
2022-01-30 01:02:10 +01:00
Hermès Bélusca-Maïto
2a5536c540
[CONSOLE.CPL] Rewrite the BuildCodePageList() registry enumeration loop and use far less stack space.
Any valid code page value name in System\CurrentControlSet\Control\Nls\CodePage
is a string representation of its corresponding decimal value, that
cannot be larger than MAXUSHORT == 65535, i.e. longer than 5+1
characters.

Noticed with the analyser warning
dll\cpl\console\options.c(74): warning C6262: Function uses '32808' bytes
of stack: exceeds /analyze:stacksize '16384'. Consider moving some data to heap.

Make the enumeration loop actually stop when ERROR_NO_MORE_ITEMS is
returned. If we got another error, e.g. because the value name was
too long (and thus, an invalid code page), just ignore and continue
looping.
2022-01-30 01:02:08 +01:00
Hermès Bélusca-Maïto
13b3425369
[CONSOLE.CPL] Use fallback brushes for text preview in case CreateSolidBrush() fails (e.g. low memory scenario). 2022-01-30 01:02:07 +01:00
Hermès Bélusca-Maïto
0e5496d082
[CONSOLE.CPL] Add missing/fix some SendMessageW result casts. 2022-01-30 01:02:06 +01:00
Hermès Bélusca-Maïto
446eb60937
[CONSOLE.CPL] Update faces/fonts list on Fonts page activation, when the current code page has changed. 2022-01-30 01:02:05 +01:00
Victor Perevertkin
e1cda2fb9e
[WDMAUD.DRV] Enable the module for amd64 architecture 2022-01-29 12:28:55 +03:00
Joachim Henze
6a496c3991 [CRYPTUI] RC Addendum to 0.4.15-dev-3739-gff9301e CORE-18017
Strip the backslash to avoid GCC8.4.0 RosBE2.2.1 warning:

[104/108] Building RC object dll/win32.../CMakeFiles/cryptui.dir/cryptui.rc.obj
C:/ros/reactos/dll/win32/cryptui/lang/cryptui_En.rc:383: unrecognized escape sequence

The glitch was introduced yesterday
by 0.4.15-dev-3739-g ff9301e9db
2022-01-28 02:10:40 +01:00
Katayama Hirofumi MZ
356babcaf3 [IMM32] s/Imm32IsImmMode/IS_IMM_MODE/
CORE-11700
2022-01-27 07:34:29 +09:00
Joachim Henze
ff9301e9db [CRYPTUI] Fix all MSVC *.rc warnings RC4206 CORE-18017
warning RC4206 : title string too long; truncated at 256
by providing shorter translations.
We had 24 such warnings in this module on master head.
2022-01-26 03:23:24 +01:00
Katayama Hirofumi MZ
2c4beeca8e [SHELL32] CCopyToMenu/CMoveToMenu: Check if this_ is NULL 2022-01-25 21:08:14 +09:00
Katayama Hirofumi MZ
974a0f03df [SHELL32] Fix assertion failure in CMenuToolbars
CORE-17505
2022-01-25 11:49:27 +09:00
Katayama Hirofumi MZ
c199edda45
[SHELL32] Enable _DEBUG and fix assertion failures (#4307)
Improve debuggability. Fix "WorkerW" window class conflict.
- Enable _DEBUG macro if debugging, in order to enable ATLASSERT macro.
- Fix assertion failures.
- Add SHCreateDefaultWorkerWindow helper function and CWorkerTraits, then use them.
- Don't create the broker and server windows by themselves, but subclass.
CORE-17505, CORE-13950
2022-01-25 03:42:46 +09:00
Eric Kohl
085f135f1a [SFCFILES] Add sfcfiles dll and header file
Sfcfiles.dll contains only a short list of protected files (WIP).
2022-01-22 13:28:50 +01:00
Katayama Hirofumi MZ
41b87158ff
[NTUSER] Improve NtUserGetThreadState (#4300)
- Improve enum ThreadStateRoutines.
- Improve NtUserGetThreadState function.
- Improve CLIENTIMC structure.
- Improve imm32 code.
CORE-17732
2022-01-20 11:49:27 +09:00
Stanislav Motylkov
2318f7f436
[TRANSLATION] Cumulative update for Russian (ru-RU) translation
[SYSDM] Addendum to 5a2911d7, e58b4a49, ea2ca8fa.
[SHELL32] Addendum to 16f64a95, 44bb99cc, 2ae526a0, 34b0f3e4, fd39a292.
[SYSSETUP] Addendum to 556cfbf5, 6f1a57a9, 3f053db3.
[SAMSRV] Addendum to 6f1a57a9.
[BOOTDATA] Addendum to 63cd5d54.
[INF] Addendum to fb500b88.
2022-01-18 23:42:06 +03:00
Stanislav Motylkov
e105aefc1c
[SHELL32] List CD-ROM drives in the "Hardware" tab of disk properties
CORE-17397
2022-01-17 21:04:04 +03:00
Stanislav Motylkov
5bd2cb13b5
[SAMSRV] Fix typo in IDS_ALIAS_BACKUP_OPS_COMMENT (en-US and others)
Addendum to f1e768c0.
2022-01-17 20:40:31 +03:00
Hermès Bélusca-Maïto
f1ad6845a8
[SVCHOST][SECLOGON][MSWSOCK] Minimal headers cleanup.
- SVCHOST, SECLOGON: Add missing NTOS_MODE_USER.
- MSWSOCK: Remove some useless windef.h includes.
2022-01-17 01:08:09 +01:00
Jesús Sanz del Rey
9c6f1958d9
[SHELL32] Implement Recycler Bin icons (#4221)
CORE-3938

Icon extraction from the recycle bin was not possible due to the partial absence of IExtractIcon interface support.
Adding it inside the RecycleBinFile's QueryInterface private implementation, and then calling it from CRecycleBin, now allows retrieving and displaying the files' icons.
2022-01-17 00:20:07 +01:00
Jose Carlos Jesus
5165179ad8
[NEWDEV] Disable NewFolder btn and Show browser title when selecting a directory (#4288)
* [NEWDEV] Add browser title to rc files

* [NEWDEV] Show browser title when selecting a directory

* Update dll/win32/newdev/lang/pl-PL.rc

Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>

* Update dll/win32/newdev/lang/bg-BG.rc

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

* Update dll/win32/newdev/wizard.c

Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>

* Update dll/win32/newdev/lang/pl-PL.rc

Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>

* Update dll/win32/newdev/lang/pt-PT.rc

Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>

* Remove obvious comment

* Add de-DE and ru-RU translations

* Add French translation

Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
2022-01-16 17:34:59 +01:00
Adam Stachowicz
54140ba23d
[SYSDM] Update pl translation (#4289)
Addendum to ecfd01eefc and other
2022-01-16 13:58:41 +01:00
Joachim Henze
cf984cc9fe [SYSDM] pt-PT.rc Fix compiler warning RC4206 CORE-17827
Thanks to Twitter user @denzilferreira for that shortened string.
2022-01-16 12:06:26 +01:00