This is a sane addendum to 0.4.14-RC-67-g ef623b1616
by porting back the following master commits:
[WIN32SS][NTUSER] ShowWindow.SW_MINIMIZE should show window (#3700)
- user32!ShowWindow.SW_MINIMIZE should show the window.
- Fix the return value of ShowWindow function on invalid parameter.
CORE-15669
picked from 0.4.15-dev-2621-g 59d4c11203
[WIN32SS][NTUSER] Improve HSHELL_WINDOWCREATED condition (#3697)
Modify the condition of generating HSHELL_WINDOWCREATED, especially on WS_CHILD window style. CORE-15669
picked from 0.4.15-dev-2618-g 32b0cf6fc6
[USER32_APITEST] Add ShowWindow testcase (#3689)
Investigate the implementation of user32!ShowWindow. CORE-15669
picked from 0.4.15-dev-2616-g a8ed286c86
[SHELL32_APITEST] Strengthen and improve ShellHook testcase (#3687)
- Add tests to find the missing parameters against HSHELL_WINDOWCREATED conditions.
- Improve code readability. CORE-15669
picked from 0.4.15-dev-2611-g d21adc9b31
It regressed by 0.4.12-dev-1064-g 09c4d0a74b
when we tried to mute compiler warnings in the GCC Release configuration
for all modules, that do contain .y files.
In master we switched to use flex+bison to process those files at build-time
in 0.4.15-dev-2277-g 28dadda8be and at the same
time reverted the guilty rev.
In the backport to the old releases we do only revert, but do not introduce
flex+bison. This will reintroduce the warnings in GCC Release configuration.
fixes CORE-17330 'Regression, many installers that should have only 1 taskbar pane, now have 2 of them erroneously'
which was introduced by 0.4.14-dev-369-g 141cf04239
and made ros behave a lot different than previous and future releases would perform.
The main fix was picked from 0.4.15-dev-1126-g 58b0558f94 (#3294)
and the new ShellHook testcase from 0.4.15-dev-1123-g 0089291751 (#3289)
The implementation atm passes all those 384 new ShellHookTests.
Beside that it entirely fixes the very old:
CORE-13584 'Winamp 5.666 erroneously has a secret tab shown in taskbar'
But brings back:
CORE-15669 'DVD Write Now 1.5.12 SP2 setup has no taskbar pane' (which was never working in any earlier release up to now)
but which we had fixed for a very short moment in master since the guilty 0.4.14-dev-369-g 141cf04239
That alone would be no biggy, but it also unhides?/introduces? for me the new:
CORE-17338 'Can not open a context menu in the taskbar pane of Double Commander setup, instantly closes'
Well in sum it is an improvement, but we are not in urgent need of porting it back any further than 0.4.14 yet,
because older releases would only benefit from CORE-13584 'Winamp...'
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.
"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
flip_fix_9.patch fixes:
CORE-16984 " 'SPINA Thrulg' / 'SPINA Thyr' / 'Sim Thyr' have images flipped"
CORE-17194 "StretchDIBits test" isn't work correctly"
"Output of 'Project 3 Test'"
CORE-14701 "DVDStyler 3.0.4 transparent toolbars"
CORE-14701 "DVDStyler 3.0.4 erroneously black around icons of welcome-dlg"
CORE-14671 "'Peazip' shows icons in buttons and menubar vertically flipped"
"Double Commander shoes icons flipped in buttons, menubar, listview and the treeview"
CORE-13273 "Welcome to Lazarus" icon shows flipped
CORE-13026 "'CudaText app' icon shows flipped"
Not all of those are duplicates, although they appear to be at first glance.
It affects different controls and some of those tickets do have different 'guilty revs' than others.
The patch does consist of 3 parts:
1.) win32ss/gdi/ntgdi/dibobj.c
This one is the most clean part of it, that addresses most of the flipping issues now.
2.) The hack in comctl32.h redefining the version:
We used that in the past to appease some, but not all of the issues listed above.
But it does hide additional issues, e.g. in DvDStyler, therefore we seem to still need that appeasement even today.
Most likely it would make sense to aim to avoid this part in the future.
part 2.) was committed as first appeasement on its own already into
0.4.14-RC-24-g 198b61e
0.4.13-RC-7-g 67211fa
0.4.12-RC-5-g 8449527
0.4.11-RC-16-g b906163
0.4.10-RC-7-g f1e80fe
0.4.9-RC-34-g 9d758ae
3.) toolbar.c change
That part fixes at least the toolbar case for DvDStyler
without relying on the comctl32.h hack any longer,
but it was still not enough to completely get rid of part 2.) yet.
Many thanks to all contributors: 'I_kill_Bugs', Doug Lyons and also 'Julenuri' for testing.
The patch gave nice testbot results:
KVM: https://reactos.org/testman/compare.php?ids=75704,75714
VBox: https://reactos.org/testman/compare.php?ids=75705,75715
and we also created a summary of manual test-results:
https://jira.reactos.org/browse/CORE-17415?focusedCommentId=126668&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-126668
If you read this comment via git blame and your goal is to get rid of the hack in comctl32.h, I would highly recommend
to redo the tests of that testing table, and if that is asked too much, then please test at least the following cases:
CORE-14701 "DVDStyler 3.0.4 transparent toolbars"
CORE-14701 "DVDStyler 3.0.4 erroneously black around icons of welcome-dlg"
"DVDStyler 3.0.4 erroneously black/transparent within comboboxes of properties of VMGM menu"
and try to add what might be needed to fix them, and double-check again:
"DoubleCommander optionsDlg the most complex testcase, contains flip-prone icons in treeview, listview, menubar, buttons, statics". Only some of its flipped icons were impacted by the comctl32.h change before.
fix picked from 0.4.15-dev-1603-g 232c45fcd7
I double-checked and although the crash in Motorbike does *not* happen by default in all of those builds:
0.4.14-RC-54-g6a6672d (hidden by opt-in apisets-default in release branch)
0.4.13-release-1-g2ac9d98 (hidden by opt-in apisets-default in release branch)
0.4.12-release-17-g79780cd (hidden also, I don't understand why)
0.4.11-release-28-gc4d930d (hidden also, I don't understand why)
0.4.10-release-35-g94b4a3e (hidden also, I don't understand why)
0.4.9-release-41-gd3a79fe (hidden also, I don't understand why)
0.4.8-release-46-gd4d58d7 (hidden, does not have apisets yet)
0.4.7-release-56-g835b508 (hidden, does not have apisets yet)
It was really only crashing in master.
I decided to port the proper fix back nevertheless, because:
- the exports are wrong for our target
- I can not guarantee otherwise that it would not pop up all of a sudden later
- and the fix also decreases the binary size of that apiset.
Fix picked from 0.4.15-dev-179-g 02825c20e4
Allows to complete the whole 'ninja bootcd' after 'configure -DCMAKE_BUILD_TYPE=Release'
for compiler MSVC 2010SP1 16.0.40219.1 with RosBE 2.1.6
Similar to the fix committed in 0.4.15-dev-1453-g 4ad7b6d
"cl : Command line error D8016 : '/Ox' and '/RTC1' command-line options are incompatible"
in MSVC builds with Release Configuration
Addendum to 0.4.14-dev-1373-g 92dfec219d
fix picked from commit 0.4.15-dev-1186-g a2a6038e56
CORE-17312
Hide everything under the same foreground & background colors, so that
the actual color and text blanking reset does not create a visual "blinking".
Then, blank the text and finally reset the actual foreground &
background colors.
We do this because we cannot do the screen scrolling trick that would
allow to change both the text and the colors at the same time (the
function is currently not available in our console "emulation" layer).
The issue was unhidden when we introduced the red progress bar in
0.4.11-dev-111-g e5c0bfacf1
Fix picked from 0.4.15-dev-1078-g 434fa562ce
This fixes the ReactOS Calculator buttons disappearing in CORE-16827
It once regressed by 0.4.13-dev-221-g
2161dd85dc
which did aim to fix CORE-15934.
Noteworthy that releases/0.4.12 was never affected although I fixed CORE-15934
there as well, but *not* with the fix that went into master later!
fix picked from commit 0.4.15-dev-1197-g
8081ba9332
Those 2 did spam heavily when browsing folders with
many .zip files within. Mark Jansen confirmed that
this is good-path-logging and was just forgotten
to be disabled earlier. They were introduced by 0.4.14-RC-16-g
e13ff4aeb8
fix picked from commit 0.4.15-dev-628-g
f363c27ab4
which means we have no affected release branches left anymore.
This avoids blocking all Ex worker threads in fastfat, thereby making Cc
unable to issue the lazy writes that would unblock those workers.
This is more or less directly taken from fastfat_new.
fix picked from commit 0.4.15-dev-1196-g
303f17f884
Cc may decide to process deferred writes any time, so the context might
already be freed by the time we return from CcDeferWrite.
Also mark the IRP as pending, since we're going to return STATUS_PENDING.
Fixes a BSOD in CrystalDiskMark Sequential Write Test
cherry picked from commit 0.4.15-dev-1139-g
320abafdc3
For FileOpenDlgProc95() & SHBrowseForFolder().
I decided to port those 2 commits back to have CORE-14332
fixed as a whole and not only a part of it.
*If* I would ever decide to port that back even further I should
remember that I will have to pick additionally 0.4.14-dev-1187-g
fc4c4d4911
-------------------------------------------------------------
[COMDLG32] Support shortcut keys on Open/Save Dialog (#3238)
Enable key accelerators on File Open/Save Dialog. CORE-14332
cherry picked from commit 0.4.15-dev-1050-g
c8e1460ac5
--------------------------------------------------------------
[SHELL32] Implement VK_DELETE on SHBrowseForFolder (#2661)
Enable Del/Delete key to delete the selected folder in "Browse for Folder" dialog.
You can use https://jira.reactos.org/secure/attachment/40118/getfolder.zip as a test program.
CORE-7592
cherry picked from commit 0.4.15-dev-39-g
771457f37f
A nice patch of Doug Lyons that, after it has been applied, frees us from all the spam like
(drivers/filesystems/fastfat/fat.c:61) WARNING: File system corruption detected. You may need to run a disk repair utility.
that started to appear when kmtest:IoFilesystem tried to create invalid dir-name and did succeed with that erroneously.
Those warnings continued to spam until the end of the bot-run, making the - actually helpful - warning useless.
After this commit we can trust the warning again to indicate that something yet unknown or random did cause corruption.
fix cherry picked from commit 0.4.15-dev-1125-g
79794b524c
Press'n'Hold of a button, then leaving the button rect
should redraw the button in unpressed state
Thanks to JIRA user 'I_kill_Bugs' for perfecting
my initial experiments to fix that.
It regressed by 0.4.9-dev-719-g
b3fb8555bf
No need to sync anything with Wine, their code is
correct on Wine head. The bug was in ros specific diff.
cherry picked from commit 0.4.15-dev-1085-g
c947eb4d17
Addendum to 0.4.11-dev-439-g
ec621270a1
I will not rebuild any iso for this commit as gflags.exe is by
default not built into our isos.
cherry picked from commit 0.4.15-dev-1101-g
374f9db341
CORE-17050
Display the shutdown message popup dialog on the current input desktop,
and periodically monitor for any change of the input desktop. When the
latter changes, close the dialog and recreate it on the new input desktop.
In addition, retain the current dialog position and restore it when the
dialog is recreated on the new desktop.
A patch authored by HBelusca.
The regression was introduced by 0.4.10-dev-579-g
c697f191cf
This commit is merging back the changes of 0.4.15-dev-1096-g
0ff9b0ff7e
(the minimized patch from JIRA avoiding most surrounding style changes)
Dedicated to the hard work of Joachim Henze! xD
This reverts part of commit 043a98dd (see also commit b2aeafca).
Contrary to what I assumed in commit 043a98dd (and was also assumed in
the older commit b2aeafca), we cannot use the singled-linked lists to
queue and dequeue the PnP device-install events, because:
- the events must be treated from the oldest to the newest ones, for
consistency, otherwise this creates problems, as shown by e.g. CORE-16103;
- the system singled-linked lists only offer access to the top of the
list (like a stack) instead of to both the top and the bottom of the
list, as would be required for a queue. Using the SLISTs would mean
that only the newest-received events would be treated first, while the
oldest (which were the first received) events would be treated last,
and this is wrong.
Therefore one must use e.g. the standard doubly-linked list. Also, using
locked operations (insertion & removal) on the list of device-install
events is necessary, because these operations are done concurrently by
two different threads: PnpEventThread() and DeviceInstallThread().
Since the interlocked linked list functions are not available in user-mode,
we need to use instead locking access through e.g. a mutex.
the regression was introduced by 0.4.12-dev-72-g
043a98ddd9
fix cherry picked from commit 0.4.15-dev-1074-g
ffc96d26ec
To avoid leaking private data into logs by default.
Some testers may consider their DNS-suffix private data.
And DnsIntCacheAddEntry() logs that via Record->pName.
The logging was activated by 0.4.14-dev-173-g
d49d7b3282
fix cherry picked from commit 0.4.15-dev-383-g
1b8b339aae
A squashed backmerge of 3 commits authored by Thomas Faber.
They do help to speed up RosBE2.1.6 within ReactOS.
'configure' runs faster by ~ factor 5.
'ninja bootcd -j1' runs faster by ~ factor 2.
I considered back-porting that a necessity because we
considerably lost speed over the last years in those scenarios.
I tested, and it works well also in the 0.4.14RC.
0.4.15-dev-309-g
10d23614d3
Use LastEntryInSegment to speed up RtlpFindAndCommitPages. CORE-14588
--------------------------
0.4.15-dev-307-g
1b7a4b3ebf
Add and populate LastEntryInSegment. CORE-14588
--------------------------
0.4.15-dev-306-g
78dddd125c
Create a define for the common members of HEAP and HEAP_SEGMENT. CORE-14588
The code relies on these members matching up, so it's confusing for them
to be duplicated.
The sorting in explorer broke by
SVN r73128 == git
24fcf531e7
Thanks to Doug Lyons for providing this patch.
fix cherry picked from commit 0.4.15-dev-752-g
35dbdaaa0e
By reverting the guilty rev 0.4.14-dev-1239-g
7481bda679
and placing a C_ASSERT() to protect us from doing the
same fault again in the future. (proposed by Mark Jansen)
This will allow again to use kernel32.dll from 2k3sp2 to
reach desktop and it will allow Google Earth to run again.
Unfortunately it will break CORE-16757 again,
but we did not ship that improvement yet
and we believe that revert to be correct.
When approaching CORE-16757 later, make sure to double-check
also CORE-17247 & CORE-17106 with your fix.
We did excessive testing here, see
https://jira.reactos.org/browse/CORE-17247?focusedCommentId=125166&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-125166
fix cherry picked from commit 0.4.15-dev-730-g
abbe656407
To prevent logspam that was introduced when syncing
to Wine Staging 4.18 in 0.4.14-dev-422-g
6feb8748d3
Thanks for anyone helping: Doug Lyons,
Fabian Maurer (Wine), Zebediah Figura (Wine)
fix cherry picked from commit 0.4.15-dev-686-g
1cc84c6db7
The regression was introduced by SVN r68553
3b13364f05
Many thanks to the author Doug Lyons for excellent
cooperation once more. Always a pleasure.
Fix cherry picked from commit 0.4.15-dev-663-g
cd7db5df89
and 0.4.15-dev-664-g
7c909cbc7c
GetIconInfo() fill info.hbmColor with NULL HBITMAP handle on black/white bitmaps.
CORE-17062
It broke by 0.4.9-dev-719-g
b3fb8555bf
cherry picked from commit 0.4.15-dev-534-g
887764e607
Both was introduced by activating feature
MiWriteProtectSystemImage() once.
Imho this feature is not stable yet, therefore I disable
it for releases.
Both problems most likely got visible by 0.4.12-dev-386-g
65dbfc2868
Master remains affected for now.
How long shall I recurrently workaround this?
Someone needs to dig into why that feature on ros
does not work similar to the Windows implementation yet.
Worked around like I did for all releases since 0.4.13 already.
Based on Mark Jansen's patch in CORE-17001.
The issue started to show with 0.4.14-dev-77-g
d9e7c48c1a
fix cherry picked from commit 0.4.15-dev-513-g
49be08bc69
no official ros release was affected therefore.
to fix regression CORE-16619 "Delay during bootup due to workqueue deadlocks" (verified)
to fix regression CORE-16511 "Regression: USB drives are not mounted anymore" (verified)
to fix regression CORE-16486 "doubled drive letters for USB drives" (verified)
to fix regression "got ioctl intended for the mount manager"-logspam (verified)
and hopefully to improve on CORE-15575 (this last part still needs verification)
This reverts the following commits:
0.4.14-dev-373-g
0917815efa
0.4.14-dev-296-g
324285f0b9
0.4.14-dev-294-g
887200703c
0.4.14-dev-172-g
6889cff5b5
0.4.14-dev-106-g
5ab1cfc553
0.4.14-dev-105-g
b68104dd87
Fixes build with ML 14.26.
Backport was recommended by Thomas Faber. I can not retest that compilation myself.
cherry picked from commit 0.4.15-dev-319-g
e4066536c2
Fixes the icons on some buttons being flipped vertically.
Known affected apps: Lazarus IDE, Double Commander, Peazip.
Beside that it also fixes transparency regressions in DVDStyler 3.0.4 (CORE-14701).
Thanks to patches author Doug Lyons.
The patch has not been committed to master yet and has the known side-effect
of introducing flipped icons in the options-treeview of Double-Commander
that are drawn correctly without the hackfix.
Workaround applied again like in all last releases since 0.4.9.
CORE-17079 Found by static code analysis
The wrong code once was introduced by 0.4.12-dev-408-g
431f9bf311
We were not aware of any user observable malfunction caused
by it.
fix cherry picked from commit 0.4.15-dev-311-g
03d5ff7f68
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
part of the fix for CORE-16908
This commit fixes a unittest crash in shell32:CFSFolder
introduced by the previous commits
cherry picked from commit 0.4.15-dev-279-g
83a9f71690