https://git.reactos.org/?p=reactos.git;a=commitdiff;h=5bb36e92c522bf94b7d39…
commit 5bb36e92c522bf94b7d399183008ca7d5f9a5356
Author: Joachim Henze <Joachim.Henze(a)reactos.org>
AuthorDate: Sat Oct 3 16:39:13 2020 +0200
Commit: Joachim Henze <Joachim.Henze(a)reactos.org>
CommitDate: Sat Oct 3 16:39:13 2020 +0200
[WDMAUD.DRV] Revert "Workaround multiple issues with AC97 driver from rapps"
This reverts commit 0.4.15-dev-791-g
6d7ebc20481a587bd19e8a8049317113071b0817
It was a workaround just. To bypass sysaudio. It had a very positive effect on
our playback performance, but using the different codepaths did also lead to
regressions, that I have no idea how to address, therefore I think it's my
personal responsibility to revert it. I guess it's better to improve on the
code-paths that we intend to use finally, instead of fixing what will
be dead paths in the future.
The revert will fix:
- CORE-17277 crash of dsound:duplex on "GCCLin_x86 on Test VBox"
- CORE-17278 crash of dsound:capture on "GCCLin_x86 on Test VBox"
- CORE-17285 Realtek HD Audio does no longer work in ReactOS
But ofc now we will suffer again from very severe things that the hack could workaround:
- CORE-13202 Unhandled exception from wdmaud.drv when recording sound in Scratch 1.4 leads to app-crash
- CORE-13488 A deadlock in "DiabloII" character selection screen and "The Lion King II"
- CORE-8726/CORE-9986/CORE-16564 AC97 driver from rapps will need reboot-orgies again, does not longer
work in the same session that we installed the driver
- CORE-9981 "DosBox + Commander Keen6" totally garbled sound output instead of music
"ScummVM 2.0 with Monkey Island 2" totally garbled sound output instead of music
- the test execution times of "GCCLin_x86 on Test VBox" will almost double
---
dll/win32/wdmaud.drv/wdmaud.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/dll/win32/wdmaud.drv/wdmaud.c b/dll/win32/wdmaud.drv/wdmaud.c
index 45308b3aff2..dfd8ea0361e 100644
--- a/dll/win32/wdmaud.drv/wdmaud.c
+++ b/dll/win32/wdmaud.drv/wdmaud.c
@@ -18,7 +18,6 @@
#include <debug.h>
#include <mmebuddy_debug.h>
-#define USE_MMIXER_LIB
#ifndef USE_MMIXER_LIB
#define FUNC_NAME(x) x##ByLegacy
#else
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=c947eb4d176603e0ff292…
commit c947eb4d176603e0ff29217c079d8f5e1c2119e1
Author: Joachim Henze <Joachim.Henze(a)reactos.org>
AuthorDate: Sat Oct 3 15:38:02 2020 +0200
Commit: Joachim Henze <Joachim.Henze(a)reactos.org>
CommitDate: Sat Oct 3 15:38:02 2020 +0200
[COMCTL32] Button.c Fix CORE-17260
Press'n'Hold of a button, then leaving the button rect
should redraw the button in unpressed state
Thanks to JIRA user 'I_kill_Bugs' for perfecting
my initial experiments to fix that.
It regressed by 0.4.9-dev-719-g
b3fb8555bf9abcc04eeac31c7153d33e2f027fc0
No need to sync anything with Wine, their code is
correct on Wine head. The bug was in ros specific diff.
---
dll/win32/comctl32/button.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/dll/win32/comctl32/button.c b/dll/win32/comctl32/button.c
index db207499e67..095515c2775 100644
--- a/dll/win32/comctl32/button.c
+++ b/dll/win32/comctl32/button.c
@@ -854,7 +854,6 @@ static LRESULT CALLBACK BUTTON_WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, L
mouse_event.dwHoverTime = 1;
TrackMouseEvent(&mouse_event);
}
- break;
#else
if (!TrackMouseEvent(&mouse_event) || !(mouse_event.dwFlags & (TME_HOVER | TME_LEAVE)))
@@ -864,6 +863,7 @@ static LRESULT CALLBACK BUTTON_WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, L
mouse_event.dwHoverTime = 1;
TrackMouseEvent(&mouse_event);
}
+#endif
if ((wParam & MK_LBUTTON) && GetCapture() == hWnd)
{
@@ -871,7 +871,6 @@ static LRESULT CALLBACK BUTTON_WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, L
SendMessageW( hWnd, BM_SETSTATE, PtInRect(&rect, pt), 0 );
}
break;
-#endif
}
#ifndef __REACTOS__
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=1c404d838a7a681f825c4…
commit 1c404d838a7a681f825c42d6bf9f317008173239
Author: Thomas Faber <thomas.faber(a)reactos.org>
AuthorDate: Sun Sep 27 16:41:34 2020 +0200
Commit: Thomas Faber <thomas.faber(a)reactos.org>
CommitDate: Sat Oct 3 13:10:09 2020 +0200
[NTDLL:LDR] Fail if section creation fails in LdrpCreateDllSection. CORE-17284
Otherwise we'd call ZwQuerySection on an invalid handle and get:
(ntoskrnl/mm/section.c:4320) Failed to reference section: 0xc0000008
Also correctly check DllCharacteristics: If the argument is missing, the
file is _not_ a system file, i.e. we should check for restrictions.
---
dll/ntdll/ldr/ldrutils.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/dll/ntdll/ldr/ldrutils.c b/dll/ntdll/ldr/ldrutils.c
index 7f04bb46055..5b1ec30e525 100644
--- a/dll/ntdll/ldr/ldrutils.c
+++ b/dll/ntdll/ldr/ldrutils.c
@@ -641,10 +641,12 @@ LdrpCreateDllSection(IN PUNICODE_STRING FullName,
/* Increment the error count */
if (LdrpInLdrInit) LdrpFatalHardErrorCount++;
+
+ goto Exit;
}
/* Check for Safer restrictions */
- if (DllCharacteristics &&
+ if (!DllCharacteristics ||
!(*DllCharacteristics & IMAGE_FILE_SYSTEM))
{
/* Make sure it's executable */
@@ -683,6 +685,7 @@ LdrpCreateDllSection(IN PUNICODE_STRING FullName,
}
}
+Exit:
/* Close the file handle, we don't need it */
NtClose(FileHandle);