Commit graph

355 commits

Author SHA1 Message Date
Joachim Henze
ec3cc13ab0 [0.4.12][WIN32K:ENG] Fix fullscreen switch regressions CORE-15325 & CORE-14684 PR#1659
In PDEVOBJ_vRefreshModeList, find a proper match for the current
display mode instead of assuming a constant index.

Both tickets regressed by SVN r74404
384affe098

Many thanks to the patches author Thomas Faber.

cherry picked from commit 0.4.13-dev-456-g
00e882c2b1
2019-06-16 13:07:55 +02:00
Joachim Henze
ab7f77a021 [WIN32SS][NTUSER] Addendum to 0.4.12-dev-956-g0197c4f CORE-15893
Aims PixelPerfection for a regression that was introduced by
0.4.12-dev-954-g
1f619b2781

and then improved already by
0.4.12-dev-956-g
0197c4f875

The tweaking got ack of Jim Tabor. Test results:
https://reactos.org/testman/compare.php?ids=68026,68029

cherry-picked from 0.4.13-dev-397-g
3cc50cedaf
2019-06-10 15:38:23 +02:00
Joachim Henze
486fd83a95 [0.4.12][WIN32SS][FREETYPE] Avoid performance regression CORE-16020
by reverting essential parts of "Font rotation at arbitrary angles"
which was once committed in several steps:

Initial commit (PR#1207)
0.4.12-dev-243-g
f757a13519
broke font rendering for GTK apps CORE-15623

Second commit (PR#1238)
0.4.12-dev-558-g
64987cf273
restored font rendering in GTK apps but introduced slowdown CORE-16020

Katayama agreed to the temporal revert and will try to come up later
with a performance optimized version.
We revert in 0.4.12-RC and 0.4.13-dev.

The revert will cause failure-increases in gdi32:TextTransform.
2019-06-06 02:21:36 +02:00
Joachim Henze
c7fadfadfb [0.4.12][WIN32SS] Revert "Make App Switcher use the owner window's icon (#1299)"
to protect our latest improvement of showing correct cpl icons in taskswitch
CORE-16086

This reverts commit
0.4.12-dev-437-g
484943d04f
which was done in context of CORE-15672
(without being able to resolve that ticket)
0.4.12-dev-437 contrasts our latest information c.f. Raymond Chen's article:
5351207.aspx
Eventually we should select the icon instead using that same algorithm.
2019-06-02 23:50:06 +02:00
Joachim Henze
14b5195cc5 [0.4.12] [WIN32SS][NTGDI] Fix regression BSOD in QIP CORE-16059 and similar BSODs by avoiding FLOAT in kernel
This is a squashed backmerge of
PR1572 FLOAT in IntEscapeMatrix
0.4.13-dev-255-g
0137096449

PR1574 FLOAT for orientation
0.4.13-dev-257-g
fabbd7c1c1

PR1576 FLOAT in ftGdiGetGlyphOutline
0.4.13-dev-270-g
86046a9bf4

Those 3 commits were part of CORE-15838.
All those regressions have been introduced during 0.4.12-dev'ing.
2019-05-27 20:22:53 +02:00
Joachim Henze
a112b89ed5 [0.4.12] [NtUser] Apply review of jimtabor
to the workaround in last commit 0.4.12-RC-19-g
700779e643

Many thanks to reviewer jimtabor for this very prompt review!

I tested, the new state still succeeds in CORE-15477, CORE-14979, CORE-15599, CORE-15600, CORE-15654

Fixes 'multiple apps leaving the taskbar visible erroneously when switching into fullscreen.'
Please note that the problem with taskbar staying visible is only fixed for some, but not all apps
(see CORE-11242 for some still failing examples, e.g: Bound Around).

We now have the same state in 0.4.12RCs, that we just have committed to master in 0.4.13-dev-247-g
0f29b3faa7
2019-05-22 00:30:10 +02:00
Joachim Henze
700779e643 [0.4.12] [NtUser] Workaround regressions CORE-15477, CORE-14979, CORE-15599, CORE-15600, CORE-15654
Fixes 'multiple apps leaving the taskbar visible erroneously when switching into fullscreen.'
Please note that the problem with taskbar staying visible is only fixed for some, but not all apps (see CORE-11242 for examples).

This partially reverts commit 09ab5ea7ed (SVN r75407)
I applied this interim solution into 0.4.12RCs for the very first time and rls-tests still
have to prove it being free of obvious side-effects.
Theoretically we could still switch to a better solution at any time.
The workaround never was applied to master to date.

https://reactos.org/testman/compare.php?ids=67536,67539
2019-05-21 22:51:45 +02:00
jimtabor
3e71805ae1 [0.4.12] [NtUser] Fix Theme Non Client Painting, fixes the visible parts of regression CORE-15934
Resizing a themed window does not longer show a flashing rectangle in the title-bar after the fix.

Still this seems to be work-in-progress even after this first commit, but makes me happy for 0.4.12RCs
for now.

See CORE-7166 & CORE-15934.

cherry picked from commit 0.4.13-dev-8-g
cfdf36e442
2019-05-10 01:45:37 +02:00
Katayama Hirofumi MZ
e1ac9dcd66 [0.4.12] [WIN32SS][NTGDI] FireFox checkmark, fixes regression CORE-15303 (#1535)
The font size was a bit larger than expected.
FireFox will show checkmarks correctly in View menu.

This is a partial revert of 0.4.10-dev-466-g
35f62fc5ba

cherry picked from commit 0.4.13-dev-110-g
19fc9415bf
2019-05-10 00:11:49 +02:00
Katayama Hirofumi MZ
12fc3687b8 [0.4.12] [WIN32SS][NTGDI] CORE-15755 commit 3 of 3
Delete unnecessary (ULONG) cast

cherry picked from commit 0.4.13-dev-11-g
983cd57c1e
2019-05-09 22:23:28 +02:00
Katayama Hirofumi MZ
264c790160 [0.4.12] [GDI32][NTGDI] Avoid integer overflow CORE-15755 commit 2 of 3
Follow up of #1492. CORE-15755
- Use RtlULongMult function to check integer overflows.

cherry picked from commit 0.4.13-dev-10-g
bc9f3ed887
2019-05-09 22:21:58 +02:00
Katayama Hirofumi MZ
8d3def0529 [0.4.12] [GDI32][NTGDI][SETUP] CORE-15755 commit 1 of 3
Fix font enumeration part 2 (#1492)

Eliminate some bugs about font enumeration.

- Add "Microsoft Sans Serif" font substitution.
- Fix and improve the treatment of the nominal font names.
- Split IntGetFontFamilyInfo function from NtGdiGetFontFamilyInfo.
- Add DoFontSystemUnittest function for font system unittest to GDI32.
- Call DoFontSystemUnittest function at CreateFontIndirectW first call.

cherry picked from commit 0.4.13-dev-9-g
811faed421
2019-05-09 22:20:55 +02:00
Katayama Hirofumi MZ
dea7149597 [0.4.12] [WIN32SS][NTGDI] Keep FontSubstitutes enumeration CORE-15785 (#1532)
Fixes regression CORE-15785.
When LOGFONT.lfFaceName[0] == 0, then enumeration of font substitutes had failed.

CORE-15785 commit 2 of 2

cherry picked from commit 0.4.13-dev-107-g
ae8417fd90
2019-05-09 20:59:46 +02:00
Katayama Hirofumi MZ
5c2e810dca [0.4.12] [GDI32] Improve IntFontFamilyListUnique function (#1491)
Make gdi32!IntFontFamilyListUnique function std::unique compatible.
Previous code didn't set the first entry correctly.

CORE-15785 commit 1 of 2

cherry picked from commit 0.4.13-dev-5-g
ae80eb824e
2019-05-09 20:52:37 +02:00
Joachim Henze
5ac548544f [0.4.12] [WIN32SS] Appease regression CORE-15429 & fix CORE-15911
By applying for the first time clientFix.patch from CORE-15911 contributed by JIRA-user 'I_Kill_Bugs'.

The patch acts as a better replacement for a workaround of DougLyons from CORE-15429
that aimed to hide the issue for our file-browser only.

The new approach gave good results for the testbots
https://reactos.org/testman/compare.php?ids=66723,66729
but wasn't tested much yet. In case it causes any problems during testing-cycle,
I might eventually switch back to our old workaround instead from the last releases.
2019-04-15 19:46:36 +02:00
Thomas Faber
d01ba95cbd [0.4.12] [WIN32SS] Mask WndProc exceptions to hide all tickets linked to CORE-11915
e.g. this allows using MsDepends
Unfortunately still necessary, luckily still effective

like in last release
cherry picked from commit bca25b10b4
2019-04-09 16:33:14 +02:00
Maxim Smirnov
ffb4b674c7 [FONT] Fix FontSmoothing 2019-04-07 01:42:29 +02:00
Jérôme Gardou
e24182f8c0 [GDI32] Use correct dependenxy for the winegdi library 2019-04-06 17:43:38 +02:00
Jérôme Gardou
23373acbb9 [CMAKE] Use modules instead of shared libraries
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.
2019-04-06 17:43:38 +02:00
Adam Słaboń
7047aa80ef [TRANSLATION] Polish translation update
Polish translation update for calc, fltmc, magnify, notepad, osk, sndvol32, usetup, fdebug, appwiz, mmsys, sysdm, acppage, ziplfdr, browseui, cryptui, jscript, shell32, themeui and inf. Added translation for cyrptext, vcdcontroltool, and (not yet complete) getuname.
2019-04-05 10:34:10 +02:00
Katayama Hirofumi MZ
635534005b
[WIN32SS][FONT] Fix font coordinate conversion CORE-15907 (#1452)
[WIN32SS][FONT] Fix font bounding box mapping for viewport CORE-15907
2019-04-02 22:39:26 +09:00
Hervé Poussineau
0c4d21a5a1 Revert "[DXG] Define GUIDs only once", to fix MSVC build
This reverts commit 3a78dd4b31.
2019-04-01 18:00:59 +02:00
Hervé Poussineau
3a78dd4b31 [DXG] Define GUIDs only once 2019-04-01 11:38:32 +02:00
jimtabor
2f5c0ee0a9 [NtGdi] Fix assert with Winamp
Fixes CORE-10774.

Reference:
Alexandre Julliard : Ignore empty rectangles in ExtCreateRegion.
8ac61c5a1e
2019-03-31 13:31:59 -05:00
Bișoc George
bd5fb32b79 [COVERITY][SPOOLSS] Fix a resource leak
Unload the library pointed by hWinspool when the function fails.

CID 1401149
2019-03-31 20:09:42 +02:00
jimtabor
0197c4f875 [NtUser] Fix maximizing to window edge
Cover up the edge of the frame while maximizing the window to desktop.
Fixes CORE-15893.
2019-03-27 17:39:04 -05:00
jimtabor
1f619b2781 [Win32SS] Fix maximized window positioning.
Fix CORE-5177 TaskMgr and ProcExp possionong when maximized.
2019-03-26 15:56:57 -05:00
Stanislav Motylkov
36230bb214 [USER32] Edit: Fix caret and scroll position
Based on patch by JIRA contributor 'I_Kill_Bugs'. CORE-15780
2019-03-24 23:26:20 +01:00
Hermès Bélusca-Maïto
048c8c1605
[USER32] Add support for navigating a group of radio buttons using a keyboard.
Import Wine commit:
b1b8fb77be

"user32: Add support for navigating a group of radio buttons using a keyboard.
The patch approximates the behaviour observed in the message tests
but still doesn't make the message tests pass without failures.
"
by Dmitry Timoshkov.
See bug report https://bugs.winehq.org/show_bug.cgi?id=16845
2019-03-24 17:23:33 +01:00
Hermès Bélusca-Maïto
780f2ba215
[USER32][COMCTL32] Move the auto radio button group logic from BM_SETCHECK to WM_LBUTTONUP handler.
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.
2019-03-24 17:23:24 +01:00
Baruch Rutman
7143e411c4
[GDI32] Integrate LpkGetTextExtentExPoint(). (#1362)
- Assume that GetTextExtentExPointWPri() uses the same kind of
  arguments as GetTextExtentExPointW().

- Add GetTextExtentExPointWPri() declaration to undocgdi.h.
2019-03-23 23:34:09 +01:00
Stanislav Motylkov
40dab7d5e5 [USER32] Edit: Fix rectangle overflow when inserting characters
Based on patch by JIRA contributor 'I_Kill_Bugs'. CORE-11475
2019-03-23 15:52:43 +01:00
jimtabor
68df5a50e6 [NtUser] Support SWP_FRAMECHANGED
Implement SWP_FRAMECHANGED support for non-changing window to force a
redraw.

Patch dedicated to Katayama Hirofumi MZ.
2019-03-18 17:28:33 -05:00
James Tabor
b4624f32f3 [GDI32] Fix issue after a Flush
While flushing the DC handle goes down with the flush. This was not a
regression, just untested old code.
2019-03-14 12:00:53 -05:00
Hermès Bélusca-Maïto
0e56ec8892
[WIN32SS:NTGDI] Fix missing text in labels and buttons for .NET apps. CORE-15000
There was a missing break statement in ftGdiGetGlyphOutline().
Found by JIRA contributor 'I_Kill_Bugs' :-)

Add also brackets around 'case's to make code navigation easier.
2019-03-14 01:36:45 +01:00
jimtabor
bc534efbc5 [User32] Support WM_COPYGLOBALDATA
Implement support for WM_COPYGLOBALDATA. Needs more tests.

Tested DropTest from CORE-15836.
2019-03-13 12:16:52 -05:00
Joachim Henze
76118320ea Revert "[FREETYPE] Fix 3 regressions in one patch"
This reverts commit 0.4.12-dev-856-g
98b7ecd280
CORE-15785, CORE-15558, CORE-15755.

As requested by Pierre, we have very strong indication, that it broke
https://build.reactos.org/builders/Test%20KVM and
https://build.reactos.org/builders/Test%20VBox
2019-03-12 18:57:21 +01:00
Joachim Henze
98b7ecd280 [FREETYPE] Fix 3 regressions in one patch
Fixes regression CORE-15785 (Zim Desktop Wiki 0.67 crashed) and
Fixes regression CORE-15755 (NLite 1.4.9.3 used wrong font)

without reintroducing regression CORE-15558 (AbiWord 2.6.8 font enumeration)

This is achieved by partial revert of
0.4.12-dev-320-g
6e4e5a004c
and got ack of Katayama Hirofumi MZ.

Thanks to patches author Doug Lyons.
Test-results: https://reactos.org/testman/compare.php?ids=66264,66267
2019-03-11 20:10:14 +01:00
Timo Kreuzer
ba893e1172 [WIN32K] Keep a reference on an ETHREAD while THREADINFO exists 2019-03-10 11:14:40 +01:00
James Tabor
d57f7becc3 [Win32SS] Add TextOut to GDI Batch
Add fix ups to PolyPatBlt and freetype.
TextOut supports 580 characters w/o Dx and Dx at a max of 193 characters
with Dx*1, both if offset is 0.

Noticed a lot of over drawing with start menu from ComCtl32 SB_SETTEXT
going through User32 DrawText/Worker ExtTextOutW. Explain why it might
be slowing down.

If issues arise, commenting out lines in win32ss/include/gdi32p.h can
help.

Example:
else if (Cmd == GdiBCTextOut) cjSize = 0;//sizeof(GDIBSTEXTOUT); <----
this one most of all.
 else if (Cmd == GdiBCExtTextOut) cjSize = 0;//sizeof(GDIBSEXTTEXTOUT);

Test results:
https://reactos.org/testman/compare.php?ids=66260,66262
2019-03-08 22:21:41 -06:00
James Tabor
f35bb6e4c8 [NtGDI] Fix crash and simplify code.
Revert previous changes. simplify rendering check.
Fix missed unlocking which caused a crash.
2019-03-05 17:05:23 -06:00
James Tabor
3377fe184e [NtGDI] Change TextOut
Separate TextOut for internal use.
Use flTextAlign internally.
Not sure why GetDeviceCap was used for determining rendering. SVN commit
logs are unavailable. Include code from wine that might make more sense.
2019-03-05 16:03:15 -06:00
Timo Kreuzer
7dabd235ec [GDI32] Add casts to silence warnings on x64
The cast is required, because FARPROC is only compatible with function pointer types that return INT_PTR and the ones used return int/BOOL.
2019-03-04 21:58:42 +01:00
Timo Kreuzer
711dbd19f7 [GDI32] Fix bDDCreateSurface 2019-03-04 21:58:42 +01:00
Timo Kreuzer
2620930066 [DXG] Fix 64 bit build 2019-03-04 21:58:42 +01:00
Timo Kreuzer
72e43c4b33 [VGA_NEW] Fix 64 bit issues 2019-03-04 21:58:42 +01:00
James Tabor
cf7bea11b2 [NtGDI] Use flag for text align mode.
Use the lTextAlign instead of the user one for internal use.
2019-03-04 12:17:00 -06:00
jimtabor
b6262a25fd Use GDI Batch for PatBlt
This should increase speed a bit. Makes a good argument to use
PolyPatBlt for more than one call.
PolyPatBlt is not fully tested yet.
2019-03-02 11:30:21 -06:00
Pierre Schweitzer
0996dac683
[VIDEOPRT] Don't return uninitialized memory 2019-02-20 21:02:11 +01:00
Mark Jansen
d7ae8690ab
[WIN32K:NTUSER] Do not try to reposition an off-screen menu as if it were a popup menu
CORE-15733
2019-02-16 15:45:46 +01:00