CORE-19496
All wallpapers that are not in bitmap format will not work on LiveCD. LiveCD has a read-only file system and to apply non bitmap files as wallpapers, we convert them to bitmap when selected as a temporary file. Therefore, only copy non-bitmap wallpapers to BootCD, not LiveCD. Also minor fix to README in the wallpapers folder.
This commit includes:
- Partial revert of dc1a4ae9ce [0.4.15][SYSSETUP][BOOT][WALLPAPERS] Set default theme to Mizu and add wallpapers
- 2e47094764 [SYSSETUP] Apply theming from unattend files very early on when booting the LiveCD or a new install (#7797)
ebdb7b3e4d A problem has been detected and ReactOS has been shut down to prevent damage to your time machine warp core.
- 4bc97ad145 [BOOTDATA] Arabic, Hong Kong, Singapore, come back! (#7795)
As decided by an official meeting vote on Mattermost, set the default theme and desktop wallpaper to Mizu.
In this commit, I also added the 16:9 variants of every wallpaper in our standard wallpaper pack that had a resolution of 1920x1080 or better. For most wallpapers, we don't need a 4:3 variant because we have a "Fill" placement option that will scale the wallpaper up to the desired height and cut off the edges. Unfortunately, the Mizu wallpaper is one that doesn't work well with this method. Wallpapers without text branding were preferred over text branded wallpapers. Also, add a fix for the Mizu start button so that it looks acceptable with large taskbar.
Limitations:
- Since we can only display bitmap (.bmp) images on the desktop, convert the 4:3 and 16:9 variants of the Mizu wallpaper to bitmap files.
- Since ReactOS will default to a 4:3 aspect ratio without changing the resolution, set the default wallpaper to the 4:3 variant.
- The theme is set on the welcome page of the setup wizard during second stage setup.
BTRFS installs are no longer stable. Disable BTRFS install option for a less confusing user experience.
This patch was developed specifically for 0.4.15 and should not be ported to the master branch at this time.
CORE-18206 CORE-18799 CORE-19371
Fixes infinite loop of:
err: Message WM_PAINT count 1 Internal Paint Set? FALSE
The symptom appears in the following scenario (as reported in CORE-18799):
A program (game) runs at a small resolution (e.g. 640 x 480), but the
game window gets invalidated at a larger size (e.g. 1152 x 864 screen
resolution) before switching to the smaller (640 x 480) size.
Because of this, the window's update region is larger than the current
window so only the 640 x 480 region gets validated leaving the remaining
region invalid. This causes the recurring WM_PAINT messages because there
is no way to invalidate the remaining area.
This is a backport of commit:
5c505d9a9b [NTUSER] Handle window update region larger than the current window in clip region (#7731)
CORE-18692
- Shortcut icons require the correct IShellFolder because it needs the full path.
- Items in a drive root needs the final backslash to be part of the path.
This is a backport of the following commit:
f844296b0a [BROWSEUI][SHELL32] Fix FindFolder icons (#7756)
CORE-19696
The size of `READ_CAPACITY16_DATA` struct in UniATA driver and ReactOS/Windows SDK were not equal.
- In UniATA driver: `sizeof(READ_CAPACITY16_DATA) == 33` (wrong);
- In ReactOS/Windows SDK: `sizeof(READ_CAPACITY16_DATA) == 32` (correct).
This is a backport of commit:
606e996e1f [UNIATA] Fix memory corruption if SCSIOP_SERVICE_ACTION16 processed. (#7717)
CORE-19945
- Choose an icon image based on size and color and place it first so GDI+ will pick it
- Change .cur files to .ico so GDI+ can open it
This is a backport of the following commits:
a07a35d0f6 [SHIMGVW] Update Portuguese (pt-PT) translation (#7688)
329a414584 [SHIMGVW] Choose a better icon image and also support .cur files (#7706)
CORE-19952
Adds the DDEWAIT/NOASYNC flag unless compatibility info says otherwise.
This is a cherry pick of commit:
fd41270d6d [SHELL32] ShellExecuteW must call ShellExecuteExW (#7587)
CORE-19738
Use a 4D lookup table for the notification area settings preview, instead of many if cases.
This is a cherry pick of commit:
6988b4e2c4 [EXPLORER] Add Show Desktop button to taskbar customization preview (#7727)
By using the capabilities created in CORE-16631.
This will fix many crash-regressions in apps that have "Vista+ready"-manifests.
A good default setting for releases to protect "average Joe".
We think that's a tolerable balance.
E.g: This will fix CORE-16700 and CORE-16707 for releases.
The reason for those crashes is that we have far too many gaps in our apisets still.
Adventurous users have two options in releases if they want to expose more apisets
(and additional crashes when apisets are not implemented yet):
1.) change registry setting "HKLM\SOFTWARE\Policies\Microsoft\Windows\AppCompat" "DisableCompatGuidDetection" back to 0
to switch the global behavior to act like master-state (== opt-out)
or
2.) Select the "Windows 7" shim for example individually per app for more apiset exposure.
(more safe)
Contrary master will remain affected by such crashes and users will
have to manually apply shim "IgnoreManifestCompatVersion" on each affected app for opt-out,
as we intend to abuse master as a testing platform to spot gaps in apisets and problematic apps more quickly.
Thanks to Mark Jansen for having implemented that flexibility.
This is a cherry pick of commit:
138d9acd79 [0.4.13] Vista+ Apiset Exposure OPT-IN in releases instead of OPT-OUT in master
My testcase: this allows opening an exe/dll with MsDepends (CORE-12052)
Unfortunately still necessary, luckily still effective
and also reliably hides a lot of other crashes due to uncaught exceptions
Like done in all earlier releases since 0.4.3
cherry picked from commit bca25b10b4
Fixes CORE-19745, CORE-19793, and CORE-19743.
This is a squashed backport of the following commits:
30b40247a3 [CALC] Fix copy command when output is NaN (#7496)
0e462a3905 [SECLOGON] Add missing service status updates
17eff53f35 [REGEDIT] Add ES_AUTOHSCROLL to address bar window (#7638)
CORE-16140, CORE-16148, CORE-16321, CORE-18644, and CORE-17799
Fixes taskbar being displayed when switching to fullscreen when using DirectDraw.
This is a cherry pick of commit:
16437937f7 [DDRAW] Fix taskbar visibilty when switching to fullscreen (#7443)
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 commit hides these files from the file picker in desk.cpl.
This is a backport of commit:
924592dc47 [DESK] Don't include .ico files in list of wallpapers (#7726)
Fixes CORE-17871 and CORE-18271.
This is a cherry pick of commit:
aebaa14eba [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:
096a5518e5 [GITHUB] Fix MSVC ARM build
392473c7b5 [GITHUB] Stick to ubuntu-22.04 for build-linux
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)
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>
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