As the dialog simply displays the copyright names and nothing particular it makes sense to use ShellAboutW() instead.
Several fixes ported back:
0.4.15-dev-3726-g c262020016 README CORE-18018
0.4.15-dev-3724-g 3a7c0d82d2 size fallback part 1 CORE-18018
0.4.15-dev-3569-g b5a6357d93 available.h/.cpp Strip 3 useless functions
0.4.15-dev-384-g 393a2c42fe CDPath in README
0.4.15-dev-227-g a6084d7440 ShellAbout() (#2751)
and some whitespace corrections
The regression was introduced by SVN r68553 == git 3b13364f05
Many thanks to the author Doug Lyons for excellent
cooperation once more. Always a pleasure.
Fix cherry picked from commits:
0.4.15-dev-663-g cd7db5df89 and
0.4.15-dev-664-g 7c909cbc7c
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.
Fix picked from:
0.4.15-dev-3699-g b1264c13f7 for el-GR.rc
0.4.15-dev-3700-g 98999eebe4 for sk-SK.rc
0.4.15-dev-3701-g bacc0479ce for sq-AL.rc
The pt-PT.rc file (also affected on master) did not exist in this ancient branch yet.
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.
Fixes gdi32:dib / gdi32:bitmap tests and
CORE-16236 "SIMS graphics", which regressed by
SVN 51005 == git 2bbd8711a7
Thanks to the patches author Doug Lyons.
It also fixed
CORE-16621 Kompozer 0.7.10 from rapps, exe does not show an icon, but does on 2k3sp2
fix picked from 0.4.15-dev-2850-g 847b037fe9
--------------
By taking the above, we also have to pick its addendum
[WIN32K] Fix 'use after free' in NtGdiStretchDIBitsInternal #4122 CORE-17861
0.4.15-dev-3420-g b538b9abb8
to avoid introducing another bug:
CORE-17861 MS Visual Studio 2010 Pro Fatal System Error 0x00000050
--------------
[WIN32K] Don't trust the BITMAPINFOHEADER size
This is not entirely correct yet, but less wrong than before and fixes
CORE-16031 Moo0 Audio Recorder - ReactOS icons are not displayed in the system tray
fix picked from 0.4.14-dev-848-g 53c9a6deaa
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
Revert part of SVN R50928 that causes Durak card suites to have wrong colors.
SVN r50928 == git 5de8339cd1
JIRA issue: CORE-13748 <= Durak Example
JIRA issue: CORE-16510 <= GDIProg Example
The idea was picked from 0.4.15-dev-2735-g c7954134d0
but I was too shy to port the recurrently spamming and slowing DPRINT1 back that far.
Spamming on master should be enough to improve here later.
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
I am not sure why this line in id_queue.cpp was added.
I don't know how I could improve that case.
Then, disable it, for the time being.
It regressed by 4b9cf2e339 (r71252). CORE-12441 CORE-17371
fix picked from 0.4.15-dev-2740-g ba77a09c04
While touching uniata do also PARTIALLY port back some bm_devs.h changes:
0.4.15-dev-1522-g 88d36c93a2 (Properly mark ReactOS diff from upstream)
This should fix some virtual machines and real hardware machine with empty floppy drive
not being able to boot ReactOS (stuck while initializing floppy.sys).
This fixes a regression introduced in SVN r70746 == git 78eb31503a
It could be generalized to other interrupts, floppy controllers not being reliable.
For more information: http://wiki.osdev.org/Floppy_Disk_Controller
It fixes:
CORE-12908 'Virtual PC 2004 SP1 (and 2007), LiveCD (and BootCD): boot hangs on FLOPPY.SYS'
CORE-7935, CORE-13080, ... and a lot of other duplicates of that ticket.
Fix picked from 0.4.8-dev-187-g 4b34e44782
-------
This will sync floppy.sys to the stable state that we had all the way from
0.4.8-release-86-g472a0ec up to 0.4.12-release-53-g3890268
in CreateDIBPalette() when passing invalid arguments to CreateDIBSection.
This could be triggered by using the broken test-application "GDIProg".
After this patch not only the BSOD is fixed but also the app does
properly start up, like it is the case on 2k3sp2.
The problem was unhidden by the innocent and unrelated 0.4.12-dev-266-g 8ab3652c01
I was not able to trigger the bug in releases older than 0.4.12,
but it is rather obvious that the mentioned revision is not really 'guilty', which
is why I will port the fix back further into releases even older than 0.4.12 as well.
Thanks to the patches author Doug Lyons.
a squashed port of:
0.4.15-dev-2734-g 514147776a (fixes the BSOD)
0.4.15-dev-2775-g c596fd3ef6 (improvement #3758)
0.4.15-dev-2776-g 4130f0b1c5 (compilation fix)
and some white-space tweaking that was committed after those.
This was part of the commits for ROSTESTS-110, but much more important:
It fixes CORE-14694 "reproducible BSOD 0x1A MEMORY_MANAGEMENT in OllyDbg v2.01"
Fix picked from 0.4.11-dev-650-g 47ac7a2b28
which also requires me to "Move up MmAlterViewAttributes() for later use in MmNotPresentFaultSectionView()"
like it was done in: 0.4.11-dev-649-g 47ac7a2b28
Ofc I moved the function up individually in each branch I do port this back to, without modifying the func.
Changes to specific files and their effects are as follows:
create.cpp - Allows booting past second stage with UDFS media inserted without BSOD
close.cpp - Allows shutdown without hang
dircntrl.cpp - Allows New Hardware Wizard not to hang on initial third phase install
It began to crash with the introduction of the UDFS driver in SVN r74901 == git 3a104c8f20
Fix picked from 0.4.15-dev-3326-g a91f5e8e4d
MSVC2010 compiler warning shellext\netshell\lang/de-DE.rc(118) : warning RC4206 : title string too long; truncated at 256
introduced by SVN r71434 == git 6ce8ee357a
The string was displayed properly and was not truncated even before this patch.
Fix picked from 0.4.15-dev-2885-g 7962db4cc1
Fix missing ReleaseDC related to the spectrum (color depth)
We leaked one device context for each bpp change within the
desk.cpl-session, which gave the following logging when closing desk.cpl:
(win32ss/user/ntuser/windc.c:749) err: [00060138] GetDC() without ReleaseDC()!
1 time for each leak.
Partial backport of (#2707)
Fix picked from 0.4.15-dev-2867-g d635ce0cc0
* 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
Reported by contributor 'qarmin', found by static code analysis.
CORE-17074
The glitch once was introduced 7 years ago by SVN r58933 == git 7934e35cdf
There is no real-world-issue known to date caused by this bug.
fix cherry picked from commit 0.4.15-dev-303-g 99d0a348aa
IDD_BROWSE_FOR_FOLDER displays text controlled by the calling applications in
IDC_BROWSE_FOR_FOLDER_TITLE. Its old height could lead to text truncation
for existing 3rd party apps.
The new height value for IDC_BROWSE_FOR_FOLDER_TITLE
was inspired by IDC with the same from dialog IDD_BROWSE_FOR_FOLDER_NEW.
I could change all languages to the same height,
as dimensions of the dialog and surrounding controls were same.
picked from 0.4.12-dev-781-g 1d7287288d
It "regressed" and was displayed cut-off since the switch to git
(our string got longer back then).
Fixed by porting back 2 commits:
0.4.14-dev-976-g 6ce72ba172
0.4.14-dev-884-g a57f7b50c0
and also port back some german translation updates and
trivial whitespace fixes at the same time in *.rc.
Although the new layout that I committed in the previous commit
was favored by community ratings votes 8:0,
some devs still preferred the old layout with the bigger logo
because they liked the easteregg. So this commit restores
that.
But it syncs to that features latest&greatest implementation
we have in 0.4.15-dev-1685-gd0c237a instead of reverting the
previous commit to not unnecessarily have many bugs with it
that were still affecting the older releases beforehand.
Aside from the general tabs dialogs layout this commit does
also fix some minor issues in the translations for the oldest
branches in pl-PL, jp-JA, zh-CN and zh-TW.
And it fixes an x64 issue in general.c for 0.4.7 and 0.4.8.
The version string cutoff started to happen when we switched from SVN
with its short revision number to git with the longer hashes.
0.4.7-dev-502-gc2c66af was the first git-only rev (2017-Oct-03)
and brings the dialogs layout closer to XP.
Also fixes some other truncations for specific languages.
And unifies the touched text controls sizes for all languages.
The credits have been moved to readme.txt where they are more present and
we can avoid having to groom all languages files each time we want to add
a new dev (and sysdm.cpl to grow each time). Less maintenance.
sysdm.cpl binary size I18N=all
master before 925.696bytes after 705.024bytes gcc 8.4.0 dbg RosBE2.2.1
0.4.14 before 923.136bytes after 702.464bytes gcc 8.4.0 dbg RosBE2.2.1
0.4.13 before 904.192bytes after 684.544bytes gcc 4.7.2 dbg RosBE2.1.6
0.4.12 before 881.664bytes after 665.600bytes gcc 4.7.2 dbg RosBE2.1.6
0.4.11 before 836.096bytes after 618.496bytes gcc 4.7.2 dbg RosBE2.1.6
0.4.10 before 806.912bytes after 588.800bytes gcc 4.7.2 dbg RosBE2.1.6
0.4. 9 before 788.480bytes after 585.728bytes gcc 4.7.2 dbg RosBE2.1.6
0.4. 8 before 788.480bytes after 585.728bytes gcc 4.7.2 dbg RosBE2.1.6
0.4. 7 before 788.992bytes after 585.728bytes gcc 4.7.2 dbg RosBE2.1.6
readme.txt still fits into a single NTFS cluster afterwards with 3702bytes
Also a very! soft update of some translations ported back.
symptom CORE-14278 "View License in the System Properties shows corrupted text for git-clones on Windows"
This is better than wasting space on null chars (and having Git mangle it).
Also ensure that it gets CRLF newlines since its contents go in the binary.
This fixes CORE-14278 regression introduced by 0.4.7-dev-515-g 9ebf43567d
It will also shrink the binary size of sysdm.cpl RosBE2.1.6 GCC4.7.2 dbg
from 807.936bytes to 788.992bytes
Fix picked from 0.4.8-dev-1031-g c0a227d9a5
Remove WM_SYSKEYDOWN handling at component level, in consistency with other components (ListView,...)
Early embodiement of the fix proposed to WineHQ:
https://bugs.winehq.org/show_bug.cgi?id=49097 in order to remove functional limitation in ReactOS.
Fixes regressions CORE-17020 and CORE-12203 that were once introduced
by SVN r72320 == git 297e33f228
during COMCTL32 WineSync 1.9.16 CORE-11866
Fix picked from 0.4.15-dev-191-g 295ba62820
Do not call EndDialog outside the dialog procedure.
fix picked from commit 0.4.15-dev-511-g 90456e54a4
This hang/crash in 2nd stage setup did *not* affect our official carrier-releaser isos that
we host on sourceforge, because those come bundled with Gecko already and therefore always
skipped the download.
Most users were safe in the past therefore.
Still everyone that would like to build an iso by himself could potentially run
into those crashes, and it did not only happen upon user-driven cancellation,
but also often crashed upon network failure / timeout.
A very important fix therefore.
For some unknown reason the likelihood of this crash gradually increased from
0.4.7 where it happened almost never, until 0.4.14 where it crashed much more likely.
Not well understood, maybe depends on memory layout or something similar.
All of those are super safe commits. Fixes CORE-13508
-excerpt of 0.4.11-dev-909-g 07b120bd56 zh-CN [TRANSLATION] Update Simplified Chinese translation. (#1094)
-excerpt of 0.4.11-dev-149-g 31019e8c0c ro-RO [TRANSLATION] Update Romanian translation (#851)
-excerpt of 0.4.9-dev-126-g 0182dcd71b sounds.c x64 compatibility issue, possible pointer truncation
-0.4.9-dev-104-g 9e9f053eec fixes CORE-13508 fr-FR "Sound settings : narrow elements (french)"
-excerpt of 0.4.8-dev-644-g ba3f074320 tr-TR whitespace noise
-excerpt of 0.4.8-dev-627-g fe50c655aa zh-CN [TRANSLATION] Update Simplified Chinese translations and font settings. (#266)
-excerpt of 0.4.8-dev-533-g 2b91b29642 zh-CN/zh-TW [CPL] Control Panel Applets: Use correct font name in Chinese resources, CORE-9566 (#220).
mmsys.cpl binary size in bytes RosBE2.1.6 GCC4.7.2 dbg I18N=all decreases for 0.4.7 thanks to the chinese changes:
0.4.11 which is the source 741.376
0.4.10 old 741.376 patched 741.376
0.4. 9 old 741.376 patched 741.376
0.4. 8 old 741.376 patched 741.376
0.4. 7 old 741.888 patched 741.376
Syncing the module will simplify future backmerges.
CORE-16935
I merged that back, because at least the play-icon was a regression.
It regressed by SVN r68073 == git 888c2fb967
Ftr we did not always use an icon here, but instead earlier we just had some
font glyph displaying the play-symbol. It was once changed to icon to improve
display for some asian localization (japanese? iirc).
fix picked from commit 0.4.15-dev-86-g bdb4da009a
The patch also decreases binary size
mmsys.cpl binary size in bytes RosBE2.1.6 GCC4.7.2 dbg I18N=all:
0.4.13 old 786.944 patched 782.848
0.4.12 old 786.944 patched 782.848
0.4.11 old 745.472 patched 741.376
0.4.10 old 745.472 patched 741.376
0.4. 9 old 745.472 patched 741.376
0.4. 8 old 745.472 patched 741.376
0.4. 7 old 745.984 patched 741.888
Improves some strings, but actually I ported that back to reduce binary size.
The translated strings are shorter even than the english ones. Win-win!
Source was state of 0.4.12-release-31-g62822df.
desk.cpl built with RosBE2.1.6 on Windows with GCC4.7.2 debug building with I18N=all:
539.136bytes for 0.4.12-release-31-g62822df (was source)
0.4.11 before 539.648bytes after 539.136bytes
0.4.10 before 539.648bytes after 539.136bytes
0.4. 9 before 539.648bytes after 539.136bytes
0.4. 8 before 539.648bytes after 539.136bytes
0.4. 7 before 528.896bytes after 528.384bytes
This improves both: the visual quality of the dialog and also
decreases desk.cpl binary size.
Fix picked from 0.4.11-dev-244-g 6f138e2811
------------------------------
But it also inherently includes
0.4.11-dev-94-g 25f4ed75a0
"[CPL][DESK] Update monitor resource (#816)"
which replaces the CRT bmp with a TFT bitmap
"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
Fixes CORE-15558 "AbiWord font listbox should display a specific font only once, but displays each of them many times instead"
which regressed by SVN r75491 == 0.4.7-dev-32-g d10c0ec112
by porting back the commits:
0.4.12-dev-320-g 6e4e5a004c
and
0.4.13-dev-107-g ae8417fd90 to prevent introducing another regression CORE_15785 with the initial fix.
and some more addendums to prevent introducing regression CORE_15755
I verified afterwards that all 3 issues: CORE-15558, CORE_15785 and CORE_15755 are in fixed state.
Actually I don't really like the resulting code due to the qsort() that it introduces into
win32ss/gdi/gdi32/objects/font.c
We did not need that at all before 0.4.7-dev-32-g d10c0ec112
In case that qsort() would ever reveal any new trouble like reduced performance or stack overflow,
we should structurally revert all that context to 0.4.7-dev-31 instead.
IntEnumFontFamilies() is called immediately upon process initialization for many applications and the qsorted-list is *huge*,
so this indeed could be relevant for performance.
Hack has been introduced in IntSendChildNCPaint() in r73532 == 6d7fcc4
to attempt to pseudo-fix CORE-12071 and CORE-12085 while breaking other stuff,
amongst which CORE-14763 is one of the latest manifestations, and re-enable the correct original code.
This fixes painting hangs under diverse situations,
while CORE-12071 and CORE-12085 remain fixed.
When it was hanging like CORE-14763, we could not even ACPI shutdown anymore.
fixed by porting back:
0.4.10-dev-324-g 25004bb5b4
0.4.10-dev-323-g ee0511b49d
0.4.10-dev-322-g 4d057cf626
picked in squashed form from
0.4.8-dev-650-g 81eb3bbceb
0.4.9-dev-622-g c704cf5f87
I also ported that into all other release-branches >= 0.4.8 before.
The same MSVC-rls-fixed implementation.
It gets triggered several times during the setup, but also many times
when browsing with Opera 12.18 for example.
picked from 0.4.10-dev-380-g 74adcadbd0
which effectively mutes them.
Silence harmless errors, which can be reported at every boot.
And do get logged even before the "-------------" reboot-delimiter.
inspired by 0.4.8-dev-875-g b5a7765068
I decided to just switch to WARN for the backport,
but to not enlarge the strings contents/lengths.