Commit graph

70035 commits

Author SHA1 Message Date
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 91b9815658 [0.4.7][FFS] Silence some only-informative KdPrints.
picked from 0.4.13-dev-924-g 4016225269
2020-12-21 07:56:15 +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 f9f3f85a86 [0.4.7][NTOSKRNL] Demote some noisy dprints
picked from 0.4.13-dev-988-g 1539fb1414
2020-12-21 06:20:31 +01:00
Joachim Henze 4d93228e44 [0.4.7][SDK] Add UNIMPLEMENTED_ONCE macro
picked in squashed form from
0.4.8-dev-650-g 81eb3bbceb
0.4.9-dev-622-g c704cf5f87

I also ported that into all other release-branches >= 0.4.8 before.
The same MSVC-rls-fixed implementation.
2020-12-21 06:01:13 +01:00
Joachim Henze 20594d8134 [0.4.7][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:27:34 +01:00
Joachim Henze 655057b2a8 [0.4.7][FREELDR] i386vid.c: Downgrade 3 ERR() to WARN(). CORE-13496
which effectively mutes them.
Silence harmless errors, which can be reported at every boot.
And do get logged even before the "-------------" reboot-delimiter.

inspired by 0.4.8-dev-875-g b5a7765068
I decided to just switch to WARN for the backport,
but to not enlarge the strings contents/lengths.
2020-12-21 03:50:59 +01:00
Joachim Henze a476b1033d [0.4.7][SETUPAPI] Demote some noisy dprints
picked from 0.4.13-dev-987-g 4872912eb2
2020-12-21 02:23:26 +01:00
Joachim Henze abdb683fbb [0.4.7][SETUP] Silence some noisy DPRINT1
picked from 0.4.12-dev-260-g 0150bb964a
2020-12-21 00:24:24 +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 061e485b62 [0.4.7][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 00:14:57 +01:00
Joachim Henze 835b508a1d [0.4.7][SDK] GCC baseaddress update
Addendum to 0.4.7-release-38-g ec85d9c62b
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:37:38 +01:00
Joachim Henze 0bf7c332e0 [0.4.7][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 03:36:51 +01:00
Joachim Henze f3b4b005bf [0.4.7][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:08:55 +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 f83e5e9dd3 [0.4.7][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:17:48 +01:00
Joachim Henze 235ab4ad86 [0.4.7][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 afterward 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
0.4.9-dev-248-g 8dba275
0.4.9-dev-120-g 004d830fe9 [INCLUDE/WINE] Import heap.h from Wine Staging 3.3
0.4.8-dev-722-g 3381ee4
2020-11-30 06:48:55 +01:00
Joachim Henze 227fc45abc [0.4.7][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:03:15 +01:00
Joachim Henze 806c23d33c [0.4.7][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:47:51 +01:00
Joachim Henze e97d99cdf6 [0.4.7][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 14:18:42 +01:00
Joachim Henze b4f3d7a575 [0.4.7][USP10] Significantly speed up the text rendering
-fixes CORE-14192 Notepad text rendering performance improves dramatically
-fixes 50% of CORE-13631 GSView Setup, dramatic speedup, but only partially solved because the jumping does persist
-fixes CORE-14002 "It takes 8seconds to open up about dlg of DevCPP 5.11" reduces to 2seconds
-fixes "about-dlg of DoubleCommander takes long to open"

[USP10] Re-use script caches for the same font. CORE-14192
This significantly speeds up WM_SETTEXT in multiline edit controls.
by porting back the fix from 0.4.8-dev-779-g cd992d022f
-----------------------------------------------------------
but since that commit on its own would introduce the regression CORE-14226
I have to additionally port back 0.4.12-dev-151-g c086edf366
That 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
-------------------------------------------------------------
and I have to sync the
modules\rostests\winetests\usp10\usp10.c to the state of 0.4.8-release-30-gfb23ed8
2020-11-15 23:22:02 +01:00
Thomas Faber 8632b23f79 [0.4.7][IP] Silence "TCP operation failed" debug spam. CORE-17369
fix picked from commit 0.4.8-dev-1078-g ad68422a7b
2020-11-15 18:37:24 +01:00
Hermès Bélusca-Maïto 555ef9cdc4 [0.4.7][EXPLORER] Handle WM_CONTEXTMENU message in CNotifyToolbar and BN_CLICKED notification in CSysPagerWnd.
With these, we generate the WM_CONTEXTMENU and NIN_(KEY)SELECT
shell icon notifications that applications expect when they handle
shell notification icons with uVersion >= 3.

This fixes in particular the previously unresponsive icon of KVIrc 4.x,
and more generally *all* the notification icons of Qt applications.
CORE-10605 #resolve

fix picked from 0.4.9-dev-587-g 4127024b0d
2020-11-15 12:51:48 +01:00
Joachim Henze 86ab907e82 [0.4.7][EXPLORER] A massive upgrade
This squashed commit ports back almost all improvements
we did to explorer during 0.4.8-dev.
Main motivation is:
-fixing tons of bugs painting the systray icons, e.g. (but not exclusively) CORE-11378
-and to fix a regression about clock margins CORE-14272
-and the clocks vertical text placement
-Win+E behavior CORE-14199

Here is a list of the commits I ported back:

[PSDK] shellapi.h
0.4.8-dev-1053-g 8b78b0ff98
0.4.8-dev-982-g a64c33e787
0.4.8-dev-970-g 9d2139b7d8

[SHELL32]/[REACTOS]/[EXPLORER]
0.4.8-dev-984-g 131678a025
0.4.8-dev-971-g 5ecabcce59

[EXPLORER]
0.4.8-dev-1065-g f1535c2d6e tiny part of CORE-14306
0.4.8-dev-1064-g abdde0b764
0.4.8-dev-1054-g 3003471e64
0.4.8-dev-974-g 04498f3eb5
0.4.8-dev-944-g f5d679aeb9 fixes CORE-14272 Clock Margins
0.4.8-dev-936-g 556c485c8b
0.4.8-dev-935-g d11e7af5f2
0.4.8-dev-934-g c109dc9f24
0.4.8-dev-928-g 22d1e1017f
0.4.8-dev-925-g c54c5ebb5f
0.4.8-dev-924-g 488477d10d
0.4.8-dev-923-g 85d7dd4f83
0.4.8-dev-922-g 5a1984c998
0.4.8-dev-921-g 6c073e9539
0.4.8-dev-920-g 455bce68b5
0.4.8-dev-908-g 7f35908ad2
0.4.8-dev-860-g 3d75cc0814
0.4.8-dev-853-g 5ec441a867
0.4.8-dev-852-g bc43733e48
0.4.8-dev-851-g bbca71c4a5 [EXPLORER]&[ROSCTRLS]
0.4.8-dev-789-g cb8cc0d098
0.4.8-dev-788-g be2bf9b8c5
0.4.8-dev-787-g 851e0ca5a8
0.4.8-dev-786-g 2abd068398
0.4.8-dev-785-g 8c91a00fcf
0.4.8-dev-784-g 6c9629bb72
0.4.8-dev-783-g d66c6890f7
0.4.8-dev-691-g 2c8ed37605
0.4.8-dev-690-g 74e58d938e
0.4.8-dev-669-g 4b6d929be1 fixes CORE-14199
0.4.8-dev-46-g 2ed535da8a
0.4.8-dev-21-g 82b12ef4cf
0.4.8-dev-20-g 4238f22396

For now I intentionally did leave out
0.4.8-dev-684-g 71e66c69c1
to not make explorer import oleaut32 SysAllocString()/SysFreeString().
I also did not update the translations rc files.
2020-11-15 10:59:40 +01:00
Joachim Henze b3f2a0129c [0.4.7][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:45:54 +01:00
Joachim Henze ec85d9c62b [0.4.7][SDK] Change gcc baseaddress for user32.dll to fix CORE-12752 regression
CORE-12752 Symptom "multiple programs refuse to start because
base address conflict between MSVCP71.dll
& our user32.dll (that can't be relocated by design)."

E.g:
-Photoshop CS2
-Avira Antivir 6.35.00.243 when selecting "Start update" from systray icon

It regressed by SVN r68838 == git
a9a2119c0c

The new base-address is manually crafted to same address that I used
for 0.4.9-RC-23-g
519cdd3c52
already. It is most likely not as effective in preventing
other relocations as the proper fix that was
created by a full recalculation of all dlls base addresses later in
0.4.10-dev-338-g
80bac79070

But it worked properly for me to solve CORE-12752 and today
I do fear I would have higher chances to unhide other
memory corruption bugs if I would do the proper thing.
So unless this would prove to cause any other issue, I will
stick with this minimal invasive approach for the older releases.
2020-11-13 16:46:49 +01:00
Mark Jansen 2b3b4373a7 [0.4.7][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:01:59 +01:00
Joachim Henze 5950d5bfc7 [0.4.7][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:58:39 +01:00
Colin Finck 54a9cc5964 [0.4.7][PRINTING] Squashed 2 commits to fix regression CORE-14072
Symptom CORE-14072: '1C: Enterprise 8.2 Educational Edititon can't launch anymore due to "not enough memory" error'

It regressed by SVN r74513 == git 5b6e082869
Actually the most important part of this fix are just the changes in win32ss/printing/base/winspool/printers.c func GetPrinterW()
But I felt more safe when porting back the whole 2 fix-commits including the tests:
---------------------------

[PRINTING] Fix GetPrinterW, add tests for it and GetDefaultPrinterA/W, and add a proper stub for GetPrinterDriverDirectoryA.

* Pass the correct handle to _RpcGetPrinter in GetPrinterW.
* Pass an empty string instead of a NULL pointer as wszComputerName to the GetPrinterLevel* functions, because this variable is later used as source for StringCbCopyExW.
* Don't check for GetLastError() == ERROR_SUCCESS in tests. Windows apparently only sets the last error in case of failure.
  The Printing code should probably be changed similarly in a future commit.

Should fix CORE-14072

fix picked from commit 0.4.8-dev-314-g
3a69fd4e96
----------------------------
[WINSPOOL] Convert the returned Unicode string back to ANSI in GetDefaultPrinterA.

Thanks to Mark for the hint in CORE-14072!

fix picked from commit 0.4.8-dev-300-g
45b9b5c1ef
2020-11-12 01:47:59 +01:00
Joachim Henze 30e91fd856 [0.4.7][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:41:38 +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
Katayama Hirofumi MZ 769b872e8b [0.4.7][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-03 20:32:39 +01:00
Joachim Henze 7c7520a063 [0.4.7][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:15:09 +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 acd4cf6ade [0.4.7][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:43:52 +01:00
Joachim Henze 1339608331 [0.4.7][EXPLORER] systray notification area - icon crosstalk on NIS_SHARED or NIS_HIDDEN CORE-14262
Fixes a regression introduced by SVN r68893 == git 3326526
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

and adapted it to be applicable into trayntfy.cpp for releases/0.4.7 and earlier.
This PROPERLY fixes also the historic duplicates CORE-10690, CORE-13236, CORE-13811
and makes my workaround from CORE-10257 obsolete.
2020-10-25 02:32:49 +01:00
Joachim Henze 82871d0204 [0.4.7][EXPLORER] Update bmps to improve their quality and reduce binary size
picked from 0.4.8-dev-1013-gbd7eae6
[EXPLORER] Update all preview bitmaps showing notification area
To reflect recent changes in taskbar height, icon spacing,
clock x and y margins.
Also make sure all shots show the exact same time
and choose a more localization agnostic time.
---------------------------
and picked from 0.4.8-dev-1014-g579e1e6
[EXPLORER] Update classic/modern startmenu preview bitmaps
To reflect our recent updates in banners and notification area.
Also reduces explorer binary size by 214.016bytes.
2020-10-24 20:28:28 +02: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
Timo Kreuzer 3504aa7af2 [0.4.7][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:56:36 +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