Commit graph

192 commits

Author SHA1 Message Date
Joachim Henze 700cf5b6c3 [0.4.10][COMCTL32][WIN32SS] Fix multiple scrollbar redraw issues
This fixes:
- CORE-15911 "Scrollbars do not disappear when Maximizing and not needed"
- CORE-10617 "ListView corrupt scrollbar upon resizing the column-header"

and fixes regressions:
- CORE-15429 "Uninitialized scrollbars in 'My Computer' permanently drawn"
- CORE-16466 "Uninitialized scrollbars in 'My Computer' do still flash up for a fraction of a second before getting overpainted"
both unhidden by SVN r75735 == git 0.4.7-dev-168-g 6af37fd54e

by porting back the commits:
0.4.14-dev-312-g b931f643e3
0.4.13-dev-535-g 1158c24194
2020-12-20 06:41:12 +01:00
Joachim Henze 14b206f31e [0.4.10][WIN32SS] Improve many apps not starting with active taskbar pane (#2396)
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.
fix picked from 0.4.14-dev-1137-g 848d7ec633
----------
And while touching winpos.c I decided to also port back the
fix for the format-string-glitch from #1893 authored by Stanislav Motylkov.
fix picked from 0.4.13-dev-1079-g b16ca9cd65
2020-12-19 20:48:19 +01:00
Joachim Henze 9937c7068b [0.4.10][WIN32SS] Fix assert with Winamp 5.666 CORE-10774
Fixes CORE-10774 "Winamp asserts upon startup when Bentoo skin is selected"

Reference:
Alexandre Julliard : Ignore empty rectangles in ExtCreateRegion.
8ac61c5a1e

fix picked from 0.4.12-dev-979-g 2f5c0ee0a9
2020-12-11 04:07:20 +01:00
Joachim Henze 8110704463 [0.4.10][WIN32SS] Fix BSOD CORE-15433 Opera 12.18 browsing duckduckgo.com
CORE-15433 "Fix assertless BSOD when Opera 12.18 browses duckduckgo.com"
fix ported from 0.4.12-dev-20-g 43e2089 (I ported it back earlier into 0.4.11-RC-7-g 7d0eadd already)

style_name == NULL is ok,
but some of the code was just not handling it properly and dereferenced it.
2020-12-11 01:04:57 +01:00
Joachim Henze c5db07577a [0.4.10][WIN32SS] State of the art for positioning popups, menus and submenus
This is the hard work of Mark Jansen, and in sum reflects the state of 0.4.13-rls-0
when leaving out all work of Jim Tabor and Katayama in this file.
I picked only one unrelated single-line-commit of Timo Kreuzer additionally.

In sum it fixes the following tickets: CORE-16306, CORE-16297, CORE-15863, CORE-15001, CORE-16298.

And is a backport of the following master-commits:
0.4.14-dev-40-g e1984d0 CORE-16306 "Regression, UltraISO shows Languages popup menu at wrong position" (ported back earlier into 0.4.13-RC-12-g 609f2ae)
0.4.13-dev-815-g 6948764 CORE-16297 "Regression, The popup menus position is not perfect for systray icons context menu of Abyss webserver"
0.4.13-dev-814-g 84e263c CORE-16297 "Regression, The popup menus position is not perfect for systray icons context menu of Abyss webserver"
0.4.13-dev-813-g 1c8cdaa CORE-16297 "Regression, The popup menus position is not perfect for systray icons context menu of Abyss webserver"
0.4.13-dev-793-g b5c6af4 CORE-15863 "Regression, popup-menus that expand a sub-popup-menu may erroneously overlay itself"
0.4.13-dev-792-g 7c45a64 CORE-15863 "Regression, popup-menus that expand a sub-popup-menu may erroneously overlay itself"
0.4.13-dev-791-g a59df38 CORE-15863 "Regression, popup-menus that expand a sub-popup-menu may erroneously overlay itself"
0.4.13-dev-713-g 08c6d21 just fixes a compiler warning, unrelated one-liner, only commit of Timo in here
0.4.12-dev-369-g 007ec03 CORE-15001 "Wrong placement of the context menu in systray leads to autoselection, e.g. Abyss WebServer"
0.4.12-dev-346-g d2626f0 CORE-15001 "Wrong placement of the context menu in systray leads to autoselection, e.g. Abyss WebServer"
CORE-16298 "Window system menu does not appear where expected" which is a dupe of one of the tickets above, don't ask me which exactly

There is only one ticket in this context that will NOT get fixed in the final state, but we do accept that,
as it is minor and also MS Windows is not really deterministic in all cases for that:
CORE-15733 "[Win32SS?] dropdown-menu position may be wrong, when the window overflows the screen-borders"

This patch supersedes / is a better replacement for the safe-intermediate-state-fixes that I committed earlier into:
0.4.12-RC-49-g d52cac4 & 0.4.12-RC-48-g 3113d13
0.4.11-RC-35-g a9be77c & 0.4.11-RC-30-g 83e4a61 & 0.4.11-RC-27-g 1d47cfd
2020-12-08 18:10:46 +01:00
Joachim Henze 6be79eaefa [0.4.10][WIN32K:NTUSER] Acquire the user lock exclusively in NtUserGetSystemMenu CORE-15512
It is rare, but I have seen this crash happening as well
when interacting with the taskbar quickly after the boot.

fix picked from 0.4.12-dev-203-g c526f94
2020-12-03 02:10:42 +01:00
Joachim Henze b481debf01 [0.4.10][WIN32SS] Fix RIGHT-expansion-arrow in submenus being drawn too large CORE-13211
A squashed port of
0.4.13-dev-702-g 1e91a1690d
0.4.13-dev-809-g 65e4efd475
0.4.14-dev-186-g b3033b81a4
which in sum brings us to the nice state of 0.4.13-release-0-g4ee3778a4ed2d80c96e7a0f7a1e52e78d3a6568e
where I used the same trio successfully already.

CORE-13211 "RIGHT-expansion-arrow in submenus being drawn too large"
did affect many apps, e.g: UltraISO and Abiword
It was fixed by 0.4.13-dev-702-g 1e91a1690d (#1752)
but on its own it did introduce 2 regressions:

The first was that the
"upwards scrolling arrow in language selection submenu of UltraISO was now drawn much too large"
(discussion and pics also in CORE-13211)
That was fixed by the addendum 0.4.13-dev-809-g 65e4efd475 (#1753)

But we had still another regression from the first commit to solve:
CORE-16470 "The checkmarks in Abiwords menubar became black boxes"
That last regression was fixed by 0.4.14-dev-186-g b3033b81a4 (#2009)
2020-12-02 16:08:23 +01:00
Joachim Henze 8a856b7707 [0.4.10][WIN32SS] Fix scrollbar bug CORE-15557 & CORE-13986
Fixes CORE-13986 "Wise Installer draws scrollbars enabled while they should be drawn disabled"
by porting back 0.4.11-dev-586-g 929a2c6 (the mentioned CORE-ID in that commit was wrong due to typo)

which requires to pick also 0.4.14-dev-1167-g 8bb9434 to prevent the first fix introducing regression
CORE-16721 "Scrolling by pressing the scrollbar arrows does not draw the arrows as pressed"

and finally port back 0.4.14-dev-243-g 19fbdda to fix
CORE-15557 "disabled scrollbars being clickable"

In sum this brings the scrollbar code to the state of 0.4.13-release-0-g 4ee3778
2020-12-01 16:43:09 +01:00
Joachim Henze a144f66f72 [0.4.10][WIN32SS] Fix last user visible parts of regression CORE-10855
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.

fix picked from commit 0.4.14-dev-121-g
9e14a762d5
2020-11-09 23:16:59 +01:00
Joachim Henze c5bac84d1e [0.4.10][WIN32SS] Fix maximized window positioning and 2 addendum commits
Fix CORE-5177 "TaskMgr and ProcExp positioning when maximized."

which regressed by SVN r47264 == git
0ac861114e

fix cherry picked from commit 0.4.12-dev-954-g
1f619b2781
-----------
but since above commit did introduce a new regression CORE-15893
symptom "Most of maximized windows have extra row of pixels around"
I had to port back those 2 follow-up-master-commits as well:
0.4.12-dev-956-g
197c4f875d3332dbc4656a6360e3c7e9def2ed5
and 0.4.13-dev-397-g
3cc50cedaf

Side-note: This results in the same final state as 0.4.12rls0, because
I ported 0.4.13-dev-397-g3cc50ce into 0.4.12-RC-29-gab7f77a earlier.
2020-11-09 19:42:58 +01:00
Joachim Henze d22265a48b [0.4.10][WIN32SS:NTGDI] Fix missing text in labels and buttons for .NET apps.
Fixes CORE-15000 "Totally Broken/messed up text in many .NET applications"
and its duplicates
CORE-14679 "Missing fonts in Reg Organizer 8.16"
CORE-15398 "Messed fonts in Microsoft SQL Server 2005 Express Edition"
CORE-15611 "Word 2003: Organization Chart has corrupted display"

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.

Fix picked from 0.4.12-dev-865-g
0e56ec8892
2020-11-03 14:18:20 +01:00
Joachim Henze d748c166a2 [0.4.10][WIN32K:NTUSER] Fix CORE-12243 OS-freezing when closing nLite
This fixes CORE-12243 and allows .NET applications like nLite 1.4.9.3
to exit properly without freezing the whole OS.

The actual fix was picked from 0.4.11-dev-78-g
4d48b88bfb
"[WIN32K:NTUSER] co_UserDestroyWindow(): Simplify the destruction of the owned windows."

but it made sense to also pick the related 0.4.11-dev-77-g
e286c4c520
"[WIN32K:NTUSER] Optimize IntWinListOwnedPopups() a little bit. Improve a trace."

and 0.4.11-dev-76-g
f644a50cd7
"[WIN32K:NTUSER] Code formatting only."
2020-11-03 03:56:03 +01:00
Joachim Henze d3a15bb0f1 [0.4.10][WIN32SS] Require at least the amount of extra memory, not exact amount
Fixes 3 application crashes:
CORE-15576 "Civilization II Multiplayer Gold Edition crashes when trying to open a map"
CORE-13924 "Click-n-type Virtual Keyboard 3.03.4012 from rapps crash when opening program preferences"
CORE-8790 "IceChat crashes with OutofMemory"

It regressed around SVN r56947, r56948, r56949.

cherry picked from commit 0.4.12-dev-417-g
e022d8d7cb
2020-11-01 02:09:56 +01:00
Thomas Faber 21ba8be79f [0.4.10][WIN32K:NTUSER] Reference menus owned by a popup menu. CORE-15504
Fixes a BSOD mentioned in CORE-15504

cherry picked from commit 0.4.12-dev-218-g
e3c8002dfc
2020-10-22 20:58:00 +02:00
Joachim Henze 16d796a154 [0.4.10][WIN32K:NTUSER] Avoid dereferencing a null pointer in NC_DoNCPaint.
Fixes BSODs CORE-15569, CORE-12963, CORE-13410

For non-technicians:
Author Thomas Faber just imprisons the BSODs into an artificial cage
made of curly-braces. The BSODs can't h(a)unt any users anymore
and inevitably starve therefore.

cherry picked from commit 0.4.12-dev-338-g
b2dcb8e0d8
2020-10-12 23:03:10 +02:00
Joachim Henze a1dd1e66ff [0.4.10][NTUSER] Fix regression CORE-11828
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
2020-10-11 23:45:48 +02:00
Joachim Henze 58f9e1e06e [0.4.10][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 CORE-15325 & CORE-14684 regressed by SVN r74404
384affe098

fix cherry picked from commit 0.4.13-dev-456-g
00e882c2b1
Many thanks to the patches author Thomas Faber.

With this commit we sync PDEVOBJ_vRefreshModeList() to the state I used in 0.4.12rls and 0.4.13rls.

This patch does fix:
- regression CORE-15325 "Pocket Tanks 1.6 not filling the whole screen because it does not switch its resolution when coming from desktop res 1024x768 32bpp"
- regression CORE-14684 "Fall 0.1.3 opens just a white window instead of content when started with desktop resolution 1024x768 32bpp"
- regression "Globulation 2 0.9.4.4 not filling the whole screen when configured to use fullscreen and running it from desktop resolution 1024x768 32bpp"

but also helps to fix the last app that was still affected by CORE-14363 "systray icons do flash through now when an app is running in fullscreen".
CORE-14363 actually was fixed for >95% of the apps already by my last commit into the releases, but there was an outlier that does require Thomas patch additionally, that was:
- "Pengupop 2.2.3 when being run from desktop with 1024x768 32 bpp"

I committed it beforehand:
- for master:    0.4.13-dev-456-g00e882c
- for 0.4.12rls: 0.4.12-RC-34-gec3cc13
- for 0.4.11rls: 0.4.11-release-4-g11e0b0b
2020-10-08 17:51:11 +02:00
Joachim Henze 679a66f62b [0.4.10][WIN32SS] Fix many regressions of fullscreen switching, all caused by SVN r75407
CORE-16393 'switching to fullscreen via Alt+Enter in cmd now leaves the taskbar visible'
CORE-15477 'TileWorld 1.3.2 when started in fullscreen mode it now leaves the taskbar visible'
CORE-14979 'It depends on the desktop color-depth bpp whether taskbar is hidden in fullscreen of Anno 1602'
CORE-15599 'Rocks&Diamonds 3.3.1.2 from rapps leaves its taskbar visible when switching into fullscreen via alt+enter'
CORE-15600 'LGeneral from rapps leaves the taskbar visible when selecting fullscreen from context menu'
CORE-15654 'Exiting "Bound Around Demo" from fullscreen leaves black borders around the desktop'

All those cases regressed by SVN r75407 == git
09ab5ea7ed

To date I am not aware of more that broke by that historic commit, but we still have some cases that still
do not work as intended, they are linked as blocker against the EPIC CORE-11242.
But at least no regressions known anymore to date by that specific commit into display.c.

In sum this brings us in the context of this regression in this file
for the functions UserChangeDisplaySettings() & NtUserChangeDisplaySettings()
to the state of
- for master:    0.4.14-dev-38-g96ef605
- for 0.4.13rls: 0.4.13-RC-11-g0a03b36
- for 0.4.12rls: 0.4.12-release-4-g8c5e349
- for 0.4.11rls: 0.4.11-release-3-g29e0b55
2020-10-07 02:42:39 +02:00
Mark Jansen f6a9392a3c [0.4.10] [FONT][WIN32SS] Include the style name in the registry key.
Thanks to Doug Lyons for pinpointing the issue.

CORE-14044

cherry picked from commit 0.4.11-dev-311-g
3d44f79e3e
2018-10-02 23:42:51 +02:00
Joachim Henze c828fceb50 [0.4.10] [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

cherry-picked from 0.4.11-dev-195-g
ef016bfe0a
2018-09-21 03:09:47 +02:00
Joachim Henze 2d74a9f25d [0.4.10] [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.

cherry-pick from master 0.4.11-dev-126-g
31c981c02a
2018-09-10 18:24:30 +02:00
Katayama Hirofumi MZ d3cc0811ce [0.4.10] [WIN32SS][FONT] Fix GetTextFace function and related (#829) CORE-14926
Google Chrome with -no-sandbox parameter in ReactOS wouldn't display
the web page anymore because first-chance exception raised.

- 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.

The symptom started showing with
0.4.10-dev-466-g
35f62fc5ba

The fix was cherry-picked from commit
0.4.11-dev-48-g
c8749d379b

Many Thx to Katayama, Mark & Doug.
2018-08-30 19:50:06 +02:00
Joachim Henze c9864a6ff2 [0.4.10] [USER32/COMCTL32] Avoid regression CORE-14906
This patch has not been committed to master yet.
It fixes the vertical position of button text,
which was shifted one pixel to the bottom since guilty commit
0.4.10-dev-466-g
35f62fc5ba
2018-08-30 19:42:31 +02:00
Joachim Henze 1351f4c194 [0.4.10] Avoid regression CORE-14839
"paths to source files in putty + gcc *win* logs are cut off"

by reverting "[CMAKE] Zap builddir.h.cmake and instead define macros globally"

This reverts commit 0.4.10-dev-289-g
79ad68ddc3

May lead to logging of different build environments looking a bit different,
but nothing should be cut off anymore.
2018-08-23 22:02:44 +02:00
Thomas Faber ff49458f27 [0.4.10] [WIN32SS] Mask WndProc exceptions to hide all tickets linked to CORE-11915
e.g. this allows using MsDepends

like in last release
(cherry picked from commit 9274859438)
2018-08-23 15:35:07 +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
Hermès Bélusca-Maïto f3699c3838
[WIN32K:NTUSER] NtUserCloseDesktop(): Use ObCloseHandle instead. 2018-08-19 22:18:39 +02:00
Hermès Bélusca-Maïto c697f191cf
[WIN32K:NTUSER] Make NtUserResolveDesktop() and IntResolveDesktop() work in a more Win2k3-compatible manner.
CORE-11933 and PR #621.

Since this API is also called from WINSRV when calling the AllocConsole() API,
it can be tested more-or-less easily. The internal helper IntResolveDesktop()
is also tested during process connection to a window station, when such process
first calls a USER32 or GDI32 function.
This is also the functionality tested by the user32:desktop apitest.

- Adjust how IntResolveDesktop() is called.
2018-08-19 22:18:37 +02:00
Hermès Bélusca-Maïto 83104d9f00
[WIN32K:NTUSER] Code style fixes only. 2018-08-19 22:18:36 +02:00
Hermès Bélusca-Maïto bc7810a97e
[WIN32K:NTUSER] Rename some variables with more natural names. 2018-08-19 22:18:36 +02:00
Hermès Bélusca-Maïto 1abeb905c3
[WIN32K:NTUSER] Split NtUserCreateDesktop() into the part that captures the user-mode data and the internal worker IntCreateDesktop() function, which will also be used later. 2018-08-19 22:18:35 +02:00
Hermès Bélusca-Maïto 7bc2ddd669
[WIN32K:NTUSER] Fixes for NtUserCreateWindowStation(), IntCreateWindowStation() and NtUserOpenWindowStation().
CORE-11933 and PR #621.

We are potentially going to modify the window station name to be
created or opened, by one with the format "Service-0x<luidhigh>-<luidlow>$",
in case the user provides an empty name.
Since we want to use the user-mode ObjectAttributes structure pointer so
that the Object manager can correctly perform the access checks and the
capture, we actually need to construct the new window station name in the
user memory space! This allows us then to fetch the new name in the
ObjectAttributes structure so that Ob can use it.
All of this is performed under SEH.

For NtUserOpenWindowStation(), we also need to be Windows-compatible and
detect whether user-mode gave instead the special "Service-0x00000000-00000000$"
name (observed via API monitoring) that is used when one tries to open a
window station with empty name.
2018-08-19 22:18:35 +02:00
Hermès Bélusca-Maïto 26933a0965
[WIN32K:NTUSER] Similarly to what was done in USERSRV for harderrors, introduce the _scwprintf() helper function based on the imported _vscwprintf(). 2018-08-19 22:18:34 +02:00
Hermès Bélusca-Maïto 43e2ab208a
[WIN32K:NTUSER] Get rid of the cached window station Name member, and instead just use the name stored in the NT Object's header.
CORE-11933 and PR #621.

- Remove the related hack-FIXMEs;
- Adjust NtUserGetObjectInformation() in accordance.
- Retrieve the window-station/desktop object type string in NtUserGetObjectInformation()
  also from the NT Object's header.

Also simplify the UOI_FLAGS case of NtUserGetObjectInformation() by reading
the handle inheritance information directly from the OBJECT_HANDLE_INFORMATION
structure returned by ObReferenceObjectByHandle().
2018-08-19 22:18:32 +02:00
Hermès Bélusca-Maïto dae57caa36
[WIN32K:NTUSER] Detect when the NtUserCreateWindowStation() caller has provided an empty window station name, and if so, generate a name in the format: "Service-0x<luidhigh>-<luidlow>$" .
CORE-11933 and PR #621.
2018-08-19 22:18:32 +02:00
Hermès Bélusca-Maïto ba018294d3
[WIN32K:NTUSER] Split NtUserCreateWindowStation() into the part that captures the user-mode data and the internal worker IntCreateWindowStation() function, which will also be used later.
Add a FIXME note about how we currently handle the window station name.
2018-08-19 22:18:31 +02:00
Hermès Bélusca-Maïto f47afc3b61
[WIN32K:NTUSER] In UserCreateWinstaDirectory(), use a string-safe printf, and use OBJ_KERNEL_HANDLE as well as a suitable desired access value in a ZwCreateDirectoryObject() call. 2018-08-19 22:18:30 +02:00
Hermès Bélusca-Maïto 2345d63ce3
[WIN32K:NTUSER] Add an extra optional "Process" parameter to the GetProcessLuid() function to be used alternatively in place of "Thread" to retrieve the LUID. 2018-08-19 22:18:30 +02:00
Hermès Bélusca-Maïto d77c493213
[WIN32K:NTUSER] Move the GetProcessLuid() function to the miscellaneous module. 2018-08-19 22:18:29 +02:00
Hermès Bélusca-Maïto 9c0564063d
[USER32] Implement the special case in CreateWindowStationW() that, when no window station name is provided (either NULL or empty string), does not open any WindowStation directory handle to be passed to the Win32k function.
Observed via API monitoring.
This corresponds to the case where Win32k creates a window station whose name is based on the logon session identifier for the calling process.

Add also a note about the fact that we need to use a per-session-based WindowStation directory name, as done already in Win32k.

CORE-11933 and PR #621.
2018-08-19 22:18:22 +02:00
Manuel Bachmann 71ab0b5d4c [NTDLL][NTUSER] Fix unselected text after WM_CBLOSTTEXTFOCUS
When we unselect text after the WM_CBLOSTTEXTFOCUS message,
make sure we also forget we have been focused at all;
otherwise the edit may become focused again, but with an
empty text selection.

CORE-10266
2018-08-19 14:24:34 +02:00
Thomas Faber 9bffdcb6e7
[USER32] Log the text of message boxes to help figure out some test bot timeouts. 2018-08-19 12:02:24 +02:00