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
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
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
This reverts commit 0.4.11-RC-25-g
d332edcb50.
#1221
== 0.4.12-dev-320-g
6e4e5a004c
== 0.4.11-RC-25-g
d332edcb50
aimed to fix historic regression CORE-15558
(Abisoft Font-listbox showing too many fonts)
Unfortunately, it would introduce a new regression CORE-15755.
(wrong font chosen in NLite 1.4.9.3)
Beside that #1221 introduced a retrospective and potentially time-expensive
qsort()-call on the enumerated font-list.
Due to this uncertainty / open issues I decided to keep it out of releases/0.4.11
and stick with the better evaluated state before that patch.
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
Fix EnumFonts, EnumFontFamilies and EnumFontFamiliesEx functions.
The charsets of the font substitutes are also enumerated.
Delete meaningless codes. Fixes regression CORE-15558
cherry picked from commit 0.4.12-dev-320-g
6e4e5a004c
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.
- 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
Preparation to support pen width.
Split IntGdiWidenPath function from PATH_WidenPath function.
IntGdiWidenPath is independent from DC.
CORE-2527, CORE-13534
- 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
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.