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
as if it were a popup menu #1360
fixes regression CORE-15733
Many thanks to the patches author Mark Jansen!
The fix has not been merged to master to date, but will most likely be merged
there as well before branching releases/0.4.12
This fixes Civ II trying to create scrollbars based on 'native' scrollbars.
Fixes 2 application crashes CORE-15576 & CORE-13924
cherry picked from commit 0.4.12-dev-417-g
e022d8d7cb
Found by Denis Malikov
CORE-15001
CORE-9037
This is an addendum to 0.4.11-RC-27-g
007ec0310c
The issue fixed here can be reproduced by not selecting anything on desktop
and then pressing the context-menu-key on keyboard (next to right string)
Expected behavior: popup menu should open up at coordinate 0,0
Top-left of the screen.
cherry picked from commit 0.4.12-dev-369-g
007ec0310c
Previously, we would just stick the menu on the edge of the screen.
We should actually try to flip the menu around the point of origin,
and only when that fails move it to the edge of the screen.
CORE-15001
CORE-9037
cherry picked from commit 0.4.12-dev-346-g
d2626f0c2a
This silences log-spam from recently added STUB-call of IntGoGhost()
which gets called very frequently currently, e.g. during
our currently pseudo-async network transfers
cherry picked from commit 0.4.12-dev-8-g
958ae44599
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.
- Implement user32!SwitchToThisWindow by NtUserCallTwoParam TWOPARAM_ROUTINE_SWITCHTOTHISWINDOW.
- Improve user32!CloseWindow with using SetActiveWindow and ShowWindow (synchronized).
CORE-15165
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.
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
[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.
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.
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
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.
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.
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.
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.