Commit graph

72128 commits

Author SHA1 Message Date
Joachim Henze 609769262c [0.4.9][CMAKE] Update GCC baseaddress.cmake
Motivation is to fix the very frequent relocations
that we had since 0.4.9-dev'ing in the GCC build of the kind:

(../dll/ntdll/ldr/ldrutils.c:1311) LDR: LdrpMapDll Relocating Image Name comctl32.dll (7BEA0000-7C065000 -> 00410000)
(../dll/ntdll/ldr/ldrutils.c:1350) Overlapping DLL: C:\ReactOS\system32\rpcrt4.dll

(../dll/ntdll/ldr/ldrutils.c:1311) LDR: LdrpMapDll Relocating Image Name comdlg32.dll (7BAA0000-7BB87000 -> 005E0000)
(../dll/ntdll/ldr/ldrutils.c:1350) Overlapping DLL: C:\ReactOS\system32\shell32.dll

which really slowed down this release version significantly.

The update will also fix the following warnings at compile-time for GCC:
-- dxtn has no base address
-- zipfldr has no base address
-- verifier has no base address
-- custom has no base address
-- notifyhook has no base address
-- vfd has no base address

This updates the GCC baseaddress.cmake
to the state we do use in 0.4.10-release-145-gb5cfb62
leaving out the components that do not exist in releases/0.4.9 yet,
And additionally preserves the addresses for the 3 fusion dlls,
which our script currently cannot handle yet.
Therefore respecting the differences for:
set(baseaddress_localspl_apitest.dll           0x760a0000)
which has a different name in the old branches and:
set(baseaddress_fusion                         0x721C0000) #added manually, last entry - 0x40000
set(baseaddress_fusion_1_1                     0x72180000) #added manually, last entry - 0x40000
set(baseaddress_fusion_2_0                     0x72140000) #added manually, last entry - 0x40000
2022-09-30 22:56:23 +02:00
Joachim Henze cd1ab7ea73 [0.4.9][SERVICES] Remove the "Special service accounts initialization" hack
This is a *partial* back-port of 0.4.10-dev-279-g 75dc031080
And a plain revert of the guilty SVN r73486 == git a35a785b11

It will fix the following regression symptoms:
- CORE-12614 empty "documents and settings" folder created when using non-english localization
- CORE-12613 we will save 1012KB of memory (commit charge in taskmgr), by shrinking the registry a bit
- CORE-18416 RaceCondition, sometimes the network icon in systray does not appear in late 0.4.9-dev and releases/0.4.9

For the record: I decided to pick only part of the fix from master and not all, because the proper fix
would rely on a lot of things to pick additionally from 0.4.10-dev' and even 0.4.11-dev'.
The consequences of only partially picking is that we cannot complete the setup of Office 2010 with its
copyprotection-driver anymore, which relies on being able to load its service with the proper account and user profile,
and not with the fallback we used in older reactos releases. If you need that feature, please use releases/0.4.11 or higher,
because even 0.4.10 is not handling this properly yet.
The conservative approach of 'not having the hack, and sticking to just one profile' is better for the older releases overall.
2022-09-28 00:33:01 +02:00
Joachim Henze 275c4442bb [0.4.9][SHELL32] Copy without FILE_ATTRIBUTE_READONLY from a CDROM CORE-18089 (#4386)
That problem in the shell was unhidden when we switched from our own to the MS-PL CDFS-driver
in 0.4.8-dev-164-g ec6b3ecbe4
because our own old CDFS driver erroneously never reported any CD file being read-only.

Fix picked from 0.4.15-dev-4348-g 513d0a6d2d

While backporting the fix, I decided to port back also some EOL-whitespace-stripping in that file.
2022-09-22 16:19:22 +02:00
Joachim Henze 2986b27f7d [0.4.9][SHELL32] Fix uninitialized variable usage. CORE-15251 (#3986)
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

The bug was a regression of 0.4.9-dev-151-g 0aed0fd167 very likely,
The symptom with the logging can neither be observed in unpatched releases/0.4.8 nor in releases/0.4.7
2022-09-20 18:25:46 +02:00
Joachim Henze 5690b9a8d2 [0.4.9][WINHTTP] Fix 1 MSVC2010SP1 x86 dbg warning LNK4199 (#4414) CORE-18104
which I could observe all the way from releases/0.4.7 up to releases/0.4.14
with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuration

Creating library dll\win32\winhttp\winhttp.lib and object dll\win32\winhttp\winhttp.exp
LINK : warning LNK4199: /DELAYLOAD:ole32.dll ignored; no imports found from ole32.dll

Fix picked from 0.4.15-dev-4326-g 2f7dc168f2

And just for the record: Wine did the same with their:
f400f25c25
2022-09-20 00:33:52 +02:00
Joachim Henze 2ae4f094cb [0.4.9][WPP] Mute 3 MSVC2010SP1 x86 dbg warnings C4146 CORE-18104
warnings can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuration:
[7441/11751] Building C object sdk\tools\wpp\CMakeFiles\wpp.dir\ppl.yy.c.obj
[7442/11751] Building C object sdk\tools\wpp\CMakeFiles\wpp.dir\ppy.tab.c.obj
ppy.y(402) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
ppy.y(402) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
ppy.y(402) : warning C4146: unary minus operator applied to unsigned type, result still unsigned

partial pick from: 0.4.13-dev-132-g f47f45dbdd

Yes the /wd4244 wasn't really necessary for x86, but only for x64,
but taking it with me as well synced the file to 100%.
2022-04-08 00:54:45 +02:00
Joachim Henze 9c34433cd7 [0.4.9][CMAKE] Fix MSVC2010SP1 x86 dbg configure-warning 'winspool has no base address' CORE-18104
pick part of 0.4.10-dev-312-g a3ddb8a4c2 to harmonize the
inconsistency in the base-address-files regarding winspool.
Since an ancient winspool-name-change
the baseaddress*.cmake files do reference the winspool module in an inconsistent style:
- 'baseaddress_winspool' in baseaddress.cmake 'was already' / 'is still' ok without
   the 'drv' in the older branches (unlike 0.4.10-dev-311)
- 'baseaddress_winspool.drv' in baseaddress_dwarf.cmake
- 'baseaddress_winspool.drv' in baseaddress_msvc.cmake

And therefore only GCC did properly set a base address, but MSVC failed at that.
No warnings afterwards anymore about 'winspool has no base address' during configure.

No false hopes though: The baseaddress-files do still remain a big mess afterwards,
especially in releases/0.4.9 for GCC dbg where we not only have the 'usual incomplete files'
but also still have and always had a lot of relocations between ros components at runtime
because some ros modules do overlap since some Wine-sync during 0.4.9-dev'ing, which
increased the binary sizes. But I just wanted to focus on the avoidable winspool-detail here for now.
Might deal with the other stuff later.
2022-04-07 01:07:52 +02:00
Joachim Henze 2da5e4b97b [0.4.9][CMAKE] Fix 9 MSVC2010SP1 x86 dbg warnings LNK4221 CORE-18104 CORE-14373
by always unconditionally enabling "String Pooling" /GF

Pros:
- consistency between the toolchains, as GCC always has this enabled
- shrinks the binary sizes for MSVC dbg builds
- smaller binaries will also make relocations less probable with MSVC dbg and a given set of (often outdated) precalculated base-addresses
- interestingly it also fixes/hides some linker warnings LNK4221

which can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuration, here example from releases/0.4.7:
[819/11751] Linking C static library dll\opengl\mesa\main\mesa_main.lib
precomp.h.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library

[830/11751] Linking C static library dll\opengl\mesa\math\mesa_math.lib
precomp.h.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library

[858/11751] Linking C static library dll\opengl\mesa\swrast\mesa_swrast.lib
precomp.h.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library

[879/11751] Linking C static library dll\opengl\mesa\tnl\mesa_tnl.lib
precomp.h.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library

[897/11751] Linking C static library dll\opengl\mesa\vbo\mesa_vbo.lib
precomp.h.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library

[1602/11751] Linking C static library sdk\lib\3rdparty\adns\adns.lib
internal.h.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library

[4327/11751] Linking C static library sdk\lib\tdilib\tdilib.lib
precomp.h.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library

[11714/11751] Linking C static library win32ss\user\winsrv\consrv.lib
consrv.h.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library

[11726/11751] Linking C static library win32ss\user\winsrv\concfg\concfg.lib
precomp.h.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library

It manages to make all the mentioned 9 LNK4221 disappear without introducing any other warnings into those modules, or into any other module.
Ftr I do not understand why String Pooling hides those LNK4221. But its effectiveness is evident.
But some other LNK4221 in other modules do still remain after it. Their count is not 0 afterwards, just significantly reduced.

Cons:
- String Pooling may slightly increase the build time, but the impact is negligible, even on my 12 year-old PC.
- String Pooling may make lousy code crash, that illegally wants to write into string constants, like we saw it for ROSTESTS298 for example.
  But that is actually not a bad thing. That test was also broken beforehand and crashed even on real Windows.
  We didn't find any similar problems within the 'productive code' yet.

fix is a partial pick of:
0.4.12-dev-354-g 5e673f3118
and its addendum
0.4.12-dev-655-g 237110604b [CMAKE] msvc.cmake: Remove 2 now redundant '/GF' (#1239)
2022-03-31 18:28:59 +02:00
Joachim Henze 82a852dae6 [0.4.9][CYLFRAC] Fix 3 MSVC2010SP1 x86 dbg warnings C4305 CORE-18104
can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuration:
C:\047rls\reactos\modules\rosapps\applications\screensavers\cylfrac\cylfrac.c(109) : warning C4305: 'function' : truncation from 'double' to 'float'
C:\047rls\reactos\modules\rosapps\applications\screensavers\cylfrac\cylfrac.c(110) : warning C4305: 'function' : truncation from 'double' to 'float'
C:\047rls\reactos\modules\rosapps\applications\screensavers\cylfrac\cylfrac.c(137) : warning C4305: 'initializing' : truncation from 'double' to 'GLfloat'

partial pick of 0.4.15-dev-2951-g 5d8e834897
2022-03-31 06:15:00 +02:00
Joachim Henze 2d78bae1af [0.4.9][ROSHTTPD] Fix 3 MSVC2010SP1 x86 dbg warnings C4373 CORE-18104
can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuation:
[11438/11751] Building CXX object modules\rosapps\applications\net\roshttpd\CMakeFiles\roshttpd.dir\config.cpp.obj
C:\047rls\reactos\modules\rosapps\applications\net\roshttpd\include\httpd.h(70) : warning C4373: 'CHttpDaemon::OnAccept': virtual function overrides 'CServerSocket::OnAccept', previous versions of the compiler did not override when parameters only differed by const/volatile qualifiers
        C:\047rls\reactos\modules\rosapps\applications\net\roshttpd\include\socket.h(132) : see declaration of 'CServerSocket::OnAccept'
[11441/11751] Building CXX object modules\rosapps\applications\net\roshttpd\CMakeFiles\roshttpd.dir\httpd.cpp.obj
C:\047rls\reactos\modules\rosapps\applications\net\roshttpd\include\httpd.h(70) : warning C4373: 'CHttpDaemon::OnAccept': virtual function overrides 'CServerSocket::OnAccept', previous versions of the compiler did not override when parameters only differed by const/volatile qualifiers
        C:\047rls\reactos\modules\rosapps\applications\net\roshttpd\include\socket.h(132) : see declaration of 'CServerSocket::OnAccept'
[11442/11751] Building CXX object modules\rosapps\applications\net\roshttpd\CMakeFiles\roshttpd.dir\roshttpd.cpp.obj
C:\047rls\reactos\modules\rosapps\applications\net\roshttpd\include\httpd.h(70) : warning C4373: 'CHttpDaemon::OnAccept': virtual function overrides 'CServerSocket::OnAccept', previous versions of the compiler did not override when parameters only differed by const/volatile qualifiers
        C:\047rls\reactos\modules\rosapps\applications\net\roshttpd\include\socket.h(132) : see declaration of 'CServerSocket::OnAccept'

partial pick of 0.4.15-dev-2951-g 5d8e834897
2022-03-29 19:38:56 +02:00
Joachim Henze c977ac8a0c [0.4.9][NETREG] Fix 1 MSVC2010SP1 x86 dbg warning C4065 CORE-18104
the warning can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuation:
[11432/11751] Building CXX object modules\rosapps\applications\net\netreg\CMakeFiles\netreg.dir\netreg.cpp.obj
C:\047rls\reactos\modules\rosapps\applications\net\netreg\netreg.cpp(188) : warning C4065: switch statement contains 'default' but no 'case' labels

partial pick of 0.4.15-dev-2951-g 5d8e834897
2022-03-29 18:24:29 +02:00
Joachim Henze b5ed92682e [0.4.9][D3DCOMPILER_43] Fix 11 MSVC2010SP1 x86 dbg warnings C4133 CORE-18104
can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuation:
C:\047rls\reactos\dll\directx\wine\d3dcompiler_43\reflection.c(1107) : warning C4133: 'function' : incompatible types - from 'D3D_PRIMITIVE *' to 'DWORD *'
C:\047rls\reactos\dll\directx\wine\d3dcompiler_43\reflection.c(1110) : warning C4133: 'function' : incompatible types - from 'D3D_PRIMITIVE_TOPOLOGY *' to 'DWORD *'
C:\047rls\reactos\dll\directx\wine\d3dcompiler_43\reflection.c(1126) : warning C4133: 'function' : incompatible types - from 'D3D_TESSELLATOR_OUTPUT_PRIMITIVE *' to 'DWORD *'
C:\047rls\reactos\dll\directx\wine\d3dcompiler_43\reflection.c(1129) : warning C4133: 'function' : incompatible types - from 'D3D_TESSELLATOR_PARTITIONING *' to 'DWORD *'
C:\047rls\reactos\dll\directx\wine\d3dcompiler_43\reflection.c(1132) : warning C4133: 'function' : incompatible types - from 'D3D_TESSELLATOR_DOMAIN *' to 'DWORD *'
C:\047rls\reactos\dll\directx\wine\d3dcompiler_43\reflection.c(1438) : warning C4133: 'function' : incompatible types - from 'D3D_SHADER_INPUT_TYPE *' to 'DWORD *'
C:\047rls\reactos\dll\directx\wine\d3dcompiler_43\reflection.c(1441) : warning C4133: 'function' : incompatible types - from 'D3D_RESOURCE_RETURN_TYPE *' to 'DWORD *'
C:\047rls\reactos\dll\directx\wine\d3dcompiler_43\reflection.c(1444) : warning C4133: 'function' : incompatible types - from 'D3D_SRV_DIMENSION *' to 'DWORD *'
C:\047rls\reactos\dll\directx\wine\d3dcompiler_43\reflection.c(1507) : warning C4133: 'function' : incompatible types - from 'D3D_CBUFFER_TYPE *' to 'DWORD *'
C:\047rls\reactos\dll\directx\wine\d3dcompiler_43\reflection.c(1603) : warning C4133: 'function' : incompatible types - from 'D3D_NAME *' to 'DWORD *'
C:\047rls\reactos\dll\directx\wine\d3dcompiler_43\reflection.c(1604) : warning C4133: 'function' : incompatible types - from 'D3D_REGISTER_COMPONENT_TYPE *' to 'DWORD *'

picked from 0.4.14-dev-8-g 36d9e80add

( for the record: 0.4.13 got this years ago already via 0.4.13-RC-4-g d27a20233d )
2022-03-29 01:54:04 +02:00
Joachim Henze 3673724b61 [0.4.9][CMBATT] Fix 1 MSVC2010SP1 x86 dbg warning C4146 CORE-18104
can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuation:
C:\047rls\reactos\drivers\bus\acpi\cmbatt\cmbatt.c(983) : warning C4146: unary minus operator applied to unsigned type, result still unsigned

partial pick of 0.4.13-dev-713-g 08c6d21e1f
2022-03-29 00:44:29 +02:00
Joachim Henze 50d581d016 [0.4.9][WINETESTS] Mute many MSVC2010SP1 dbg warnings CORE-18104
Mutes too many to list them all here, but the motivation to pick that part was:

can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuation:
C:\047rls\reactos\modules\rostests\winetests\rpcrt4\server.c(910) : warning C4305: 'function' : truncation from 'double' to 'float'
C:\047rls\reactos\modules\rostests\winetests\rpcrt4\server.c(910) : warning C4305: 'function' : truncation from 'double' to 'float'

Timo thought most likely that muting is okay here, to keep the diff to upstream low in the tests.

Partial pick from 0.4.14-dev-847-g 42d2d5ec9c
2022-03-28 17:50:55 +02:00
Joachim Henze 67ea7ad73c [0.4.9][NTDLL_APITEST] Mute 1 MSVC2010SP1 x86 dbg warning C4717 CORE-18104
can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuation:
c:\047rls\reactos\modules\rostests\apitests\ntdll\stackoverflow.c(57) : warning C4717: 'infinite_recursive' : recursive on all control paths, function will cause runtime stack overflow

Muting is okay here, because stack overflow is specifically what is aimed to be tested here.

Fix is a partial pick of 0.4.14-dev-847-g 42d2d5ec9c

No warnings left in module NTDLL_APITEST and no C4717 left in releases/0.4.7.
2022-03-28 14:13:45 +02:00
Joachim Henze ca4c076210 [0.4.9][MSWSOCK] Fix 3 MSVC2010SP1 x86 dbg warnings C4146 CORE-18104
can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuation:
C:\047rls\reactos\dll\win32\mswsock\mswhelper.c(264) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
C:\047rls\reactos\dll\win32\mswsock\mswhelper.c(280) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
C:\047rls\reactos\dll\win32\mswsock\mswhelper.c(326) : warning C4146: unary minus operator applied to unsigned type, result still unsigned

Fix is a partial pick of 0.4.10-dev-409-g 0f8439aa71

No warnings left in this module.
2022-03-27 17:12:05 +02:00
Joachim Henze f2df2af002 [0.4.9][SDK/INCLUDE] Fix MSVC x86 warning LNK4078 CORE-18104
Fix the .code16 macro definition for MASM/ML.

Modify the .code16 macro so that the 16-bit code segment can get a
chance to be correctly merged with other (possibly 32-bit) code
segments, without keeping generating multiple .text segments with
different attributes and generating the corresponding LNK4078 warning.

This fixes the warning when compiling NTOSKRNL on MSVC2010SP1 x86 in dbg config:
"v86.S.obj : warning LNK4078: multiple '.text' sections found with different attributes (C0520040)".

And it even slightly shrinks the size of hal.dll, e.g. for releases/0.4.7 from 1.231.360 to 1.230.848bytes

fix picked from 0.4.12-dev-494-g 0ee02b2c4d
2022-03-27 10:26:45 +02:00
Joachim Henze 69289a02f2 [0.4.9][LIBTIRPC] Mute 30 MSVC2010SP1 x86 dbg warnings C4996, C4101, C4133 CORE-18104
can be observed with MSVC 2010SP1 (16.0.40219.1)
This fixes 30 warnings of multiple kind, e.g.:
27 of the kind:
C:\047rls\reactos\dll\3rdparty\libtirpc\src\auth_sspi.c(107) : warning C4996: '_strdup': Deprecated POSIX name, Try _strdup instead!
and also:
C:\047rls\reactos\dll\3rdparty\libtirpc\src\svc_vc.c(315) : warning C4101: 'cleanfds' : unreferenced local variable
C:\047rls\reactos\dll\3rdparty\libtirpc\src\svc_vc.c(488) : warning C4101: 'pollfd' : unreferenced local variable
C:\047rls\reactos\dll\3rdparty\libtirpc\src\xdr_rec.c(424) : warning C4133: '=' : incompatible types - from 'char *' to 'int32_t *'

Muting makes sense for this *3rd party library*. Better than creating more diff within here by addressing them.
This leaves no warnings left within this lib.

Fix picked from:
0.4.12-dev-803-g 3d3377a5c0
2022-03-26 20:53:31 +01:00
Joachim Henze 2a61c3873e [0.4.9][LIBTIRPC] Fix CVE-2018-14622 CORE-15005, and CVE-2018-14621 CORE-15407
The chance for us to get attacked is rather low, because
LIBTIRPC is used solely for the nfs service and
I pushed aggressively years ago to have that turned from
'Automatic' to 'Manual' already.
I doubt many used this service, that does not exist on real Windows at all.
Attacks may result in Denial-Of-Service.

For details check:
https://nvd.nist.gov/vuln/detail/CVE-2018-14622
https://nvd.nist.gov/vuln/detail/CVE-2018-14621

Fixes picked from:
0.4.11-dev-93-g 000bbe074e CVE-2018-14622 CORE-15005
0.4.11-dev-887-g f5f3ff86ea CVE-2018-14621 CORE-15407
2022-03-26 12:52:59 +01:00
Joachim Henze 7730d1874f [0.4.9][REACTOS] Fix '\n.' typos CORE-18103
The same set of matches affected branches all the way down to releases/0.4.7
Fix picked from 0.4.14-dev-1010-g 1a83762ccc
2022-03-25 19:03:48 +01:00
Joachim Henze c3695a13e1 [0.4.9][RASDLG] 'RasDlg fix 1-11' CORE-18103
Continininininininininously improving ros by fixing glitches in msg408 and msg411. ;-)

fix is a partial (intentionally non-squashed) pick of 0.4.14-dev-1142-g 92aabb07fb (#2393)
(#2393) is fully covered now for the backport.
2022-03-24 23:21:44 +01:00
Joachim Henze 600ffbb001 [0.4.9][REACTOS] 'Extra fix 1-3' in zh-TW.rc & zh-CN.rc CORE-18103
Chinese manually groomed similar to the
western '\n.'->'.\n' fixes (Chinese does not match our regular pattern matches).

fix is a partial (intentionally non-squashed) pick of 0.4.14-dev-1142-g 92aabb07fb (#2393)
2022-03-24 22:36:42 +01:00
Joachim Henze 07973c0579 [0.4.9][REACTOS] Fix remaining ' \n' typos in *.rc CORE-18103
Phew, these are the last ones for this branch!
Now reduced by the preceding commits to a manageable amount.
fix is a partial (intentionally non-squashed) pick of 0.4.14-dev-1142-g 92aabb07fb (#2393)

Yes, I do see the 'conti\n\n\n\n\n\n\nnue'-mess within dll/win32/rasdlg/lang/en-US.rc
Will be taken care of later.
2022-03-24 21:51:21 +01:00
Joachim Henze c79940c770 [0.4.9][REACTOS] Fix '[0-9A-Za-z] \\n' typos in *.rc (with regular expr.) CORE-18103
fix is a partial (intentionally non-squashed) pick of 0.4.14-dev-1142-g 92aabb07fb (#2393)

Yes, I do see that we still have some '\n.' typos in some files, e.g.
base/applications/shutdown/it-IT.rc. I will take care of them later!
2022-03-24 21:11:47 +01:00
Joachim Henze 62884cae34 [0.4.9][REACTOS] Fix ' +\\n' typos in *.rc (with regular expr.) CORE-18103
fix is a partial (intentionally non-squashed) pick of 0.4.14-dev-1142-g 92aabb07fb (#2393)

Yes, I double-checked the msi_en.rc, and we do only use the \t after the \n (without additional spaces).
It is a good harmonization therefore to reduce the indentation level here.
2022-03-24 00:20:47 +01:00
Joachim Henze 8f5b863c1b [0.4.9][REACTOS] Fix ') \n' typos in *.rc CORE-18103
fix is a partial (intentionally non-squashed) pick of 0.4.14-dev-1142-g 92aabb07fb (#2393)
2022-03-23 22:39:33 +01:00
Joachim Henze 3fed0c2ef7 [0.4.9][REACTOS] Fix '] \n' typos in *.rc CORE-18103
fix is a partial (intentionally non-squashed) pick of 0.4.14-dev-1142-g 92aabb07fb (#2393)
2022-03-23 22:05:44 +01:00
Joachim Henze efb69366a5 [0.4.9][REACTOS] Fix ', \n' typos in *.rc CORE-18103
fix is a partial (intentionally non-squashed) pick of 0.4.14-dev-1142-g 92aabb07fb (#2393)
2022-03-23 21:36:34 +01:00
Joachim Henze 16db41e364 [0.4.9][REACTOS] Fix ': \n' typos in *.rc CORE-18103
fix is a partial (intentionally non-squashed) pick of 0.4.14-dev-1142-g 92aabb07fb (#2393)
2022-03-23 20:56:00 +01:00
Joachim Henze 615b77c80f [0.4.9][REACTOS] Fix '. \n' typos in *.rc CORE-18103
fix is a partial (intentionally non-squashed) pick of 0.4.14-dev-1142-g 92aabb07fb (#2393)
2022-03-23 20:07:28 +01:00
Joachim Henze 7ed842dbd5 [0.4.9][REACTOS] Fix ': \n' typos in *.rc CORE-18103
fix is a partial (intentionally non-squashed) pick of 0.4.14-dev-1037-g 554c41e4d7 (#2387)
(#2387) is now covered completely.
2022-03-23 14:48:10 +01:00
Joachim Henze b1dcc99ba2 [0.4.9][REACTOS] Fix '. \n' typos in *.rc CORE-18103
fix is a partial (intentionally non-squashed) pick of 0.4.14-dev-1037-g 554c41e4d7 (#2387)

I am aware that some of the touched lines do still contain other issues for the moment!
2022-03-23 14:26:26 +01:00
Joachim Henze 8d1b8cffd8 [0.4.9][SHELL32] Remove redundant "Line up icons" from desktops context menu CORE-18096
A *partial* backport of 0.4.14-dev-1506-g c82ba3485e , part of (#2603)
That menu item never had any effect up to now as it had no implementation in ros,
and it also does not exist on Windows at this location.
The desired effect can already be achieved by just hitting F5 or selecting "Refresh" from the same root-context menu.

I do port back only the removal of this commit for now, and not the added new functionality in the submenu "Arrange Icons By", to
allow translations for that to settle down a bit on master.
2022-03-20 15:21:04 +01:00
Joachim Henze 0dfbb426c1 [0.4.9][CRT] Fix 2 MSVC compiler warnings CORE-17812
observed with MSVC2010SP1 16.0.40219.1 x86-target in dbg+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 master 0.4.15-dev-3264-g570cedf.
2022-03-18 21:30:12 +01:00
Joachim Henze efaef5832c [0.4.9][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:02:17 +01:00
Joachim Henze 87e537d828 [0.4.9][SHELL32_WINETEST] Fix 2 MSVC warnings about flags CORE-7538
Can be observed when building with MSVC2010SP1 x86-target in dbg config:
- "...\ebrowser.c(1188) : warning C4133: 'function' : incompatible types - from 'DWORD *' to 'EXPLORER_BROWSER_OPTIONS *'"
- "...\ebrowser.c(1198) : warning C4133: 'function' : incompatible types - from 'DWORD *' to 'EXPLORER_BROWSER_OPTIONS *'"

Cherry-pick 535f2f9e66

fix picked from:
0.4.10-dev-513-g 669d6b445b
2022-03-15 12:46:07 +01:00
Joachim Henze 87a8c78510 [0.4.9][XDK][PSDK][WINE] Unify ARRAY_SIZE definition for Wine modules. CORE-15127
I need this for the following commits to be able to fix more compiler warnings
without having to introduce additional diff for better code from newer branches, that
also uses this macro. The older the branch, the less of duplication we have for this
macro.

picked from 0.4.11-dev-258-g 82faa151e5
2022-03-14 01:01:19 +01:00
Joachim Henze 106dd706d8 [0.4.9][OLEAUT32] Fix an MSVC warning about VarCyMul() CORE-7538
Observable in MSVC2010SP1 dbg config:
"...\vartype.c(3808) : warning C4028: formal parameter 2 different from declaration"

Minimal cherry-pick Alexandre Julliard
18f7ec3670

The fix was picked from 0.4.10-dev-512-g 2ad650469e
2022-03-13 15:08:30 +01:00
Joachim Henze d0da8ae534 [0.4.9][MSHTML] Fix 4 MSVC warnings C4028 CORE-7538
That can be observed in MSVC2010SP1 x86 dbg config:
- "...\htmlanchor.c(769) : warning C4028: formal parameter 2 different from declaration"
- "...\htmlarea.c(427) : warning C4028: formal parameter 2 different from declaration"
- "...\htmlform.c(757) : warning C4028: formal parameter 2 different from declaration"
- "...\htmlinput.c(1303) : warning C4028: formal parameter 2 different from declaration"

fixes picked from:
0.4.10-dev-620-g 990e7dfd1a (WineSync)
0.4.10-dev-603-g 2e7b73dc75 (htmlinput Temporary fix)
2022-03-13 11:51:19 +01:00
Joachim Henze 5e317cc1c2 [0.4.9][NOTEPAD] Fix a MSVC warning about Globals.encFile (#648) (#650) CORE-7538
Observable in MSVC2010SP1 x86 dbg-config
"...\dialog.c(365) : error C4133: 'function' : incompatible types - from 'ENCODING *' to 'int *'"
CORE-7538

the fix is a squashed port of:
0.4.10-dev-286-g 6830ecb118 (#650)
0.4.10-dev-283-g 97df61edfa
0.4.10-dev-282-g 534a309edc (#648) got superseded by 2nd commit
2022-03-13 00:18:57 +01:00
Joachim Henze c1dad7d29e [0.4.9][DBGHELP] Fix 3 MSVC warnings about MiniDumpWriteDump() (#643)
- Fixes MSVC errors: "...\dll\win32\dbghelp\minidump.c(857) : error C4028: formal parameter 5 different from declaration", for parameters 5, 6 and 7.
- Fix spec file too.
CORE-7538

I could reproduce those warnings on MSVC2010SP1 x86.
Ftr Wine 7.0 uses the same spec for that func atm, see
https://fossies.org/linux/wine/dlls/dbghelp/dbghelp.spec (18 Jan 2022, 8523 Bytes)

fix picked from 0.4.10-dev-275-g 3766d836c7
2022-03-12 21:53:40 +01:00
Joachim Henze a71314d4f1 [0.4.9][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:31:24 +01:00
Joachim Henze a611c46662 [0.4.9][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:40:37 +01:00
Joachim Henze dbc5a32bf7 [0.4.9][SERVICES] RChangeServiceConfig2A(): Zero-Initialize InfoW variable CORE-14521
This lets forward NULL Info.psd/Info.psd->lpDescription/Info.psfa,
instead of an uninitialized value.

Currently this branch does not show the bug CORE-14521, but that is just because
it doesn't use the more mean "advapi32 : service" test of 0.4.10.

If we would port again the newer test back from 0.4.9-dev-555-g 3c1b7834e1
(which has been reverted via 0.4.9-dev-576-g a67df65c4f as a temporary workaround for releases/0.4.9)
, then we would see it hanging as well.

fix picked from 0.4.10-dev-627-g e3a1c2c81b

I also muted a forgotten DPRINT1, like it was done during 0.4.10-dev'ing on master.
2022-03-04 23:56:04 +01:00
Joachim Henze 642d3753b1 [0.4.9][ADVAPI32] Fix crash when running advapi32:security with DPH CORE-14719
Import the following Wine commits:
* 79636bebbfa Michael Müller: advapi32: Set last error to ERROR_SUCCESS in GetSidIdentifierAuthority.
* 1d03ba76116 Hans Leidekker: advapi32: Fix parsing empty DACL/SACL security descriptor strings.
* 5bc2e83c7ab Hans Leidekker: advapi32: Fix size returned from ConvertStringSecurityDescriptorToSecurityDescriptor on 64-bit.

It crashed randomly only without DPH, but was crashing reliably with system-wide-DPH.

The bug in advapi32.dll was unhidden by the upgraded test in 0.4.9-dev-555-g 3c1b7834e1
but the bug did also affect older versions of advapi32.dll. Was just not triggered then.
So that rev is not really "guilty". And that is also the reason why I do port it back further than
releases/0.4.9, because *when using the upgraded test* I could make it crash also on
0.4.8-release-113-g5daae85 and 0.4.7-release-128-ga203b7a with system-wide-DPH-enabled.
And the fix is effective in solving the issue also there.

The fix was picked from
0.4.10-dev-219-g 95c3e17a80
2022-03-04 10:55:16 +01:00
Joachim Henze 972df100c2 [0.4.9][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:43:41 +01:00
Joachim Henze 4e889c6e2a [0.4.9][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:57:51 +01:00
Joachim Henze 9a1074ee70 [0.4.9][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:51:06 +01:00
Joachim Henze 73391c7694 [0.4.9][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 14:00:03 +01:00
Joachim Henze 6329d93151 [0.4.9][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:56:16 +01:00