From ae219f104edebc56f1c7b572caeb1da990e23706 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Sun, 7 May 2006 17:00:32 +0000 Subject: [PATCH] Reverted the wrong part of Marcus' earlier patch. However, I made it a bit more safe in the sense that it no longer clobbers fDisplayMode in case B_GET_DISPLAY_MODE fails. This fixes bug #564 resp. #566. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17353 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/app/drawing/AccelerantHWInterface.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/servers/app/drawing/AccelerantHWInterface.cpp b/src/servers/app/drawing/AccelerantHWInterface.cpp index 1896700b39..5d9b2e9b6d 100644 --- a/src/servers/app/drawing/AccelerantHWInterface.cpp +++ b/src/servers/app/drawing/AccelerantHWInterface.cpp @@ -383,12 +383,19 @@ AccelerantHWInterface::SetMode(const display_mode &mode) // just try to set the mode - we let the graphics driver // approve or deny the request, as it should know best - display_mode new_mode = mode; - if (fAccSetDisplayMode(&new_mode) != B_OK) { + + display_mode newMode = mode; + + if (fAccSetDisplayMode(&newMode) != B_OK) { ATRACE(("setting display mode failed\n")); - return B_ERROR; + // We just keep the current mode and continue. + // Note, on startup, this may be different from + // what we think is the current display mode + if (fAccGetDisplayMode(&newMode) != B_OK) + return B_ERROR; } - fDisplayMode = new_mode; + + fDisplayMode = newMode; // update frontbuffer fFrontBuffer->SetDisplayMode(fDisplayMode);