Commit graph

208 commits

Author SHA1 Message Date
Katayama Hirofumi MZ e39863bdf6
[WIN32SS] Fix SwitchToThisWindow for #998 (#999)
Reduce a failure in SwitchToThisWindow testcase of #998. CORE-15165
2018-10-30 17:24:47 +09:00
Katayama Hirofumi MZ 41b5f29514
[WIN32SS] Make window foreground in SwitchToThisWindow (#995)
CORE-15165
2018-10-30 08:13:05 +09:00
Mark Jansen 929a2c6637
[WIN32SS] Disable scrollbars when SIF_DISABLENOSCROLL is used
CORE-13918
2018-10-28 13:02:27 +01:00
Katayama Hirofumi MZ 43c78d4b75
[WIN32SS][NTGDI] Refactoring PATH_WidenPath (#888)
Preparation to support pen width.
Split IntGdiWidenPath function from PATH_WidenPath function.
IntGdiWidenPath is independent from DC.
CORE-2527, CORE-13534
2018-10-28 05:13:08 +09:00
Katayama Hirofumi MZ 5467cc9493
[NTUSER] NtUserxSwitchToThisWindow 2nd argument is fAltTab (#989)
Fix the 2nd parameter name of NtUserxSwitchToThisWindow. #988 similiarly.
CORE-15165
2018-10-28 03:27:49 +09:00
Katayama Hirofumi MZ 1f3353ac3b
[WIN32SS] SwitchToThisWindow 2nd argument is fAltTab (#988)
https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-switchtothiswindow
CORE-15165
2018-10-28 03:14:04 +09:00
Katayama Hirofumi MZ 4bd0166e63
[WIN32SS] Move SwitchToThisWindow codes to win32k (#987)
- Implement user32!SwitchToThisWindow by NtUserCallTwoParam TWOPARAM_ROUTINE_SWITCHTOTHISWINDOW.
- Improve user32!CloseWindow with using SetActiveWindow and ShowWindow (synchronized).
CORE-15165
2018-10-28 02:56:16 +09:00
Katayama Hirofumi MZ 3a9fe2b1bf
[WIN32SS][USER32] Simplify CloseWindow (#986) 2018-10-27 21:16:02 +09:00
Katayama Hirofumi MZ 84ae36c78d
[WIN32SS][USER32] Fix #984 (#985)
Sorry, I had to wait the build checks.
2018-10-27 20:32:51 +09:00
Katayama Hirofumi MZ d0e5f4ac11
[WIN32SS][USER32] CloseWindow does minimize, doesn't close (#984)
In Windows, user32!CloseWindow minimizes the window. It doesn't close the window actually. This is not a joke. This bad function naming is responsible to MS.
2018-10-27 20:21:55 +09:00
Stanislav Motylkov f819c9c460 [WIN32SS][NTUSER] Make offset only for menu bars (#983)
CORE-15226
2018-10-27 18:45:21 +09:00
Katayama Hirofumi MZ ed41bd71dd
[WIN32SS][NTUSER] Sunken menu item (#981)
CORE-15226
2018-10-27 04:20:09 +09:00
Katayama Hirofumi MZ 4ccad609e0
[USER32] Fix Task Switcher (#976)
This fix is needed for the Delphi GUI programs.
- Don't enumerate the windows whose owner window exists.
- Use PostMessage SC_RESTORE instead of ShowWindowAsync SW_RESTORE.
CORE-15165
2018-10-25 22:59:44 +09:00
Baruch Rutman 6a3b1879a1 [LPK][GDI32] Enable mirroring via version resource (#965)
Add a mechanism that detects via the version resource whether it's needed to mirror
the application layout or not. This is a "follow up" to commit 5b14b6f.

This code is taken from the GetProcessDefaultLayout() function from Wine
(called there "WIN_CreateWindowEx").

In Windows the version-resource mirroring happens when the GDI is loading the LPK.

- Implement mirroring via version resource. GDI linking on startup is required.

- GDI32: Add LPK loading on GDI startup.

To enable mirroring via version resource the lpk.dll must be loaded before any windows are created.
This is done through GdiInitializeLanguagePack() function which is called in GdiProcessSetup().

- LPK: Use Wine debug messaging.
2018-10-24 21:34:38 +02:00
Katayama Hirofumi MZ 70e27198ae
[FONT][WIN32SS] Fix the storage processing of IntGetOutlineTextMetrics (#942)
* Add IntStoreFontNames and IntStoreName functions and use them.
* SCALE_X and SCALE_Y macros
* Fix too long line
* Reduce type casts
2018-10-24 20:23:24 +09:00
Katayama Hirofumi MZ 62da624689
[WIN32SS][USER32] Fix SwitchToThisWindow (#929)
I'm not sure but it seems like no one can investigate it. I commit it.
2018-10-24 20:02:27 +09:00
Katayama Hirofumi MZ 2410bcb133
[FONT][WIN32SS] Improve readability of IntGdiGetFontResourceInfo (#945)
Make it human friendly code.
2018-10-24 19:58:03 +09:00
Katayama Hirofumi MZ 3545475f91
[WIN32SS][MENU] Fix menu text Y positioning (#887)
Fix the vertical position of menu bar text. CORE-15094
2018-10-24 19:54:41 +09:00
Adam Słaboń 7abc8be102 [TRANSLATION] Polish translation update
Polish translation of net, telnet, diskpart, devcpux, fontext, iernonce, lsasrv, themes, arping, frag, screensavers, ctm, fontsub, WinetestsGUI and localmon.
Update for dxdiag, msgina, msports, netcfgx, shell32 and syssetup.
2018-10-20 21:26:07 +02:00
Katayama Hirofumi MZ 801b71b9bf [FONT][WIN32SS] Use ExFreePoolWithTag instead of ExFreePool (#941) 2018-10-14 09:47:52 +02:00
Baruch Rutman 87c529a537
[LPK] Small fix and a related comment. (#890)
[LPK][USER32] Fix reading layout checks.

- Both functions don't care about DT_RTLREADING flag.
- Added a different method to check reading order.

[USER32] Remove gcc-build breaker semicolon.
2018-10-08 16:17:42 +02:00
Baruch Rutman 17d4df8102
[USER32] Implement UserLpkPSMTextOut(). (#890)
This function is a condensed version of LpkPSMTextOut() (from lpk.dll),
but not bug-for-bug equivalent.
The main difference is that the underscore is drawn without taking into
account any kind of script processing.
2018-10-08 16:16:52 +02:00
Katayama Hirofumi MZ 951335cd15 [FONT][WIN32SS] Use GOT_PENALTY macro to specify the penalty (#910)
Define and use GOT_PENALTY macro to specify the font penalty info.
CORE-5519
2018-10-08 14:38:38 +02:00
Hermès Bélusca-Maïto 40737bdddb
[USER32] Fix the ICO_ExtractIconExW() helper with respect to what is found with the user32_apitest:PrivateExtractIcons test.
CORE-15150
2018-10-07 20:32:42 +02:00
Mark Jansen 3d44f79e3e
[FONT][WIN32SS] Include the style name in the registry key.
Thanks to Doug Lyons for pinpointing the issue.

CORE-14044
2018-10-02 22:40:50 +02:00
Mark Jansen 3d3bd4e77e
[WIN32K] Work around GCC builds inventing dead keys.
CORE-14948
2018-09-23 20:03:14 +02:00
Joachim Henze ef016bfe0a [WIN32K:NTUSER] Fix WIN32K BSOD mentioned in CORE-15027
Fixes accessing nullptr / invalid handle in Window->SystemMenu
I could trigger this occasionally when moving Opera 12.18 window
in front of Spotify 1.0.29.92 window.

Fix was:
authored by Thomas Faber (Thank you!)
tested by me
reviewed by James Tabor
2018-09-21 03:04:31 +02:00
Katayama Hirofumi MZ 31019e8c0c [TRANSLATION] Update Romanian translation (#851)
Translation from Stefan Fulea.
CORE-15023
2018-09-14 11:04:36 +02:00
Stanislav Motylkov bac15d86bb [FONT][WIN32SS] Check whether Win32Process is NULL
CORE-15031
2018-09-13 18:19:19 +02:00
Katayama Hirofumi MZ 2ccfe267a0
[FONT][WIN32SS] Add dumping functions for debugging 2018-09-12 21:58:09 +02:00
Mark Jansen 6b67ef6e10
[WIN32K] Realize PTEXTOBJ in FontGetObject if it was not initialized 2018-09-12 21:33:45 +02:00
Mark Jansen 0364c58b0d
[FREETYPE] Mark an unhandled case as UNIMPLEMENTED
CORE-14948
2018-09-12 21:31:56 +02:00
Joachim Henze 31c981c02a [FREETYPE] Fix Regression "Monospaced font in LibreOffice" CORE-15018
LibreOffice started to show GUI in a mono-spaced font after 0.4.10-dev-466-g
35f62fc5ba

We can fix this by partial revert
as proposed by Katayama Hirofumi MZ, who was author of those changes as well.
We revert the changes in penalty system here.
2018-09-10 17:51:59 +02:00
Baruch Rutman ab5fdcc01f
[LPK] Make GetCharacterPlacement caret positions respect bidi. (#842)
- Try to make use of ScriptStringCPtoX when trying to fill the lpCaretPos struct member;
  if USP10 error happens fallback to the unreorder method.
- Remove now incorrect debug print.
2018-09-09 18:03:45 +02:00
Katayama Hirofumi MZ a244e4f6dd [WIN32SS][COMCTL32] Fix button text Y positioning (#766)
Fixes the vertical position of button text.
CORE-14906
2018-09-09 17:37:37 +02:00
Hermès Bélusca-Maïto 4d48b88bfb
[WIN32K:NTUSER] co_UserDestroyWindow(): Simplify the destruction of the owned windows. 2018-09-01 23:46:21 +02:00
Hermès Bélusca-Maïto e286c4c520
[WIN32K:NTUSER] Optimize IntWinListOwnedPopups() a little bit. Improve a trace. 2018-09-01 23:46:20 +02:00
Hermès Bélusca-Maïto f644a50cd7
[WIN32K:NTUSER] Code formatting only. 2018-09-01 23:46:17 +02:00
Katayama Hirofumi MZ c8749d379b [WIN32SS][FONT] Fix GetTextFace function and related (#829)
Google Chrome with -no-sandbox parameter in ReactOS wouldn't display the web page because first-chance exception raised.
CORE-14926

- Remove FullName, Style, and FaceName members from TEXTOBJ structure.
- Add TextFace member into TEXTOBJ structure.
- Add MatchFontName() and MatchFontNames() helper functions.
- Fix GetTextFace() and related.
2018-08-30 14:34:03 +02:00
Katayama Hirofumi MZ bd9a4499a8 [WIN32SS][NTGDI] Extend PATH_FillPath as PATH_FillPathEx (#798)
The new PATH_FillPathEx function takes an additional PBRUSH parameter.
CORE-2527
2018-08-24 13:37:59 +02:00
Baruch Rutman e7d2bbe726 [WIN32SS][LPK] Add BiDi support to menus and window captions (#738)
Added callback function that redirects calls to GreExtTextOutW that didn't went through lpk BiDi processing, calls that are from the kernel.

Completely solves JIRA issue CORE-6910.
2018-08-23 19:43:12 +02:00
Katayama Hirofumi MZ 5daa7b07c8 [FONT][WIN32SS] Refactor the loop (1 of 5) 2018-08-19 23:08:38 +02:00
Katayama Hirofumi MZ c4e0107765 [FONT][WIN32SS] Refactor the loop (2 of 5) 2018-08-19 23:07:37 +02:00
Katayama Hirofumi MZ b9b4c90303 [FONT][WIN32SS] Refactor the loop (4 of 5) 2018-08-19 23:05:35 +02:00
Katayama Hirofumi MZ 7b04962aed [FONT][WIN32SS] Refactor the loop (5 of 5) 2018-08-19 23:05:04 +02:00
Katayama Hirofumi MZ d641072cb2 [FONT][WIN32SS] Refactor the loop (3 of 5) 2018-08-19 23:03:13 +02:00
Hermès Bélusca-Maïto d0632b0bca
[WIN32K:NTUSER] In UserSetProcessWindowStation(), use a duplicated window station handle to be set in the EPROCESS:Win32WindowStation cache.
Fixes most of the user32:desktop window station handle reference count tests.
2018-08-19 22:18:42 +02:00
Hermès Bélusca-Maïto e3b9152935
[WIN32K:NTUSER] For processes that start without any window station and no desktops but manage these (e.g. winlogon.exe), assign their startup desktop when they assign a desktop to one of their threads. 2018-08-19 22:18:41 +02:00
Hermès Bélusca-Maïto 3270979327
[WIN32K:NTUSER] Add a temporary winsta/desktop-connection hack for CSRSS/USERSRV (connection to WinSta0).
Normally CSRSS must not be connected to any winsta or desktop by default. It should manually connect
to a winsta/desktop only when it has to do some GUI operations, and then disconnect afterwards.

[USERSRV] Temporarily hackfix the harderror dialog display to the current input desktop.
2018-08-19 22:18:40 +02:00
Hermès Bélusca-Maïto fd39f92fcb
[INCLUDE][WINLOGON] Rename the STARTF_SCRNSAVER flag to STARTF_SCREENSAVER,
as documented in "Advanced Windows NT" by Jeffrey M. Richter (Microsoft Press),
and in https://is.muni.cz/el/1433/jaro2010/PB167/um/cv5/undocumented_CreateProcess.pdf .

[INCLUDE][SERVICES][WIN32K:NTUSER] Add an undocumented STARTF_INHERITDESKTOP flag
for the STARTUPINFO::dwFlags structure member, whose purpose is to tell Win32k
that the created handles to the window station and desktop to which the
process is connecting to, can be inherited by its child processes.
It is used when starting interactive services.
Observed via API monitoring on Windows 2003.
2018-08-19 22:18:40 +02:00