Commit graph

36 commits

Author SHA1 Message Date
Joachim Henze
55062f0648 [0.4.7][PROGMAN][USER32][SHELL32] Do not use LoadLibraryEx() NT6+ flags (#3152) CORE-12004
LOAD_LIBRARY_AS_IMAGE_RESOURCE and LOAD_LIBRARY_SEARCH_SYSTEM32 are Vista+

This fixes some blurry icons in systray when 2k3sp2 kernel32.dll is used in ros CORE-12004
That part in user32 was a regression of SVN r71609 == git a44dfe6c76
While we are at it we do fix some other modules as well, that used those NT6+flags.

The fix was picked from 0.4.15-dev-788-g a04831677e
--------
That second part in SHELL32 regressed even earlier by
SVN r51768 == git 6ced137ce2
and was fixed on master by chance when the PickIconDlg() was overhauled entirely via
git 0.4.10-dev-106-g 222534a5a2 . But that is not the solution I ported back today.
2022-01-15 12:55:46 +01:00
Joachim Henze
4dbb1d4fc0 [0.4.7][NTUSER][USER32] Tracking menu CORE-17338 (#4048), [EXPLORER] Send WM_POPUPSYSTEMMENU asynchronously (#4047) CORE-16353
This prevents the tracking menu from erroneously closing itself right after it was opened in some cases.
Fixes CORE-17338 which got unhidden by 0.4.15-dev-1126-g 58b0558f94
And fixes CORE-15760 which got unhidden by SVN r74972 == git 19dd22d422

Since both symptoms look very similar but the unhiding revisions did differ,
that could mean we do have some kind of race condition here.
I guess this fix is more like a workaround.

2 Fixes picked:
0.4.15-dev-3313-g 6417b2323d [NTUSER][USER32] Workaround tracking menu on CORE-17338 CORE-15760 (#4048)
to prevent the menu from auto-closing

and
0.4.15-dev-3297-g 037c744eb1 [EXPLORER] Send WM_POPUPSYSTEMMENU asynchronously CORE-16353 (#4047)
to make the taskbar button turn into pressed state when the menu opens
2022-01-10 07:20:11 +01:00
Joachim Henze
dbd3a057ff [0.4.7][WIN32SS] Fix BSOD 0x1E nullptr deref via Git-bash CORE-16586
Thanks to the patches author Doug Lyons!

fix picked from 0.4.15-dev-1457-g 870aa1254f
and the whitespace addendum 0.4.15-dev-1458-g 449a341786
2021-01-16 15:53:21 +01:00
Joachim Henze
3df41edcca [0.4.7][WIN32K:NTUSER] Properly fix IntSendChildNCPaint() & IntLinkWindow()
Hack has been introduced in IntSendChildNCPaint() in r73532 == 6d7fcc4
to attempt to pseudo-fix CORE-12071 and CORE-12085 while breaking other stuff,
amongst which CORE-14763 is one of the latest manifestations, and re-enable the correct original code.

This fixes painting hangs under diverse situations,
while CORE-12071 and CORE-12085 remain fixed.

When it was hanging like CORE-14763, we could not even ACPI shutdown anymore.

fixed by porting back:
0.4.10-dev-324-g 25004bb5b4
0.4.10-dev-323-g ee0511b49d
0.4.10-dev-322-g 4d057cf626
2020-12-23 02:23:59 +01:00
Joachim Henze
42c7efd2ff [0.4.7][WIN32K][NTUSER] Tiny codestyle fix to NtUserLockWindowUpdate (#1066)
Fix indentation (inconsistent with the rest of the file) and return actual BOOL.
picked from 0.4.11-dev-838-g 62ec69278d
2020-12-21 10:14:51 +01:00
Joachim Henze
f38e09e9f0 [0.4.7][NTUSER] Silence a noisy trace
picked just that part of 0.4.12-dev-121-g 3ec7b16
2020-12-21 10:03:32 +01:00
Joachim Henze
367b12e75e [0.4.7][WIN32K] Fix DBG_PRINT macro.
picked from 0.4.10-dev-215-g 9d3d5e464d
2020-12-21 09:26:51 +01:00
Joachim Henze
aae71ab0f4 [0.4.7][NTOS][USERSRV] Silence noisy debug output.
picked from 0.4.13-dev-82-g f5471b7b4b
2020-12-21 08:54:30 +01:00
Joachim Henze
48a775367d [0.4.7][CONSRV] Silence a noisy DPRINT.
picked from 0.4.9-dev-217-g 8bdebb1fed
2020-12-21 06:51:50 +01:00
Joachim Henze
dd898b990b [0.4.7][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:45:04 +01:00
Joachim Henze
8a3873f2e2 [0.4.7][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:53:37 +01:00
Joachim Henze
8c773a4d9e [0.4.7][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:13:09 +01:00
Joachim Henze
0f86eee47d [0.4.7][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:12:40 +01:00
Joachim Henze
25172bbc2a [0.4.7][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

fix picked from 0.4.11-dev-195-g ef016bfe0a
2020-12-03 01:03:05 +01:00
Joachim Henze
cf57f9e92d [0.4.7][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:09:58 +01:00
Joachim Henze
2e512886e4 [0.4.7][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

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:37:58 +01:00
Joachim Henze
6dd6403853 [0.4.7][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.

cherry picked from commit 0.4.14-dev-121-g
9e14a762d5
2020-11-09 22:50:03 +01:00
jimtabor
953b5289a3 [0.4.7][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
0197c4f875
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 18:02:28 +01:00
Joachim Henze
762a282ba5 [0.4.7][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:51:53 +01:00
Hermès Bélusca-Maïto
1e23af5f58 [0.4.7][WIN32K] Implement UOI_FLAGS in NtUserGetObjectInformation().
Based from a patch by Jérôme Gardou.
Fixes CORE-13447 CORE-14422 CORE-14287

This fixes closing nLite 1.4.9.3 (.NET2) application, as well as any
other program that expects that the interactive window station is
reported as being visible. I thank Mark Jansen and Joachim Henze for
help and testing.

It regressed by SVN r74005 == git
d2f5096281

The fix was picked from 0.4.9-dev-750-g
a55d7c692b
2020-11-01 17:48:28 +01:00
Joachim Henze
af9835b858 [0.4.7][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 01:46:47 +01:00
Joachim Henze
008d15fe9c [0.4.7][COMCTL32] Workaround v6 button redraw regressions CORE-13278 & CORE-16093
Most likely not correct, as it breaks comctl32:buttonv6 tests
https://reactos.org/testman/compare.php?ids=68146,68147

But greatly eliminates perceived flickering when hovering
with the mouse over buttons in unthemed mode.
We suffered from these regressions for years and nobody did
find a proper solution, therefore it's time to at least workaround them.
The patch did not expose any new real-world-issues after I retested
the whole rapps suite against it in 0.4.12RCs.

CORE-13278 was once introduced/unhidden by SVN 73806 ==
c607de7

CORE-16093 was once introduced/unhidden by SVN 74149 ==
301c476

The comctl32 part of the fix was picked from 0.4.13-dev-1194-g
a40331b0f4
-------------------
The Win32SS part is just to fix compilation when USE_VERSIONED_CLASSES is not defined
and was picked from 0.4.9-dev-679-g
083c3d992b
2020-10-31 20:26:08 +01:00
Joachim Henze
9906c22843 [0.4.7][WIN32K:NTUSER] Backport CORE-14196 & CORE-14231
2 nice theme patches of Stanislav Motylkov

Fix hardcoded color for MF_GRAYED menu items CORE-14196
Picked from 0.4.8-dev-792-gdade22f

Fix color indices for themes CORE-14231
Picked from 0.4.8-dev-846-gc22c6e3
2020-10-24 17:21:18 +02:00
Thomas Faber
e580690b22 [0.4.7][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:41:51 +02:00
Joachim Henze
892fca1425 [0.4.7][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:08:56 +02:00
Joachim Henze
31a8bd0c19 [0.4.7][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:48:59 +02:00
Joachim Henze
8ca18ea853 [0.4.7][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
- for 0.4.10rls: 0.4.10-release-5-g679a66f
- for 0.4.9rls:  0.4.9-release-7-g9f4fee8
- for 0.4.8rls:  0.4.8-release-7-g5897851
2020-10-07 02:55:20 +02:00
Thomas Faber
e139307ef5 [0.4.7] Port back fix for 'deadlock when exiting command.com or NTVDM' CORE-13734
squashed 2 excellent fixes from Thomas Faber to fight that regression which
started to become visible for me after SVN r73532 == git
6d7fcc4bab

----------------------------
[0.4.7][NTOS:EX] Worker threads must not exit with a critical region held. CORE-13734

cherry picked from commit 0.4.9-dev-146-g
2b8f4f6e24
----------------------------
[0.4.7][WINSRV] Don't try to remove messages from the queue without dispatching them. CORE-13734

This partially reverts r58615 / 01729482ae.

cherry picked from commit 0.4.9-dev-148-g
3159de5573
2020-10-06 18:15:59 +02:00
Mark Jansen
23af2fa257 [0.4.7] cherry-pick [WIN32K] Check if the window being destroyed is currently tracked. by mjansen CORE-13619 (to fix several related BSODs)
SHA-1: 9e4d2f1f9e
2017-11-05 14:22:49 +01:00
Mark Jansen
68655cc1e9 [0.4.7] Apply workaround for BSOD in win32k CORE-13629 2017-10-29 14:53:42 +01:00
Thomas Faber
04d7a3c0d0 [0.4.7] Mask WndProc exceptions CORE-11915 2017-10-29 14:40:44 +01:00
Waritnan Sookbuntherng
1128447196 [WIN32K][DESK.CPL]: Add fit and fill background placement options (#28)
- WIN32K and DESK.CPL: Add fit and fill background placement options.
- DESK.CPL: Define wallpaper placement constants; update translations.
- WIN32K: Fix coding style.
CORE-13360
2017-10-13 21:44:02 +02:00
Adam Słaboń
9c790dfc3b Polish translation update (#29)
* Polish translation update
2017-10-10 12:14:38 +02:00
gigaherz
aff6757284 [NTUSER] Fix rogue CR in a LF-only file. 2017-10-06 00:04:46 +02:00
Timo Kreuzer
5c4d857407 [WIN32K] Add a comment regarding UserEnterExclusive() in UserGetDesktopDC()
This is a test-commit using GitHubs SVN interface.
2017-10-05 18:40:33 +02:00
Colin Finck
c2c66aff7d Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00