Commit graph

83809 commits

Author SHA1 Message Date
Dmitry Borisov ffbc81fdf2 [FREELDR] Implement bus mouse detection
This allows to automatically install the inport device driver
(it's now possible since 7d5e159131), which can be used on 86Box.

References:
- https://raw.githubusercontent.com/86Box/86Box/master/src/device/mouse_bus.c
- https://bochs.sourceforge.io/cgi-bin/lxr/source/iodev/busmouse.cc
2023-08-05 16:40:13 +03:00
Dmitry Borisov a14019b219 [INPORT] Fix swapped buttons for the inport bus mouse
Also don't read the delta state when there is no mouse movement.
2023-08-05 16:40:07 +03:00
Katayama Hirofumi MZ 36a35ee203
[ATL] CImage: Hack fix for getting filter string (#5528)
- Fix the crash on opening/saving file.
- To get the filename extension info from CODECs, we have to keep gdiplus.dll loaded.
- The perfect fix will take time.
CORE-19093, CORE-19094
2023-08-05 21:23:21 +09:00
Katayama Hirofumi MZ b4bc6f0a6a
[SHLWAPI][SHLWAPI_APITEST][SDK] SHCreatePropertyBagOnMemory (#5511)
- Add propbag.cpp.
- Add CBasePropertyBag / CMemPropertyBag classes.
- Implement SHCreatePropertyBagOnMemory.
- Strengthen SHPropertyBag testcase in shlwapi_apitest.
CORE-9283
2023-08-05 21:20:58 +09:00
Katayama Hirofumi MZ 7100fa8854
[SHELL32] Move SheRemoveQuotesA/W to iconcache.cpp (#5529)
Follow-up to #5517 (358e45d). stubs.cpp is for stub functions only. CORE-9277
2023-08-05 21:17:06 +09:00
Katayama Hirofumi MZ 358e45d33a
[SHELL32][SHELL32_APITEST][SDK] Implement SheRemoveQuotesA/W (#5517)
- Implement SheRemoveQuotesA and SheRemoveQuotesW functions.
- Add She testcase into shell32_apitest.
- Add SheRemoveQuotesA/W into <undocshell.h>.
CORE-9277
2023-08-05 19:44:13 +09:00
Huw Campbell 1273bbe417
[SHELL32] Improve CFSDropTarget::CopyItems logic (#5481)
The previous version resolved the path of the parent then did logic
assuming simple pidls. This now resolves each source directly.

This change addresses a longstanding TODO in copying and moving to shell folders.
It's a simple change, but it removes a bit of code and makes things simpler.

Corresponding Wine PR: https://gitlab.winehq.org/wine/wine/-/merge_requests/3360
2023-08-05 13:12:36 +03:00
Timo Kreuzer 9bc5b8357a [NTOS:MM] Fix use-after-free error
The VAD / memory area can get deleted when calling MmUnmapViewOfSegment, so it must not be used after that.
2023-08-05 11:57:58 +03:00
Timo Kreuzer 2d7ff7ea33 [MSCAT32] Convert stubs into forwarders 2023-08-05 09:00:13 +03:00
Doug Lyons 21e30f3f67
[SHELL32_APITEST] Add test for Control Panel's GetDisplayNameOf (#5495)
New regression test for shell32!GetDisplayNameOf, showing that the return
value of the function will be 'S_FALSE' when the first argument is NULL.
Also, the returned STRRET structure data is not modified by this call.

CORE-18841
2023-08-04 16:54:31 +03:00
Katayama Hirofumi MZ 329df0a9e6
[SDK] Add SHPropertyBag_ReadInt/WriteInt prototype (#5522)
Add SHPropertyBag_ReadInt / SHPropertyBag_WriteInt into <shlwapi_undoc.h>.
CORE-9283
2023-08-04 22:53:07 +09:00
Katayama Hirofumi MZ 2e9d03da90
[SHELL32][SDK] Implement SHLimitInputCombo (#5521)
SHLimitInputCombo function sets limits on valid characters for a combobox control.
This function works like SHLimitInputEdit, but the target is a combobox instead of a textbox.
CORE-9277
2023-08-04 22:29:05 +09:00
Carl J. Bialorucki 5b40f6f353
[EXPLORER] Add support for Windows 7 style system tray icon spacing (#5489)
When using large taskbar icon:
- Increase the padding around system tray icons.
- Push the clock text further to the right, increasing the left padding
  between the clock and notification icons.
  This matches Windows 7 shell behavior.
- Correct the spacing for the clock area, in the case when bPreferDate is
  enabled, only two lines are visible, and the day of the week is shorter
  than the date.

CORE-11698
2023-08-04 14:20:19 +03:00
Carl J. Bialorucki f65c03a28c
[SOLITAIRE] Use the shell about dialog for solitaire and spider (#5493)
Use the shell about dialog for solitaire and spider solitaire.
This increases visual consistency throughout the operating system
and matches the behavior of the game from Windows XP.

- Use the shell about dialog instead of a plain MessageBox.
- Since the shell about dialog can only handle two lines of text,
  shorten the message dialog text to two lines.
2023-08-04 01:50:39 +03:00
Andrew Dent cf4bb8fced
[WALLPAPERS] Optimize PNG images (#5506)
- Lossless optimization with `pngslim` saving ~1-9%.
- Restricted to RGB color mode (‘c2’), for maximum compatibility.
2023-08-04 01:36:43 +03:00
Andrew Dent bea6d7635a
[CMD] Tweak comment for %TIME% format (#5499)
- Precisely describe `time` format, based on CLDR standard:
  http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table
- Had spent time verifying the behavior on Windows and ReactOS,
  this strict definition may be helpful for future researchers.
2023-08-04 01:34:24 +03:00
Katayama Hirofumi MZ 6bc864acac
[SHLWAPI] Add G. Chappell's documentation links (#5515)
Add comments to SHPropertyBag_... functions. CORE-9283
2023-08-03 20:48:58 +09:00
Hermès Bélusca-Maïto bd0eaa924d
[HALX86] HalHandleNMI: Re-enable debugger-entering code. 2023-08-03 13:26:24 +02:00
Thamatip Chitpong 32411dece0 [SHELL32] Fix taskbar large icon for control panel applets
Addendum to 0e8cf6f (#5465).
CORE-11698
2023-08-03 16:43:08 +07:00
Thamatip Chitpong 4c21d97d84 [EXPLORER] Add comments for CTaskSwitchWnd::GetWndIcon 2023-08-03 16:43:08 +07:00
Thamatip Chitpong 9049638dac [EXPLORER] Fix taskbar large icon for some apps
Addendum to 0e8cf6f (#5465).
CORE-11698
2023-08-03 16:43:08 +07:00
Katayama Hirofumi MZ 0160354145
[SHLWAPI] Fix version control (_WIN32_WINNT) (#5514)
- _WIN32_WINNT had wrong value to do workaround on Vista+ RegGetValueW.
- Do #undef and #define _WIN32_WINNT _WIN32_WINNT_VISTA in assoc.c.
- Delete _WIN32_WINNT hack in CMakeLists.txt.
CORE-9283
2023-08-03 18:25:12 +09:00
Katayama Hirofumi MZ 6299340c45
[SHLWAPI][SHLWAPI_APITEST][SDK] Implement SHPropertyBag_ReadGUID etc. (#5491)
- Implement SHPropertyBag_ReadGUID and SHPropertyBag_ReadStream functions.
- Modify shlwapi.spec and shlwapi_undoc.h.
 CORE-9283
2023-08-02 10:35:25 +09:00
Joachim Henze 53b30e3f3b [NTOSKRNL][NTGDI] Formatting addendum, no functional change
I intend to port back the combined work of Thomas Faber and Serge Gautherie in context of CORE 14271.
Both developers fixed wrong retval evaluations for SeSinglePrivilegeCheck() and RtlCreateUnicodeString().
Both functions do return a BOOLEAN, and therefore using NTSTATUS() on them is wrong.
Those bugs have been fixed at multiple places. That is long gone.

But Serge fixed his locations a bit more elegantly, without the need for additional variables.
Therefore this addendum adapts a few of Thomas locations to the improved Serge-ified style.

Yes: I intentionally used a space instead of a minus after the mentioned CORE 14271,
as I don't want that pure stylistic addendum to be linked with the initial ticket anymore.
That would be overkill.
2023-08-01 22:32:25 +02:00
Katayama Hirofumi MZ 50774f865c
[ATL] CImage: Respect CODEC info (#5408)
Add _getAllEncoders and _getAllDecoders helper functions and use them
in GetImporterFilterString, GetExporterFilterString, FileTypeFromExtension
and GetClsidFromFileType functions.
CORE-18867, CORE-19008
2023-07-31 07:22:38 +09:00
David L Bean f8a6542b15
[IP] Don't reference uninitialized PCB to avoid BSOD. CORE-18982
transport calls to LibTCPConnect that suffer certain early failures
like parameter errors or early route lookup failures return without
initializing the pcb.
In order to avoid later BSOD's this change clears the
ConnectionRequest bucket in those cases.
2023-07-30 16:52:55 -04:00
Andrew Dent e5993f13f0
[REACTOS] Optimize PNG images (#5492)
* [PIFMGR] Optimize png images

- Lossless optimization with `pngslim`. Saves ~50%.
- Restricted to RGBA color mode (‘c6’), for maximum compatibility at the cost of some compression.

* [ROSAPPS] Optimize png image

- Lossless optimization with `pngslim`. Saves ~10%.

* [MSTSC] Optimize png image

- Lossless optimization with `pngslim`. Saves ~56%.
- Restricted to RGBA color mode (‘c6’), for maximum compatibility at the cost of some compression.

* [Themes] Optimize png image

- Lossless optimization with `pngslim`. Saves ~20%.
- Restricted to RGB color mode (‘c2’), for maximum compatibility.
2023-07-30 22:32:34 +02:00
Joachim Henze 6b7efb331c [NTUSER] co_IntSendMessageWithCallBack: Formatting only, no functional changes
e.g. wrong indentation.
Want to port something back here, and the slight tweaking allows master to remain
in sync with previous releases.
2023-07-30 21:39:10 +02:00
Katayama Hirofumi MZ 985680068c
[ATL] Overload const-return-versions of FindChar/FindString/FindOneOf (#5473)
Overload the const-return-versions of FindChar/FindCharReverse/FindString/FindOneOf.
Modify CStringT::Replace.
2023-07-30 07:59:01 +09:00
Serge Gautherie 2010a5b8d9
[IP] Unlock Connection when TCPAllocatePort() fails. CORE-18371
Addendum to 874d317 (0.4.15-dev-5707, #5074).
2023-07-29 11:23:13 -04:00
Timo Kreuzer 539c316589 [NTOS:Mm] Fix some 64 bit issues 2023-07-29 14:00:44 +03:00
Jérôme Gardou 69daff72d2 NTOS:CC Free some VACBs when we're under memory pressure 2023-07-29 14:00:44 +03:00
Jérôme Gardou 470ad18825 Revert "[NTOS:CC] Wake up lazy scan after inserting elements in the list."
This reverts commit 6e4f83da70.
2023-07-29 14:00:44 +03:00
Timo Kreuzer 876769fdd5 [NTOS:Mm] Use MmRebalanceMemoryConsumersAndWait in the page fault handler 2023-07-29 14:00:44 +03:00
Timo Kreuzer 047dc9729f [NTOS:Mm] Implement MmRebalanceMemoryConsumersAndWait 2023-07-29 14:00:44 +03:00
Timo Kreuzer 7c6e4d38c7 [NTOS:Mm] Handle failure to allocate pages in the page fault handler 2023-07-29 14:00:44 +03:00
Timo Kreuzer 3ae12d5a8c [NTOS:Mm] Fail gracefully when no pages are available 2023-07-29 14:00:44 +03:00
Timo Kreuzer d7de53b6d5 [NTOS:Mm] Bail out in MmTrimUserMemory, when all LRU pages have been looped through 2023-07-29 14:00:44 +03:00
Timo Kreuzer 5f014e421b [NTOS:Mm] Handle RosMm pages in MiDecrementReferenceCount
This is required, when RosMm unmaps locked pages and they later get unlocked.
2023-07-29 14:00:44 +03:00
Timo Kreuzer 80dd9f5a90 [NTOS:Mm] Add PFN ShareCount handling to old Mm 2023-07-29 14:00:44 +03:00
Timo Kreuzer 73de609917 [NTOS:Mm] Implement MmCreatePhysicalMapping and MmDeletePhysicalMapping to handle pyhsical memory sections 2023-07-29 14:00:44 +03:00
Timo Kreuzer 918e331970 [NTOS:Mm] Fix race condition in _MmSetPageEntrySectionSegment
The function updates the entry in the section page table and updates the section association rmaps for it. In the page-in path, when the new section association is set before the entry is updated, a concurrent attempt to unmap the page would find an inconsistent entry, where there is an rmap, but the section page table entry is still an MM_WAIT_ENTRY.
2023-07-29 14:00:44 +03:00
Timo Kreuzer 54d1b39676 [NTOS:Mm] Fix locking for MmGetSectionAssociation
MmGetSectionAssociation races with _MmSetPageEntrySectionSegment without sharing a lock. So we need to hold the PFN lock, until we have referenced the section segment found in the RMAP. This prevents that a section segment, which still has associated RMAPs from being deleted behind our back.
2023-07-29 14:00:44 +03:00
Timo Kreuzer 477792856e [NTOS:Mm] Replace YieldProcessor() with KeDelayExecutionThread()
These are used in the paging path, when the page is currently in the process of being read from or written to the disk. While YieldProcessor() provides the chance to switch context to the other paging thread, it only does so, once the current thread's quantum has expired. On a single CPU system this effectively leads to busy waiting for the rest of the quantum. On SMP systems this could succeed earlier, thus reducing latency, but it would still contribute to high CPU usage, while waiting for the IO operation to complete, which is not what we want.
Using KeDelayExecutionThread() will instantly allow another thread to run, providing enough time to complete the IO operation.
2023-07-29 14:00:44 +03:00
Carl J. Bialorucki d70e798977
[BROWSEUI] Use details view by default (#5452) CORE-18904
* Detail view by default, except in special folders
* Added hack/fixme disclaimer
2023-07-28 21:20:00 +02:00
Katayama Hirofumi MZ 02b65773a3
[SHLWAPI][SHLWAPI_APITEST][SDK] Implement SHPropertyBag_ReadBSTR etc. (#5487)
- Implement SHPropertyBag_ReadBSTR, SHPropertyBag_ReadStr, SHPropertyBag_ReadPOINTL,
SHPropertyBag_ReadPOINTS, and SHPropertyBag_ReadRECTL functions.
- Add link to oleaut32 in shlwapi_apitest.
CORE-9283
2023-07-27 11:06:49 +09:00
David L Bean dcaf5686ce
[ADVAPI32] Don't treat a structure pointer as a string pointer (#5478)
Add a string pointer local variable, assign it and operate on it.
This should eliminate an exception and make LsapIsLocalComputer()
function operate correctly.

CORE-18996
2023-07-27 01:58:44 +03:00
Carl J. Bialorucki 4511e62b10
[EXPLORER] Restore minimized windows with the correct position (#5488)
Stop storing and setting window positions from the taskbar and rely
on the window's existing position instead. Partial revert of e6bced7a35.

Windows are now correctly positioned when being restored from the taskbar.
This also fixes an issue where minimizing and opening Task Manager causes
the window to become blank when running our shell in Windows Server 2003.

CORE-19055 CORE-13895 CORE-18350
2023-07-27 00:26:42 +03:00
Andrew Dent 8f3a09722e
[MSPAINT] Optimize images for help docs (#5486)
Lossless optimization of png images using `pngslim`.

Saves some bytes. No code changes.
2023-07-26 19:58:29 +03:00
Thamatip Chitpong 41e3badc9a
[TASKMGR] Process page: Don't hardcode string length (#5490)
Addendum to 59dcec1 (#4323).
2023-07-26 23:26:20 +07:00