- This fixes problems with "F17" or "F14" shortcut key in the menu items of some programs,
e.g. SQLiteAdmin 0.8.3.2
CORE-17906 CORE-3903
fix picked from 0.4.15-dev-5145-g cdf907074d
--------------
[KEYBOARD] Switch to QWERTZ for Croatian keyboard layout (#4177)
fix picked from 0.4.15-dev-3503-g 2196a06fc1
--------------
Also ported back some EOL whitespace trimming
picked from 0.4.15-dev-5519-g e8e38b8301
picked from 0.4.15-dev-2937-g 1078340f5c
and ported back some trivial changes in some other languages as well.
Fixes a bug in msmouse.inf missing " at begin of last string in section [Strings.0416].
partial pick of 0.4.15-dev-1105-g d50cbb6eed (only the changes in msmouse.inf were picked) (#3173)
------------
Fixes a bug in nete1000.inf missing " at the end of a string in section [Strings.0415] (which affected releases/0.4.12 to releases/0.4.14).
------------
partial pick of 0.4.15-dev-4867-g bbccad0ed6 Deduplicate the "ReactOS =" strings,
they are non-localizable now CORE-18191. I intentionally left out the "ReactOS team"->"ReactOS project" part here.
------------
full pick of 0.4.15-dev-309-g 7c8d5635aa [PROCESSR][INF] Fix "Intel Intel" duplication typos
which was an addendum to 3509318521 == SVN r46465
------------
also ported back deduplication of some manufacturer strings.
------------
all changes to shortcuts.inf and syssetup.inf.tpl are exclusively stripping EOL-whitespace, no other changes in those files.
------------
the only part that was not picked from master is the stripped 's' in disk.inf, which is possible,
because the file has been replaced altogether in master by an MS file.
- Fix leaking two handles to avoid creating zombie processes when closing the
screensaver preview
fix is *partial* pick of 0.4.15-dev-5495-g 71123b72fa which *partially* fixes CORE-18680 (#4921)
The other part of that fix is not safe, neither on master, nor when porting back due to yet unfixed Win32K bugs.
-------------------------
*partial* pick of 0.4.15-dev-3154-g 158a479a4e "\r\n"->"\n" in desk.cpl
-------------------------
furthermore port back some EOL-whitespace cleanup and some minor translation improvements
-------------------------
also *partial* pick of 0.4.15-dev-5521-g 5ecb9e8cb5 (#4943)
only the parts that are relevant for older releases
Fixes:
CORE-12342 '7zip is not drawing some of its controls until forcing a repaint'
CORE-8734 '[WIN32SS] dxdiag exposes a tabsheet redraw problem'
...
and many other duplicates in JIRA.
If a Rebar window is altered by calling either ShowWindow() or UpdateWindow()
then we were only updating the parent and omitting their children windows.
This is closer to the behavior of the very very old SVN r27394 == git f1a7f30887 .
And therefore intentionally excludes parts of SVN r27403 == git e2651a0dbc .
The bots have no complaints about it:
KVM https://reactos.org/testman/compare.php?ids=81266,81290
VBox https://reactos.org/testman/compare.php?ids=81267,81291
fix picked from 0.4.15-dev-3885-g ea7c14919e
as suggested by Thomas
It fixes
CORE-18505 '[MSVC only] VBox 2.0.0 is not able to open, but on GCC it can'
It regressed by:
0.4.12-dev-555-g b6fdb56b9a and
0.4.12-dev-544-g 5db885cae7
Fix picked from 0.4.15-dev-5461-g 062a8f20a9
The fix works also for MSVC2010SP1 dbg builds in the older branches.
I will not create a new GCC iso for that revision, because this commit does not
affect GCC at all.
This fixes the toolbar in FileZilla 3.8 being drawn wrong (grey)
It regressed by 0.4.14-RC-61-g 1d8e74d4aa ( == 0.4.15-dev-1603-g 232c45fcd7 on master)
No release branches older than releases/0.4.14 were ever affected.
And todays fix is a partial revert of that guilty rev.
The reverted part is not even necessarily needed for what we had in mind back then,
It was just a first tiny step with the aim to get rid of the comctl32.h changes of that commit.
But that goal was and even is far out of reach for many other reasons also.
Actually we should have reverted the toolbar.c change back then already,
before committing the "flipfix9".
CORE-18263
Fix picked from 0.4.15-dev-5396-g 9c5bb096bc
Item hint for "Resources by connection" was incorrectly set to the hint for "Resources by type".
fix picked from 0.4.15-dev-5334-g 075ec50298
and also port back stripping of some EOL-whitespace
Addendum to 0.4.14-RC-98-g c437ff6128
because I do intend to port the changed code back further
and don't want to poison the older branches with the malformatting.
This is some cleanup addendum to 0.4.14-dev-20-g 2f4fb903b4
The commit is not super important for releases/0.4.14 but makes sense to port back for the sake
of sync, because it is inherent part of a much bigger backport for the older releases.
fix picked from 0.4.15-dev-5287-g 4615c824db
I will backport later more of similar left-over-removals but I will wait with that
until releases/0.4.15 will have been tested thoroughly and released.
Mutes the logging:
fixme:(dll/directx/wine/ddraw/utils.c:584) Unhandled flags 0x20.
gets logged many times per second.
It does affect several applications, e.g. the game 'Anno 1602' from 1998, and the 'Diablo 2 demo' from rapps,
For both games it can be observed with both: our VBEMP driver and the VBox4.3.12 3D-accelerated-driver.
Muting may improve performance a bit in such apps.
It gets logged although no missing features can be perceived visually in the rendering.
The regression was introduced to master by 0.4.9-dev-155-g 9987f02917
Fix it by importing Wine-commit
b943c7910b
ddraw: Handle DDLOCK_WRITEONLY in wined3dmapflags_from_ddrawmapflags().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
fix picked from 0.4.15-dev-5070-g 305aae75f5
Today 2022-10-25 was the day, when I spotted the first URL in rapps that is not longer happy with just having
ECDSA_P256 but now needs even ECDSA_P384 to make the rapps download succeed. *eye-rolling*
It was https://bitbucket.org/Swyter/tld-downloads/downloads/diabloiidemo.exe
that failed the rapps download with
fixme:(dll/win32/bcrypt/bcrypt_main.c:359) algorithm L"ECDSA_P384" not supported
err:(win32ss/user/user32/windows/messagebox.c:1048) MessageBox: L"Paket konnte nicht geladen werden! Pr\00fcfen Sie Ihre Internetverbindung!"
So I have no choice but to follow the totally stupid crypto-rat-race and
add the missing structs and handlers in BCryptOpenAlgorithmProvider().
When will the world ever learn that the new cryptos do outdate faster than the new shit even can be implemented in time everywhere?
Each additional crypto algorithm effectively enlarges the attack surface of the end-points instead of making stuff more secure.
The world is rushing towards totally breaking backward compatibility to older systems. This is built-in obsolescence. For which gain?
This race can never be won. Each crypto-iteration just intensifies the existing chaos. Enough ranting...
fix picked from 0.4.15-dev-3662-g c3e0df0611
It is a cherry-pick a part of Michael Müller's commit from Wine
76b6c360fa
The commit doesn't fix CORE-14198 at all, same like on master, but since the original commit was linked
to that JIRA ticket as well, I decided to do the same with the backport.
See https://reactos.org/wiki/ReactOS_Foundation for more information.
the first part of CORE-18191
picked from 0.4.15-dev-4866-g 6881d8c624
Respect:
-Colins wish to leave out for now all the matches in kbdtool for legal uncertainty
-boot_images.cmake on master vs. boot/CMakeLists.txt in older branches
-treating cpu.inf special in this first commit for the sake of keeping sync to all other infs
-unlike master I decided to groom also cdmake, because I don't see any reason yet to dump that
in the older branches
-all releases down to releases/0.4.7 were released for the first time after the "ReactOS foundation"
dissolved already in 2015. So all are definitely fine to receive this commit.
-port back some EOL whitespace fixes as well in common.ver to sync the file to 100% to master head
SHAppBarMessage() was reimplemented at a different place by
0.4.14-dev-1209-g 10d1afea18
That was a reimport from Wine.
Fix picked from 0.4.15-dev-5242-g e6fb0e0c25
First part with the typo in the assert was introduced by 5579428b4f
which was merged into ros by a merge-task during 0.4.8-dev'ing.
releases/0.4.7 didn't have that code yet.
fix picked from 0.4.15-dev-5035-g f308c6a2bc
----------
[NTFS] Do not print debug message for every function call by default
That 2nd part was picked from 0.4.13-dev-450-g 1552434940
This part is not relevant for the backport to releases/0.4.13 and 0.4.14, because it is
already inside them.
----------
And for all the files that I had to touch for the 2nd part in the older branches,
I ported back also some EOL-whitespace-fixes within like they were done during 0.4.15-dev'ing.
by hand!
Motivation is to fix the following warnings at configure-time for *GCC dbg* :
-- umandlg has no base address
-- hotplug has no base address
-- qcap has no base address
-- mydocs has no base address
-- fusion has no base address
-- fusion_1_1 has no base address
-- fusion_2_0 has no base address
-- storprop has no base address
-- localspl_apitest.dll has no base address
This fixes CORE-14831 for *GCC dbg* at least for this branch.
Meaning: It hides the effect, without fixing the cause.
It is neither a sufficient fix for other toolchains/configs,
nor a sustainable solution for master yet.
We'd need to improve the python script for that.
That problem in the shell was unhidden when we switched from our own to the MS-PL CDFS-driver
in 0.4.8-dev-164-g ec6b3ecbe4
because our own old CDFS driver erroneously never reported any CD file being read-only.
Fix picked from 0.4.15-dev-4348-g 513d0a6d2d
While backporting the fix, I decided to port back also some EOL-whitespace-stripping in that file.
which I could observe all the way from releases/0.4.7 up to releases/0.4.14
with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuration
Creating library dll\win32\winhttp\winhttp.lib and object dll\win32\winhttp\winhttp.exp
LINK : warning LNK4199: /DELAYLOAD:ole32.dll ignored; no imports found from ole32.dll
Fix picked from 0.4.15-dev-4326-g 2f7dc168f2
And just for the record: Wine did the same with their:
f400f25c25
can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuration:
C:\047rls\reactos\modules\rosapps\applications\screensavers\cylfrac\cylfrac.c(109) : warning C4305: 'function' : truncation from 'double' to 'float'
C:\047rls\reactos\modules\rosapps\applications\screensavers\cylfrac\cylfrac.c(110) : warning C4305: 'function' : truncation from 'double' to 'float'
C:\047rls\reactos\modules\rosapps\applications\screensavers\cylfrac\cylfrac.c(137) : warning C4305: 'initializing' : truncation from 'double' to 'GLfloat'
partial pick of 0.4.15-dev-2951-g 5d8e834897
can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuation:
[11438/11751] Building CXX object modules\rosapps\applications\net\roshttpd\CMakeFiles\roshttpd.dir\config.cpp.obj
C:\047rls\reactos\modules\rosapps\applications\net\roshttpd\include\httpd.h(70) : warning C4373: 'CHttpDaemon::OnAccept': virtual function overrides 'CServerSocket::OnAccept', previous versions of the compiler did not override when parameters only differed by const/volatile qualifiers
C:\047rls\reactos\modules\rosapps\applications\net\roshttpd\include\socket.h(132) : see declaration of 'CServerSocket::OnAccept'
[11441/11751] Building CXX object modules\rosapps\applications\net\roshttpd\CMakeFiles\roshttpd.dir\httpd.cpp.obj
C:\047rls\reactos\modules\rosapps\applications\net\roshttpd\include\httpd.h(70) : warning C4373: 'CHttpDaemon::OnAccept': virtual function overrides 'CServerSocket::OnAccept', previous versions of the compiler did not override when parameters only differed by const/volatile qualifiers
C:\047rls\reactos\modules\rosapps\applications\net\roshttpd\include\socket.h(132) : see declaration of 'CServerSocket::OnAccept'
[11442/11751] Building CXX object modules\rosapps\applications\net\roshttpd\CMakeFiles\roshttpd.dir\roshttpd.cpp.obj
C:\047rls\reactos\modules\rosapps\applications\net\roshttpd\include\httpd.h(70) : warning C4373: 'CHttpDaemon::OnAccept': virtual function overrides 'CServerSocket::OnAccept', previous versions of the compiler did not override when parameters only differed by const/volatile qualifiers
C:\047rls\reactos\modules\rosapps\applications\net\roshttpd\include\socket.h(132) : see declaration of 'CServerSocket::OnAccept'
partial pick of 0.4.15-dev-2951-g 5d8e834897
the warning can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuation:
[11432/11751] Building CXX object modules\rosapps\applications\net\netreg\CMakeFiles\netreg.dir\netreg.cpp.obj
C:\047rls\reactos\modules\rosapps\applications\net\netreg\netreg.cpp(188) : warning C4065: switch statement contains 'default' but no 'case' labels
partial pick of 0.4.15-dev-2951-g 5d8e834897
This covers a last handful of those glitches that were freshly introduced
during late 0.4.14-dev'ing after we had just recently killed
all of them via 0.4.14-dev-1142-g 92aabb07fb
Fix picked from 0.4.15-dev-4276-g a8107ee446
This does not need to be ported back further, the older branches are clean now.
Since more than 10 years we do ship two binaries for the very same purpose in our isos:
msconfig and msconfig_new.
msconfig_new was an attempt to refactor the old tool, but it got stuck rather soon
and is bloating our isos since then, and consuming build-time.
My testing shows that the older version is superior in many ways
compared to that refactoring attempt: see CORE-18067 for examples of some bugs.
Personally I think focusing on the older tool exclusively would make more sense
than trying to improve that refactoring proposal.
But since one never knows what the future might bring and I did not want to step on anyones toes,
I decided to just disable the build and iso-integration of the unfinished one meanwhile,
instead of dumping it entirely. Although my feeling is that after 10years of waiting
it's not worth waiting another 10 years with that.
Fix picked from:
0.4.15-dev-3882-g e6de6098fb
Fix the glitch
"Wenn nur eine nur einzige Leitung verbunden ist"
to
"Wenn nur eine einzige Leitung verbunden ist"
which was introduced by
SVN r67570 == git 8ad8574f4b
and a few other small glitches.
fix picked from:
0.4.15-dev-3878-g d9f156e9a8
by picking the following commits:
0.4.15-dev-413-g ed7196d964 [TASKMGR] Remove 'Debug Channels' feature, which is Wine-specific
0.4.15-dev-2488-g fd4d8f550c [TASKMGR] id-ID.rc, just the single line in this module
A resource compiler 'warning RC4206 : title string too long; truncated at 256'
had been fixed by
0.4.12-dev-920-g 8fb10879fc already
and I am porting this back into releases/0.4.7 till releases/0.4.11 right now.
Back then the trailing space before that comment
' //TOO LONG, MAX 256 CHARS ALLOWED' was forgotten to be removed.
That part was already done on master head since then though as part of 0.4.15-dev-3152-g bbabe2489e
I decided to port back 'the final thing' of that line instead of having several intermediate states.
Therefore the stupid-looking one-character-change in this branch.
The main part in [USER32] was already committed into 0.4.14-RC-123-g 75e9ac7727
but we do have two follow-ups that are worth picking as well:
---------------------
[NTUSER] Do not remove message from the Msg Queue if it is not for us. (#4129)
CORE-8217 This part of the fix keeps the buttons working (Cancel/Ok/top-Right-X) even under high CPU-load
Patch from 'I_Kill_Bugs' contributor.
Fix picked from 0.4.15-dev-3499-g 7d1b50394b
---------------------
[3DTEXT] Fix 3dtext.scr using near 100% CPU (#4125) CORE-17866, CORE-8217
Fix picked from 0.4.15-dev-3443-g 5c9fdcb1de
Our default configuration started to spam before the dash separator for 2nd-/3rd-stage:
(boot/freeldr/freeldr/ntldr/winldr.c:628) fixme: LoadWindowsCore: SOS - TRUE (not implemented)
(ntoskrnl/kd64/kdinit.c:74) -----------------------------------------------------
since 0.4.14-dev-1347-g 305e856ef8
I left master untouched for now, because hbelusca has something in the making
for the actual implementation already. He expects to merge that "soon"(TM)
and does not have to merge anything then. I do not intend to wait that long
for the release though.
The other options are left in spam-mode, because they are not the default.
It popped up very reliably when performing git-clone of the ros sources
while having the taskmgr open in the processes-tab.
Or when building 'ninja bootcd -j1' while having the taskmgr open in the processes-tab.
It is always possible to ignore it and then continue using ros for days without
noticing any side effects.
James Tabor judged the assert to have a "questionable logic".
Giannis who once added it, was also ok with commenting it.
His words:
This assertion isn't something fatal,
the worst thing that can happen from continuing on it would be
to make the thread get awake more times than it should.
The assert was once added by SVN r63880 == git 9ad857369a
It was commented out already via 0.4.14-dev-1519-g 87f6c82d85 (2020-04-21)
Final Removal picked from 0.4.15-dev-3780-g bf16435303 (2022-02-05)
warning RC4206 : title string too long; truncated at 256
by providing shorter translations.
We had 24 such warnings in this module
fix picked from:
0.4.15-dev-3739-g ff9301e9db
0.4.15-dev-3748-g 6a496c3991
Add missing structs and handler in BCryptOpenAlgorithmProvider().
Fixes CORE-16741 and similar problems.
The modern internet is not waiting for ReactOS, needed to keep the RAPPS URLs working.
fix picked from:
0.4.15-dev-3603-g e0a47b7b5f [BCRYPT] Add BCRYPT_ECDSA_P256_ALGORITHM
We did strip that superfluous "Operating system"
during 0.4.15-dev'ing to prevent line-overflow when
we added the target platform to the version string.
picked from 0.4.15-dev-1605-g ab45955a5a
Recently I found out that the git hashes will also become
longer when there is hash collision. So the shortening adds to
safety also for the old branches.
While touching those RCs do also pick:
0.4.15-dev-2336-g d3fc345730 [CMD] de-DE: Fix 'Paramater' typo
and some EOL-whitespace stripping.
All releases/0.4.8 until and including releases/0.4.14 were affected by the following logspam
during shutdown:
(../ntoskrnl/mm/section.c:4839) SectionObject has ImageSection
triggered 2 times for bootcd, but triggered 83 times for livecd.
Today I found out by chance, that we started to trigger it with the switch from CDFS to CDFS_NEW with
0.4.8-dev-164-g ec6b3ecbe4
We 'suffered' from that logspam for many years now and it did never help us in any way.
And during 0.4.15-dev'ing with the MM rewrite, the logging was entirely removed in the NTOSKRNL.
As the dialog simply displays the copyright names and nothing particular it makes sense to use ShellAboutW() instead.
0.4.15-dev-3726-g c262020016 README CORE-18018
0.4.15-dev-3725-g adfef37b2b size fallback part 2 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, especially in cabinet.cpp
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
0.4.15-dev-3702-g cf984cc9fe for pt-PT.rc
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
First parts of Fontext.dll have been implemented in 0.4.14-dev-77-g d9e7c48c1a
and it was back then added for 2nd stage registration via syssetup.inf also.
Unfortunately that unhid a lot of stuff not working properly yet in the extension and within the related shell classes.
In sum, the user-experience is still better in this release without that extension therefore.
Adventurous users can manually call 'regsvr32 fontext.dll' to use the extension for testing,
all other users can benefit in default config from the following regressions being hidden without the extension:
-the font folders icon is back without the extension (we had no ticket for that even)
-CORE-17691 we can not longer open the file properties of a font within C:\ReactOS\fonts from context menu
-CORE-17673 Can not longer browse the font folder in explorer after renaming fontext.dll
-CORE-17671 Ordering fonts by the "last modified timestamp" does not work properly
-CORE-17311 Regression, [FONTEXT] Deleting fonts in fontext does not make them disappear from the list
This workaround-commit has not been applied to master. Over there we aim to properly fix the remaining issues instead.
Although we had 2 years until today, we were still not fast enough to fix them all early enough for this release branch.
InternalPos.NormalRect is a key data for detecting whether a window was snapped.
Keeping it after restore affecting next snap actions.
Fix picked from 0.4.15-dev-3422-g db810d8e44
CORE-17856 BSOD 0x50 when starting Castle of the Winds second time, with WineVDM
CORE-17857 BSOD 0x50 on shutdown after closing Castle of the Winds with WineVDM
The fix is a squashed back port of:
0.4.15-dev-3430-g 9cff384c22
0.4.15-dev-3440-g a89844f740
CORE-17861 Symptom: 'MS Visual Studio 2010 Pro Fatal System Error 0x00000050'
It regressed by 0.4.15-dev-2850-g 847b037fe9
which was ported back into 0.4.14-RC-84-g 4295544598
The fix was ported back from 0.4.15-dev-3420-g b538b9abb8
GTK applications call GetQueueStatus(QS_ALLINPUT), where QS_ALLINPUT
specifies the QS_RAWINPUT flag as well, when these are compiled for
Windows XP+, and they expect the call to succeed on this platform.
On one side, ReactOS does not currently support this flag at all, but
since it claims to be XP/2003-compatible, applications may implicitly
expect the flag to be supported by GetQueueStatus() and the function
*NOT* failing when this flag is set.
(Later GTK apps don't care and just call GetQueueStatus(QS_ALLINPUT)
that includes QS_RAWINPUT, and therefore would fail as well on e.g.
Windows 2000...)
Otherwise, an observable effect is that some versions of libgdk-win32-2.0.0.dll
enter into an infinite loop when calling GetQueueStatus(QS_ALLINPUT),
since this call always failed on ReactOS.
On the other side, however, we should honour our winetests that handle
the presence of the QS_RAWINPUT flag and behave differently accordingly.
But since we do not support QS_RAWINPUT yet, we should keep their old
behaviour where QS_RAWINPUT is unused.
Thus, in order to accomodate both sides, we don't fail the GetQueueStatus()
call, but just set the ERROR_INVALID_FLAGS last error and continue it.
This fixes:
'All user32:TrackMouseEvent tests'
CORE-15686: Gimp 2.8.22 from rapps hangs after startup with 90%-100% CPU usage
and many dupes of that ticket like:
CORE-17551: Ardour hangs at the first start (GTK2 issue)
CORE-15151: newer "Inkscape 0.92.3" is unusable due to WIN32SS message queue lockup
CORE-14086: RawTherapee 5.0-r1-gtk2 fails to start (using 100% CPU)
CORE-11850: Geany 1.28 hangs with endless MsqSendMessage timed out
CORE-8475: Wireshark hangs after launch
It will also slightly appease, but not entirely fix:
CORE-8217: 3D Text ScreenSaver freezes system
Fix picked from 0.4.15-dev-3407-g 9c4397afdf
The interesting kernel32 part is a port of
0.4.15-dev-2069-g fd8080b094
CORE-16757 'Task Manager failed to show process's priority'
which I actually wanted to improve for 0.4.14.
But if we took that on its own, then it would unhide
CORE-17596 'Google Earth 7.1.8 regressed AGAIN by the same work'
That's why we take with us:
0.4.15-dev-2766-g 27fcfe66a2 (is also part of CORE-6473, I left the 2nd commit out that added an assert in NTOSKRNL)
Small hack: this backport required me to define _Unreferenced_parameter_ myself in tcp.c
stolen from newer sdk/include/psdk/specstrings.h. I didn't want to port back that entire file as well.
In combination those two fixes allow both 'Google Earth and to change process priority' to be fixed within the same build.
But I felt a bit more safe then by taking
0.4.15-dev-2793-g 979b7d4d8e
with me as well, because I was too afraid, that I might otherwise introduce
CORE-17647 'BSOD 0xc2 BAD_POOL_CALLER induced by networking, triggered by using KeePass 2.23'
although I could not trigger that in practice when leaving that third commit out as an experiment.
And since it was a safe no-brainer-fix, I couldn't resist to also pick
0.4.15-dev-764-g 4aeb45ce0c (#3170)
This fixes CORE-17021 'Mail.ru agent crashes on master'
(just threw first-chance exception in 0.4.14RC without actually causing the crash there)
which regressed by 0.4.14-dev-418-g 661b8a2a05
and it fixes ROSTESTS-375 'riched20:txtsrv crashes on Test WHS x86'
which regressed by 0.4.14-dev-419-g 76cf09cfea
fix picked from 0.4.15-dev-3370-g c8b6abab80