https://git.reactos.org/?p=reactos.git;a=commitdiff;h=1928e170f269cd300ff86…
commit 1928e170f269cd300ff86f022d03c356251f1f57
Author: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org>
AuthorDate: Tue Dec 24 16:13:10 2019 +0100
Commit: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org>
CommitDate: Tue Dec 24 16:13:10 2019 +0100
[BLUE] Fix a visual regression introduced in bfd8a848: Don't touch INBV when
resetting internal screen state during driver loading.
---
drivers/setup/blue/blue.c | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/drivers/setup/blue/blue.c b/drivers/setup/blue/blue.c
index e9accab60e8..2558506fb53 100644
--- a/drivers/setup/blue/blue.c
+++ b/drivers/setup/blue/blue.c
@@ -279,9 +279,12 @@ ScrInbvCleanup(VOID)
// HANDLE ThreadHandle;
// ResetDisplayParametersDeviceExtension = NULL;
- InbvNotifyDisplayOwnershipLost(NULL);
- ScrResetDisplayParametersEx(80, 50, FALSE);
- // or InbvAcquireDisplayOwnership(); ?
+ if (ResetDisplayParametersDeviceExtension)
+ {
+ InbvNotifyDisplayOwnershipLost(NULL);
+ ScrResetDisplayParametersEx(80, 50, FALSE);
+ // or InbvAcquireDisplayOwnership(); ?
+ }
#if 0
// TODO: Find the best way to communicate the request.
@@ -1323,9 +1326,10 @@ DriverEntry(
Status = IoCreateSymbolicLink(&SymlinkName, &DeviceName);
if (NT_SUCCESS(Status))
{
- /* By default disable the screen */
- ResetDisplayParametersDeviceExtension = DeviceObject->DeviceExtension;
+ /* By default disable the screen (but don't touch INBV:
ResetDisplayParametersDeviceExtension is still NULL) */
ScrResetScreen(DeviceObject->DeviceExtension, TRUE, FALSE);
+ /* Now set ResetDisplayParametersDeviceExtension to enable synchronizing with
INBV */
+ ResetDisplayParametersDeviceExtension = DeviceObject->DeviceExtension;
DeviceObject->Flags &= ~DO_DEVICE_INITIALIZING;
}
else