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()
---------------
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
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
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)
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
Remove WM_SYSKEYDOWN handling at component level, in consistency with other components (ListView,...)
Early embodiement of the fix proposed to WineHQ:
https://bugs.winehq.org/show_bug.cgi?id=49097 in order to remove functional limitation in ReactOS.
Fixes regressions CORE-17020 and CORE-12203 that were once introduced
by SVN r72320 == git 297e33f228
during COMCTL32 WineSync 1.9.16 CORE-11866
Fix picked from 0.4.15-dev-191-g 295ba62820
Many Thanks to patches author JIRA user 'I_Kill_Bugs',
but also to Doug Lyons and Fabian Maurer.
Unhidden by SVN r75735 == git 0.4.7-dev-168-g
6af37fd54e
cherry-picked from 0.4.14-dev-312-g
b931f643e3
Fixes the icons on some buttons being flipped vertically.
Known affected apps: Lazarus IDE, Double Commander, Peazip.
Beside that it also fixes transparency regressions in DVDStyler 3.0.4 (CORE-14701).
Thanks to patches author Doug Lyons.
The patch has not been committed to master yet and has the known side-effect
of introducing flipped icons in the options-listview of Double-Commander
that are drawn correctly without the hackfix.
Like in last releases.
Most likely not correct, as it breaks comctl32:buttonv6 tests
https://reactos.org/testman/compare.php?ids=68146,68147
But greatly eliminates perceived flickering when hovering
with the mouse about buttons in unthemed mode.
We suffered from these regressions for years and nobody did
find a proper solution, therefore it's time to at least workaround them.
The patch did not expose any new real-world-issues after I retested
the whole rapps suite against it in 0.4.12RCs.
I committed the same workaround already into 0.4.12-RC-30-g
9513c9bf12
CORE-13278 was once introduced/unhidden by SVN 73806 ==
c607de714c
CORE-16093 was once introduced/unhidden by SVN 74149 ==
301c476074
This fixes a strange toggle-back-effect in 'Zeckensacks Glide Wrapper 0.84c'
by importing Wine commit
9dbe886e3f
Thanks to patches author Akihiro Sagawa <sagawa.aki@gmail.com>
In my testing on Win2k3, EN_CHANGE is generated in OnInitDialog, that is correct. The target is property sheet. The property sheet does unchange the page after WM_INITDIALOG generation. CORE-16280
- Add a hack to rename the exported functions and use the Internal_ prefix for them so that the IImageList can use them with minimal code changes.
- Add the correct implementation of the affected exported functions making them now use the IImageList of the passed HIMAGELIST.
This indirection is possible because an HIMAGELIST is also a IImageList*.
This indirection is also needed because we can end up using image lists created by either comctl32 v5 or comctl32 v6.
This is how windows manage to use an HIMAGELIST created by comctl32 v5 when it is passed to comctl32 v6.
What really happens in this scenario is that the exported functions of both versions end up using the interface
stored in the object without checking if this interface is the version provided in the same dll or in the other.
There is no need to compile our DLLs as shared libraries since we are
managing symbols exports and imports through spec files.
On my system, this reduces the configure-time by a factor of two.
CORE-8526
Import Wine commit:
96d0af52eb
"user32: Move the auto radio button group logic from BM_SETCHECK to WM_LBUTTONUP handler.
This patch also changes the logic to get the control style with WM_GETDLGCODE
instead of GetWindowLong to make the message test pass.
"
by Dmitry Timoshkov.
See bug report https://bugs.winehq.org/show_bug.cgi?id=42010
- (ReactOS-only) Fix also the corresponding logic in COMCTL32.
by import of Wine commit
313c63e194
merged from current Wine head.
Thanks to patches author Fabian Maurer
and also Doug Lyons for tests and adding initial the merge-patch.
This reverts commit 0.4.12-dev-347-g
75a80ec823
by explcit request of Giannis Adamopoulos.
I double-checked and confirm, that
this revert fixes both regressions CORE-15595 & CORE-15696.
On the downside the revert will intensify again the regression CORE-13278
(will make the text flash again as well).
Giannis Adamopoulos mentioned earlier, that using double-buffering
eventually could be a valid way out of CORE-13278 instead.
[REG][REACTOS][EXPLORER][APPWIZ][CONSOLE][INETCPL][INPUT]
[INTL][OPENGLCFG][TIMEDATE][DEVCPUX][COMCTL32][COMDLG32]
[MSGINA][NETCFGX][NETID][SETUPAPI][SHELL32][SYSSETUP]
Update Simplified and Traditional Chinese translations.
Addendum to 16d6c9b5e0
Giannis suggested and Thomas explained:
Before the Wine sync, comctl32/button.c was based on ROS's
user32/button.c, so _USER32_ would highlight changes between
user32 (originally based on Wine) and comctl32. Now our
comctl32/button.c is based on Wine's comctl32/button.c, so
__REACTOS__ is enough.
Fixes a regression that was introduced by Wine Staging 3.3 Sync.
Symptom was missing button text and icons for specific buttons
in Delphi applications, e.g. Double-Commander, Lazarus, Peazip.
The patch restores and ifdef-guards previous changes of Giannis.
* [BROWSEUI] Update German translation
* [SHELL32] Update German translation
* [COMCTL32] Update German translation
* [COMDLG32] Update German Translation
* [SETUPAPI] Update German translation
* [EXPLORER] Update German translation