Commit Graph

317 Commits

Author SHA1 Message Date
Giannis Adamopoulos
0a80b77e76 [WINSRV] usersrv: Simplify sanity checks in UserClientShutdown
UserClientShutdown will never be called for csrss so we don't need to have a check for that. The existing check was broken and wasn't doing anything anyway.
Handle processing winlogon by doing nothing so that consrv won't be bothered about it.
2019-01-04 13:29:26 +02:00
Katayama Hirofumi MZ
dfa23b60ec [USER32] Let App Switcher activate only one window (#1214) 2019-01-03 16:34:58 +01:00
Hermès Bélusca-Maïto
333ce14dad
[WIN32SS] Try to recover display when changing the display mode fails for whatever reason.
This helps when e.g. changing the resolution on the Dell Latitude D531,
which reports that it supports large resolutions (e.g. 1920x1440x32 and
others larger than 1024x768x32) but fails to apply these.
This usually happens because PDEVOBJ_pSurface(), and more precisely
ppdev->pldev->pfn.EnableSurface(), fails for these resolutions.

- PDEVOBJ_bSwitchMode(): Set the new video mode, or restore the original
  one in case of failure + release the allocated ppdevTmp if previous
  calls fail. Also unlock in reverse order of locking order.

- UserChangeDisplaySettings(): In case PDEVOBJ_pSurface() fails (but has
  reverted the original video mode), we still need to refresh the
  display since the display may have been messed up.
2019-01-02 21:12:22 +01:00
Hermès Bélusca-Maïto
fb4a6e38c7
[WIN32SS:NTUSER] Remove some hardcoded buffer sizes + number of chars vs. bytes mixup. 2019-01-02 21:12:21 +01:00
Hermès Bélusca-Maïto
cc3fbfefac
[WIN32SS:NTUSER] Minor whitespace formatting. 2019-01-02 21:12:20 +01:00
Hermès Bélusca-Maïto
3f716870ca
[FRAMEBUF] Correctly check the return value of the EngDeviceIoControl() call and return adequate value in DrvAssertMode(). 2019-01-02 21:12:19 +01:00
Giannis Adamopoulos
60448f83fb [NTUSER] Fix a few tests related to desktops and window stations
- NtUserOpenInputDesktop: Don't crash if there is no input desktop yet
- NtUserOpenInputDesktop: Fail if the process doesn't belong to the interactive window station
- NtUserCreateWindowStation: Clear error on success
- DesktopWindowProc: Use UserOpenInputDesktop to get a handle to the input desktop
2019-01-02 17:15:40 +02:00
Julio Carchi
1e141573e4 [TRANSLATION] Spanish translations (#944) 2019-01-02 12:01:44 +01:00
Pierre Schweitzer
01b580d876
[WIN32K] Deny deviceless calls to EngDeviceIoControl
This fixes BSOD happening in ntoskrnl coming from win32k under certain
conditions with 3rd party display drivers (such as VBox or VMware)
2018-12-31 20:35:17 +01:00
Katayama Hirofumi MZ
f757a13519
[FONT][WIN32SS] Partially implement font/text rotation (#1207)
Partially implement font/text rotation by LOGFONT.lfEscapement and improve the rendering image. If the angle was not a multiple of 90 degrees, then the background won't be filled. CORE-11848, CORE-15319
2018-12-31 18:56:43 +09:00
Timo Kreuzer
71fefa32db
[NDK][NTOS] Add global definition of INIT_FUNCTION/INIT_SECTION (#779)
* Add an NDK header to define INIT_FUNCTION/INIT_SECTION globally
* Use _declspec(allocate(x)) and _declspec(code_seg(x)) on MSVC versions that support it
* Use INIT_FUNCTION on functions only and INIT_SECTION on data only (required by MSVC)
* Place INIT_FUNCTION before the return type (required by MSVC)
* Make sure declarations and implementations share the same modifiers (required by MSVC)
* Add a global linker option to suppress warnings about defined but unused INIT section
* Merge INIT section into .text in freeldr
2018-12-30 12:19:11 +01:00
Thomas Faber
e3c8002dfc
[WIN32K:NTUSER] Reference menus owned by a popup menu. CORE-15504 2018-12-30 00:25:01 +01:00
Mark Jansen
86ea03bf51
[FONT][WIN32SS] Re-add casts for gcc 2018-12-29 20:06:04 +01:00
Mark Jansen
85db46d75c
[FONT][WIN32SS] Remove casts 2018-12-29 19:47:00 +01:00
Mark Jansen
971c657b80
[FONT][WIN32SS] Hold the freetype lock while accessing freetype data 2018-12-29 19:47:00 +01:00
Mark Jansen
2e44e5ce54
[FONT][WIN32SS] Fix a memory leak 2018-12-29 19:47:00 +01:00
Mark Jansen
1f13b95e5b
[FONT][WIN32SS] Fix a memory leak 2018-12-29 19:47:00 +01:00
Mark Jansen
1d1b7f46fc
[FONT][WIN32SS] Hold the freetype lock while accessing freetype data 2018-12-29 19:47:00 +01:00
Mark Jansen
436d8d962a
[FONT][WIN32SS] Hold the freetype lock while accessing freetype data 2018-12-29 19:46:59 +01:00
Mark Jansen
2fa400b521
[FONT][WIN32SS] Do not return an uninitialized variable 2018-12-29 19:46:59 +01:00
Thomas Faber
c526f94b8c
[WIN32K:NTUSER] Acquire the user lock exclusively in NtUserGetSystemMenu. CORE-15512 2018-12-28 13:59:33 +01:00
Katayama Hirofumi MZ
65f0926086
[MENU][WIN32SS] Fix non-menubar menu text Y position (#1199)
CORE-15226
2018-12-28 12:12:42 +09:00
Katayama Hirofumi MZ
6ee576f91d [FONT][WIN32SS] Optimize a bit 2018-12-27 09:23:49 +09:00
Katayama Hirofumi MZ
be84465883 [FONT][WIN32SS] Follow-up of #1184 2018-12-25 21:54:33 +09:00
Katayama Hirofumi MZ
d6cfeaef51
[FONT][WIN32SS] Refactor rendering text background (#1184)
Simplify the background filling codes. CORE-14856
2018-12-25 20:41:25 +09:00
Katayama Hirofumi MZ
968c8f37f1
[WIN32SS] Fix RLE4 bitmap decoding (#1188)
CORE-10553, CORE-11399
2018-12-25 18:04:21 +09:00
Giannis Adamopoulos
1a8d9f12d6 [NTUSER] Implement creating the system threads
- Add UserCreateSystemThread function that will signal csrss to create a new system thread.
- NtUserCreateWindowStation: Create the raw input thread and the desktop thread when the IO window station gets created.
- IntMakeHungWindowGhosted: Create the ghost system thread that will own all ghost windows.
- Let the raw input thread manage the window station of csrss.

[USERSRV] Remove system threads creating hack
- Implement SrvCreateSystemThreads
- Don't create the system threads in UserServerDllInitialization.
2018-12-19 16:13:18 +02:00
Giannis Adamopoulos
3ec7b163c9 [WINSRV] Add a hack to fix giving the api port to win32k
- Register our api port with win32k in SrvRegisterLogonProcess because UserClientConnect is never really called.

[NTUSER] Silence a noisy trace
2018-12-19 16:13:18 +02:00
Giannis Adamopoulos
dad76af8a4 [NTUSER] Fix desktop and window station assignment for csrss
- NtUserSetInformationThread: Stub UserThreadUseActiveDesktop and UserThreadRestoreDesktop
- Properly mark the first thread that enters win32k belonging to csrss. At this point we assume that since gpepCSRSS isn't initialized yet, it probably is the first thread.

[WINSRV] Use NtUserSetInformationThread to set the current desktop when needed
-When csrss needs to use user32 or enter win32k, it first needs to assign the current thread to a desktop.
2018-12-19 16:13:18 +02:00
Giannis Adamopoulos
298a46acbf [NTUSER] Don't crash when the current thread doesn't have a desktop 2018-12-19 16:13:18 +02:00
Giannis Adamopoulos
b2a5f5dbb3 [WINSRV] Fix setting the console title 2018-12-19 16:13:18 +02:00
Katayama Hirofumi MZ
00dd17e6e5
[USER32] App Switcher Arrow keys (#1136)
Implement Arrow keys on App Switcher (Alt+Tab). CORE-15449
2018-12-16 08:42:20 +09:00
Katayama Hirofumi MZ
aa04a0a6d3
[WIN32SS] Replace ASSERT(FALSE); in IntGhostWindowFromHungWindow (#1116)
CORE-11944
2018-12-12 08:03:49 +09:00
Katayama Hirofumi MZ
43e2089476
[WIN32SS][FONT] Check NULL of Face->style_name (#1113)
CORE-15433
2018-12-11 18:32:39 +09:00
Katayama Hirofumi MZ
f469acacec
[WIN32SS][USER32] Add Ghost codes (retrial of #1100) (#1112)
CORE-11944
2018-12-11 12:30:59 +09:00
Katayama Hirofumi MZ
99b055a506
Revert "[WIN32SS][USER32] Add codes for Ghost Window (#1100)" (#1110)
This reverts commit 1adefd180c. ReactOS wouldn't startup.
2018-12-11 11:30:00 +09:00
Katayama Hirofumi MZ
1adefd180c
[WIN32SS][USER32] Add codes for Ghost Window (#1100)
CORE-11944
2018-12-11 10:48:23 +09:00
Pierre Schweitzer
958ae44599
[WIN32SS] Shhhhh! 2018-12-09 22:00:53 +01:00
Pierre Schweitzer
53a313f456
[USER32] Complete French translation 2018-12-09 09:38:31 +01:00
Stanislav Motylkov
6c7094acb8 [USER32] Update russian translation
Addendum to 6a944b5.
2018-12-08 23:36:06 +01:00
Katayama Hirofumi MZ
e90954304d
[WIN32SS][FONT] Add some assertions (#1098) 2018-12-06 12:47:02 +09:00
Katayama Hirofumi MZ
93757884c1
[WIN32SS][FONT] Improve FamilyUnknown Penalty (#1097)
CORE-15419
2018-12-06 09:32:02 +09:00
Katayama Hirofumi MZ
88ddb37acb
[WIN32SS][FONT] Use HHEA table metrics if (fsSelection & 0x80) (#1093)
This PR will fix too tiny glyph rendering. CORE-15166
2018-12-05 21:05:42 +09:00
Katayama Hirofumi MZ
3fd2deefac
[USER32] Fix Task Switcher (#1086)
CORE-10481
2018-12-03 04:26:15 +09:00
Katayama Hirofumi MZ
6a944b556a
[USER32] Add Ghost window class (#1082)
CORE-11944
2018-12-02 18:51:44 +09:00
Katayama Hirofumi MZ
b09487fb44
[WIN32SS] Add IntGoGhost function (stub) (#1081)
CORE-11944
2018-12-01 20:59:07 +09:00
Giannis Adamopoulos
225c5c4a20 [WINSRV] Wait for the process to exit after calling NtTerminateProcess
NtTerminateProcess just queues an apc in every thread of the target process which in turn kills each thread. We need to wait so that all processes have enough time to exit before shutting down.
2018-11-27 10:28:31 +02:00
Andrew Boyarshin
f48eb70af3 [WIN32K][NTUSER] Specify constant name explicitly (#1067)
Reduce confusion by specifying the omitted constant HWND_TOP == 0.
2018-11-25 14:31:23 +01:00
Andrew Boyarshin
62ec69278d [WIN32K][NTUSER] Tiny codestyle fix to NtUserLockWindowUpdate (#1066)
Fix indentation (inconsistent with the rest of the file) and return actual BOOL.
2018-11-25 14:31:04 +01:00
Pierre Schweitzer
6416ee982f
[WIN32SS] Don't leak memory on failure in IntGdiWidenPath().
CID 1441350
2018-11-16 22:07:08 +01:00
Pierre Schweitzer
2255d5f5b6
[WIN32SS] Avoid an user-after-free in FontFamilyFillInfo().
CID 1441367
2018-11-16 22:07:08 +01:00
Ercan Ersoy
44323e610f [TRANSLATION] Turkish translations of many components. (#1026) 2018-11-11 18:13:48 +01:00
Katayama Hirofumi MZ
64e217e97c
[WIN32SS][FONT] Fix regression of #1004 (#1012)
Signed-off-by: Doug Lyons <douglyons@douglyons.com>
CORE-15333
2018-11-05 16:24:23 +09:00
Katayama Hirofumi MZ
7f679a116b
[WIN32SS][FONT] Fix ntmCellHeight value to usWinAscent + usWinDescent (#1010)
CORE-15331
2018-11-05 06:03:53 +09:00
Katayama Hirofumi MZ
2737d9144d
[WIN32SS][FONT] Define IntUnicodeStringToBuffer function and use it (#1004)
- Define IntUnicodeStringToBuffer function to copy the contents of a UNICODE_STRING to a string buffer with a UNICODE_NULL correctly.
- Use it.
JIRA issue: N/A
2018-11-03 05:42:58 +09:00
Katayama Hirofumi MZ
4abba2b7ac
[WIN32SS][FONT] Improve Precision Penalty (#1006) 2018-11-03 05:37:05 +09:00
Katayama Hirofumi MZ
08cfe38ec6
[WIN32SS][FONT] Add ASSERT_FREETYPE_LOCK_HELD(); in FillTMEx (#1005)
Add a assertion for locking, in FillTMEx function of freetype.c. CORE-15166
2018-11-02 18:53:50 +09:00
Katayama Hirofumi MZ
5d26cf5e2a
[WIN32SS][FONT] Move IntUnLockFreeType(); in ftGdiGetTextMetricsW (#1002)
Adjust timing of FreeType unlocking in ftGdiGetTextMetricsW function of "freetype.c". JIRA issue: N/A
2018-11-02 16:29:18 +09:00
Katayama Hirofumi MZ
ce077bb5d3
[WIN32SS][FONT] Add DPRINT1 and ASSERT for font resize failure (#1003)
Add DPRINT1 and ASSERT calls for font resize failure in IntRequestFontSize function. JIRA issue: N/A
2018-11-02 16:28:00 +09:00
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