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
Fixes symptom "mouse pointer vanishes when closing
applications via x in title-bar"
The bug in WIN32SS was unhidden by SVN r65496 == git
5c1a8109c8
, when we introduced explorer_new. The old explorer
had a workaround built within.
Many thanks to patches author James Tabor.
cherry picked from commit 0.4.14-dev-1012-g
820dbfccd0
In PDEVOBJ_vRefreshModeList, find a proper match for the current
display mode instead of assuming a constant index.
Both tickets CORE-15325 & CORE-14684 regressed by SVN r74404
384affe098
fix cherry picked from commit 0.4.13-dev-456-g
00e882c2b1
Many thanks to the patches author Thomas Faber.
With this commit we sync PDEVOBJ_vRefreshModeList() to the state I used in 0.4.12rls and 0.4.13rls.
This patch does fix:
- regression CORE-15325 "Pocket Tanks 1.6 not filling the whole screen because it does not switch its resolution when coming from desktop res 1024x768 32bpp"
- regression CORE-14684 "Fall 0.1.3 opens just a white window instead of content when started with desktop resolution 1024x768 32bpp"
- regression "Globulation 2 0.9.4.4 not filling the whole screen when configured to use fullscreen and running it from desktop resolution 1024x768 32bpp"
but also helps to fix the last app that was still affected by CORE-14363 "systray icons do flash through now when an app is running in fullscreen".
CORE-14363 actually was fixed for >95% of the apps already by my last commit into the releases, but there was an outlier that does require Thomas patch additionally, that was:
- "Pengupop 2.2.3 when being run from desktop with 1024x768 32 bpp"
I committed it beforehand:
- for master: 0.4.13-dev-456-g00e882c
- for 0.4.12rls: 0.4.12-RC-34-gec3cc13
- for 0.4.11rls: 0.4.11-release-4-g11e0b0b
- for 0.4.10rls: 0.4.10-release-6-g58f9e1e
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
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
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
…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
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
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
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
- "(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)
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.
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)
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)
- 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
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)
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)
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.
Previously, the canvas disappeared when a selection was clicked until the mouse was moved.
CORE-13288 & CORE-10053
(cherry picked from commit cca1a3f47f)
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.)
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)
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)
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)
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.
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)
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)
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)
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)
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)