Commit graph

82034 commits

Author SHA1 Message Date
George Bișoc
657bc083dc
[NTOSKRNL] Add FPU pool tags 2022-05-24 18:39:45 +02:00
George Bișoc
66c1bb7eab
[MC] Add INVALID_FLOATING_POINT_STATE bugcheck code
This kind of code will be used for FPU Save/Restore related code.
2022-05-24 18:39:30 +02:00
Wilson Simanjuntak
1f2d450599
[TRANSLATION] Improve Indonesian (id-ID) translation [part 1] (#4500)
[CALC] [DRWTSN32] [DXDIAG] Add Indonesian translation
[REACTOS] [USETUP] [EXPLORER] Improve Indonesian translation

Signed-off-by: Wilson Simanjuntak <wilsontulus5@gmail.com>
Reviewed-by: Mas Ahmad Muhammad <m.charly81@gmail.com>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-05-24 19:14:41 +03:00
Thamatip Chitpong
1aa95f3897
[EXPLORER] Implement CDesktopThread::Destroy (#4371)
Now Explorer exits properly without using ExitProcess hack.

Signed-off-by: Thamatip Chitpong <tangaming123456@outlook.com>
Reviewed-by: Mark Jansen <mark.jansen@reactos.org>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-05-24 14:58:24 +03:00
Marcus Boillat
4900dd3d87
[RAPPS] Improve localized display of installation date (#4498)
Parse InstallDate registry key in "YYYYMMDD" format. CORE-17422

Signed-off-by: Marcus Boillat <marcus.boillat@gmail.com>
Reviewed-by: Mark Jansen <mark.jansen@reactos.org>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-05-24 12:20:52 +03:00
Victor Perevertkin
505ac6565a
[NTOS:PNP] Misc IoInvalidateDeviceState fixes
- Add a check for correct PDO before doing anything
- Process the request only for started devices
- Send the request synchronously during the start sequence

This makes Windows' i8042prt.sys work on ReactOS.
Addendum to cf0bc1c132
2022-05-24 05:04:11 +03:00
Stanislav Motylkov
17154c94c1
[DESKMON] Implement GetMonitorDevInstID function
- Now our deskmon.cpl extension works on Windows XP and 2003
  and does open the monitor device properties correctly.
- Also "Properties" button should be disabled
  when no Device Instance ID found for the monitor.
2022-05-23 23:54:41 +03:00
Stanislav Motylkov
fcba0968be
[DESK] Add debug prints to pCDevSettings_GetDeviceInstanceId
Addendum to 3900cf88.
2022-05-23 23:50:47 +03:00
Hermès Bélusca-Maïto
985468d08a
[NTOS:SE] Replace a bunch of RtlCopyLuid() calls into direct assignations (#4523)
Nowadays' compilers support such direct structure assignations,
and our existing codebase already uses that in other places.
2022-05-23 19:30:37 +02:00
Hermès Bélusca-Maïto
487d8601f9
[NTOS:SE] SepPerformTokenFiltering(): Fix corruption of DynamicPart (#4523)
The problem is that EndMem is changed to point to the DynamicPart of
the token, but the code after that expects it to still point into the
VariablePart instead.

Problem fixed by moving the insertion of RestrictedSids much sooner
(where the original ones are also being copied).
2022-05-23 19:30:36 +02:00
Hermès Bélusca-Maïto
9676188543
[NTOS:SE] NtAdjustGroupsToken(): Avoid double-free on ObReferenceObjectByHandle failure path (#4523) 2022-05-23 19:30:36 +02:00
Hermès Bélusca-Maïto
3370652dfc
[NTOS:SE] Fix locking in SepDuplicateToken() and SepPerformTokenFiltering() (#4523)
Shared locking must be used on the source token as it is accessed for
reading only. This fixes in particular the kmtest SeTokenFiltering that
would hang otherwise on a (wrong) exclusive locking.

- SepPerformTokenFiltering(): Always shared-lock the source token.
  Its callers (NtFilterToken and SeFilterToken) just need to sanitize and
  put the parameters in correct form before calling this helper function.

- Sync comments in NtFilterToken() with SeFilterToken().
2022-05-23 19:30:35 +02:00
Hermès Bélusca-Maïto
b33911b93d
[NTOS:SE] SepPerformTokenFiltering(): Remove useless SEH handling (#4523)
This function is either called inter-kernel (in which case, all
parameters must be valid, and if not, we have to bugcheck), or, it
is called with **captured** parameters (from NtFilterToken) and those
latter ones are now expected to be valid and reside in kernel-mode.
Finally, data copied between token structures reside in kernel-mode
only and again are expected to be valid (if not, we bugcheck).
2022-05-23 19:30:34 +02:00
Hermès Bélusca-Maïto
389a2da7ff
[NTOS:SE] SepCaptureAcl(): Add missing validation of the captured ACL (#4523)
- The ACL is however not validated when the function is called within
  kernel mode and no capture is actually being done.

- Simplify aspects of the function (returning early when possible).
2022-05-23 19:30:34 +02:00
Hermès Bélusca-Maïto
a0bcf90f35
[NTOS:SE] SeValidSecurityDescriptor(): Add missing validation aspects (#4523)
- Add extra bounds checks.
- Add missing RtlValidAcl() calls for verifying the DACL and SACL.
2022-05-23 19:30:33 +02:00
Hermès Bélusca-Maïto
d21895e6ef
[WIN32K:NTUSER] Only call IntFreeSecurityBuffer() when needed, don't free NULL buffers.
Addendum to 878c2f44.
2022-05-23 19:30:13 +02:00
Stanislav Motylkov
3900cf88b3
[DESK] Implement pCDevSettings_GetDeviceInstanceId properly
- CM_Locate_DevNodeW expects a Device Instance ID as second argument,
  so it cannot be used for converting a Hardware ID.
- Use SetupAPI functions here instead, as documented in:
  https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-enumdisplaydevicesw
- Now our desk.cpl passes correct identifier to CPL extensions,
  such as deskadp and deskmon, so clicking on "Properties" in the
  advanced display properties now works in Windows XP.
- Also fix copypasta in DisplayAdvancedSettings that affected applet
  built with MSVC - deskadp extension was loaded twice.
- Also fix magic flag value for EDD_GET_DEVICE_INTERFACE_NAME.
2022-05-23 19:04:47 +03:00
Stanislav Motylkov
6dc17389cb
[DESK] Synchronize translations
- Fix differences in punctuation
- pt-PT had something out of place that other translations didn't had at all
2022-05-23 02:44:03 +03:00
Hervé Poussineau
d2a87f1b7f [WIN32K] Improve finding the best matching display mode
Search the display mode having the smallest difference with the requested one.
We can then remove the hardcoded values of 60 Hz and 32 bpp by default.

CORE-18189
2022-05-22 23:42:03 +02:00
Hervé Poussineau
63e59e10f3 Revert "[WIN32SS] Only refresh graphics mode list when iModeNum = 0"
This reverts commit c243133b2c.

Without the revert, VirtualBox auto-resize doesn't work on first attempt,
but only on next ones.
However, according to documentation, we must only initialize device and
cache information when iModeNum = 0.

CORE-18189
2022-05-22 23:42:00 +02:00
Hervé Poussineau
588285881e [WIN32SS] Change LDEVOBJ_bProbeAndCaptureDevmode to load missing settings from registry
- use EngpGetDisplayDriverParameters to get display settings from registry
- update searched display settings with the provided ones (+ add missing SEH2)
- then, search exact mode

User can now change only one display setting, without specifying other ones.
2022-05-22 17:32:44 +02:00
Hervé Poussineau
9acd895f18 [WIN32SS] Copy loading of registry settings from mdevobj.c to new function
This function will be used in next commit, and duplicated implementation
in mdevobj.c will be dropped.
2022-05-22 17:32:40 +02:00
Hervé Poussineau
900beca021 [WIN32SS] In LDEVOBJ_bGetClosestMode, search 60 Hz if everything failed
This function needs probably to be rewritten.
2022-05-22 17:32:08 +02:00
Hervé Poussineau
22dac3447f Revert "[WIN32SS] Handle panning in LDEVOBJ_bProbeAndCaptureDevmode"
This reverts commit 37c2bb3985.

CORE-18189
2022-05-22 17:31:44 +02:00
Hervé Poussineau
c243133b2c [WIN32SS] Only refresh graphics mode list when iModeNum = 0
We don't expect graphics mode list to change while enumerating it.
2022-05-22 17:31:40 +02:00
Eric Kohl
434cf85d96 [DISKPART] Do not print command descriptions twice 2022-05-21 16:59:45 +02:00
Eric Kohl
417687e92e [DISKPART] Improvements to the dump, help and delete commands
- Print help only if a help string exists.
- Use the command table for the dump sub commands.
- Add sub commands for the delete command.
2022-05-21 10:43:38 +02:00
Luke Luo
de972e2bc2
[TRANSLATION] Improve Simplified Chinese (zh-CN) translation (#4513)
- Changed some wording according to the translation requirements.
- Fixed some mistakes.
- Changed my name.

Reviewed-by: He Yang <1160386205@qq.com>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-05-20 15:38:24 +03:00
Marcus Boillat
05183677d9
[FRAGINATOR] Fix some uninitialized variables and make it work again (#4497)
Set BitmapSize to zero so DeviceIOControl doesn't fail.

ROSAPPS-332
2022-05-20 14:59:01 +03:00
Tuur Martens
4f8bbd141e [NTOS:MM] Fix memory leak in MiMapViewOfDataSection
If inserting the allocated VAD fails, MiMapViewOfDataSection will make no attempt to free the allocated VAD. Nor will it call MiDereferenceControlArea(ControlArea); like other failure return paths. This commit fixes this behavior.
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2022-05-18 12:31:31 +02:00
Eric Kohl
032c50f87c [DISKPART] Clean up the help system and fix translations
@Translators: You can translate text again, but please do no translate placeholder text.
2022-05-16 01:46:32 +02:00
Hermès Bélusca-Maïto
15be457b6d
[NOTEPAD] Simplify code for UpdateWindowCaption(). Addendum to 1d690f04.
One StringCbPrintf() call is sufficient, that can cover both
clearModifyAlert == TRUE or FALSE cases.
Also, only SendMessage(EM_GETMODIFY) when clearModifyAlert == FALSE
(during text edition).
2022-05-15 19:22:57 +02:00
Stanislav Motylkov
6612682b87
[DISKPART] Fix MSVC build. Addendum to 566e898. 2022-05-15 15:10:05 +03:00
Eric Kohl
566e8989c3 [DISKPART] Improve the command table to support subcommands and start work on the create command
- Extend the command table to support subcommands.
- Get rid of the existing subcommand code.
- Use the new subcommand suport for the help system.
- Start work on the create command.

@Translators: Please do not translate any changes yet, because I will improve help system in one of the next steps.
2022-05-15 12:27:53 +02:00
Katayama Hirofumi MZ
1d690f0411
[NOTEPAD] Less flickering title bar (#4516)
When typing text on NotePad, then NotePad title bar flickers.
- Save previous modification flag.
- If no change in modification flag, do not set the title bar text.
2022-05-15 14:38:43 +09:00
Katayama Hirofumi MZ
99d9fc698f
[KBDJA][NTUSER] Improve scancode_to_vk data (#4515)
- Fix scancode_to_vk variable.
- Add special handling to win32k!ProcessKeyEvent function for Japanese.
CORE-11700
2022-05-15 12:53:12 +09:00
Hervé Poussineau
81aa81e38f [WIN32SS] Implement display acceleration level 5 (ie no acceleration)
This is a easy as forcing usage of panning driver.
2022-05-14 21:29:12 +02:00
Hervé Poussineau
4e0f2fc01c [WIN32SS] Implement panning driver
This can be configured in registry with DefaultSettings.XPanning and
DefaultSettings.YPanning, which describe the real screen resolution.

DefaultSettings.XResolution and DefaultSettings.YResolution describe
the resolution of the virtual screen.
2022-05-14 21:29:12 +02:00
Hervé Poussineau
83d2c8ce33 [WIN32SS] mouse: call panning driver when moving pointer
Yes, if a driver supports both hardware pointers and panning, it will be called twice on each move.
2022-05-14 21:29:12 +02:00
Hervé Poussineau
57c07ba117 [WIN32SS] mouse: use pointer flags in PDEVOBJ
When changing pointer cursor:
- use PDEV_HARDWARE_POINTER flag if using hardware pointer
- use PDEV_SOFTWARE_POINTER flag if using software pointer
- keep pfnMovePointer as an accelerator to driver function (if available) and never change it
- fix bug (2 pointers) when switching between hardware and software pointer

When moving pointer:
- check PDEV_HARDWARE_POINTER flag to know if we need to call the driver
- check PDEV_SOFTWARE_POINTER flag to know if we need to call EngMovePointer
2022-05-14 21:29:12 +02:00
Hervé Poussineau
37c2bb3985 [WIN32SS] Handle panning in LDEVOBJ_bProbeAndCaptureDevmode
- search a graphic mode corresponding to real screen resolution (not virtual panning one)
- when capturing the selected mode, copy from input the virtual panning resolution
- when searching the best mode, also try without panning
2022-05-14 21:29:12 +02:00
Hervé Poussineau
185f2dac85 [WIN32SS] Copy function table earlier, and use it in all PDEVOBJ operations 2022-05-14 21:29:12 +02:00
Tuur Martens
884356a06e [NTOS:MM] Charge and free quotas for VAD allocations
Charge quotas for VAD allocations and free the quotas again when the VADs are freed.

CORE-18028
2022-05-14 15:09:50 +02:00
Stanislav Motylkov
5ee633f7d7
[BUSLOGIC] Fix reference link to VMware driver source page
- Clarify driver version in 3rd Party Files.
- Fix some minor formatting problems.
- Also add missing OBJ_KERNEL_HANDLE to match Zw*() uses. (#4499)

CORE-10207 CORE-18180

Co-authored-by: Serge Gautherie <reactos-git_serge_171003@gautherie.fr>
2022-05-13 17:24:02 +03:00
Katayama Hirofumi MZ
6fec06b8e5
[KBDJA] Fix key names (#4507)
They will be used at user32!GetKeyNameText function. CORE-11700
2022-05-12 20:39:56 +09:00
Katayama Hirofumi MZ
5c4b8e474f
[KDBJA] Delete duplicate key entries (#4508)
Delete the duplicated key data. CORE-11700
2022-05-12 17:55:59 +09:00
Katayama Hirofumi MZ
2038087d9e
[KBDJA] Delete temporary hacks (#4506)
Improve readability of Japanese keyboard.
- SC_13 (0xDE) --> VK_OEM_7
- SC_27 (0xC0) --> VK_OEM_3
- SC_40 (0xBB) --> VK_OEM_PLUS
- SC_41 (0xBA) --> VK_OEM_1
CORE-11700
2022-05-12 14:05:16 +09:00
Katayama Hirofumi MZ
1c3474be48
[KBDJA] Enable VK_CONVERT/VK_NONCONVERT keys (#4505)
Enable VK_CONVERT/VK_NONCONVERT keys for Japanese keyboard.
- ScanCode 121 (0x79) --> VK_CONVERT.
- ScanCode 123 (0x7B) --> VK_NONCONVERT.
CORE-11700
2022-05-12 12:48:29 +09:00
Katayama Hirofumi MZ
fcc4384554
[USER32][KBDJA] Implement CliImmSetHotKey (#4504)
- Fix Japanese keyboard about [Shift]+[0] and [半/全] (VK_PROCESSKEY).
- Add user32!CliSaveImeHotKey helper function.
- Implement user32!CliImmSetHotKey function. This function is forwarded from imm32!ImmSetHotKey.
- Fix user32!TranslateMessage by using imm32!ImmTranslateMessage.
CORE-11700, CORE-18183, CORE-18182
2022-05-11 21:42:32 +09:00
Katayama Hirofumi MZ
7396ba84ce
[USER32] Implement UnloadKeyboardLayout (#4503)
- Add IntSetFeKeyboardFlags, CliImmSetHotKeyWorker, CliSetDefaultImeHotKeys, CliGetPreloadKeyboardLayouts, CliGetImeHotKeysFromRegistry, CliImmInitializeHotKeys, CliSetSingleHotKey, and CliReadRegistryValue helper functions.
CORE-11700
2022-05-11 10:03:02 +09:00