From 979af5a8a29074ec4d48ae1df2a24dbaa9321c0c Mon Sep 17 00:00:00 2001 From: John Scipione Date: Thu, 15 May 2014 17:40:06 -0400 Subject: [PATCH] IFSSaver: Don't DirectDraw for preview. The ScreenSaver window is now a BDirectWindow, but, _DrawFractals() makes the assumption that a direct window means that the screen saver is running full screen, so, we need to make sure we draw the preview using the DrawBitmapAsync() method. Fixes #10832 --- src/add-ons/screen_savers/ifs/IFSSaver.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/add-ons/screen_savers/ifs/IFSSaver.cpp b/src/add-ons/screen_savers/ifs/IFSSaver.cpp index 8291f4ae12..0d5d349ead 100644 --- a/src/add-ons/screen_savers/ifs/IFSSaver.cpp +++ b/src/add-ons/screen_savers/ifs/IFSSaver.cpp @@ -220,9 +220,8 @@ IFSSaver::DirectDraw(int32 frame) if (frame == 0) fLastDrawnFrame = -1; - int32 frames = frame - fLastDrawnFrame; - if (fDirectInfo.bits != NULL) { - fIFS->Draw(NULL, &fDirectInfo, frames); + if (!fIsPreview && fDirectInfo.bits != NULL) { + fIFS->Draw(NULL, &fDirectInfo, frame - fLastDrawnFrame); fLastDrawnFrame = frame; } }