Thanks to Jim Tabor, Mark Jansen & Thomas Faber
By squashed backmerge of the following commits:
--------------
[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 and CORE-16769. KsStudio still needs retested.
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. See CORE-13019 and CORE-13907.
cherry picked from commit 0.4.14-dev-1241-g
915a5764a9
--------------
[USER32] Fix null return.
See CORE-16769.
cherry picked from commit 0.4.14-dev-1240-g
d8add40e89
"Scrolling by pressing the scrollbar arrows does not draw the arrows as pressed"
Fixed by a patch of JIRA-user 'I_kill_bugs'. Thank you very much!
The regression was introduced by 0.4.11-dev-586-g
929a2c6637
(which itself aimed to fix CORE-13986,
but not CORE-13918 as erroneously stated in commit comment)
cherry-picked from 0.4.14-dev-1167-g
8bb9434d3e
and CORE-15557 "disabled scrollbars being clickable"
gets fixed as well due to squash of 0.4.14-dev-243-g
19fbdda95c
Many thanks to the patches author JIRA-user "blueghost"
tibor.fuzi@gmail.com
The patch fixes regression CORE-16703, which was unhidden by explorer commit
8ad0eae687 == SVN r74968
although the root-cause was missing functionality in WIN32SS.
The patch also fixes CORE-16705 and CORE-16706.
Only a few applications still show issues with the taskbar panes,
we have strong indications that other patches in master during
0.4.14-dev'ing already improved the situation further.
This patch (#2396) to date has not been committed to master yet,
but I guess that will happen soon.
TestBot results on 0.4.13-RC-48-g818e5bc:
VBox https://reactos.org/testman/compare.php?ids=71645,71670 LGTM
KVM https://reactos.org/testman/compare.php?ids=71646,71671 LGTM
A very nice set of patches done by Doug Lyons!, Jim Tabor, Colin Finck
to fix:
- a crash on the testbots for comdlg32:printdlg
- erroneous behavior of PrintDlg in _A()-application "Kompozer", namely
- prevents exceptions from being thrown when opening the print dlg
- prevents heap allocations of 0 byte size when opening the print dlg
- prevents a help-button that should be invisible from overlapping other controls
- allows Kompozer to extend the print-dialog with additional controls
- allows combobox to show the printers name, instead of memory garbage
[PRINTING] Improve Stubs for GetPrinterA and GetPrinterDeviceA (#2274)
cherry picked from commit 0.4.14-dev-849-g
acec69a1d7
[WINSPOOL] Add Implementation of EnumPrintersA (#2273)
cherry picked from commit 0.4.14-dev-878-g
e8b177825b
[FORMATTING] Fix indentation of winspool/printers.c
No code changes
cherry picked from commit 0.4.14-dev-879-g
45f39ffc25
[PRINTING] Part of GDI Support
Fix ups and added support to prevent GDI from crashing. These functions
will be required for GDI.
Part 1 of print support.
cherry picked from commit 0.4.14-dev-880-g
adffa8ea75
[WINSPOOL] printers.c: Demote 3 ERR() to TRACE(), Fix 1 copypasta (#2311)
cherry picked from commit 0.4.14-dev-889-g
06f8f80181
[WINSPOOL] Implement GetPrinterDriverA and a helper function UnicodeToAnsiInPlace (#2317)
cherry picked from commit 0.4.14-dev-957-g
d90beaeed2
[WINSPOOL] Fix build
cherry picked from commit 0.4.14-dev-958-g
8da7fbc704
[GDI32] GdiConvertToDevmodeW:
Import WINE commit 32393796bb534e9cf11dd988dce88722c67f7906
("gdi32: GdiConvertToDevmodeW should not refer to unintialized name bytes.")
This makes our GdiConvertToDevmodeW equivalent to the WINE counterpart again.
cherry picked from commit 0.4.14-dev-1031-g
5d8c39753e
[WINSPOOL] Implement DocumentPropertiesA including DEVMODE conversions (#2339)
Co-authored-by: Doug Lyons <douglyons@douglyons.com>
Co-authored-by: Colin Finck <colin@reactos.org>
cherry picked from commit 0.4.14-dev-1035-g
3077c0e43e
Fixes symptom "mouse pointer vanishes when closing
applications via x in title-bar"
The bug in WIN32SS was unhidden by SVN r65496 == git
5c1a8109c8
, when we introduced explorer_new. The old explorer
had a workaround built within.
Many thanks to patches author James Tabor.
cherry picked from commit 0.4.14-dev-1012-g
820dbfccd0
By Reverting beginnings of raster-fonts-works (*.fnt and *.fon)
Thanks Katayama Hirofumi MZ for helping with this revert.
The regression was introduced by 0.4.13-dev-681-g
ae99df1675
The fix is a slightly adopted backport of 0.4.14-dev-1009-g
99ba7ea95f
Fixes offset in combo texts and menu highlights.
Fixes CORE-16656 and regression CORE-16644,
which appeared by 0.4.13-dev-209-g
dc7f4f682f
No official release ever was affected fortunately.
cherry picked from commit 0.4.14-dev-966-g
c89e111c6a
Fixes a regression on drawing Wnd background in Solitaire
with VBOX Guest Additions GPU driver with enabled acceleration
Rolling back to Vis, wine throwback. See CORE-16680.
Regression was introduced by 0.4.13-RC-40-g
63f46f3fde
Fix was cherry picked from commit 0.4.14-dev-935-g
2903022199
This will fix symptom "MPC HC 1.7.13 does not draw
part of its GUI anymore"
Fix clip region merging.
Use a new region while merging from the original.
The regression has been introduced by 0.4.13-dev-208-g
94b4b5c127
Fixing it today for RC means, we had not a single affected
official ros release.
cherry picked from commit 0.4.14-dev-830-g
4927905eeb
This fixes CORE-16498, which got considerably more severe by
0.4.13-dev-209-g
dc7f4f682f
Thanks to the patches author Jim Tabor.
I merged manually analog 0.4.14-dev-594-g
5214a38fd0
When Themesvc was disabled, some Window titlebar
frames were drawn too thin until the window
was actively resized in y by the user.
That and similar symptoms started to show up after SVN r68904 ==
6dfa71c487
Many thanks to patches author Doug Lyons.
We leave the ticket unresolved still due to explicit request of
James Tabor, who wants to continue working in that context.
cherry picked from commit 0.4.14-dev-121-g
9e14a762d5
Symptom:
The menu popup position for language selection in UltraIso regressed
It regressed by 0.4.13-dev-791-g
a59df3858c
Many thanks to the author Mark Jansen.
The fix has not been committed to master yet, but I hope
the PR will be merged during the next days as well.
my testcase: this allows opening an exe/dll with MsDepends (CORE-12052)
Unfortunately still necessary, luckily still effective
and also reliably hides a lot of other crashes due to uncaught exceptions
like in last releases
cherry picked from commit bca25b10b4
Need to cross check these changes with WINE ComCtl32 before you PANIC
HACK!!!!
Not in order:
Piotr Caban : Remove unneeded RECT parameter from CBPaintText helper.
Don't invalidate ComboBox on CB_SETCURSEL message.
Don't invalidate ComboBox on LBN_SELCHANGE and
LBN_SELCANCEL.
Add more CB_SETCURSEL tests on ComboBox.
Redraw combo text field even if it's empty.
Let ComboBox edit control handle the redraw even if
CBF_NOREDRAW is set.
Don't do the painting if combobox is not visible in
CBPaintText.
Dmitry Timoshkov : Don't force a combobox repaint on WM_SIZE.
This breaks z-order based painting and causes side effects
for
applications that during the WM_PAINT processing reference
internal
data associated with a not fully initialized window.
Ref :
2d9e3236ea
Fabian Maurer : Set listbox popup height correctly and add tests.
Properly set dropdown height.
Now that user32 and comctl32 combo are separated,
this won't lead to a regression anymore
Ref :
3d0be0bad8
Info by Sebastian Lackner Ref:
f0fc034997
Nikolay Sivov : Remove some misleading TODOs and confusing comments.
The submenu of desktop popup menu was erroneously shown at first right click.
- Fix the hit test position that was modified by window style change.
CORE-16382
This fixes regression CORE-16289 where we could not longer
move the taskbar at a different than default location,
as WindowSnap would interfere.
Many Thanks to the patches author Doug Lyons.
Eventually the heuristic that we use here to identify the
taskbar via used window-styles could be improved later.
Theoretically possible that it bails out on some other windows.
The regression was introduced by 0.4.12-dev-373-g
7e396787ed
There were menu drawing regression after 03adec8141.
This PR will fix it. CORE-16244
- We don't have to draw the frame manually because of WS_EX_DLGMODALFRAME extended style.
- We don't need the margins (MENU_TOP_MARGIN and MENU_BOTTOM_MARGIN) in the client area any more because the client area doesn't contain the frame width.
- Use GetSystemMetrics(SM_CXDLGFRAME) and GetSystemMetrics(SM_CYDLGFRAME) for frame width.
CORE-16269
- Add IntGdiAddFontResourceEx function that is extended from IntGdiAddFontResource, in order to add dwFlags parameter.
- Add IntLoadFontsInRegistry function that will load the fonts from registry info.
- If loading from registry failed, IntLoadSystemFonts will be called.
- Use IntLoadFontsInRegistry rather than IntLoadSystemFonts in the OS startup.
- Add NameFromCharSet function.
- Append " (CharSetName)" to registry value name if not TrueType.
With this change we can remove the workaround from the off-screen
menus dropping below their parent.
Many thanks to Joachim for his help debugging / testing this.
CORE-16297