Commit graph

77468 commits

Author SHA1 Message Date
Joachim Henze
33f4311f6c [0.4.14][PROGMAN][CRT][USER32] Do not use LoadLibraryEx() NT6+ flags (#3152) CORE-12004
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
2021-07-02 19:15:10 +02:00
Joachim Henze
36d70aca10 [0.4.14][COMCTL32] Sync datetime.c to Wine-6.0 (#3674) CORE-17199
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
2021-06-28 02:10:29 +02:00
Joachim Henze
d28122e154 [0.4.14][DSOUND][WAVE] Workaround crash when recording sound in Scratch 1.4 CORE-13202
It regressed by SVN r44721 == git 356d4bab16092de335705e02b0e87698ec35c393
when #define USE_MMIXER_LIB was removed.

Thanks to the patches author Doug Lyons.

VBox https://reactos.org/testman/compare.php?ids=77914,77919 LGTM
 KVM https://reactos.org/testman/compare.php?ids=77913,77918 LGTM

fix picked from 0.4.15-dev-2794-g 81f8bcea8c
2021-06-27 23:07:07 +02:00
Joachim Henze
3c7b616f7f [EXT2] Fix filesystem corruption regressions CORE-17572 CORE-17195
It regressed when we upgraded Ext2Fsd to version 0.69 from version 0.68
via CORE-13980 in 0.4.8-dev-117-g a1d7e9936d

The fix is a partial revert of that.
Thanks to the patches author Doug Lyons.

VBox https://reactos.org/testman/compare.php?ids=77904,77908 LGTM
KVM https://reactos.org/testman/compare.php?ids=77903,77907 LGTM

fix picked from 0.4.15-dev-2792-g cb408102cc
2021-06-27 16:44:19 +02:00
Joachim Henze
38322f9b14 [0.4.14][NTGDI] Fix potential BSOD 0x1E CORE-17626
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.

Thanks to the patches author Doug Lyons.

a squashed port of
0.4.15-dev-2776-g 4130f0b1c5 (compilation fix)
0.4.15-dev-2775-g c596fd3ef6 (improvement #3758)
0.4.15-dev-2734-g 514147776a (fixes the BSOD)
2021-06-25 12:01:03 +02:00
Joachim Henze
591b517fc6 [0.4.14][WIN32K] Revert incorrect part of R50928 for RealizePalette. (#3678)
Revert incorrect code for Realize Palette
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 patch also fixes 2 crashes on each bot, although
it was not targeted for that explicitly:
KVM: https://reactos.org/testman/compare.php?ids=77304,77308 LGTM
VBox: https://reactos.org/testman/compare.php?ids=77305,77309 LGTM

Thanks to the patches author Doug Lyons.

picked from 0.4.15-dev-2735-g c7954134d0
2021-06-22 00:00:35 +02:00
Joachim Henze
de93f488fa [0.4.14][USETUP] Fix letter encoding in translation. (#3619)
Addendum to CORE-16792
The fix is part (but not all) of CORE-17545 Fixing several Clang warnings.

Fix Clang warning:

base/setup/usetup/lang/de-DE.h:1099:24: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
        "die Partition <E4>ndern, die derzeit als aktiv markiert ist.",
                       ^~~~
It regressed by 0.4.14-dev-1323-g d079342e0a

picked from 0.4.15-dev-2489-g 33c210da37

With that backport we have no affected releases left.
2021-06-20 23:39:25 +02:00
Joachim Henze
7f623508ab [0.4.14][UNIATA] Workaround random crashes on Virtual PC (#3377)
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 4b9cf2e (r71252). CORE-12441 CORE-17371

picked from 0.4.15-dev-2740-g ba77a09c04

While touching UNIATA port back also some bm_devs.h changes:
0.4.15-dev-2739-g d65d4137d3 (8086:7111 is really PIIX4, not PIIX3)
and
0.4.15-dev-1522-g 88d36c93a2 (Properly mark ReactOS diff from upstream)
2021-06-20 22:18:05 +02:00
Joachim Henze
ac77cdece3 [0.4.14][COMCTL32] Strip EOL whitespace within ifdef __REACTOS__ section
no functional change.
Make that look beautiful before porting it back further.

Addendum to 0.4.15-dev-534-g 887764e607
(CORE-17062)

picked from 0.4.15-dev-2705-g a3cadf630a
2021-06-16 11:47:55 +02:00
Joachim Henze
164b000cc6 [0.4.14][RPCRT4] Add I_RpcSNCHOption() as 'stub' CORE-12534
fixes BSOD 0xc0000139 STATUS_ENTRYPOINT_NOT_FOUND upon boot when
replacing just the file advapi32.dll with 2k3SP2 version 5.2.3790.3959

After adding the stub we can reach the login-screen requesting
for Ctrl+Alt+Delete.
We can properly ACPI-shutdown at this point.

picked from 0.4.15-dev-71-g 0b530fe496
2021-06-13 23:44:27 +02:00
Joachim Henze
24fd20fe58 [0.4.14][MSI] Enumerate only type DRIVE_FIXED CORE-17623 (& CORE-14432)
MSI on 2k3sp2 hides empty CD-ROM, and hides CD-ROM with iso mounted.
MSI on 2k3sp2 hides VBox shares, both: writable and read-only-ones.
MSI on 2k3sp2 hides floppy drives with a floppy img mounted.
MSI on XPSP3 hides a mounted writable USB stick.

Thanks to the patches author Doug Lyons.

This patch supersedes
0.4.14-RC-71-g cfc24316a5 (CORE-14432)
and we are also better than Wines
0dd0d879a1

picked from 0.4.15-dev-2704-g d5265b07bb
2021-06-13 15:37:05 +02:00
Joachim Henze
bb786a63dd [0.4.14][SHELL32_APITEST] ShellHook testcase Fix compiler error (addendum to #3289)
addendum to 0.4.15-dev-1123-g 0089291751

Fix a compiler error on RosBE2.1.6 GCC4.7.2
that I got when I merged this test back to
0.4.14-RC-67-g ef623b1616

C:/0414rls/reactos/modules/rostests/apitests/shell32/ShellHook.cpp: In function
'LRESULT WindowProc(HWND, UINT, WPARAM, LPARAM)':
C:/0414rls/reactos/modules/rostests/apitests/shell32/ShellHook.cpp:339:26: error
: comparison between signed and unsigned integer expressions [-Werror=sign-compa
re]
cc1plus.exe: all warnings being treated as errors
ninja: build stopped: subcommand failed.

Fix picked from 0.4.15-dev-2662-g d30a1673d4
2021-06-06 16:44:17 +02:00
Joachim Henze
cfc24316a5 [0.4.14][MSI] setup should not enumerate read-only CDRoms as install-targets CORE-14432
We decided to check a bit different than Wine currently does.
Wine checks for
if (GetVolumeInformationW(ptr, NULL, 0, NULL, 0, &flags, NULL, 0) && flags & FILE_READ_ONLY_VOLUME)
to exclude read-only-media while we (for now) check for
if (GetDriveTypeW(ptr) == DRIVE_CDROM)

For now this gives us the benefit of covering also CDROM drives, that do not have
a CD put into it.
That does not work properly for us with the Wine patch yet, but it does for Wine!
So this maybe points to some other bug in ros, maybe in our CDROM(FS)-drivers?

In the future we should also test this on other read-only-media in Windows e.g.
a read-only USB stick to decide whether we want to stick with our current solution
or whether we want to switch to Wines solution or whether we want to logically OR
both conditions!

Thanks to Doug Lyons for providing what *currently* does work best for us!

VBox https://reactos.org/testman/compare.php?ids=77537,77546 (no change)
KVM https://reactos.org/testman/compare.php?ids=77531,77541 (no change)

picked from 0.4.15-dev-2651-g 864e20b881
2021-06-05 21:34:11 +02:00
Joachim Henze
08e6117142 [0.4.14][WINETESTS] Workaround crashes in riched20:richole on VBox/KVM bots CORE-16799
The crashes began when those tests were synced to Wine Staging 4.18 in
0.4.14-dev-419-g 76cf09cfea

WHS 2k3sp2 Before the revert implies the tests were actually ok:
https://reactos.org/testman/compare.php?ids=77492

Disabling some of the tests is very unsatisfying of course,
but at least allows us to observe again
the results of the other tests from that suite.

VBox https://reactos.org/testman/compare.php?ids=77504,77506
KVM https://reactos.org/testman/compare.php?ids=77502,77505

picked from 0.4.15-dev-2639-g ae574e16f8
2021-06-04 21:13:40 +02:00
Joachim Henze
99f203c36f [0.4.14][NTUSER] DVD Write Now 1.5.12 SP2 setup has no taskbar pane CORE-15669
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
2021-06-02 04:33:27 +02:00
Joachim Henze
366c46b4fa [0.4.14] Fix VSSolution's msbuild CORE-15991
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.
2021-05-25 23:06:44 +02:00
Katayama Hirofumi MZ
ef623b1616 [0.4.14][NTUSER][SHELL32_APITEST] Fix regressions with taskbar panes CORE-17330 (#3289) (#3294) & CORE-13584
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...'
2021-05-22 03:21:11 +02:00
Joachim Henze
40ba76d55d [0.4.14][SHELL32] *.rc Whitespace fixes just, no functional change
Motivation to fix them in 0.4.14 is to avoid having to also port them back
when porting back nearby code.
2021-05-15 03:51:34 +02:00
Doug Lyons
dd0f439b51 [0.4.14][OPENGL32] Fix Red and Green Color Swap (#3478)
CORE-16221

(cherry picked from commit 834394abd9)
2021-05-11 22:10:26 +03:00
Joachim Henze
44e1f96e57 [0.4.14][SYSDM] Restore the general tabs layout and soft localization update
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.
2021-02-01 21:44:40 +01:00
Joachim Henze
c84b113225 [0.4.14][SYSDM] Fix version string cutoff CORE-17429
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.
2021-01-30 20:41:06 +01:00
Joachim Henze
ad8521d023 [0.4.14][RAPPS] "Let's encrypt" Certificate-Issuer-Update hamster-wheel
"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
2021-01-11 21:14:34 +01:00
Joachim Henze
1d8e74d4aa [0.4.14][WIN32SS][COMCTL32] Commit Flip_Fix_9.patch
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
2021-01-11 16:42:01 +01:00
Joachim Henze
cf4e1927a2 [0.4.14][SHELL32] Improve German (de-DE) translation
closer to 0.4.15-dev-1604-g 1e9547e
2021-01-06 01:03:13 +01:00
Joachim Henze
e6a5af4315 [0.4.14][CMD] Quick fix for the REM command parser. CORE-17030
This avoids spamming Syntax Errors when starting the VS2010 command prompt.

Fix picked from 0.4.15-dev-202-g 9c11be5a3a
2021-01-04 21:43:50 +01:00
Hermès Bélusca-Maïto
3461c592ab [0.4.14] Happy New Year 2021 to the ReactOS Community!!
picked from 0.4.15-dev-1523-g b570fac
2021-01-01 00:20:51 +01:00
Joachim Henze
59b42fab46 [0.4.14][WIN32SS] Fix BSOD 0x1E nullptr deref via Git-bash CORE-16586
Thanks to the patches author Doug Lyons!

fix picked from 0.4.15-dev-1457-g 870aa1254f
and the whitespace addendum 0.4.15-dev-1458-g 449a341
2020-12-19 18:17:22 +01:00
Joachim Henze
7f55bc9ea6 [0.4.14][CDFS] Fix a macro-copy-paste and shrink the binary size CORE-17405
picked from 0.4.15-dev-1456-g889eab7
2020-12-18 05:44:41 +01:00
Joachim Henze
d073564ce6 [0.4.14][APISETS] api-ms-win-core-winrt-l1-1-0: Ro*() are NT6.2+ (Win8). CORE-16707 #2739
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
2020-12-18 00:42:17 +01:00
Joachim Henze
6a6672d029 [0.4.14][APISETS][RDBSSLIB][RTL][DISK_NEW] Fix all build issues for MSVC Rls-config CORE-17402
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
2020-12-17 13:36:20 +01:00
Serge Gautherie
8ab328b53a [0.4.14][CMAKE] MSVC RUNTIME_CHECKS is a 'Debug'-only feature
"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
2020-12-14 15:17:33 +01:00
Joachim Henze
263c5f0a2e [0.4.14][USETUP] Do a trick to avoid visual "blinking" during screen clearing. (#3255)
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
2020-12-13 03:38:48 +01:00
Doug Lyons
286bfe92b2 [0.4.14][WIN32SS] Repaint the whole window frame on some style bits set (#3199)
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
2020-10-28 01:44:25 +01:00
Joachim Henze
fcf855770c [0.4.14][SHELL32] Demote 2 noisy goodpath loggings to TRACE CORE-17216
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.
2020-10-27 23:48:21 +01:00
Thomas Faber
4c27b4ae1e [0.4.14][FASTFAT] Implement the overflow queue. CORE-17344 CORE-17328
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
2020-10-27 15:36:47 +01:00
Thomas Faber
6131648d54 [0.4.14][FASTFAT] Ensure that deferred write IRP contexts are not touched. CORE-17328
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
2020-10-27 15:34:00 +01:00
Katayama Hirofumi MZ
23283deaf3 [0.4.14][COMDLG32][SHELL32] Support accelerator keys F2/del CORE-14332
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
2020-10-15 20:35:13 +02:00
Doug Lyons
0ea7582101 [0.4.14][FASTFAT] Fix create for DOT and DOT-DOT leaving bad directory entry (#3241) CORE-11325
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
2020-10-13 21:54:46 +02:00
Joachim Henze
9270049eb7 [0.4.14][COMCTL32] Button.c Fix CORE-17260
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
2020-10-13 16:48:02 +02:00
Serge Gautherie
3b122fdc36 [0.4.14][GFLAGS] ModifyStatus(): Remove a remnant HeapFree() (#3283) CORE-17325
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
2020-10-11 19:03:36 +02:00
Joachim Henze
1a270d9bbf [0.4.14][WINLOGON] Display the shutdown message popup dialog on the current input desktop. (#3259)
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)
2020-10-11 02:06:38 +02:00
Hermès Bélusca-Maïto
902872fc0c [0.4.14][UMPNPMGR][USETUP] Fix the way device-install events are queued and dequeued. Fixes CORE-16103.
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
2020-10-01 19:57:43 +02:00
Kyle Katarn
f0a2e6efa2 [0.4.14][ROSTEST] Fix copy paste bug in RtlBitmap.c ROSTESTS-356 #3221
The glitch was introduced by 0.4.14-dev-626-g
465745b683

fix cherry picked from commit 0.4.15-dev-1051-g
b217d8bd14
2020-09-28 20:24:55 +02:00
Joachim Henze
bd6c343b4f [0.4.14][DNSRSLVR] Define NDEBUG in cache.c
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
2020-09-28 01:37:50 +02:00
Doug Lyons
eda822a2c7 [0.4.14][IPHLPAPI] Fix for hasArp which crashes some iphlpapi tests. (#3216)
CORE-16513

cherry picked from commit 0.4.15-dev-1020-g
90be2f4e1b
2020-09-26 00:05:50 +02:00
Thomas Faber
4111dfa8bf [0.4.14][RTL] Optimize RtlpFindAndCommitPages CORE-14588
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.
2020-09-25 22:04:30 +02:00
Joachim Henze
0e72f93687 [0.4.14][SHELL32] Fix regression CORE-12364
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
2020-09-11 02:28:23 +02:00
Joachim Henze
b30846ab77 [0.4.14][SDK][NDK][PSTYPES] Fix regressions CORE-17247 & CORE-17106
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
2020-09-07 22:22:56 +02:00
Joachim Henze
f1fed684a5 [0.4.14][RPCRT4] Check hBinding != 0 CORE-16936
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
2020-09-01 22:14:02 +02:00
Joachim Henze
398fd51ef3 [0.4.14][WINSPOOL] Properly fix a double free CORE-16715
Addendum to 0.4.14-dev-957-g
d90beaeed2

Many Thanks to the patches author Doug Lyons!

Fix manually ported back from 0.4.15-dev-682-g
dde92f8ffa
2020-08-31 02:21:49 +02:00