Commit graph

86207 commits

Author SHA1 Message Date
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