Fixes CORE-19745, CORE-19793, CORE-19743
This is a squashed backport of the following commits:
30b4024 [CALC] Fix copy command when output is NaN (#7496)
0e462a3 [SECLOGON] Add missing service status updates
17eff53 [REGEDIT] Add ES_AUTOHSCROLL to address bar window (#7638)
CORE-20003
While 0.4.15 will fail to apply a .ico file as a wallpaper, it will still show .ico files as possible wallpapers to select from the file picker. This PR hides these files from the file picker in desk.cpl.
Co-Authored-By: Whindmar Saksit <whindsaks@proton.me>
Fixes CORE-17871 and CORE-18271.
This is a cherry pick of commit:
aebaa14 [SHELL32] Allow DnD to create shortcuts across different drives (#7607)
Co-Authored-By: Whindmar Saksit <whindsaks@proton.me>
CORE-17604
The latest GitHub Actions runner image 20241113.3.0 uses WDK 10.0.26100.0, which dropped support for 32-bit ARM platform. Fix the failing build by sticking to WDK 10.0.22621.0.
Fixes clang build, since ubuntu-latest (24.04.1 LTS / Noble Numbat) has no LLVM 13 package available.
This includes the following commits:
096a551 [GITHUB] Fix MSVC ARM build
392473c [GITHUB] Stick to ubuntu-22.04 for build-linux
Co-Authored-By: Stanislav Motylkov <578406+binarymaster@users.noreply.github.com>
Fixes CORE-16949, CORE-16950, and CORE-15064.
This is a cherry pick of commit:
2f824a4 [SERVICES] Fix services delay on stopping (#7375)
Co-Authored-By: Doug Lyons <douglyons@douglyons.com>
Co-Authored-By: Giannis Adamopoulos <7785499+yagoulas@users.noreply.github.com>
Fixes CORE-17818.
Refine the algorithm introduced in commit c560342 (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 6f389a3 "Add a workaround for installing from USB drives"
This is a cherry pick of commit:
3ddb05d443 [SETUPLIB] GetSourcePaths(): Fix determination of the installation source path.
Co-Authored-By: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
Fixes CORE-19580 and CORE-8981.
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 dcf9eb0.
This is a cherry pick of commit:
b114e3a051 [SHELL32] Fix Control_RunDLL single comma syntax out of range dialog box numbers (#7595)
Co-Authored-By: Marcin Jabłoński <24442148+TheNNX@users.noreply.github.com>
Fixes CORE-19744, CORE-19879, and CORE-19780.
This backport includes the following commits:
1fec01561d [SHDOCVW][BROWSEUI][SHELL32] Correctly refcount CNSCBand and Explorer File menu (#7569)
11d5cb8095 [BROWSEUI] FindFolder must release the view and the browser (#7529)
Co-Authored-By: Whindmar Saksit <whindsaks@proton.me>
CORE-19768
Follow up of PR #7274. This stop WARN's from FF 28 as well.
This is a cherry pick of commit 3bb1e64408
Co-Authored-By: Doug Lyons <douglyons@douglyons.com>
Fixes CORE-19783. Tested by cbialorucki as a valid fix.
This is a cherry pick of commit 551c74123c.
Co-Authored-By: Timo Kreuzer <timo.kreuzer@reactos.org>
Co-Authored-By: Doug Lyons <douglyons@douglyons.com>
Hackfix for CORE-17237. Restores an old hack required by MS portcls driver. Replaces the current hack from 22d1e7a4e4 with an old one that was removed in 563682ad9a5751a7d5c3f9ffb4ac4f67bf0adc71
This allows ReactOS to boot and play sound properly with the portcls.sys driver from Windows XP/2003.
Co-Authored-By: Oleg Dubinskiy <oleg.dubinskiy@reactos.org>
This is a squashed backport of RAPPS from current master into the 0.4.15 release tree. All of these changes were deemed stable and complete.
This backport includes the following commits:
5bc6d59142 [RAPPS] Refresh item info after installer completes (#7697)
d5ce3d28ab [RAPPS] Don't display Freeware license string if the type is also Freeware (#7689)
b35becef2e [RAPPS] Set working directory for zip generated shortcuts (#7674)
a23db39c8a [RAPPS] Allow database to override download filename (#7668)
c8b2c4c94d [RAPPS] Check Let's Encrypt issuer prefix (#7650)
72951421e6 [RAPPS] Reuse active pending downloads window (#7648)
91b8923601 [RAPPS] Allow .zip generated installers to skip writing the DisplayIcon value (#7609)
2834e5b3c8 [RAPPS] Initialize SHBrowseForFolder to current download folder (#7505)
9164e9f85f [RAPPS] Update Slovak (sk-SK) translation (#7450)
8734889272 [RAPPS] Update Turkish (tr-TR) translation (#7372)
16f1abe1c8 [RAPPS] Improve Romanian (ro-RO) translation (#7360)
2f83e6a65d [RAPPS] Use different mutex and title for AppWiz mode (#7350)
301675c112 [RAPPS] Respect partial settings configuration (#7247)
053939e27c [RAPPS] Hide the main window during active download/install if the user closes it (#7014)
3ff8adc553 [RAPPS] Protect database update with a mutex (#7006)
4e59858941 [RAPPS] Change the "Welcome" text with a suitable explanatory one in APPWIZ-mode (#6655)
2af6fd4def [PSDK] Add GetMenuPosFromID() declaration in shlwapi.h
Yes, simply muting those assertions is a super-*dirrty*-workaround
https://www.youtube.com/watch?v=4Rg3sAb8Id8
It sweeps under the carpet a mild form of FS-corruption without actually preventing it from happening.
And I will happily revert that workaround and replace it with something better,
once Timo or anyone else will find something better to do on master head.
For now it helps me to increase the chance of succeeding the testbot runs without hitting those assertions,
and it also increases the chances to succeed a git clone from within ros.
And it will decrease the chance of actual ros users running into those endless cascades of assertions
which - when run without a debugger - will make ros halt and enforce the user to reboot,
and even when run with the debugger can never be escaped, because you have to 'i'gnore endless amounts of them.
I tested this hackfix for a week, and have not seen any *severe* side-effects of muting them.
Not nice to hack around like that, for sure not. But it is the best I can come up with for now.
Something like that is not needed for any older release, because the older releases did still use old MM/CC and old non-MS-fastfat.
The real bug is most likely to find within our MM/CC, at least when assuming that MS PL-licensed fastfat wasn't hacked too much by
us when it was introduced during 0.4.15-dev'ing.
This backport fixes 'kmtest_.exe SeQueryInfoToken'
on all testers: VBox x86, KVM x86, WHS x86, Win2003_x64.
And according to Thomas description may also prevent a buffer overrun when executing that formerly broken test.
Afterwards all 76 tests of this suite do complete on all those builders.
Before the patch only 74 of those tests succeeded, 2 failed.
The fix is a squashed backport of the following 6 commits from Thomas Faber:
0.4.16-dev-11-g 44bdafa17e [KMTESTS:SE] Fix failing tests (#5308)
0.4.16-dev-10-g bf6af0f52e [NTOS:SE] Mark output parameters as such (#5308)
0.4.16-dev-9-g 156053cafd [NDK] Match AUX_ACCESS_DATA definition with publicly available version. - if you allocated only sizeof(AUX_ACCESS_DATA), the test would crash with a 4 byte buffer overflow. (#5308)
0.4.16-dev-8-g ff410211e9 [KMTESTS:SE] Don't modify internal data structure, this might cause buffer overrun (#5308)
0.4.16-dev-7-g 206df96bc4 [KMTESTS:SE] Correctly allocate PrivilegeSet buffers (#5308)
0.4.16-dev-6-g 64a6bd4c3e [KMTESTS:SE] Avoid use of uninitialized pool and hardcoded offsets (#5308)
WHS x86 before-and-after-state, the after-test had a few fixes from Timos unrelated PR7343 inside unfortunately:
https://reactos.org/testman/compare.php?ids=97640,97871
(This is added to prove the test being wrong)
I tested it also successfully on my local 2k3sp2 x86 with the releases/0.4.15 afterstate, built with RosBEWin2.2.2 GCC8.4.0dbg x86.
Win2003_x64 0.4.16-dev-11-g44bdafa at 2024-09-12 15:19 (after-state):
https://reactos.org/testman/compare.php?ids=97791
0.4.16-dev-5-g2913ef5 vs. 0.4.16-dev-11-g44bdafa vs. 0.4.16-dev-23-g53b304e:
VBox x86 https://reactos.org/testman/compare.php?ids=97795,97806,97877
0.4.16-dev-5-g2913ef5 vs. 0.4.16-dev-20-g144a8b5 vs. 0.4.16-dev-21-g2af6fd4:
KVM x86 https://reactos.org/testman/compare.php?ids=97793,97855,97856
Since we do touch the NTOS and NDK here the fix is not guaranteed to be side-effect-free,
but since we are so early in the RC-phase, I dared to pick it, especially since the alternative would have
been to disable the test altogether in the releases/0.4.15 which would have been a pity, if we can also have it all green everywhere.
I am really no fan of disabling tests, even when they are broken,
but in these cases they are really not worth of suffering the pain, and rerunning the bots all the time.
Those tests do have random failures and timeouts, and are accessing external web-resources
of the Wine test-infratructure, which are not always accessible.
I do disable them, because they very often make the testruns run extremely long.
"Inspired by" 0.4.15-dev-367-g d424a0e088 urlmon_winetest:url skipped due to frequent hang on Test KVM
This following links do reflect the BEFORE-STATE:
The "urlmon:protocol" test does even crash on the WHS x86 testbot, see:
https://reactos.org/testman/compare.php?ids=97640
0.4.14-release-123-gcc9c2ba:
VBox https://reactos.org/testman/compare.php?ids=97825 KVM https://reactos.org/testman/compare.php?ids=97826 (both timed out at urlmon:url)
0.4.15-2-g94cae27:
VBox https://reactos.org/testman/compare.php?ids=97837 KVM https://reactos.org/testman/compare.php?ids=97838
Yes, even older branches might also be affected, but I will only exclude them for now on releases/0.4.14 and releases/0.4.15
because only on those I do regularly run the testbots still.
This is a cherry-pick the master-commit 0.4.15-dev-8638-g 0604640c14
which was the 2nd of two commits that were pushed concurrently to me creating the releases/0.4.15 branch,
which I branched at 0.4.15-dev-8636-g 945e856031
but before the "0.4.16-dev" git tag was created.
So they won't end up in no-mans-land.
[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).
(cherry picked from commit 0604640c14)
This is a cherry-pick the master-commit 0.4.15-dev-8637-g 0293d0c597
which was one of two commits that were pushed concurrently to me creating the releases/0.4.15 branch,
which I branched at 0.4.15-dev-8636-g 945e856031
but before the "0.4.16-dev" git tag was created.
To make sure they won't end up in no-mans-land.
[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).
(cherry picked from commit 0293d0c597)
- 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).
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
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!
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.
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
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
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.
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.
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.
Translated the old English explorer shell lines into Turkish and fixed
some incorrect Turkish translations.
Adapted the translation from Windows 7 with Turkish locale.
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.
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.
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
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
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.
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
@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