This ports back 3 commits:
0.4.15-dev-7861-g a771729e69 [COMCTL32] Fix Status Bar Updating (#6696)
which fixes CORE-19497 'Regression, part of the statusbar with the sizegrip is not redrawn properly'
which regressed on this branch by 0.4.10-release-210-g 2466b5d6d9
also port back:
0.4.13-dev-888-g 76dfa2b284 [COMCTL32] Checking size grip bounds in x-axis only (#991)
0.4.13-dev-887-g b9ddad0bbb [COMCTL32] Hide size grip when the parent window is maximized CORE-15240 (#991)
To compensate binary increase, I stripped a few TRACE's and the debugstr_t() function in the older branches.
comctl32.dll binary therefore has a tendency to shrink a tiny bit on most branches:
comctl32.dll master RosBEWin2.2.2 GCC8.4.0dbg 2.001.408 (0.4.15-dev-7906-g1b85a5f)
comctl32.dll 0.4.14rls RosBEWin2.2.1 GCC8.4.0dbg 1.998.336 -> 1.997.824
comctl32.dll 0.4.14rls RosBEWin2.1.6 GCC4.7.2dbg 1.807.872 -> 1.807.360
comctl32.dll 0.4.13rls RosBEWin2.1.6 GCC4.7.2dbg 1.804.800 -> 1.803.264
comctl32.dll 0.4.12rls RosBEWin2.1.6 GCC4.7.2dbg 1.817.600 -> 1.817.088
comctl32.dll 0.4.11rls RosBEWin2.1.6 GCC4.7.2dbg 1.809.920 -> 1.809.408
comctl32.dll 0.4.10rls RosBEWin2.1.6 GCC4.7.2dbg 1.806.848 -> 1.806.848
comctl32.dll 0.4. 9rls RosBEWin2.1.6 GCC4.7.2dbg 1.806.848 -> 1.806.848
comctl32.dll 0.4. 8rls RosBEWin2.1.6 GCC4.7.2dbg 1.633.792 -> 1.632.768
comctl32.dll 0.4. 7rls RosBEWin2.1.6 GCC4.7.2dbg 1.602.048 -> 1.602.048
This ports back:
*PARTIALLY* 0.4.15-dev-7884-g d72d61fe47 [COMDLG32] *.rc Improve translations (#6729)
0.4.15-dev-7351-g 449a08a6a8 [COMDLG32] Fix IDC_TOOLBARPLACES size (#6228) CORE-16925
This part is relevant only for releases/0.4.10 to releases/0.4.14 because that dlg was only introduced during 0.4.10-dev'ing
0.4.15-dev-3493-g a36cc8054d [COMDLG32] Fix ico3 not shown in Print dialog (#2831)
0.4.15-dev-95-g 7895704952 [COMDLG32] Enlarge list area in CHOOSE_FONT dialog (#2670)
As always pick some selected/improved translations here and there from newer branches.
Furthermore strip the accelerators from the pshhelp-buttons *in the older branches*, not in master. They do collide in so many languages,
and since the old releases will never get any help-functionality ported to, they are actually counterproductive.
Stripping them is not so easy though, because some dlgs, especially the file-open-dlgs get dynamically resized at runtime
by the height of that button, and by the height of the read-only-checkboxes. Ugly stuff.
Maybe they can be hidden later, and de-stringified to save a few bytes and missing translations.
Not important for today, maybe something to consider in 10years from now.
The stripped accelerators can then serve as a reminder for that.
Binary size of comdlg32.dll shrinks slightly for all branches:
comdlg32.dll master RosBEWin2.2.2 GCC8.4.0 dbg x86 1.011.712 (0.4.15-dev-7874-g0cfc9ab)
comdlg32.dll releases/0.4.14 RosBEWin2.2.2 GCC8.4.0 dbg x86 1.008.128 -> 1.006.080
comdlg32.dll releases/0.4.14 RosBEWin2.1.6 GCC4.7.2 dbg x86 974.336 -> 972.288
comdlg32.dll releases/0.4.13 RosBEWin2.1.6 GCC4.7.2 dbg x86 974.336 -> 972.288
comdlg32.dll releases/0.4.12 RosBEWin2.1.6 GCC4.7.2 dbg x86 958.464 -> 956.416
comdlg32.dll releases/0.4.11 RosBEWin2.1.6 GCC4.7.2 dbg x86 944.128 -> 941.568
comdlg32.dll releases/0.4.10 RosBEWin2.1.6 GCC4.7.2 dbg x86 941.568 -> 939.520
comdlg32.dll releases/0.4. 9 RosBEWin2.1.6 GCC4.7.2 dbg x86 914.432 -> 912.384
comdlg32.dll releases/0.4. 8 RosBEWin2.1.6 GCC4.7.2 dbg x86 914.944 -> 912.384
comdlg32.dll releases/0.4. 7 RosBEWin2.1.6 GCC4.7.2 dbg x86 899.584 -> 896.512
This backport covers tons of improvements within the Shell32-RCs.
E.g. It improves the IDD_FILE_PROPERTIES and IDD_FOLDER_PROPERTIES significantly in the older releases for all langs, but also the Run-Dlg and IDD_OPEN_WITH.
The following master commits are part of it:
0.4.15-dev-7838-g e3bfcdf9e2 [SHELL32] pl-PL.rc: Fix IDD_FILE_PROPERTIES & IDD_FOLDER_PROPERTIES (#6678)
Some 100%-safe parts of the yet uncommitted PR6657 [SHELL32] Update Romanian (ro-RO) translation. I didn't pick all of that yet, as most parts are still WIP.
0.4.15-dev-7833-g ee0329e0e2 [SHELL32] *.rc: accelerator fixes, drive-properties bg-BG and fr-FR (#6591).
I addressed many of the FIXMEs already in the backport so this state is superior to master even.
0.4.15-dev-7216-g d387c799ed [SHELL32] 640x480-ify four dialogs (#6004) IDD_DRIVE_PROPERTIES, IDD_DRIVE_TOOLS, IDD_DRIVE_HARDWARE, IDD_FOLDER_CUSTOMIZE
0.4.15-dev-6333-g fa429c8e2f [SHELL32] *.rc: Use 1996 as birth year in IDD_ABOUT for consistency (this leaves now only the cmd-part left to be done in this context)
0.4.15-dev-5993-g a5bff2457a [SHELL32] Improve disk properties pie chart (#5239) CORE-18906
(I picked only the rc changes for that, but left the code changes out of the backport, the result is still appealing to my eyes)
0.4.14-dev-1492-g 4af7888b29 [SHELL32] CORE-16895 RC IDD_OPEN_WITH All langs
In releases/0.4.14 and lower I stripped the en-GB.rc,
because that was (aside from 3-4 lines of forgotten sync) the same content to en-US.rc still. Real intended changes reached en-GB.rc not before 0.4.15-dev.
Furthermore this translation does not exist in 2k3sp2 afaik.
Also strip GUI-controls for some other features that are yet unimplemented in older ros versions, and that I won't port back, namely:
- drive-indexing/compression-checkboxes and "Disk Cleanup"-button in IDD_DRIVE_PROPERTIES
- controls for GUI-versions of "Backup" and "Defragmentation" in IDD_DRIVE_TOOLS DIALOGEX
- and the related icons for the above
Binary size of shell32.dll shrinks for all branches:
shell32.dll master RosBEWin2.2.2 GCC8.4.0 dbg x86 10.579.968 (0.4.15-dev-7836-g72a27e6)
shell32.dll releases/0.4.14 RosBEWin2.2.2 GCC8.4.0 dbg x86 9.316.684 -> 9.201.664
shell32.dll releases/0.4.14 RosBEWin2.1.6 GCC4.7.2 dbg x86 9.345.024 -> 9.230.336
shell32.dll releases/0.4.13 RosBEWin2.1.6 GCC4.7.2 dbg x86 9.199.616 -> 9.086.976
shell32.dll releases/0.4.12 RosBEWin2.1.6 GCC4.7.2 dbg x86 9.146.368 -> 9.031.680
shell32.dll releases/0.4.11 RosBEWin2.1.6 GCC4.7.2 dbg x86 9.077.248 -> 8.954.880
shell32.dll releases/0.4.10 RosBEWin2.1.6 GCC4.7.2 dbg x86 9.069.568 -> 8.945.152
shell32.dll releases/0.4. 9 RosBEWin2.1.6 GCC4.7.2 dbg x86 8.821.760 -> 8.618.496
shell32.dll releases/0.4. 8 RosBEWin2.1.6 GCC4.7.2 dbg x86 8.736.256 -> 8.536.576
shell32.dll releases/0.4. 7 RosBEWin2.1.6 GCC4.7.2 dbg x86 8.663.040 -> 8.466.944
This fixes the same 2 warnings that we fixed on master by 0.4.15-dev-7676-g a08b83a90b (#6539)
But I ported back only the first commit of (#6539) and left out the 2nd.
The 2 warnings were introduced by 0.4.10-dev-202-g 698cbc6184
binary size of shell32.dll tends to shrink slightly (e.g. in releases/0.4.13),
but is not enough to reach the next lower quantum for most branches:
master RosBEWin2.2.2 GCC8.4.0 dbg x86 10.550.272 (0.4.15-dev-7715-gbb297bc)
releases/0.4.14 RosBEWin2.2.2 GCC8.4.0 dbg x86 9.316.684 -> 9.316.684
releases/0.4.14 RosBEWin2.1.6 GCC4.7.2 dbg x86 9.345.024 -> 9.345.024
releases/0.4.13 RosBEWin2.1.6 GCC4.7.2 dbg x86 9.200.640 -> 9.199.616
releases/0.4.12 RosBEWin2.1.6 GCC4.7.2 dbg x86 9.146.880 -> 9.146.368
releases/0.4.11 RosBEWin2.1.6 GCC4.7.2 dbg x86 9.077.248 -> 9.077.248
releases/0.4.10 RosBEWin2.1.6 GCC4.7.2 dbg x86 9.069.568 -> 9.069.568
No older branch than releases/0.4.10 was affected.
This picks:
0.4.11-dev-728-g 9baf05f164
which fixes regression CORE-15353 'NOTEPAD does not open text file via openWith-dialog if the filepath contains spaces'
which was unhidden by 0.4.10-dev-599-g 932df378bf
and affected only releases/0.4.10. No older release branches.
I ported it back further anyway, because I do perceive the newer code as superior.
binary size of shell32.dll shrinks slightly:
releases/0.4.10 RosBEWin2.1.6 GCC4.7.2 dbg x86 9.072.128 -> 9.069.568
releases/0.4. 9 RosBEWin2.1.6 GCC4.7.2 dbg x86 8.824.832 -> 8.821.760
releases/0.4. 8 RosBEWin2.1.6 GCC4.7.2 dbg x86 8.738.816 -> 8.736.256
releases/0.4. 7 RosBEWin2.1.6 GCC4.7.2 dbg x86 8.666.624 -> 8.663.040
Picks various trivial improvements from newer branches, does not fix specific JIRA-tickets and also doesn't
*entirely* cover a specific PR, therefore none of those are mentioned here.
Main motivation is to reduce large scale white-noise diff between the branches, to make
future commits diffs (with some fixes that actually matter) smaller in size and therefore easier to review.
Specifically:
- large-scale formatting & logging improvements, including but not limited to 0.4.15-dev-7653-g 6f91b6c0fe
- strip trailing whitespace
- also typos like 'unkown', missing \n as it was
part of 0.4.15-dev-6323-g 3854a5d8e9 and
0.4.15-dev-4492-g 03422451b3
(I left out the MOUSE_MOVE-one from that, because I consider the missing \n there intentional)
- ports back many usages of ARRAYSIZE/_countof as it was added as part of some commits from Hermes, e.g.:
*partial* pick of 0.4.13-dev-622-g 8a30801516 and
*partial* pick of 0.4.15-dev-3642-g 83be315abf (I left out the literals here for now, ...
I *might* pick them later on their own, but not now. I first want to verify their isolated impact on all compilers generated file-sizes.
Some of those changes would even increase the binary size, especially those where the same literal is used multiple times,
because string-pooling is currently not enabled for all toolchains and configurations.)
- COpenWithMenu.cpp: strip double-semicolon
- COpenWithMenu.cpp && folder_options.cpp: add \n to some dbg-prints without increasing their length
- CFSDropTarget.cpp: add \n to some dbg-prints, strip some good-path-traces that are no longer present in master in return to avoid size increase, fix indentation
- CShellLink.cpp: add \n to some dbg-prints without increasing their length
- iconcache.cpp: fix wrong indentation
- shlfileop.cpp: partially pick 0.4.15-dev-7388-g d689cfe158 just the stripping of #ifdef __REACTOS__ but NOT the actual fix! (the ifdefs were only present in 0.4.14)
- 0.4.10 and lower: shellpath.c Strip some TRACEs with wrong format-strings, strip unused string my_DocumentsW
binary size of shell32.dll has tendency to shrink slightly, which is caused solely by the logging changes:
master RosBEWin2.2.2 GCC8.4.0 dbg x86 10.538.496 (0.4.15-dev-7640-gbdcfc6b)
releases/0.4.14 RosBEWin2.2.2 GCC8.4.0 dbg x86 9.317.888 -> 9.316.684
releases/0.4.14 RosBEWin2.1.6 GCC4.7.2 dbg x86 9.345.024 -> 9.345.024
releases/0.4.13 RosBEWin2.1.6 GCC4.7.2 dbg x86 9.201.152 -> 9.200.640
releases/0.4.12 RosBEWin2.1.6 GCC4.7.2 dbg x86 9.146.880 -> 9.146.880
releases/0.4.11 RosBEWin2.1.6 GCC4.7.2 dbg x86 9.077.760 -> 9.077.248
releases/0.4.10 RosBEWin2.1.6 GCC4.7.2 dbg x86 9.074.176 -> 9.072.128
releases/0.4. 9 RosBEWin2.1.6 GCC4.7.2 dbg x86 8.825.856 -> 8.824.832
releases/0.4. 8 RosBEWin2.1.6 GCC4.7.2 dbg x86 8.740.864 -> 8.738.816
releases/0.4. 7 RosBEWin2.1.6 GCC4.7.2 dbg x86 8.668.160 -> 8.666.624
Ports back a real fix:
0.4.15-dev-1173-g ba09834c5e [PARPORT] Fix I/O port length check
Ports back logging and formatting:
0.4.15-dev-6794-g 4eace8d762 [IPHLPAPI] Silence obsolete FIXME in GetAdaptersAddresses (#5834) CORE-14388
0.4.15-dev-6438-g b12ab486d8 [MUP] Mute DPRINT1's that slow down shared folder accesses (#5545) CORE-19105
And mutes some other loggings as well for stuff, that I either never want to port back, e.g. the IMM-implementations,
or which is not really helpful in the older branches:
fixme:(win32ss/user/user32/misc/imm.c:446) WINNLSEnableIME is UNIMPLEMENTED!
fixme:(../dll/win32/iphlpapi/address.c:290) GetAdaptersAddresses - Semi Stub: Family 2, Flags 0x0000002e, Reserved 00000000, pAdapterAddress 00000000, pOutBufLen 0143EBD4.
when browsing the startmenu:
fixme:(dll/win32/comctl32/toolbar.c:394) [00080086] TBSTYLE_REGISTERDROP not implemented
fixme:(dll/win32/comctl32/toolbar.c:5636) [00080086] response 2045774661 not handled to NM_CUSTOMDRAW (CDDS_PREERASE)
fixme:(dll/win32/comctl32/toolbar.c:5673) [00080086] response 3225142 not handled to NM_CUSTOMDRAW (CDDS_POSTERASE)
fixme:(dll/win32/comctl32/toolbar.c:5636) [000200BA] response 9 not handled to NM_CUSTOMDRAW (CDDS_PREERASE)
fixme:(dll/win32/comctl32/toolbar.c:5636) [00080086] response 2288892 not handled to NM_CUSTOMDRAW (CDDS_PREERASE)
fixme:(dll/win32/comctl32/toolbar.c:5673) [00080086] response 3291448 not handled to NM_CUSTOMDRAW (CDDS_POSTERASE)
and a bigger block regarding the parallel port during booting:
(drivers/parallel/parport/parport.c:127) Parport DriverEntry
(drivers/parallel/parport/fdo.c:391) AddDevice(B0B50548 B0FED980)
(drivers/parallel/parport/fdo.c:25) AddDeviceInternal()
(drivers/parallel/parport/fdo.c:513) FdoPnp()
(drivers/parallel/parport/fdo.c:582) IRP_MJ_PNP / IRP_MN_FILTER_RESOURCE_REQUIREMENTS
(drivers/parallel/parport/fdo.c:513) FdoPnp()
(drivers/parallel/parport/fdo.c:546) IRP_MJ_PNP / IRP_MN_START_DEVICE
(drivers/parallel/parport/misc.c:42) Calling lower device B0FED980
(drivers/parallel/parport/fdo.c:116) FdoStartDevice ()
(drivers/parallel/parport/fdo.c:160) Port: BaseAddress 0x378 Length 8
(drivers/parallel/parport/fdo.c:160) Port: BaseAddress 0x778 Length 8
(drivers/parallel/parport/fdo.c:174) Interrupt: Level 20 Vector 55
(drivers/parallel/parport/fdo.c:195) New LPT port: Base 0x378
(drivers/parallel/parport/fdo.c:513) FdoPnp()
(drivers/parallel/parport/fdo.c:586) Unknown minor function 0x9
(drivers/parallel/parport/fdo.c:513) FdoPnp()
(drivers/parallel/parport/fdo.c:586) Unknown minor function 0x14
(drivers/parallel/parport/fdo.c:513) FdoPnp()
(drivers/parallel/parport/fdo.c:564) IRP_MJ_PNP / IRP_MN_QUERY_DEVICE_RELATIONS / BusRelations
(drivers/parallel/parport/fdo.c:351) FdoQueryBusRelations()
(drivers/parallel/parport/fdo.c:233) FdoCreateRawParallelPdo()
(drivers/parallel/parport/fdo.c:378) Done
(drivers/parallel/parport/pdo.c:165) PdoPnp()
port back the following commit:
0.4.15-dev-6613-g e13ebd44c6 [USER32] Pure Whitespace sync from comctl32/combo.c, no functional change
0.4.15-dev-6612-g d97313181e [USER32] Sync comctl32 combo.c code in context of CORE-17883
0.4.15-dev-3453-g ff89651ed0 [COMCTL32] Redraw children when the combo box is dropped down (#4138) CORE-17883
and tweak [USER32] combo.c a bit more even than on master, e.g. strip a few TRACEs. Possible because
unlike master we don't need to be as much in sync as possible to Wine in the older branches.
But we need to have binary size under control for the backports due to base-addresses.
Binary size:
user32.dll master RosBEWin2.2.2 GCC8.4.0dbg 1.579.008
user32.dll 0.4.14rls RosBEWin2.1.6 GCC4.7.2dbg 1.448.448 -> 1.448.448
user32.dll 0.4.13rls RosBEWin2.1.6 GCC4.7.2dbg 1.445.376 -> 1.444.864
user32.dll 0.4.12rls RosBEWin2.1.6 GCC4.7.2dbg 1.455.616 -> 1.455.104
user32.dll 0.4.11rls RosBEWin2.1.6 GCC4.7.2dbg 1.453.056 -> 1.451.008
user32.dll 0.4.10rls RosBEWin2.1.6 GCC4.7.2dbg 1.434.624 -> 1.434.112
user32.dll 0.4. 9rls RosBEWin2.1.6 GCC4.7.2dbg 1.422.336 -> 1.421.824
user32.dll 0.4. 8rls RosBEWin2.1.6 GCC4.7.2dbg 1.421.824 -> 1.421.824
user32.dll 0.4. 7rls RosBEWin2.1.6 GCC4.7.2dbg 1.418.752 -> 1.417.216
port back:
0.4.15-dev-6456-g 918a818071 [WINESYNC][COMCTL32] Listview: Initialize marqueeRect from left-click coordinates before starting a marquee highlight (#5555)
The infoPtr->marqueeRect structure is not currently initialized before the
marquee highlight sequence starts, resulting in the RECT having initial
coordinates of (0,0)-(0,0). These coordinates cause the first item in
the listview control to be identified as being within the range of the
marqueeRect's coordinates. This can be best observed when our filebrowser is in details-mode.
That item is then set to LVIS_SELECTED even though it is not part of the
marquee selection.
Wine commit: daf95aaadf3a59f0ccc129a853327417b5e4f07c
author: Hugh McMaster <hugh.mcmaster@outlook.com>
Mon, 26 Apr 2021 10:59:51 +0000 (20:59 +1000)
---------------
Also fix CORE-16650 'VB6 installation does not show the wizard correctly'
by porting back:
0.4.14-dev-844-g ea35843c30 [COMCTL] Use DIALOG instead of DIALOGEX resources (#2270)
This is needed, because property sheets can modify the dialog resource,
and example code (and some existing applications) expect DIALOG.
One such application is the VB6 setup.
CORE-16650
---------------
also port back a few other trivial improvements from never branches, e.g.:
a tiny fraction of 0.4.14-dev-150-g 00f14ee1f2 the type/cast-changes in LISTVIEW_MouseWheel()
---------------
0.4.13-dev-26-g 6122f3f436 [COMCTL32] Remove an unnecessary include
---------------
and port back also a few trivial RC improvements, mainly to keep binary size under control.
Binary size:
comctl32.dll master RosBEWin2.2.2 GCC8.4.0dbg 1.999.872
comctl32.dll 0.4.14rls RosBEWin2.1.6 GCC4.7.2dbg 1.808.896 -> 1.808.896
comctl32.dll 0.4.13rls RosBEWin2.1.6 GCC4.7.2dbg 1.810.944 -> 1.805.312
comctl32.dll 0.4.12rls RosBEWin2.1.6 GCC4.7.2dbg 1.823.232 -> 1.818.112
comctl32.dll 0.4.11rls RosBEWin2.1.6 GCC4.7.2dbg 1.816.064 -> 1.810.944
comctl32.dll 0.4.10rls RosBEWin2.1.6 GCC4.7.2dbg 1.813.504 -> 1.808.384
comctl32.dll 0.4. 9rls RosBEWin2.1.6 GCC4.7.2dbg 1.813.504 -> 1.808.384
comctl32.dll 0.4. 8rls RosBEWin2.1.6 GCC4.7.2dbg 1.639.424 -> 1.634.304
comctl32.dll 0.4. 7rls RosBEWin2.1.6 GCC4.7.2dbg 1.634.304 -> 1.629.184
Don't call ClientToScreen in handling NM_RCLICK message because NMMOUSE.pt is already in screen coordinates.
CORE-18966
A backport of:
0.4.15-dev-6298-g b4e946f5b0
and strip EOL whitespace
0.4.15-dev-5927-g bfc6a119c5 [ADVAPI32] Do not fail on creating a registry key if the security attributes have an invalid length. (#5230) fixes regression CORE-15471
partially 0.4.15-dev-999-g 889b077b23 [REACTOS] *.spec: Fix some function/parameter types (only the [ADVAPI32] part)
0.4.14-dev-1245-g 8ae8083378 [ADVAPI32][PSDK] CryptReleaseContext(): dwFlags parameter is DWORD, only
0.4.13-dev-666-g f3a9b524f1 [ADVAPI32] Fix copying the TokenSource string
0.4.13-dev-363-g 46259092f9 [ADVAPI32:REG] Remove some useless casts (#1614)
0.4.12-dev-237-g 446e13745c [ADVAPI32] Stop pretending our advapi32 is NT6+, inconsistent TEB definitions CORE-15526
also fix a bit of whitespace, wrong format-strings and missing \n in debugprints
---------
in 0.4.9 + 0.4.10: scm.c: fix wrong arguments count in 2 TRACEs, which were introduced by the guilty 0.4.9-dev-417-g 32bb592e12
Contrary to that delete all those TRACEs in 0.4.7 and 0.4.8 because they have been touched a thousand times after their introduction to fix all their format-string-glitches.
---------
advapi32.dll master GCC8.4.0dbg 671.232
advapi32.dll 0.4.14 GCC4.7.2dbg 602.624 -> 602.624
advapi32.dll 0.4.13 GCC4.7.2dbg 602.112 -> 602.112
advapi32.dll 0.4.12 GCC4.7.2dbg 615.424 -> 615.424
advapi32.dll 0.4.11 GCC4.7.2dbg 613.888 -> 613.888
advapi32.dll 0.4.10 GCC4.7.2dbg 604.672 -> 604.672
advapi32.dll 0.4.9 GCC4.7.2dbg 607.744 -> 604.672
advapi32.dll 0.4.8 GCC4.7.2dbg 602.624 -> 589.824
advapi32.dll 0.4.7 GCC4.7.2dbg 601.600 -> 589.312
This fixes:
CORE-15363 'netstat TCP foreign address port is wrong'
CORE-5401 'Netstat returns ERROR_NO_DATA Pipe being closed'
CORE-5126 'UNIMPLEMENTED: iphlpapi: GetExtendedUdpTable'
even without touching the netstat binary yet.
And is mostly based on work done by Pierre Schweitzer during 0.4.11-dev'ing.
by porting back:
0.4.15-dev-6231-g a5360f542f [IPHLPAPI] Formatting only, no functional change
partially 0.4.14-dev-1425-g f540b2b20c [IPHLPAPI] GetAdaptersAddresses(): Add 1 free() in ERROR_NO_DATA case (#2526) (but leave out adding the comments in .h)
0.4.12-dev-686-g 22f60faf43 [IPHLPAPI] Remove dead code to fix CID 513306, 1442673, 1442697
0.4.11-dev-880-g bf052e120b [IPHLPAPI] Reduce code duplication and use a single function for TCP and UDP enumerations + fix corruption
0.4.11-dev-867-g 159f5b676a [IPHLPAPI] Fix broken size computation leading to buffer overrun
0.4.11-dev-861-g 05657bfcfd [SDK] Add a non documenter TOIID used to query modules information
0.4.11-dev-827-g ce7f9211a0 [TCPIP] In InfoTdiQueryGetConnectionTcpTable(), only return if there's a connection
0.4.11-dev-823-g 0ec92100bc [TCPIP] Properly display local information for established connections
0.4.11-dev-819-g fbdfe7bd40 [SDK] Add GetExtendedUdpTable()
0.4.11-dev-818-g 370b03b523 [IPHLPAPI] Reimplement GetUdpTable() using GetExtendedUdpTable()
0.4.11-dev-817-g 58cef01422 [IPHLPAPI] Implement GetExtendedUdpTable() CORE-5126
0.4.11-dev-816-g 6fb6c7b50b [IPHLPAPI] Implement getOwnerUdoTable(), to get UDP connections with owner PID
0.4.11-dev-815-g 13de7f08af [TCPIP] Implement enumerating UDP connections with owner PID
0.4.11-dev-813-g 73c87d5c14 [IPHLPAPI] Reimplement GetTcpTable() using GetExtendedTcpTable()
0.4.11-dev-812-g d76ac645e8 [IPHLPAPI] Don't leak memory
0.4.11-dev-811-g c949a12506 [IPHLPAPI] Implement the IPv4 TCP_TABLE_OWNER_PID_* cases in GetExtendedTcpTable()
0.4.11-dev-810-g dca7e5689f [IPHLPAPI] Implement getOwnerTcpTable(), to get TCP connections with owner PID
0.4.11-dev-809-g 411504b5f4 [TCPIP] Implement enumerating TCP connections with owner PID
0.4.11-dev-808-g 935978ee57 [TCPIP] Store creator PID in ADDRESS_FILE
0.4.11-dev-807-g 702d44c683 [IPHLPAPI] Implement the IPv4 TCP_TABLE_BASIC_* cases in GetExtendedTcpTable()
0.4.11-dev-804-g 91b013d387 [TCPIP] When enumerating sockets, retrieve their state and return it
0.4.11-dev-803-g 738f327668 [IP] Add a TCPGetSocketStatus() wrapper around LibTCPGetSocketStatus()
0.4.11-dev-802-g 29c1510423 [LWIP] Implement a LibTCPGetSocketStatus() function in our LwIP glue
0.4.11-dev-792-g 8a98c85c1f [IPHLPAPI] Fix checking entity when enumerating TCP/UDP connections
0.4.11-dev-784-g f29016dabe [TCPIP] Properly handle listening sockets
0.4.11-dev-782-g 007f43dd56 [TCPIP] Implement returning UDP connections CORE-5401
0.4.11-dev-781-g 77d5f04f22 [TCPIP] Implement returning TCP connections CORE-5401
0.4.11-dev-799-g 500a5151ea [TCPIP] Fix returned IP address when querying TCP connections CORE-15363
0.4.11-dev-783-g d18b1fe24b [IPHLPAPI] Properly count UDP entries CORE-5401
0.4.11-dev-780-g e3cb9697a4 [IPHLPAPI] Implement getNumUdpEntries() and getUdpTable() CORE-5401
0.4.11-dev-779-g 678204790c [IPHLPAPI] Implement getNumTcpEntries() and getTcpTable() CORE-5401
----------------
Strip some DPRINTs entirely in IPHLPAPI/TCPIP in releases/0.4.7 - 0.4.10 (instead of fixing them like we did on master). Many of them had x64 issues:
This was partially *inspired* by watching the following commits:
0.4.13-dev-14-g f9a967b2ae [IPHLPAPI] Fix misc 64 bit issues (only the parts in iphlpapi_main.c with the format strings)
0.4.10-dev-409-g 0f8439aa71 [IPHLPAPI] Fix 64 bit issue, just the one within [IPHLPAPI] ifenum_reactos.c
0.4.9-dev-856-g 6c9359221c [IPHLPAPI] ipstats_reactos: Review all TRACE/WARN calls
This does not only fix the x64 incompatibilities by superseding those 3 commits but also will keep the file-sizes under control for the backports.
0.4.15-dev-5890-g 56bf3969cd [SYSSETUP] Tweak IDD_COMPUTERPAGE positioning (#5158)
0.4.15-dev-5875-g 7c755d9b84 [SYSSETUP] Delete obsolete lt-LT.rc
0.4.15-dev-5874-g c762234546 [SYSSETUP] Fix font glitch in ja-JP.rc (#5192)
0.4.15-dev-5871-g 3963d7d5f2 [SYSSETUP] Delete obsolete fi-FI.rc
0.4.15-dev-5772-g 784946db8c [SYSSETUP] Tweak resources CORE-18870
0.4.15-dev-5732-g 909b165c4a [SYSSETUP] Removed qemu credit entirely (#4971)
0.4.15-dev-5678-g cc54ecd779 [SYSSETUP] Fix a space-typo in IDS_WZD_PASSWORDEMPTY for *.rc (#5049)
0.4.15-dev-1102-g ad4c174eb6 [SYSSETUP] fr-FR: Change keyboard accelerator for Owner Organization field (#3282)
0.4.14-dev-1445-g 173a2af48c CORE-16874 [SYSSETUP] Update authors page in second stage setup
(that part got unhidden by 0.4.10-dev-466-g 35f62fc5ba . Picked as one of the needed preparations in case I would ever port back the guilty rev later)
and a few other gems from other partially picked master-commits that are not explicitly mentioned here.
--------
Also strip the IDC_LOCALETEXT and IDC_LAYOUTTEXT from the resources as that was only implemented in releases/0.4.15,
is even today still not properly localized there, they changed their dimensions again with that
and I don't intend to port that back anytime soon. And if I ever will, then all the resources would need to be touched again anyway.
by porting back:
0.4.15-dev-5784-g 2aea4ab945 [NTUSER] Scrollbar.c pure whitespace fixes
0.4.15-dev-5680-g 5ad5737370 CORE-18050 [NTUSER] Delete temporary workarounds in co_IntSetScrollInfo() (#4985)
0.4.15-dev-5355-g 0484beb04b CORE-18593 [NTUSER] Don't redraw scrollbar if it is hidden command prompt (#4849)
0.4.15-dev-4492-g 03422451b3 Add '\n' to debug logs (partially, only the scrollbar.c part)
0.4.15-dev-3875-g 977c129f33 CORE-18048 [USER32] SetScrollPos should not bypass UserApiHook (#4372)
0.4.15-dev-3849-g fd28a69de6 CORE-17780 [WIN32SS] Store the scrollbar theming enabled flag in the scrollbar (#4367)
0.4.15-dev-3175-g 222acf5a3e CORE-17777 [NTUSER] Scrollbar.c, Avoid potential out-of-bounds-accesses in co_IntSetScrollInfo()
0.4.15-dev-3174-g dda9c3979e CORE-17769 'Rapps Listview manual resize may erroneously not draw the triangles sometimes'
0.4.15-dev-3147-g 3bf7e3ac13 CORE-17754 and CORE-17755 [NTUSER] Improve Themed Scrollbars by Minimizing Updates (#3953)
0.4.15-dev-3086-g 236649c626 CORE-16375 [UXTHEME][NTUSER] Fix flashing of scrollbar when scrolling (#3868)
0.4.15-dev-2375-g ffea5152e6 [WIN32SS][NTUSER] Fix an integer underflow within scrollbar info setting
0.4.14-dev-1134-g 00adb1a3f9 [WIN32SS] Improve Drawing Scrollbars
- CORE-14755 fixed, flashing scrollbar triangles (we know 131 affected apps just from rapps!)
- CORE-13931 fixed, FamiTracker invisible about-dlg
- CORE-14685 improves a bit, but is not entirely fixed
- CORE-11561 'Notepad scrollbars problem' fixed
This will also speed up NSIS installers that display their file-copy-progress by
a self-scrolling listview.
by porting back:
[SHELL32] Ignore unused flag SEE_MASK_UNICODE (#5033)
0.4.15-dev-5676-g 5c22ce3742
to mute logspam of the kind
fixme:(dll/win32/shell32/shlexec.cpp:1934) flags ignored: 0x00004000
e.g. when starting Rapps.
-------------------------------------------------------------
[SHELL32] brsfolder.c Delete unused #ifndef __REACTOS__ block
It is a partial pick of:
0.4.15-dev-3642-g 83be315abf
and strip all EOL-whitespace in that file.
This part is done as the file is part of a backport into even older branches.
brsfolder.c will be 100% in sync between releases/0.4.7 - releases/0.4.14 afterwards.
-------------------------------------------------------------
[SHELL32] de-DE.rc Update regarding IDC_BROWSE_FOR_FOLDER_NEW_FOLDER
0.4.15-dev-2957-g c30b1fe893
and pick other small tweaks in that file from master
-------------------------------------------------------------
[COMDLG32] Support shortcut keys on Open/Save Dialog (#3238)
Enable key accelerators on File Open/Save Dialog. CORE-14332
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.
0.4.15-dev-39-g 771457f37f
--------------------------------------------------------------
[SHELL32] Sync brsfolder.c with keyboard shortcut code from wine (#2290)
0.4.14-dev-1187-g fc4c4d4911
by porting back:
0.4.15-dev-5542-g f9dfc45375 CORE-18587
0.4.14-dev-980-g b1c7ca3024 Attention comment
0.4.14-dev-979-g ba17d87636 Attention comment
and pick a few places where translators decided to shorten their strings
by porting back:
0.4.15-dev-5588-g e89675768b [SHELL32] Add 3 accelerators for IDM_DRAGFILE MENU de-DE.rc (#5001)
pick a single line only of 0.4.15-dev-984-g a5a30fc249 [SHELL32] CFSDropTarget.cpp ERR->TRACE to mute logspam
0.4.11-dev-858-g 1d55f459d6 [SHELL32] CFSDropTarget: Fix right click menu when shown over the tree view CORE-11240
and strip some EOL-whitespaces in the 3 related source-files.
CORE-11240
picked from 0.4.15-dev-5519-g e8e38b8301
picked from 0.4.15-dev-2937-g 1078340f5c
and ported back some trivial changes in some other languages as well.
During 0.4.10-dev' Katayama worked heavily on the icon selection dialog and when
we branched the releases/0.4.10 that was WIP, so we had a pretty inconsistent state unfortunately
regarding extracting the desktop icons. The required fixing took a very long time
into 0.4.11-dev'ing back then.
So my only option for releases/0.4.10 back then was to appease the problems via
0.4.10-RC-13-g 3a1fe9d044
which worked very well and gave a consistent state for the GCC build.
Unfortunately it lead to the MSVC2010SP1 dbg build bootcd to not show some icons on the desktop
and within the whole startmenu. As said: GCC was not affected by that. And LiveCD was neither.
So today I do port back the remaining improvements in this context from 0.4.11-dev'ing to
improve again also for the MSVC2010SP1 builds bootcd of releases/0.4.10:
0.4.11-dev-361-g 2cbac3d049 [SHELL32] CORE-14982
0.4.11-dev-357-g 40737bdddb [USER32] Fix the ICO_ExtractIconExW() helper CORE-15150 <- this part is essential
0.4.11-dev-29-g 19e9a44118 [SHELL32] Check the result from PathUnExpandEnvStringsW
And while touching the file CShellLink.cpp anyway, I took also some other small unrelated improvements with me:
0.4.11-dev-360-g 1e20a3e5b5 [SHELL32] 'Fix a potential buffer overrun' (which is a tiny part of CORE-8545)
0.4.11-dev-256-g ae9ec94240 [SHELL32] Code formatting only (I picked only the CShellLink.cpp changes here)
0.4.11-dev-28-g 608cb60e44 [SHELL32] Remove some mostly dead code from CShellLink
Item hint for "Resources by connection" was incorrectly set to the hint for "Resources by type".
fix picked from 0.4.15-dev-5334-g 075ec50298
and also port back stripping of some EOL-whitespace
By taking alternative code-paths in WdmAud and bypassing Sysaudio.
This is a squashed backport of:
0.4.15-dev-791-g 6d7ebc2048 the USE_MMIXER_LIB which gives the best results when paired with those 2 previous patches:
0.4.15-dev-765-g b8e936a57b CORE-17214 (#3148) wdmaud-racecondition-fix and
0.4.15-dev-796-g a27f0debca CORE-17276 winmm:mixer-testbot-crash-fix
Defining USE_MMIXER_LIB will fix/improve:
- the test execution times of "GCCLin_x86 on Test VBox" will be dramatically improve (iirc by ~10-15min)
- CORE-8726/CORE-9986/CORE-16564 AC97 driver from rapps will work in the same session that the driver is installed, not a single reboot is needed anymore
- CORE-13202 Unhandled exception from wdmaud.drv when recording sound in Scratch 1.4 leads to app-crash (gets fixed even for older builds that did not receive 0.4.15-dev-2794-g 81f8bce yet)
- CORE-13488 A deadlock in "DiabloII" character selection screen and "The Lion King II"
- CORE-9981 "DosBox + Commander Keen6" almost 100% fixed, DosBox + Commander Keen6 properly plays music instead of garbled output,
same improvement for "ScummVM 2.0 with Monkey Island 2"
The playback is not yet *entirely* perfect, still a few hiccups now and then, but by orders of magnitude better than before.
Most of the above mentioned issues were a regression of SVN r44721 == 4b9731d0db
Defining USE_MMIXER_LIB will also have some negative aspects:
- CORE-17277 crash of dsound:duplex on "GCCLin_x86 on Test VBox" gets unhidden on the bot, but was proven to be broken even beforehand already. The driver beforehand was just not found and the tests were skipped therefore.
- CORE-17278 crash of dsound:capture on "GCCLin_x86 on Test VBox" gets unhidden on the bot, but was proven to be broken even beforehand already. The driver beforehand was just not found and the tests were skipped therefore.
- CORE-17744 Fox Audio Player 0.10.2 can not longer play an mp3 file with 22kHz, WMM audio output
- It may also have a negative impact for CORE-17285 "Realtek HD Audio" but Oleg Dubinsky accepted to tolerate that and aims to approach it differently. We resolved that as WontFix therefore.
Today 2022-10-25 was the day, when I spotted the first URL in rapps that is not longer happy with just having
ECDSA_P256 but now needs even ECDSA_P384 to make the rapps download succeed. *eye-rolling*
It was https://bitbucket.org/Swyter/tld-downloads/downloads/diabloiidemo.exe
that failed the rapps download with
fixme:(dll/win32/bcrypt/bcrypt_main.c:359) algorithm L"ECDSA_P384" not supported
err:(win32ss/user/user32/windows/messagebox.c:1048) MessageBox: L"Paket konnte nicht geladen werden! Pr\00fcfen Sie Ihre Internetverbindung!"
So I have no choice but to follow the totally stupid crypto-rat-race and
add the missing structs and handlers in BCryptOpenAlgorithmProvider().
When will the world ever learn that the new cryptos do outdate faster than the new shit even can be implemented in time everywhere?
Each additional crypto algorithm effectively enlarges the attack surface of the end-points instead of making stuff more secure.
The world is rushing towards totally breaking backward compatibility to older systems. This is built-in obsolescence. For which gain?
This race can never be won. Each crypto-iteration just intensifies the existing chaos. Enough ranting...
fix picked from 0.4.15-dev-3662-g c3e0df0611
It is a cherry-pick a part of Michael Müller's commit from Wine
76b6c360fa
The commit doesn't fix CORE-14198 at all, same like on master, but since the original commit was linked
to that JIRA ticket as well, I decided to do the same with the backport.
This is a squashed backport of the following commits:
0.4.13-RC-53-g 4f628f6b16 (partial pick of shell32-changes for Miranda CORE-14439 & Winamp CORE-13584, explorer left out)
0.4.14-dev-369-g 141cf04239 (#2046) NTUSER
0.4.15-dev-1126-g 58b0558f94 (#3294) NTUSER
0.4.15-dev-2618-g 32b0cf6fc6 (#3697) NTUSER
0.4.15-dev-2621-g 59d4c11203 (#3700) NTUSER
0.4.15-dev-5242-g e6fb0e0c25 (#4800) Cleanup
brings us closer to releases/0.4.14
In the older branches it will fix the following bugs (or prevents introducing them):
CORE-13584 'Winamp 5.666 erroneously has a secret tab shown in taskbar'
CORE-14380 'Effective File Search 6.8.1 when you open up the app via desktop link there is no pane in taskbar'
CORE-14439 'Miranda IM 0.10.21 snap-to-monitor-border-feature brings ros to halt'
CORE-15655 'Click-N-Type Virtual Keyboard 3.03.0412 has no taskbar pane'
CORE-15669 'DVD Write Now 1.5.12 SP2 setup has no taskbar pane'
CORE-15716 'Photofiltr 7.2.1 has no taskbar pane'
CORE-15731 'Java JRE 6u45 setup, last page of setup has no taskbar pane'
CORE-16030 'Moo0 Audio Recorder - the taskbar icon does not appear'
(CORE-17330 Regression, many installers that should have only 1 taskbar pane, now have 2 of them erroneously)
fixes BSOD 0xc0000139 STATUS_ENTRYPOINT_NOT_FOUND upon boot when
replacing just the file advapi32.dll with 2k3SP2 version 5.2.3790.3959
We can not reach the desktop yet, but at least the GUI,
and we do no longer BSOD and can instead properly ACPI-shutdown at this point.
picked from 0.4.15-dev-71-g 0b530fe496
----------
also pick unrelated 0.4.14-dev-1260-g 6e79e60883 [RPCRT4] Fix 'Routeines' typos (#2481)
which contrary to its commits comment in master is very little only 'related' to CORE15682
but it imports c73352047d
and is a very safe fix, so I picked that as well.
It fixes Heap Corruption when starting KernRate, which I could confirm also in
all the older ros branches by using:
gflags /p /enable Kernrate_i386_XP.exe /full
Kernrate_i386_XP.exe
The older builds did not expose the user-visible symptom of "the app crashing" yet
(due to different memory layout),
but the heap corruption was already happening in all of them.
This is a squashed backport of:
0.4.14-RC-92-g d3e301e28b (the actual fix)
0.4.14-RC-93-g 651a011548 (fix for compiling on GCC RosBE *Lin* 2.1.2 carrier-releaser)
0.4.14-release-24-g 57efac32b1 (just a whitespace addendum)
Logspam started during 0.4.9-dev'ing when zipfldr got committed,
logspam became much worse by 0.4.10-dev-599-g 932df378bf
But the actual bug of 'calling those functions when not needed' is much older than that.
Fix picked from 0.4.15-dev-3275-g cee171f5d2
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.
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
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
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.
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.
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!
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.
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!
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.
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
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
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
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)
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
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
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