Commit graph

72708 commits

Author SHA1 Message Date
Joachim Henze
4ea9a8a667 [0.4.10][WIN32SS][RTL] Fix regression CORE-16769 + BSOD 0x50 CORE-13907
The main motivation to port all that back is to get rid of Win32K-BSODs 0x50 like CORE-13907
that could be triggered by user-mode-applications.
Technical reason was CORE-14857 "RtlImageNtHeaderEx needs SEH" and issues with hooks+callbacks.
All other tickets mentioned in here were regressions that we experienced on the long
journey towards perfecting the fixes on master head, and those were not happening yet in the older builds,
so they are mentioned in here only to allow tracking where that code went into.

Thanks to Jim Tabor, Mark Jansen & Thomas Faber
By squashed backmerge of the following commits:
0.4.15-dev-3440-g a89844f740
0.4.15-dev-3430-g 9cff384c22
0.4.14-dev-1287-g 568b6d0558
0.4.14-dev-1255-g 177ae91bf6
0.4.14-dev-1241-g 915a5764a9
0.4.14-dev-1240-g d8add40e89
0.4.14-dev-1002-g feb7df42b4

JIRA-tickets: CORE-13907, CORE-16769, CORE-14857, CORE-17856, CORE-17857, partially CORE-13019.
We also had some more dupes of CORE-13907 in JIRA, but I linked all of them (transitively)
towards the initial report, and resolved them without setting a fixVer for them.

In more detail:
--------------
[USER32] Fix BSOD 0x50 in 'WineVDM + Castle Of Winds' CORE-17856 CORE-17857

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

0.4.15-dev-3430-g 9cff384c22
0.4.15-dev-3440-g a89844f740
--------------
[NTUSER] Fix Strings and Format to Hooks

Allocate heap instead of data segment to be used for callbacks on user side.
Move and correct initial hook call out setup. Use it in more than one hook call.

This fixes issues with strings out of alignment and use of kernel pointers.

See CORE-13907 (HXD-portable BSOD) and CORE-16769 (HXD-portable exception)

Small wow update.

cherry picked from commit 0.4.14-dev-1287-g 568b6d0558
--------------
[RTL] Introduce RtlpImageNtHeader,
which implements the required functionality.
ntdll and ntoskrnl now have a wrapper for this, with SEH.
This protects the function against malformed / bad images,
whilst still being able to use the code in freeldr et al.
Idea from Thomas.
CORE-14857

cherry picked from commit 0.4.14-dev-1255-g 177ae91bf6
--------------
[WIN32SS] Form Sanity to Hook Callbacks

Fix WH_CALLWNDPROC/RET data to user hook calls.
Helps with CORE-13907 "(HXD-portable BSOD)"
Fixes the logging of "(win32ss/user/ntuser/callback.c:748) err: Failure to make Callback! Status 0xc00000fd" within CORE-13019, but not the whole ticket.

cherry picked from commit 0.4.14-dev-1241-g 915a5764a9
--------------
[USER32] Fix null return.

See CORE-16769 "HxD 1.7.7.0 portable unhandled exception"

cherry picked from commit 0.4.14-dev-1240-g d8add40e89
--------------
[WIN32SS] Fix a typo in dbg print

cherry picked from commit 0.4.14-dev-1002-g feb7df42b4
2022-03-17 14:01:19 +01:00
Joachim Henze
8b9811a62b [0.4.10][XDK][PSDK][WINE] Unify ARRAY_SIZE definition for Wine modules.
part of CORE-15127

picked from:
0.4.11-dev-258-g 82faa151e5
2022-03-13 21:41:21 +01:00
Joachim Henze
82f6344ee0 [0.4.10][MSCONFIG_NEW] Exclude from the iso, for the time being CORE-18067
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
2022-03-11 04:30:49 +01:00
Joachim Henze
712c7aa70f [0.4.10][USETUP] de-DE Update 2022-03-05 CORE-18075
ports back the fixes of:
0.4.15-dev-3886-g c791d4ee4e CORE-18075
0.4.14-dev-1325-g 1fdf06c563 CORE-16792
0.4.14-dev-1324-g 75edf1071a CORE-16792
0.4.14-dev-1323-g d079342e0a CORE-16792
0.4.14-dev-1322-g 7ed0701983 CORE-16791

While respecting the individual requirements of ancient branches,
e.g. when stuff was put somewhere else like the recovery console.
Or when we did not use code7bit yet (we started that with 0.4.12).
2022-03-05 18:39:47 +01:00
Joachim Henze
2d73db5bcf [0.4.10][RASDLG] de-DE.rc Update CORE-18056
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
2022-03-01 12:42:44 +01:00
Joachim Henze
7454e84123 [0.4.10][TASKMGR] Tweak the status bar a bit (reusing CORE-15615)
by picking those two commits:
0.4.12-dev-363-g 473e0bfc83
0.4.12-dev-779-g 3b96148641

Although the regression that was introduced by 0.4.12-dev-363-g 473e0bfc83
and then fixed by 0.4.12-dev-779-g 3b96148641
did never affect any release, the older releases do still benefit from those 2 commits applied together:

The status bar consists of 3 sections:
"processes count"
"CPU load"
"Commit charge"

"Commit charge" is extremely dynamic in length, therefore we can improve the usability a bit by maximizing available space for it.
"processes count" also deserves a bit more space, otherwise even 3-digits-count would be cropped in english already.
"CPU load" is most defined in length, as the only dynamic part in there is 0% to 100%, just 2 digits.
Therefore we do sacrifice a bit space from "CPU load" section in favor of the other sections.

See https://jira.reactos.org/secure/attachment/61659/ros_taskmgr_BEFORE_mostCompact.png for a pic before this backmerge.
2022-02-28 17:56:44 +01:00
Joachim Henze
0ac5c76680 [0.4.10][TASKMGR] Backport commits id-ID and 'Remove Debug Channels' CORE-18057
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
2022-02-27 22:49:46 +01:00
Joachim Henze
81acd8e69d [0.4.10][SYSDM] uk-UA.rc Fix compiler warning RC4206 CORE-17827
Fix a resource compiler 'warning RC4206 : title string too long; truncated at 256'
when building with MSVC2010SP1.

by porting back a single line from:
0.4.12-dev-920-g 8fb10879fc The string shortening
and a single line from the whitespace-addendum:
0.4.15-dev-3152-g bbabe2489e
2022-02-27 13:59:17 +01:00
Joachim Henze
1a2031b169 [0.4.10][SHELL32][SHLWAPI][COMDLG32][SDK] Unable to select a Zip file for sending with Common Open Dialog CORE-16908
It "regressed" by 0.4.9-dev-632-g da6a46c6ac when zipfldr.dll got registered.
Ftr: Even without this complex fix it was possible to workaround this bug by 'regsvr32 /u zipfldr.dll'.

by porting back:
0.4.15-dev-279-g 83a9f71690 CORE-16908 [SHELL32] Allow creation of an empty CFileSysEnum
0.4.15-dev-254-g 332889b8d7 CORE-16908 [COMDLG32] Differentiate between real and virtual folders
0.4.15-dev-252-g f379a29606 CORE-16908 [SHELL32][SDK] Properly enumerate virtual shell folders (on files) as fake folders
0.4.15-dev-251-g b1003ae909 CORE-16908 [SHELL32] Update CFileSysEnum to be maintaineable
0.4.15-dev-250-g ac215455bb CORE-16908 [SHLWAPI] Fix SHRegGetCLSIDKeyW
and we also need:
0.4.14-dev-73-g 5d54b65ceb CORE-16271 [SHELL32] Add support for custom View objects defined with UICLSID
2022-02-26 23:55:30 +01:00
Joachim Henze
1e89cb7dc8 [0.4.10][SHELL32] Squashed port of several RunDlg and ShellExecuteW() fixes
This is a big backport, that brings us closer to releases/0.4.14/0.4.14-release-10-g1b0b852

The main motivation is to fix the three regressions:
CORE-17351 'RunDlg fails calling URL without http'
and
CORE-16898 'RunCommand "iexplore" fails to open Wine IE'
and
CORE-15431 'RunDlg variable expansion not longer working'
All 3 regressed by 0.4.10-dev-419-g bfcbda227f

By porting back the following commits:

0.4.15-dev-2883-g 33c7c91b36 CORE-17351 CORE-16898 (#3797) Improve performance of Start-Run Dialog Box Options
0.4.14-dev-1016-g 4e721f780e CORE-12266 (#1854) [SHELL32] This fixes the ERROR_DDE_FAIL in the 'www.google.de' testcase
0.4.13-dev-790-g 0f16d44b66 CORE-6412 + CORE-12927
but in return we have to fix all the callers of ShellExecuteW() that relied on this ancient hack-code, and we do this by picking
0.4.13-dev-930-g cb77f1701f CORE-16299 [SHELL32][STOBJECT] ShellExecuteW() params part2
0.4.13-dev-860-g 944aba1fcc CORE-16299 [SHELL32] ShellExecuteW() params part1 (#1833)

0.4.12-dev-94-g 932a812c66 CORE-15434 [SHELL32] shlexec.cpp UNICODE_NULL Add backslash if path was like C: (#1152)
0.4.12-dev-49-g fad9f6677a CORE-15434 [SHELL32] dialogs.cpp (#1117) Addendum
0.4.12-dev-48-g c64d31e9b8 CORE-15434 [BROWSEUI] Add backslash for directory (#1121) C: C:\
0.4.12-dev-36-g 472787ffea CORE-15431 (#1117) Crash on %SYSTEMROOT% (yes, this was already within 0.4.11)
0.4.12-dev-19-g 06d717e3bc CORE-15431 (#1111) Enable Environment Variables (yes, this was already within 0.4.11)
2022-02-20 21:14:03 +01:00
Joachim Henze
9b03a04d6b [0.4.10][USER32][NTUSER][3DTEXT] Squashed backport
[USER32] GetQueueStatus() should not return 0 when passing QS_ALLINPUT flag that includes QS_RAWINPUT (#4115)

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
---------------------
[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
2022-02-08 13:04:25 +01:00
Joachim Henze
de45e7f35b [0.4.10][WIN32SS] Remove an ambiguous assert entirely CORE-16738
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

Fix picked from:
0.4.14-dev-1519-g 87f6c82d85 commenting 2020-04-21
0.4.15-dev-3780-g bf16435303 removal 2022-02-05
2022-02-05 01:57:47 +01:00
Joachim Henze
fc840087c8 [0.4.10][CRYPTUI] Fix all MSVC *.rc warnings RC4206 CORE-18017
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
2022-02-03 13:05:53 +01:00
Joachim Henze
1566966913 [0.4.10][BCRYPT] Add ECDSA P256 to known algorithms CORE-16741
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
2022-02-02 22:09:14 +01:00
Joachim Henze
c7a87bc2e4 [0.4.10][CMD] *.RC Shorten the string for the version header CORE-17420
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
0.4.14-dev-1446-g cd5364ae8e [CMD] pl-PL.rc the line Wersja
and some EOL-whitespace stripping and the parts targetting [CMD]-only! from
0.4.14-dev-1037-g 554c41e4d7 [CMD] "  \n"->"\n"
0.4.14-dev-1142-g 92aabb07fb [CMD]  " \n"->"\n"
2022-01-31 19:16:18 +01:00
Joachim Henze
41c919ca31 [0.4.10][WIN32SS] Fix Mask for Draw Frame States CORE-8808
Fixes drawing of caption bar buttons (min/max/close in Mozilla Firefox titlebar when its menubar is disabled).
See CORE-8808.

The fix is a partial port of 0.4.14-dev-1314-g acf135d16d
I left out all changes to the logging and took only the essence of this patch.
2022-01-30 22:49:08 +01:00
Joachim Henze
a252970435 [0.4.10][MKHIVE] Fix leaks and Implement RegDeleteKeyW() to mute a compile-time-warning CORE-18031
The motivation to upgrade this host-tool is to fix a compile-time warning:
  [4890/10620] Generating boot/bootdata/...oot/bootdata/system, boot/bootdata/BCD
  Binary hive maker
->RegDeleteKeyW(0x0xcab210, '') is UNIMPLEMENTED!
  [145/10684] Generating boot/bootdata/BCD
  Binary hive maker
  Creating binary hive: /home/jhenze/Release_WorkDir/Repo/output-MinGW-i386/reactos/boot/bootdata/BCD

Thw warning was most likely introduced when we started using mkhive in the hosttools, and is triggered
by livecd.inf having a [DelReg] section.

Warning fixed by implementing RegDeleteKeyW().
It can not delete full trees yet, but we also don't need that for our mkhive-usage yet.

While touching it, do also fix some other minor glitches and leaks.

This is a PARTIAL backport of the 15 commits from 0.4.11-dev, all to mkhive from 2018-10-09 to 2018-10-20.
2022-01-30 03:23:37 +01:00
Joachim Henze
981fb55319 [0.4.10][NTOSKRNL] Mute noisy DPRINT 'SectionObject has ImageSection' during shutdown CORE-18029
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.
2022-01-27 20:18:42 +01:00
Joachim Henze
0f5a9b7dfd [0.4.10][SHELL32] Control panel context menu semantic bugfix (#4078) CORE-17855
Fix ported back from 0.4.15-dev-3396-g 83335d3a81
2022-01-26 12:49:57 +01:00
Joachim Henze
c3cee671c5 [0.4.10][RAPPS] Pick some simplifications from master up to 0.4.15-dev-3726-gc262020 (e.g. CORE-18018 and (#2751))
As the dialog simply displays the copyright names and nothing particular it makes sense to use ShellAboutW() instead.

Several fixes ported back:
0.4.15-dev-3726-g c262020016 README CORE-18018
0.4.15-dev-3724-g 3a7c0d82d2 size fallback part 1 CORE-18018
0.4.15-dev-3569-g b5a6357d93 available.h/.cpp Strip 3 useless functions
0.4.15-dev-384-g 393a2c42fe CDPath in README
0.4.15-dev-227-g a6084d7440 ShellAbout() (#2751)
and some whitespace corrections, especially in cabinet.cpp
2022-01-24 10:23:59 +01:00
Joachim Henze
d1eb8166ac [0.4.10][COMCTL32] Workaround regression with toolbar in 7zip CORE-16169
The regression was introduced by SVN r68553 == git 3b13364f05

Many thanks to the author Doug Lyons for excellent
cooperation once more. Always a pleasure.

Fix cherry picked from commits:
0.4.15-dev-663-g cd7db5df89 and
0.4.15-dev-664-g 7c909cbc7c
2022-01-23 13:59:15 +01:00
Joachim Henze
da60f70342 [0.4.10][CMAKE][BOOTDATA] Fix LiveCD does not import caroots.inf into registry CORE-17739 CORE-17735 (#3930)
It regressed by 0.4.9-dev-82-g 6158207c31

fix picked from 0.4.15-dev-3082-g 2268b33e18
2022-01-21 23:11:09 +01:00
Joachim Henze
fc62a2ef50 [0.4.10][DDRAW] ddraw.c ddraw7_FlipToGDISurface() to Wine-6.8 (#3827) CORE-15128
fixes CORE-15128 "Fall 0.1.3, black controls all over the desktop after exiting the game"
which regressed by 0.4.9-dev-155-g 9987f02917
(the sync to Wine Staging 3.3)

the patch on top of 0.4.15-dev-2923-g2210d23:
KVM: https://reactos.org/testman/compare.php?ids=78290,78295 LGTM
VBox: https://reactos.org/testman/compare.php?ids=78291,78294 LGTM

fix picked from 0.4.15-dev-2929-g 34d5d1dbd4
2022-01-21 06:00:19 +01:00
Joachim Henze
0d3e41c95e [0.4.10][SNDREC32] Fast-Forward to 0.4.15-dev-3294-ge98684e state (CORE-17815 and several PRs)
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.
2022-01-17 22:39:39 +01:00
Joachim Henze
83b9f3c695 [0.4.10][SYSDM] MSVC warnings RC4206 : title string too long; truncated at 256 CORE-17827
Fix picked from:
0.4.15-dev-3699-g b1264c13f7 for el-GR.rc
0.4.15-dev-3700-g 98999eebe4 for sk-SK.rc
0.4.15-dev-3701-g bacc0479ce for sq-AL.rc
The pt-PT.rc file (also affected on master) did not exist in this ancient branch yet.
2022-01-16 18:01:29 +01:00
Joachim Henze
c79746effb [0.4.10][PROGMAN][USER32] Do not use LoadLibraryEx() NT6+ flags (#3152) CORE-12004
LOAD_LIBRARY_AS_IMAGE_RESOURCE and LOAD_LIBRARY_SEARCH_SYSTEM32 are Vista+

This fixes some blurry icons in systray when 2k3sp2 kernel32.dll is used in ros CORE-12004
That part in user32 was a regression of SVN r71609 == git a44dfe6c76
While we are at it we do fix some other modules as well, that used those NT6+flags.

The fix was picked from 0.4.15-dev-788-g a04831677e
2022-01-15 12:43:41 +01:00
Joachim Henze
8488699682 [0.4.10][WIN32K] Revert NtGdiStretchDIBitsInternal to Previous Logic (#3774)
Fixes gdi32:dib / gdi32:bitmap tests and

CORE-16236 "SIMS graphics", which regressed by
SVN 51005 == git 2bbd8711a7

Thanks to the patches author Doug Lyons.

It also fixed
CORE-16621 Kompozer 0.7.10 from rapps, exe does not show an icon, but does on 2k3sp2

fix picked from 0.4.15-dev-2850-g 847b037fe9
--------------
By taking the above, we also have to pick its addendum
[WIN32K] Fix 'use after free' in NtGdiStretchDIBitsInternal #4122 CORE-17861

0.4.15-dev-3420-g b538b9abb8
to avoid introducing another bug:
CORE-17861 MS Visual Studio 2010 Pro Fatal System Error 0x00000050
--------------
[WIN32K] Don't trust the BITMAPINFOHEADER size

This is not entirely correct yet, but less wrong than before and fixes
CORE-16031 Moo0 Audio Recorder - ReactOS icons are not displayed in the system tray
fix picked from 0.4.14-dev-848-g 53c9a6deaa
2022-01-15 01:30:14 +01:00
Joachim Henze
4bfcf23f05 [0.4.10][WIN32K] Revert incorrect part of R50928 for RealizePalette. (#3678)
Revert part of SVN R50928 that causes Durak card suites to have wrong colors.
SVN r50928 == git 5de8339cd1

JIRA issue: CORE-13748 <= Durak Example
JIRA issue: CORE-16510 <= GDIProg Example

The idea was picked from 0.4.15-dev-2735-g c7954134d0
but I was too shy to port the recurrently spamming and slowing DPRINT1 back that far.
Spamming on master should be enough to improve here later.
2022-01-12 06:00:26 +01:00
Joachim Henze
48ef95691a [0.4.10][EXPLORER] Fix for Start Button Wrong size when Using Themes (#4121) CORE-16742
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
2022-01-10 13:49:44 +01:00
Joachim Henze
020ca13a04 [0.4.10][NTUSER][USER32] Tracking menu CORE-17338 (#4048), [EXPLORER] Send WM_POPUPSYSTEMMENU asynchronously (#4047) CORE-16353
This prevents the tracking menu from erroneously closing itself right after it was opened in some cases.
Fixes CORE-17338 which got unhidden by 0.4.15-dev-1126-g 58b0558f94
And fixes CORE-15760 which got unhidden by SVN r74972 == git 19dd22d422

Since both symptoms look very similar but the unhiding revisions did differ,
that could mean we do have some kind of race condition here.
I guess this fix is more like a workaround.

2 Fixes picked:
0.4.15-dev-3313-g 6417b2323d [NTUSER][USER32] Workaround tracking menu on CORE-17338 CORE-15760 (#4048)
to prevent the menu from auto-closing

and
0.4.15-dev-3297-g 037c744eb1 [EXPLORER] Send WM_POPUPSYSTEMMENU asynchronously CORE-16353 (#4047)
to make the taskbar button turn into pressed state when the menu opens
2022-01-10 07:17:39 +01:00
Joachim Henze
ae946feee4 [0.4.10][CRT] Do Not lock ioinfo when spawning functions (#4099) CORE-15176
This fixes CORE-15176 'Gimp 2.6.11 hangs when opening a file'.
It regressed by 0.4.9-dev-446-g bffd8201d0

Fix picked from 0.4.15-dev-3363-g 252a7530d0
2022-01-09 09:29:06 +01:00
Joachim Henze
d12c8e5ef3 [0.4.10][AUTOCHK] Don't check any volume on boot CORE-14638
This will avoid triggering a FAT repair on
unclean FAT volumes.

If dosfstools.fsck works fine in Linux, its
usage on ReactOS triggers worse corruption
than unclean shutdown.

'autochk during OS startup' has been added during 0.4.9-dev-xxxx.
Given I've no time for debugging this, I
kill it off. This is just a workaround of course.

For now the best chances to repair a FAT FS corruption after non-clean-shutdown
is to mount that FS within 2k3sp2 and give the MS chkdsk an attempt to repair it.
Success is not guaranteed, but it works surprisingly often.
The earlier you do that after non-clean-shutdown,
the better your chances for success will be.

The workaround was picked from
0.4.13-dev-169-g ab69736a1d
2022-01-09 05:22:09 +01:00
Joachim Henze
4191348bef [0.4.10][BOOTDATA] Fix formatting glitches in hivesys.inf, e.g. PORTUGESE_BRAZILIAN CORE-17828
PORTUGESE_BRAZILIAN regressed in 2017 with SVN r74654 (commit hash 8e52193 ).

Fix picked from
0.4.15-dev-3317-g 6ce259e694 PORTUGESE_BRAZILIAN
0.4.15-dev-3321-g 4b88a8709c ICELANDIC
2022-01-08 13:33:39 +01:00
Joachim Henze
9033cf6d70 [0.4.10][UNIATA] Workaround random crashes on Virtual PC (#3377) CORE-12441 CORE-17371
I am not sure why this line in id_queue.cpp was added.
I don't know how I could improve that case.
Then, disable it, for the time being.

It regressed by 4b9cf2e339 (r71252). CORE-12441 CORE-17371

fix picked from 0.4.15-dev-2740-g ba77a09c04

While touching uniata do also PARTIALLY port back some bm_devs.h changes:
0.4.15-dev-1522-g 88d36c93a2 (Properly mark ReactOS diff from upstream)
2021-11-16 22:30:41 +01:00
Joachim Henze
bf9ce06489 [0.4.10][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.

The problem was unhidden by the innocent and unrelated 0.4.12-dev-266-g 8ab3652c01
I was not able to trigger the bug in releases older than 0.4.12,
but it is rather obvious that the mentioned revision is not really 'guilty', which
is why I will port the fix back further into releases even older than 0.4.12 as well.

Thanks to the patches author Doug Lyons.

a squashed port of:
0.4.15-dev-2734-g 514147776a (fixes the BSOD)
0.4.15-dev-2775-g c596fd3ef6 (improvement #3758)
0.4.15-dev-2776-g 4130f0b1c5 (compilation fix)
and some white-space tweaking that was committed after those.
2021-11-15 12:07:46 +01:00
Joachim Henze
42c7fbdc7b [0.4.10][NTOS/MM] Properly handle page faults in regions marked with PAGE_NOACCESS or PAGE_GUARD CORE-14694
This was part of the commits for ROSTESTS-110, but much more important:
It fixes CORE-14694 "reproducible BSOD 0x1A MEMORY_MANAGEMENT in OllyDbg v2.01"

Fix picked from 0.4.11-dev-650-g 47ac7a2b28

which also requires me to "Move up MmAlterViewAttributes() for later use in MmNotPresentFaultSectionView()"
like it was done in: 0.4.11-dev-649-g 47ac7a2b28
Ofc I moved the function up individually in each branch I do port this back to, without modifying the func.
2021-11-15 01:14:55 +01:00
Joachim Henze
a06834c581 [0.4.10][UDFS] Fix crash on boot in release builds with UDFS removable media inserted (#4061) CORE-17598
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
2021-11-14 21:21:33 +01:00
Joachim Henze
47317ffb23 [0.4.10][NETSHELL] Fix MSVC compiler warning in de-DE.rc
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
2021-07-07 02:22:18 +02:00
Joachim Henze
11a42af725 [0.4.10][DESK] Fix GetDC/ReleaseDC error management
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
2021-07-06 00:50:37 +02:00
Joachim Henze
d4c42e0b8b [0.4.10][WORDPAD] Fix icons for toolbar and formatbar (#3792) CORE-5823
* 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
2021-07-04 14:47:19 +02:00
Joachim Henze
758822c234 [0.4.10][CDFS] Fix a macro-copy-paste and shrink the binary size CORE-17405
picked from 0.4.15-dev-1456-g 889eab7
2021-07-03 20:46:45 +02:00
Joachim Henze
f419c71a06 [0.4.10][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-07-02 13:44:49 +02:00
Joachim Henze
7ded7ea50d [0.4.10][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)
2021-06-21 01:09:10 +02:00
Joachim Henze
cecfe594da [0.4.10][LSASRV] LsapLogonUser(): Fix 'AuthenticatingAuthority' copypasta (#2839)
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
2021-06-20 15:40:31 +02:00
Joachim Henze
2a611b6588 [0.4.10][COMCTL32] Fix regression on showing current mouse pointer in main.cpl (#2829)
GetIconInfo() fill info.hbmColor with NULL HBITMAP handle on black/white bitmaps.

CORE-17062

It broke by 0.4.9-dev-719-g b3fb8555bf

fix is squashed port of 2 commits:
0.4.15-dev-534-g 887764e607 (fix)
0.4.15-dev-2705-g a3cadf630a (nitpick)
2021-06-16 14:08:16 +02:00
Joachim Henze
404371f856 [0.4.10][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
2021-06-16 09:40:42 +02:00
Joachim Henze
ec185fb916 [0.4.10][SHELL32] Update all languages RCs to fix possible text truncation CORE-15765
IDD_BROWSE_FOR_FOLDER displays text controlled by the calling applications in
IDC_BROWSE_FOR_FOLDER_TITLE. Its old height could lead to text truncation
for existing 3rd party apps.
The new height value for IDC_BROWSE_FOR_FOLDER_TITLE
was inspired by IDC with the same from dialog IDD_BROWSE_FOR_FOLDER_NEW.
I could change all languages to the same height,
as dimensions of the dialog and surrounding controls were same.

picked from 0.4.12-dev-781-g 1d7287288d
2021-05-16 03:09:50 +02:00
Joachim Henze
8d9443ab88 [0.4.10][SHELL32] Fix version string in Shell About dlg CORE-16571, & some de-DE
It "regressed" and was displayed cut-off since the switch to git
(our string got longer back then).

Fixed by porting back 2 commits:

0.4.14-dev-976-g 6ce72ba172
0.4.14-dev-884-g a57f7b50c0

and also port back some german translation updates and
trivial whitespace fixes at the same time in *.rc.
2021-05-15 04:34:54 +02:00
Joachim Henze
3af5202966 [0.4.10][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:57:14 +01:00
Joachim Henze
300e680b2f [0.4.10][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 21:03:38 +01:00