Commit graph

72183 commits

Author SHA1 Message Date
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
Joachim Henze 9d758ae1cd [0.4.9] [COMCTL32] Fix regression CORE-14671
Fixes the icons on some buttons being flipped vertically.
Known affected apps: Lazarus IDE, Double Commander, Peazip.

Thanks to patches author Doug Lyons.
The patch is new and has not been committed to master yet.
2018-06-19 20:56:21 +02:00
Pierre Schweitzer ea76ef8477 [0.4.9] cherry-pick [FASTFAT] Properly check for buffer size on dir enumeration.
This avoids improper returns when multiple entries are requested
and, in rare circumstances, entries not being seen by umode.

CORE-14699

(cherry picked from commit 01e2877161)
2018-06-07 20:57:47 +02:00
Joachim Henze fb0fd2b462 [0.4.9] cherry-pick [COMCTL32] Simplify some ifdefs CORE-14649
Addendum to 16d6c9b5e0
Giannis suggested and Thomas explained:

Before the Wine sync, comctl32/button.c was based on ROS's
user32/button.c, so _USER32_ would highlight changes between
user32 (originally based on Wine) and comctl32. Now our
comctl32/button.c is based on Wine's comctl32/button.c, so
__REACTOS__ is enough.

(cherry picked from commit 1c151c9977)
2018-06-03 14:40:20 +02:00
Hermès Bélusca-Maïto 09c64b5982 [0.4.9] cherry-pick [CMD] Improve the situations when the console title can be changed.
- Introduce two small helpers to change and restore the console title.
- Console title can change even when internal commands are executed.
- Note that when commands are run from within batch files, title is unchanged.
- When "cmd.exe /c command" is run, the console title is unchanged; however
  when "cmd.exe /k command" is run, the console title changes.

(cherry picked from commit a165999067)
picked to fix CORE-14648 which was the last puzzle-piece to build ros on ros
2018-06-03 14:40:01 +02:00
Hermès Bélusca-Maïto 9a6be75d5f [0.4.9] cherry-pick [CMD] Print a newline after the interactive 'pause' command message finishes to run.
(cherry picked from commit 39af25024a)
2018-06-03 14:37:45 +02:00
Pierre Schweitzer 7b3affa096 [0.4.9] cherry-pick [CRT] Reimplement qsort() using FreeBSD implementation.
Our implementation had a bug that could be triggered while
building our USBD library on ReactOS: the compare function
could be called with a NULL pointer instead of a valid value.

With this bug fixed (and the cmd hack in CORE-14648), ReactOS
can totally selfhost :-)! I was able to build LiveCD and BootCD
without any trouble, crash, deadlock or whatever.
(Next step: having a buildbot slave hosted on ReactOS ;-)).

Enjoy: https://twitter.com/HeisSpiter/status/1002880397103988737

CORE-14680

(cherry picked from commit 2dfe5e3f46)
2018-06-03 14:37:28 +02:00
Joachim Henze b2a415edc2 [0.4.9] cherry-pick [ZIPFLDR] Fix text-cutoff + improve de-DE CORE-14682
(cherry picked from commit ea42633bed)
2018-06-02 22:09:05 +02:00
Joachim Henze 39f5e56a29 [0.4.9] [NFSD] Apply a hack to avoid CORE-13498
Committing into rls was requested by Pierre.
The hack allows to startup nfsd even when getnameinfo() fails.
2018-06-02 13:23:06 +02:00
Joachim Henze 4268605cb9 [0.4.9] cherry-pick [COMCTL32] Fix regression CORE-14649
Fixes a regression that was introduced by Wine Staging 3.3 Sync.
Symptom was missing button text and icons for specific buttons
in Delphi applications, e.g. Double-Commander, Lazarus, Peazip.
The patch restores and ifdef-guards previous changes of Giannis.

(cherry picked from commit 16d6c9b5e0)
2018-06-02 12:38:19 +02:00
Pierre Schweitzer 98e87bcafd [0.4.9] cherry-pick [FASTFAT] Lock DirResource on flush in case we're updating entry
CORE-14660

(cherry picked from commit 9f3169b295)
2018-05-28 19:44:27 +02:00
Pierre Schweitzer ae5aa9cd8b [0.4.9] cherry-pick [VFATLIB] Only attempt to clear the dirty set bit in rw mode.
(cherry picked from commit 59dc951bf7)
2018-05-28 19:44:17 +02:00
Joachim Henze 519cdd3c52 [0.4.9] [SDK] Change gcc baseaddress for user32.dll to fix CORE-12752
Giving this risky fix a chance.
It reliably prevents the conflict between MSVCP71.dll
& our user32.dll (that can't be relocated by design).
But we'll have to check very carefully that this
patch does not break anything else.
2018-05-27 14:16:03 +02:00
Pierre Schweitzer 367cb1fff3 [0.4.9] cherry-pick [FASTFAT] Lock DirResource when modifying an entry on disk.
Likely not optimal, but fixes some races conditions where
the directory is uninit in the middle of the write.

(cherry picked from commit fc788cf2fd)
2018-05-27 12:58:00 +02:00
Benedikt Freisen 8b45da6d3d [0.4.9] cherry-pick [MSPAINT] When clicking selection, invalidate _and_ repaint Scroll Client _and_ Image Area
Previously, the canvas disappeared when a selection was clicked until the mouse was moved.

CORE-13288 & CORE-10053

(cherry picked from commit cca1a3f47f)
2018-05-27 12:57:03 +02:00
Benedikt Freisen 49687637b3 [0.4.9] cherry-pick [MSPAINT] Store subsequent changes to file selected via Save As
Paint has erroneously been storing subsequent changes to Unnamed.bmp

CORE-13291

(cherry picked from commit 97025c3e06)
2018-05-27 12:56:34 +02:00
Joachim Henze d33b71e9d4 [0.4.9] [WINHTTP] Revert to SVN r75943 to fix regression CORE-13952
Our RCs were still affected by that regression.
The revert allows to run the current Online! setup
of Flash-Player 29.0.0.171 to download.
(I was able to watch a flash video in Opera 12.18 afterwards.)
2018-05-26 17:00:47 +02:00
Pierre Schweitzer c71d198fd8 [0.4.9] cherry-pick [FASTFAT] Initialize cache if neded for changing volume label.
CORE-14654

(cherry picked from commit 47b9db9d02)
2018-05-26 14:13:17 +02:00
Stanislav Motylkov a757a3fb04 [0.4.9] cherry-pick [MSPAINT] Fix call sequence in OnRButtonUp
This fixes unexpected undo action when zooming out with right mouse
click.

The call sequence in OnLButtonUp is already correct.

CORE-14539

(cherry picked from commit 1007a2e0f9)
2018-05-26 14:13:11 +02:00
Stanislav Motylkov 16d7d9d27c [0.4.9] cherry-pick [MSPAINT] Fix divide by zero in drawZoomFrame
CORE-14539 #resolve

(cherry picked from commit 8c726ae0d2)
2018-05-26 14:13:05 +02:00
Stanislav Motylkov 22a0c675ba [0.4.9] cherry-pick [MSPAINT] Fix copy-pasta bug (#562)
This would fix setting image height via Attributes dialog and help fixing CORE-14539.
(cherry picked from commit e27d5d2efc)
2018-05-26 14:12:59 +02:00
Pierre Schweitzer 9bccee3237 [0.4.9] cherry-pick [NTOSKRNL] Addendum to 8a8cb4d: don't print uninit pointer.
(cherry picked from commit 2cf9a69bce)
2018-05-26 14:12:49 +02:00
Pierre Schweitzer 09f068086d [0.4.9] cherry-pick [NTOSKRNL] Only consider SharedCacheMap value once ViewLock is acquired.
This avoids a really nasty race condition in our cache controler where
two concurrents could try to initialize cache on the same file.
This had two nasty effects: first shared map was purely leaked and erased
by the second one. And the private cache map, allocated on the first shared
cache map couldn't be freed and was leading to Mm BSOD (free in a middle of
a block).

This was often triggered while building ReactOS on ReactOS (with multi threads).
With that patch, I cannot crash anylonger while building ReactOS.

CORE-14634

(cherry picked from commit 8a8cb4d890)
2018-05-26 14:12:42 +02:00
Pierre Schweitzer bf2d787a94 [0.4.9] cherry-pick [FASTFAT] Properly handle IRPs that can wait and these that cannot.
CORE-14634

(cherry picked from commit b4363068d1)
2018-05-26 14:12:36 +02:00
Pierre Schweitzer 07a13ca67c [0.4.9] cherry-pick [FASTFAT] Properly queue pending write IRPs.
Addendum to 30b836b

(cherry picked from commit e9e14be661)
2018-05-26 14:12:29 +02:00
Pierre Schweitzer 4af12f40ca [0.4.9] cherry-pick [FASTFAT] When extending a file, also lock the DirResource.
This avoids race conditions under high IOs and thus corruption on
the FS, or assertions failures in the kernel.
Easily triggered by building ReactOS on ReactOS ;-).

(cherry picked from commit 30b836bf3f)
2018-05-26 14:12:22 +02:00
Joachim Henze a04d7c300e [0.4.9] [WINE DIRECTX] Sledge-hammer-revert to avoid CORE-14534
This commit reverts
dll/directx/wine/* and
sdk/include/reactos/wine/wined3d.h
to the state of 0.4.8rls.

The current state of Ddraw without this revert is totally broken,
so we need this interim solution. I will happily replace it with
a proper fix if someone finds one until release.
2018-05-21 17:14:08 +02:00
Joachim Henze 4de8a0d96f [0.4.9] revert [NTDLL/LDR] Overhaul sxs work
This reverts commit 0.4.8-dev-502-g
7000fe2340.

This reverts commit 0.4.8-dev-503-g
f318a25e10.

The two changes were done once to work towards better
shim-supporting APIs of newer Windows versions on demand
in the future. Luckily we do not depend on them yet.

Giannis already fixed most regressions of the 2 commits
before branching 0.4.8RC (e.g. 2nd stage theme-selector).

Unfortunately we still have issues atm with the existing mixture
of Wine comctl32 v5 vs v6.
The image-lists of both are not compatible as Giannis told us.

We revert both commits for this release to fix CORE-14433
(missing icons due to incompatible image-lists). We can not
simply add a manifest here, because 3rd party apps are affected.

I double-checked, all of those (formerly affected) apps
are working fine and show the icons after the revert:
2nd-stage-theme-selection, MS Excel Viewer 2007 open-dlg,
MSVCPP 6 installer open-dlg, FaxViewer save-dlg,
MS Word Viewer 2003 open-dlg

This revert also obsoletes works/fixes like
2f11904000.

(cherry picked from commit 11bf8fa047)
2018-05-20 23:40:47 +02:00
Joachim Henze ad20c37358 [0.4.9] [SETUPAPI] Apply yet uncommitted fix for CORE-12616 PR-408
This commit was *not* committed to master yet.
I'll leave the ticket unresolved until it'll be.

This fixes a regression introduced in SVN r73442:
Our setup created undesired temporary files and left them
in the temp folder. Also we saw a slight one-time-increase
in memory consumption.

This patch was the work of Carlo Bramini
He proposed the fix on 2016-12-30 already.

There are ongoing discussions about an alternative approach
to the initial problem that SVN r73442 tried to address.
Serge Gautherie can and shall be evaluate that alternative
later during 0.4.10dev.

For now many thanks to Carlo Bramini for this fix.

(cherry picked from commit dba2f743c5)
2018-05-20 22:50:15 +02:00
Joachim Henze 4127f70e94 [0.4.9] [RDBSS] avoid CORE-13938
Pierre recommended this hack-fix for 0.4.8rls before.
Avoids "GetVolumeInformation now fails on NFS volume"

I will not retest any RDBSS functionality myself in my tests,
maybe some other tester would be kind enough to retest this?

Please note that I replaced #if 0 with #if 1
as discussed with Pierre. That's different to the patch in ticket.

(cherry picked from commit 1906186e83)
2018-05-20 22:49:26 +02:00
Joachim Henze 6ce8028f87 [0.4.9] [AFD] Apply unfinished patch to avoid BSODs CORE-14048 & CORE-12520
Fixes BSODs when starting Deluge Torrent 1.3.12.1 & QBitTorrent 3.2.0
due to running "Out of NP Expansion Pool"

This patch is still WIP of ThFabba.

like in 0.4.8 before

(cherry picked from commit 6b8b704e6f)
2018-05-20 22:48:46 +02:00
Joachim Henze c19ce9549a [0.4.9] [USP10] Apply unfinished patch to avoid CORE-14226
Thomas linked the patch in Wine Bug 44410
I tested it for some weeks without noticing any side-effects.
It avoids text rendering regressions in some setups like UltraISO

like in 0.4.8 before

(cherry picked from commit 937c2615e6)
2018-05-20 22:47:53 +02:00
Thomas Faber f926d742d5 [0.4.9] Revert r73436 to avoid trouble with VirtualBox Guest Additions. CORE-13172 CORE-12700 CORE-12765
like in 0.4.8 before

(cherry picked from commit 766ef24948)
2018-05-20 22:47:19 +02:00
Joachim Henze 7f96f90110 [0.4.9] [CDFS_NEW] Mute continuable assertion to avoid CORE-14067
like in 0.4.8 before

(cherry picked from commit 51f9494d48)
2018-05-20 22:46:42 +02:00
Thomas Faber d46570474a [0.4.9] cherry-pick [WIN32SS] Mask WndProc exceptions to hide all tickets linked to CORE-11915
e.g. this allows using MsDepends

(cherry picked from commit 9274859438)
cherry-picked by Joachim Henze
2018-05-20 21:31:53 +02:00
Joachim Henze e7e831a6ff [0.4.9] Branch releases/0.4.9 & change KERNEL_VERSION_BUILD_TYPE "RC"
as first commit before! adding the git-tag
2018-05-20 20:31:06 +02:00