Commit graph

72218 commits

Author SHA1 Message Date
Joachim Henze 9fdd9cf24c [0.4.9][NTOSKRNL] Demote some noisy dprints
picked from 0.4.13-dev-988-g 1539fb1414
2020-12-21 06:19:01 +01:00
Joachim Henze 67072615c2 [0.4.9][SHELL32] Silence a noisy DPRINT.
It gets triggered several times during the setup, but also many times
when browsing with Opera 12.18 for example.

picked from 0.4.10-dev-380-g 74adcadbd0
2020-12-21 04:25:35 +01:00
Joachim Henze b63b4cb386 [0.4.9][SETUPAPI] Demote some noisy dprints
picked from 0.4.13-dev-987-g 4872912eb2
2020-12-21 02:22:21 +01:00
Joachim Henze a4f88cc271 [0.4.9][SETUP] Silence some noisy DPRINT1
picked from 0.4.12-dev-260-g 0150bb964a
2020-12-21 00:23:19 +01:00
Joachim Henze 6cfc934c20 [0.4.9][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:42:31 +01:00
Joachim Henze c0995eebd5 [0.4.9][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:50:12 +01:00
Joachim Henze 959f2dd103 [0.4.9][COMCTL32] Updown Suppress the NM_RELEASEDCAPTURE notification CORE-14365
This fixes a strange toggle-back-effect in 'Zeckensacks Glide Wrapper 0.84c'
by importing Wine commit
9dbe886e3f
Thanks to patches author Akihiro Sagawa <sagawa.aki@gmail.com>

Fix picked from 0.4.13-dev-1169-g 841732e45c

This was no regression, but I could not resist porting it back, because it's just
too tempting to fix a bug by deleting code. Win-win!
2020-12-18 01:42:08 +01:00
Joachim Henze d3a79fe2e6 [0.4.9][COMCTL32] Fix regression CORE-14619 "Checkbox buttons theming"
It regressed by Wine sync in 0.4.9-dev-719-g b3fb8555bf

Thanks to the patches author Andreas Maier <staubim@quantentunnel.de>
JIRA username 'andy-123'

Fix picked from 0.4.13-dev-531-g 49165276f2
2020-12-17 22:42:27 +01:00
Joachim Henze 11a67310b3 [0.4.9][SDK] GCC baseaddress update
Addendum to 0.4.9-RC-23-g 519cdd3c52
CORE-12752 was already fixed,
but using the "Motorbike"-game from CORE_16707, I could trigger a new
conflict between user32.dll and hid.dll.
Therefore move 3 potential colliders away.
2020-12-17 19:33:15 +01:00
Joachim Henze 603e4c4d3d [0.4.9][MSI] Fix regression CORE-14646
Pressing Next-button in setup of "1C Enterprise (training version) 8.3.10.2252"
did not have any effect anymore. Setup could not be completed anymore.

The regression was introduced to ros by 0.4.8-dev-739-g f8b992f2d3
and was confirmed being a Wine-regression in
https://bugs.winehq.org/show_bug.cgi?id=45445

Thanks to Fabian Maurer for communicating to Wine and thanks to
Thomas Faber for regenerating cond.tab.c from the fixed source file cond.y
using BISON.

fix picked from 0.4.13-dev-443-g 10f00f8c1c
2020-12-12 22:11:26 +01:00
Joachim Henze 1667ebbb22 [0.4.9][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:06:30 +01:00
Joachim Henze 7c969a1e23 [0.4.9][WIN32SS] Fix BSOD CORE-15433 and repeatedly hit assert CORE-14755
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)

CORE-14775 Allow NULL, Fix repeatedly hit assert when Opera 12.18 browses www.palemoon.org style_name==NULL
by taking parts only of the fix from 0.4.10-dev-284-g ae8762e . I left the verbosed debug-prints aside, as that is not performance-neutral.

They are both related. Actually style_name == NULL is ok, that assert was not correct.
but some of the code was just not handling it properly and dereferenced it.
2020-12-11 01:05:58 +01:00
Joachim Henze 3e63d1b811 [0.4.9][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:11:29 +01:00
Joachim Henze 2b96692387 [0.4.9][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:11:14 +01:00
Joachim Henze d15f8a6646 [0.4.9][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:01:33 +01:00
Joachim Henze ee7bb6ebf5 [0.4.9][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:53 +01:00
Joachim Henze e187d8d998 [0.4.9][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:42:32 +01:00
Joachim Henze e124688789 [0.4.9][USERENV] sq-AL: Fix '%SistemDrive%' typo (#2469)
Not to translate!

Fixes CORE-16762 "inability to pass 2nd stage setup in Albanian"

The regression was introduced by SVN r62040 == git 258cfa34a0

fix picked from commit 0.4.14-dev-1224-g
1edfddf07a
2020-11-30 19:16:32 +01:00
Joachim Henze a15d6418cf [0.4.9][JSCRIPT] Fix regression CORE-13810 "Vypress Chat 2.1.9 MSI setup fatal error"
The regression was unhidden by MSI-winesync 1.5.10 almost 7years ago:
8939969e21 == SVN r57070

Finally we can fix it by adding MS enumerator extension to Jscript.
Many thanks to the patches author
Andreas Maier <staubim@quantentunnel.de>
JIRA-nick: andy-123

fix picked from commit 0.4.12-RC-18-g 9ebb42a4c0

It went afterwards into master in slightly modified form as 0.4.13-dev-890-g 83dcae1
But I decided to take the older state from 0.4.12RC, so that I do not have to risk
touching releases/0.4.12 again to sync to "latest&greatest".

Due to the changed PROPF_* defines in jscript.h, I felt most safe by porting back also:
0.4.10-dev-188-g c6f49f5
0.4.10-dev-152-g 3f071cc
2020-11-30 06:28:12 +01:00
Joachim Henze ead395d3ae [0.4.9][SHELL32] Update CShellLink::GetIconLocation() & CShellLink::Extract()
to the state of 0.4.10-release-24-g8c2fc27 to fix
regression CORE-14009 "blank icons in livecd for desktop-lnk cmd & QuickLaunch"
which regressed by 0.4.7-dev-111-g d800840 == SVN r75607

The most relevant part came from 0.4.11-dev-11-g 6eb6aa2 which I ported back earlier already into 0.4.10-RC-13-g 3a1fe9d

(and this fixes/prevents also another regression CORE-14961 which did affect only intermediate states, in other words
was never present in releases/0.4.7 0.4.8 and 0.4.9)
2020-11-29 23:00:36 +01:00
Joachim Henze 7ceae3fc62 [0.4.9][FONTS] Update Tahoma.ttf / Tahomabd.ttf
Sync those 2 font-files to the same state we used in all of those:
0.4.10-release-0-g2be9148
0.4.11-release-0-ged7305b
0.4.12-release-0-g5ad5272
0.4.13-release-0-g4ee3778

First and foremost the aim of this backport is to fix
- CORE-12091 [Tahoma font/kerning] has issues when displaying letter combination "fi" & "fli"
Initially we believed that to be a regression, because its exposure to the users eyes
was massively increased by SVN r62982 == git 8552a1297e
Since then it did massively affect many RichEdit controls.
But actually the fonts itself were broken before that commit already
as the following ticket does prove:
- CORE-12172 "Tahoma "fi" & "fli" rendering issue in Firefox 28"
which was happening also beforehand and outside of a RichEdit control.
All of them and also some duplicate-tickets like CORE-10751 get fixed.

In sum this ports back the following commits:
0.4.11-dev-309-g b560491 "Fix underline/underscore position" (#892) (that I ported back earlier into 0.4.10-RC-28-g 86e0a30 already)
0.4.11-dev-3-g 0f308a0   "Improve Tahoma font (14px bitmap and ligatures)" (#809) CORE-12172 / CORE-12091 / CORE-10751 (that I ported back earlier into 0.4.10-RC-12-g 1194b0b already)
0.4.10-dev-622-g e58607e "Add Hebrew vector glyphs to Tahoma Bold font" (#790) CORE-14943
0.4.10-dev-621-g b80171e "Add Hebrew vector glyphs to Tahoma font" (#789) CORE-14943
0.4.10-dev-190-g 2355838 "Delete 16px bitmap from Tahoma Bold"
0.4.10-dev-100-g e0f5ded "Improve Tahoma Bold font (tahomabd.ttf)" (#580)
2020-11-25 16:49:17 +01:00
Joachim Henze e118881e8f [0.4.9][COMCTL32] Fix regression CORE-16280
The visible symptom for us was, that the Apply button in our
desk.cpl was always visible, even in case no user input was done in the dlg yet.

A very old regression. It regressed somewhere around
SVN r42990 – Good (2009-09-03)
SVN r44397 – Fail (2009-12-04)

The fix is a backport of 0.4.13-dev-908-g
344d559935

Unchange the property sheet page after WM_INITDIALOG (#1842)
In my testing on Win2k3, EN_CHANGE is generated in OnInitDialog, that is correct.
The target is property sheet.
The property sheet does unchange the page after WM_INITDIALOG generation.
2020-11-17 15:29:54 +01:00
Joachim Henze 9daa5bf7a6 [0.4.9][USP10] Slightly tweak our intermediate fix
CORE-14226 was already effectively fixed by
0.4.11-RC-3-g 2fc4683
0.4.10-RC-3-g 71ea3f9
0.4.9-RC-4-g c19ce95
0.4.8-RC-5-g 937c261
and therefore no release ever was affected by it,
but today I undo the intermediate and sync to the final state of this fix
like we did commit it into master after Wine review
by master commit 0.4.12-dev-151-g c086edf366
The final fixes commit message:

[USP10] Don't mix character and glyph index caches. CORE-14226

Import Wine commits by Nikolay Sivov:
* d1e618d31da usp10: Use glyph index consistently in ScriptGetGlyphABCWidth().
* 8d018d8d1da usp10: Make sure metrics cache is used with glyph indices only.
* eda3a3e37da usp10: Remove extra parentheses.

Fixes font display in UltraISO and GOG and many other installers.

See also https://bugs.winehq.org/show_bug.cgi?id=44410
2020-11-15 23:11:58 +01:00
Joachim Henze c0203045bf [0.4.9][COMCTL32] Fix regression with disabled menubar buttons in IDA5free CORE-14209
PR #1599 "[COMCTL32] Saturated images: Take mask-images in account."
Many Thanks to the patches author
Andreas Maier <staubim@quantentunnel.de>
JIRA-nick: andy-123

CORE-14209 IDA5free issue with disabled menubar buttons
regressed by SVN r66418 == git
8370f15813

The patch also improves the rendering of disabled menubar buttons for SumatraPDF CORE-10601.

Even after the patch we are not perfect at deciding when to draw masked
and when to draw desaturated in 32bpp, but it definitely improves end users experience.

Fix picked from 0.4.13-dev-881-g
4093681ad0
and as preparation 0.4.13-dev-880-g
49a797543f
2020-11-14 18:56:15 +01:00
Mark Jansen 55da9b9c07 [0.4.9][FONT][WIN32SS] Include the style name in the registry key CORE-14044
CORE-14044 Symptom "Installing MS Tahoma did not longer replace Tahoma.ttf, just Tahomabd.ttf"

It regressed by SVN r73900 == git
d5f4f99b0e

Thanks to Doug Lyons for pinpointing the issue.

fix picked from commit 0.4.11-dev-311-g
3d44f79e3e
2020-11-13 14:20:22 +01:00
Joachim Henze b4767f237a [0.4.9][COMCTL32] Address regression CORE-14622
"Avira Antivir Personal 6.35.00.243" had issues painting its
setup wizard dialog with correct background color.
That part was a regression of SVN r74136 == git
b1b42795a9

and also did not draw its umbrella bmp, which did never work
in ros up to now afaik.

https://reactos.org/testman/compare.php?ids=69394,69478 VBOX
https://reactos.org/testman/compare.php?ids=69395,69479 KVM

Thanks to patches author Doug Lyons and HBelusca.

Wine has been reported to be affected by that bug as well:
https://bugs.winehq.org/show_bug.cgi?id=46636
Not sure whether our patch will be accepted by Wine,
to my naive eye this looks like an interim solution.

fix picked from commit 0.4.14-dev-107-g
f2f833c53c
2020-11-13 00:44:10 +01:00
Joachim Henze 07ff621b4b [0.4.9][CONUTILS] Fix regression with file redirection of 'more' CORE-14592
In ConWrite(), emit an \r when a \n is encountered but not already preceded by \r.

And, don't emit \r\n when an \r alone is encountered.
This fixes the problem of extra newlines appearing when redirecting
"more" output to a file.

It regressed somewhere in between SVN [r68849-r73441], most likely with some
commit that touched 'conutils' or 'more'.

fix picked from commit 0.4.11-dev-1-g
b277cbdf22
2020-11-11 17:39:36 +01:00
Joachim Henze 144976843a [0.4.9][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:14:17 +01:00
Joachim Henze 64ccae4b26 [0.4.9][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:41:30 +01:00
Katayama Hirofumi MZ 913c11aaa7 [0.4.9][SHELL32] Fix SHFileOperation Move operation (#1487)
Reduce failures of Move operation of shell32!SHFileOperation function. CORE-13450

And also fixes regression CORE-13176 "Drag and drop with multiple files is broken"
which regressed by SVN r74380 == git
fd91fe3337

fix picked from commit 0.4.12-dev-1080-g
c65156002c
2020-11-09 12:58:29 +01:00
Joachim Henze 763e08ed5e [0.4.9][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:17:07 +01:00
Joachim Henze bf8cbe2769 [0.4.9][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:54:16 +01:00
Joachim Henze 2a9249b546 [0.4.9][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:13:21 +01:00
Joachim Henze 8377b4fd23 [0.4.9][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
2020-10-31 20:19:52 +01:00
Joachim Henze fcd06d286b [0.4.9][NTOSKRNL] Restore section layout for NTOSKRNL to fix BSOD regression CORE-14683
Thomas Faber thinks that it's a bit more
safe to just move "after .rsrc" instead of the proper "after .reloc".
A temporary tribute until ROSBE-154 will be fixed properly.

For now we use this just for NTOSKRNL, but not for drivers yet, see
MODULE TYPE sdk/cmake/gcc.cmake
As using also for drivers would immediately lead to BSODs like CORE-16183.
To allow installing DVDWritenow without BSOD,
we need the script at least for ntoskrnl!

The regression was introduced by SVN r55835 == git
6ebf8c2537

This patch (after .rsrc) was already committed into 0.4.15-dev-220-g
d28677795e
2020-10-31 16:39:40 +01:00
Joachim Henze 6d872b3e7e [0.4.9][EXPLORER] systray notification area - icon crosstalk on NIS_SHARED or NIS_HIDDEN CORE-14262
Fixes a regression introduced by SVN r68893 == git 332652615a
Symptom "TightVNC Server may show a doubled icon and/or corrupts its neighbor icon in the systray"
Fix picked from 0.4.13-dev-481-g8d6c9e8
------------------
I allowed myself to also port the fix for some TRACE-loggings missing ending "\n".
That second regression was introduced during 0.4.8-dev'ing when substantial parts of this code
were moved from trayntfy.cpp into syspager.cpp.
releases/0.4.7 was not affected by that yet.
That 2nd fix was picked from 0.4.13-dev-480-g7796df3
2020-10-24 21:10:01 +02:00
Thomas Faber 65c7d4a17b [0.4.9][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:55:56 +02:00
Timo Kreuzer ca8fbad361 [0.4.9][NTOS] Fix a regression in the PE loader CORE-11717
which caused images to be loaded up to MmHighestUserAddress,
thus overwriting the shared user page.

This is now fixed by using MM_HIGHEST_VAD_ADDRESS as the margin instead.
This commit allows again to load WIN32K.sys of Win2K3SP2
which regressed by SVN 67793 == git
3565260212

fix cherry picked from commit 0.4.14-dev-143-g
56da95671c
2020-10-22 15:50:57 +02:00
Joachim Henze 995d69c8d7 [0.4.9][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:06:29 +02:00
Joachim Henze d351b32bdb [0.4.9][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:46:39 +02:00
Joachim Henze e8cc477de5 [0.4.9][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
- for 0.4.10rls: 0.4.10-release-6-g58f9e1e
2020-10-08 17:53:51 +02:00
Joachim Henze 9f4fee83ab [0.4.9][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
2020-10-07 02:46:20 +02:00
Joachim Henze 59392f766f [0.4.9][MSPAINT] Revert LoadDIBFromFile for workaround (#2186) CORE-16566
This fixes the regression of mspaint not being able any longer to
overwrite an existing file.
The regression was once introduced by
0.4.7-dev-118-g
44fc547ffa
when trying to determine the resolution on load.

Our new fix does cover both issues and even reduces imports: win-win.

fix cherry picked from commit 0.4.14-dev-691-g
be40a0e296
2020-10-06 03:24:52 +02:00
Joachim Henze 9c4feddb23 [0.4.9][WINED3D] Workaround regression CORE-15408
Many 3D applications crashed with 'WineD3D fake window' msgbox
if they were used in VirtualBox with graphics driver
'VBoxDisp.sys from VM guest additions + installed 3D acceleration'

That was a regression of SVN r75847 == git 0.4.7-dev-319-g
3d13ed394e

Contrary we had no such issues with the SW emulation.
The reason for the bug is that
VBoxDisp only supports OpenGL 2.1 (GLSL 120) and WineD3D
tried to use shaders for OpenGL 3.2 (GLSL 150).

This workaround disables the usage in a hard-coded way for
all graphics adapters. Should be ok for now, as ros does not
really support any modern GPU drivers yet.
Proper working runtime detection would be better ofc.

Thx to Doug Lyons & Fabian Maurer

Fix cherry picked from 0.4.14-dev-113-g
082f230ac7
2020-10-04 17:11:45 +02:00
Joachim Henze f5c37a88d3 [0.4.9][NTOS:CC] Access SectionObjectPointers without lock in CcRosInitializ…
…eFileCache. CORE-14691

kmtest:NtCreateSection calls CcInitializeCacheMap with a
NULL value for SectionObjectPointers. This will cause an exception when
trying to access it, which in Windows can be handled gracefully.
However accessing it while holding ViewLock means the lock will not be
released, leading to an APC_INDEX_MISMATCH bugcheck.

This solves the problem by allocating SharedCacheMap outside the lock,
then freeing it again under lock if another thread has updated SharedCacheMap
in the mean time. This is also What Windows Does(TM).

The 100%-chance BSOD in kmtest:NtCreateSection was a regression
introduced by 0.4.10-dev-20-g
8a8cb4d890
which we once ported back into 0.4.9-RC-13-g
09f068086d
to support building ros on ros. That's why 0.4.9 is also in need of a fix.

The BSOD fix was cherry picked from 0.4.10-dev-191-g
1d398057a3
2020-10-04 12:52:08 +02:00
Joachim Henze d172937b63 [0.4.9][GDIPLUS] Fix a regression painting gradient CORE-15479
patch is import of Wine commit 0937186f7d15fed60f77fa2014d650f4d0b6b20b
by Nikolay Sivov

regression was introduced by SVN r75872 == git 0.4.7-dev-344-g
c6f32e4a5f

fix cherry picked from 0.4.12-dev-360-g
daadcc6141
2020-10-03 23:21:57 +02:00
Joachim Henze 2b20379851 [0.4.9][CDFS_NEW] Make windows gcc release build compile CORE-15659
This fixes a regression introduced by 0.4.8-dev-164-g
ec6b3ecbe4
when the new driver was activated for compiling.

Many thanks to Thomas Faber, Pierre Schweitzer, Serge Gautherie

The fix is squashed backport of commit 0.4.12-dev-431-g
bccad87f3c
and commit 0.4.12-dev-432-g
3463b2db9f
2020-10-03 19:33:17 +02:00
Joachim Henze d33c3420ee [0.4.9][RICHED20] Revert ocr_reverse.cur to fix CORE-15190
Old cursor looks better.
We revert to SVN state r75895 and note the diff for Amine
so that the wrong version won't come back in the future.

Old file is just 326bytes while the one that we do not want is 33.134bytes
which means we will save some RAM as well.

The regression was introduced by SVN r75896 == 0.4.7-dev-368-g
ec29185ee5

fix cherry picked from 0.4.11-dev-634-g
ad34c91d1c
2020-10-02 16:53:26 +02:00
Joachim Henze a920a9672c [0.4.9] [SDK] Remove 'RC' from version.cmake 2018-07-12 17:37:32 +02:00
Serge Gautherie 3eb03ef9ce [0.4.9] cherry-pick [SYSSETUP] Fix a DPH report about dwPageCount
- "(sdk/lib/rtl/heappage.c:1329) corrupted suffix pattern"
  detected at
  "dll/win32/syssetup/wizard.c:2672 (InstallWizard)"
- Add an ASSERT(), as hinted by Mark Jansen.

(cherry picked from commit 1668527acf)
2018-06-19 21:00:11 +02:00