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
Within the current ShowTcpTable function logic, tcpTable would be freed twice.
The bug was introduced in 0.4.13-dev-579-g b695971c7f
Remove the second tcpTable free and fix coverity #1477187.
fix picked from 0.4.15-dev-3338-g 0e75fc9240
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
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.
Fix picked from 0.4.15-dev-3313-g 6417b2323d
- Delete useless SendMessageTimeout:WM_NULL call.
- Add useful SendMessageCallbackW:WM_POPUPSYSTEMMENU call.
- In the callback function of SendMessageCallbackW, do PostMessageW:WM_NULL
to properly handle the popup menu.
Fix picked from 0.4.15-dev-3297-g 037c744eb1
RosBE2.2.1 Win GCC8.4.0 RELEASE bootcd build was failing.
This was the last build error for the configuration:
-DENABLE_ROSTESTS=1 -DCMAKE_BUILD_TYPE=Release
fix picked from 0.4.15-dev-285-g 5349f49cfe
Sidenote of current compiler support on releases/0.4.14 (tested on 0.4.14-RC-110-g8600a00):
RosBE2.1.2 Lin GCC4.7.2 Debug build worked before and after this commit (bootcd+livecd) <- primary toolchain for releases/0.4.14
RosBE2.1.6 Win GCC4.7.2 Debug build worked before and after this commit (bootcd+livecd)
RosBE2.1.6 Win GCC4.7.2 Release build worked before and after this commit (bootcd+livecd)
RosBE2.2.1 Win GCC8.4.0 Debug build worked before and after this commit (bootcd+livecd)
RosBE2.1.6 Win MSVC2010SP1 Debug build worked before and after this commit (bootcd+livecd)
RosBE2.1.6 Win MSVC2010SP1 Release build worked before and after this commit (bootcd+livecd)
VSSolution msbuild 2010SP1 Debug build should also work, last time tested 0.4.14-RC-68-g366c46b
Newer MSVC (<= MSVC19.28.29115) might/should work as well, but I did not explicitly test those myself.
CORE-17819 This allows VPC2004/2007 to boot LiveCD SAFEMODE to desktop,
the regular mode booted also without that addition already.
Fix picked from 0.4.15-dev-1537-g b1c460d34e
Logspam started during 0.4.9-dev'ing when zipfldr got committed,
logspam became much worse by 0.4.10-dev-599-g 932df37
But the actual bug of 'calling those functions when not needed' is much older than that.
Fix picked from 0.4.15-dev-3275-g cee171f5d2
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
because that subset is applicable and a win for all ros releases down to 0.4.7.
observed with MSVC2010SP1 16.0.40219.1 in rls-config several times:
sdk\lib\crt\string\wtoi64.c(28) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
sdk\lib\crt\string\wtoi64.c(194) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
the fix is a PARTIAL port of 0.4.15-dev-2951-g 5d8e834897
and while touching the file
fix another white-space-glitch.
in sum that brings us 100% in sync in this file to
current master head 0.4.15-dev-3264-g570cedf.
Renaming .LNK files had a bug that the selection won't include the extension-like filename part.
That regressed by
0.4.14-dev-1116-g 4df9355d0c
fix picked from 0.4.15-dev-3261-g 9078e34f3c
In 0.4.14-dev-1321-g d6e0fe78e7
we introduced the following compiler warning for MSVC2010 release build:
reactos/base/applications/notepad/lang/es-ES.rc(12) : warning RC4204 : ASCII character not equivalent to virtual key code
That warning was muted without investing too much love by
0.4.15-dev-2469-g d0bb775774
Proper fix picked from 0.4.15-dev-3253-g fbf50492fd90d54e9c8e53a5615a5db8711c8feb
In particular, add the missed diff in ITextHostImpl_TxGetCharFormat.
It regressed when we did improperly sync to Wine Staging 4.18 via
0.4.14-dev-419-g 76cf09cfea
Fix is squashed back-port of:
0.4.15-dev-3252-g e30b0a356d and
0.4.15-dev-3251-g 5a9535e694
Selection on renaming folders shouldn't select
the extension-like part of filename.
It regressed by 0.4.14-dev-1116-g 4df9355d0c
Fix picked from 0.4.15-dev-3242-g 5da934e34d
This fixes log spam about NM_CUSTOMDRAW not being handled,
e.g. when interacting with the start-menu or filebrowsers menubar.
Less logging implies faster painting here with dbg-builds.
fix picked from commit 0.4.15-dev-3229-g 22e58e68aa
This is an addendum to
0.4.15-dev-3174-g dda9c3979e CORE-17769 and
0.4.15-dev-3147-g 3bf7e3ac13 CORE-17754 CORE-17755
We have not seen this happening in real-life yet, but some code-fragments within co_IntSetScrollInfo()
e.g. line 628 if (nBar == SB_CTL) do clearly indicate that nBar can be 2 (SB_CTL).
Some lines below we definitely must not access those 4 static arrays out of bounds then via nBar as access index!
Ftr with a bit of grepping I also found some calls like NtUserSetScrollInfo(Wnd, SB_CTL, &Info, FALSE);
e.g: in win32ss/user/user32/controls/scrollbar.c so I am pretty sure nBar == 2 can happen in practice within co_IntSetScrollInfo().
I question whether any of those reads/writes to those static arrays (or the comparisons) would make any sense on index 2,
so we should aim to eliminate them altogether in the future.
fix picked from 0.4.15-dev-3175-g 222acf5a3e
squashed backport of:
0.4.15-dev-2375-g ffea5152e6 integer underflow and
0.4.15-dev-3174-g dda9c3979e CORE-17769
Fixes CORE-17769 'Rapps Listview manual resize may erroneously not draw the triangles sometimes'
This could happen for both: themed and unthemed.
CORE-17769 was a regression introduced by 0.4.14-dev-1134-g 00adb1a3f9
We don't really like the added state in form of the static variables,
but the patch works good from a pure testing-perspective.
Many Thanks to the patches author: Doug Lyons
Squashed backport of:
0.4.15-dev-3086-g 236649c626 (#3868) and
0.4.15-dev-3147-g 3bf7e3ac13 (#3953)
to fix some regressions for themed scrollbars that were introduced by
0.4.14-dev-1134-g 00adb1a3f9
fixes all or most parts of CORE-16735 without introducing CORE-17754 and CORE-17755
By taking alternative code-paths in WdmAud and bypassing Sysaudio.
This is my 2nd attempt to commit that.
This is a squashed backport of:
0.4.15-dev-791-g 6d7ebc2048 the USE_MMIXER_LIB which gives the best results when paired with those 2 previous patches:
0.4.15-dev-765-g b8e936a57b CORE-17214 (#3148) wdmaud-racecondition-fix and
0.4.15-dev-796-g a27f0debca CORE-17276 winmm:mixer-testbot-crash-fix
Defining USE_MMIXER_LIB will fix/improve:
- the test execution times of "GCCLin_x86 on Test VBox" will be dramatically improve (iirc by ~10-15min)
- CORE-8726/CORE-9986/CORE-16564 AC97 driver from rapps will work in the same session that the driver is installed, not a single reboot is needed anymore
- CORE-13202 Unhandled exception from wdmaud.drv when recording sound in Scratch 1.4 leads to app-crash (gets fixed even for older builds that did not receive 0.4.15-dev-2794-g 81f8bce yet)
- CORE-13488 A deadlock in "DiabloII" character selection screen and "The Lion King II"
- CORE-9981 "DosBox + Commander Keen6" almost 100% fixed, DosBox + Commander Keen6 properly plays music instead of garbled output,
same improvement for "ScummVM 2.0 with Monkey Island 2"
The playback is not yet *entirely* perfect, still a few hiccups now and then, but by orders of magnitude better than before.
Defining USE_MMIXER_LIB will also have some negative aspects:
- CORE-17277 crash of dsound:duplex on "GCCLin_x86 on Test VBox" gets unhidden on the bot, but was proven to be broken even beforehand already. The driver beforehand was just not found and the tests were skipped therefore.
- CORE-17278 crash of dsound:capture on "GCCLin_x86 on Test VBox" gets unhidden on the bot, but was proven to be broken even beforehand already. The driver beforehand was just not found and the tests were skipped therefore.
- It may also have a negative impact for CORE-17285 "Realtek HD Audio" but Oleg Dubinsky accepted to tolerate that and aims to approach it differently. I will resolve that as WontFix now.
I do recommend to change in function SymSetSearchPath: the line
WCHAR* sp;
to
WCHAR* sp = NULL;
to avoid the following compiler warning, that I got only on carrier-releaser interestingly,
../dll/win32/dbghelp/dbghelp.c: In function 'SymSetSearchPath':
../dll/win32/dbghelp/dbghelp.c:244:9: error: 'sp' may be used uninitialized in this function [-Werror=uninitialized]
cc1: all warnings being treated as errors
but I did not get that error on compilation when building this locally on "GCC4.7.2 RosBE2.1.6"
or "GCC8.4.0 RosBE2.21", or "VS2010", or with the buildbits/testbots. Weird!
I have no clue, why carrier releaser does behave different here at all upon compilation!
This is a minimized version of the not yet merged patch of (#3257).
I will commit only into the RC but not into master, because
author Thomas Faber is most likely interested in upstream integration.
It fixes Heap Corruption when starting KernRate, which I could confirm
with system-wide DPH beforehand.
Avoids the wizard for unrecognized devices to pop
up after each and every reboot when BTRFS is used.
Also slightly 'improves' the displaying in device manager.
Both regressed by 0.4.14-dev-1535-g 194ea909fd
This is no proper solution, but more or less the same
that we did for 0.4.13 release already.
The proper fix will come in 0.4.15-dev'ing with
the storage-stack-rewrite and does not require those
4 lines to be added in the btrfs.inf anymore.
That new dialog was added during 0.4.14-dev'ing.
Porting back its german translation makes sense therefore.
Especially since it is the last dialog of the bootcd setup
that would be untranslated otherwise for 0.4.14RC.
fix picked from 0.4.15-dev-2040-g b493a2f8ab
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
Improve performance of Start-Run Dialog Box Options
This will fix:
CORE-17351 'RunDlg fails calling URL without http'
and
CORE-16898 'RunCommand "iexplore" fails to open Wine IE'
Both regressed by 0.4.10-dev-419-g bfcbda227f
Fix picked from 0.4.15-dev-2883-g 33c7c91b36
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
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.
fix picked from 0.4.15-dev-2850-g 847b037fe9
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
Fix automatic toggling of date display on second stage setup
Update comctrl from Wine with fix.
Sync datetime.c to Wine-6.0
Thanks to the patches author Doug Lyons.
fix is aquashed port of
0.4.15-dev-2796-g e382b7bc35 +
0.4.15-dev-2797-g adee5ca255