My main motivation was a fix for the bug
CORE-17815 'Fix incorrect opaque text rendering' (#2760)
which was unhidden by 0.4.12-dev-824-g d57f7becc3 .
That specific and most important fix
was picked from 0.4.15-dev-190-g d839e3d9b4
We left out the additional WIN32SS-hardening in this context in the backport to older
releases for now.
Then I looked further in sndrec32 and compared each file of that module on master
head with both: current 0.4.14RC and also current 0.4.7rls and found the rare
situation that I liked each and every change within since 2017.
Specifically this will also backport (#2754), and various translation PRs, whitespace-cleanup,
and (for older releases than 0.4.14RC) it will also bring some x64-improvements.
So I decided to take everything from current master head except the changes in CMakeLists.txt
and some hebrew RTL addition
because that subset is applicable and a win for all ros releases down to 0.4.7.
LOAD_LIBRARY_AS_IMAGE_RESOURCE and LOAD_LIBRARY_SEARCH_SYSTEM32 are Vista+
This fixes some blurry icons in systray when 2k3sp2 kernel32.dll is used in ros CORE-12004
That part in user32 was a regression of SVN r71609 == git a44dfe6c76
While we are at it we do fix some other modules as well, that used those NT6+flags.
The fix was picked from 0.4.15-dev-788-g a04831677e
--------
That second part in SHELL32 regressed even earlier by
SVN r51768 == git 6ced137ce2
and was fixed on master by chance when the PickIconDlg() was overhauled entirely via
git 0.4.10-dev-106-g 222534a5a2 . But that is not the solution I ported back today.
This will allow us to reduce the DB size a little by avoiding
duplication for each and every entry.
Original patch by JIRA user "swyter"
CORE-10310
fix picked from 0.4.9-dev-633-g 627739aed9
but slightly adopted to leave out some formatting glitches and
also leave out the "fall back to Size string" in available.cpp because
on 2021-10-03 Mark Jansen deleted all old size entries from the rapps database via
551e8cb95716f46e05c3be08996467bd93b1936f
CORE-16742 'Start button background in themes is scaled incorrectly' (especially MS Luna)
The problem once was unhidden by
0.4.7-dev-705-g 85ae842105
Fix picked from 0.4.15-dev-3441-g 67ad4e7f60
--------------
and while touching the file, do port back also some EOL-whitespace-stripping and
0.4.9-dev-642-g eff4c2138d Remove double 'return' statement CORE-14528
This prevents the tracking menu from erroneously closing itself right after it was opened in some cases.
Fixes CORE-17338 which got unhidden by 0.4.15-dev-1126-g 58b0558f94
And fixes CORE-15760 which got unhidden by SVN r74972 == git 19dd22d422
Since both symptoms look very similar but the unhiding revisions did differ,
that could mean we do have some kind of race condition here.
I guess this fix is more like a workaround.
2 Fixes picked:
0.4.15-dev-3313-g 6417b2323d [NTUSER][USER32] Workaround tracking menu on CORE-17338 CORE-15760 (#4048)
to prevent the menu from auto-closing
and
0.4.15-dev-3297-g 037c744eb1 [EXPLORER] Send WM_POPUPSYSTEMMENU asynchronously CORE-16353 (#4047)
to make the taskbar button turn into pressed state when the menu opens
* CORE-5823 Fix icons for toolbar and formatbar in Wordpad.
which regressed by SVN r47776 == git 5dbfbb5201
* Add wordpad_ros.diff noting toolbar.bmp and formatbar.bmp are not wine-synced
Thanks to the patches author Doug Lyons.
Fix picked from 0.4.15-dev-2862-g e068c68452
"Let's encrypt" certificate issuer string changed within last 24hours remotely.
Update its name to make RAPPS stop complaining on DB update.
And also fix a bug in rapps mixing A()/W() in the
messagebox that informs about that cert check failure.
Fix is port of
0.4.15-dev-1120-g 12caaece25
0.4.15-dev-1617-g f77f5a30cf
Next time this happens I will relentlessly undefine CMakeLists.txt USE_CERT_PINNING
With these, we generate the WM_CONTEXTMENU and NIN_(KEY)SELECT
shell icon notifications that applications expect when they handle
shell notification icons with uVersion >= 3.
This fixes in particular the previously unresponsive icon of KVIrc 4.x,
and more generally *all* the notification icons of Qt applications.
CORE-10605 #resolve
fix picked from 0.4.9-dev-587-g 4127024b0d
This squashed commit ports back almost all improvements
we did to explorer during 0.4.8-dev.
Main motivation is:
-fixing tons of bugs painting the systray icons, e.g. (but not exclusively) CORE-11378
-and to fix a regression about clock margins CORE-14272
-and the clocks vertical text placement
-Win+E behavior CORE-14199
Here is a list of the commits I ported back:
[PSDK] shellapi.h
0.4.8-dev-1053-g 8b78b0ff98
0.4.8-dev-982-g a64c33e787
0.4.8-dev-970-g 9d2139b7d8
[SHELL32]/[REACTOS]/[EXPLORER]
0.4.8-dev-984-g 131678a025
0.4.8-dev-971-g 5ecabcce59
[EXPLORER]
0.4.8-dev-1065-g f1535c2d6e tiny part of CORE-14306
0.4.8-dev-1064-g abdde0b764
0.4.8-dev-1054-g 3003471e64
0.4.8-dev-974-g 04498f3eb5
0.4.8-dev-944-g f5d679aeb9 fixes CORE-14272 Clock Margins
0.4.8-dev-936-g 556c485c8b
0.4.8-dev-935-g d11e7af5f2
0.4.8-dev-934-g c109dc9f24
0.4.8-dev-928-g 22d1e1017f
0.4.8-dev-925-g c54c5ebb5f
0.4.8-dev-924-g 488477d10d
0.4.8-dev-923-g 85d7dd4f83
0.4.8-dev-922-g 5a1984c998
0.4.8-dev-921-g 6c073e9539
0.4.8-dev-920-g 455bce68b5
0.4.8-dev-908-g 7f35908ad2
0.4.8-dev-860-g 3d75cc0814
0.4.8-dev-853-g 5ec441a867
0.4.8-dev-852-g bc43733e48
0.4.8-dev-851-g bbca71c4a5 [EXPLORER]&[ROSCTRLS]
0.4.8-dev-789-g cb8cc0d098
0.4.8-dev-788-g be2bf9b8c5
0.4.8-dev-787-g 851e0ca5a8
0.4.8-dev-786-g 2abd068398
0.4.8-dev-785-g 8c91a00fcf
0.4.8-dev-784-g 6c9629bb72
0.4.8-dev-783-g d66c6890f7
0.4.8-dev-691-g 2c8ed37605
0.4.8-dev-690-g 74e58d938e
0.4.8-dev-669-g 4b6d929be1 fixes CORE-14199
0.4.8-dev-46-g 2ed535da8a
0.4.8-dev-21-g 82b12ef4cf
0.4.8-dev-20-g 4238f22396
For now I intentionally did leave out
0.4.8-dev-684-g 71e66c69c1
to not make explorer import oleaut32 SysAllocString()/SysFreeString().
I also did not update the translations rc files.
Fixes a regression introduced by SVN r68893 == git 3326526
Symptom "TightVNC Server may show a doubled icon and/or corrupts its neighbor icon in the systray"
Fix picked from 0.4.13-dev-481-g8d6c9e8
and adapted it to be applicable into trayntfy.cpp for releases/0.4.7 and earlier.
This PROPERLY fixes also the historic duplicates CORE-10690, CORE-13236, CORE-13811
and makes my workaround from CORE-10257 obsolete.
picked from 0.4.8-dev-1013-gbd7eae6
[EXPLORER] Update all preview bitmaps showing notification area
To reflect recent changes in taskbar height, icon spacing,
clock x and y margins.
Also make sure all shots show the exact same time
and choose a more localization agnostic time.
---------------------------
and picked from 0.4.8-dev-1014-g579e1e6
[EXPLORER] Update classic/modern startmenu preview bitmaps
To reflect our recent updates in banners and notification area.
Also reduces explorer binary size by 214.016bytes.
This fixes the regression of mspaint not being able any longer to
overwrite an existing file.
The regression was once introduced by
0.4.7-dev-118-g
44fc547ffa
when trying to determine the resolution on load.
Our new fix does cover both issues and even reduces imports: win-win.
fix cherry picked from commit 0.4.14-dev-691-g
be40a0e296
that are triggered repeatedly when just idling on
the desktop and therefore will lure ros into
inevitable BSOD after some days.
fix cherry picked from 0.4.9-dev-52-g
87d3fdf99e
and 2nd fix cherry picked from 0.4.9-dev-50-g
182a31074f
Due to infrastructure changes on 2018-02-17 (after initial 0.4.7rls)
we totally broke the rapps compatibility of all releases before 0.4.8
leaving rapps useless in those.
Therefore I decided to port back what is necessary to make rapps work
again also in this ancient release.
fixes CORE-14351 adapts to infrastructure changes
fixes CORE-14350 RAPPS Certificate pinning
fixes download from FTP
and merges many other improvements from GSOC 2017 back in time
- Move CIFSBand to the shellbars static lib which is linked to browseui and rshell.
- Move CQuickLaunchBand to rshell.
- Make nescessary adjustments so that they can both be registered and instantiated.
To check that these changes are correct, checkout in a directory (let's call it "ros_svn") the /trunk/reactos/ of our read-only SVN repo r76032 and in /trunk/reactos/modules/, the rosapps, rostests and wallpapers.
In a second directory (let's call it "ros_git"), clone the corresponding Git-converted ReactOS directory.
Before applying this patch (and the previous one that added back the empty directories), you should see additional files in ros_git that are not in ros_svn, corresponding to these files I'm deleting here (plus some .gitignore files),
and you should also see additional files in ros_svn that do not appear in ros_git: these are the empty directories I've restored in my previous patch.
Now, after the application of both the previous patch that restores the empty directories (and deletes the .gitignore files), and this patch that removes the ghost files, you should only see that the only differences
between ros_git and ros_svn are the extra .keep files in the empty directories, and that's all!
Command-line for the tests:
diff --strip-trailing-cr -r ros_svn ros_git > diff_svn2git.txt
"-r" means recursive, and "--strip-trailing-cr" ignores the CR-LF vs. LF (or CR) EOLs.
(*): by "ghost" old(*) files I understand files that existed previously in the far past, that then were deleted long ago in SVN, and that popped out back during the Git migration.