From 786171e0126482558f7e18d0921d6c872d8d37aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Sun, 6 Jun 2010 14:05:04 +0000 Subject: [PATCH] * Locks fLocker when drawing. This avoids a cleanup while drawing (fixes bug #6138). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37035 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/screen_savers/ifs/IFSSaver.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/add-ons/screen_savers/ifs/IFSSaver.cpp b/src/add-ons/screen_savers/ifs/IFSSaver.cpp index 8aabbc3c4a..5a71e1be3a 100644 --- a/src/add-ons/screen_savers/ifs/IFSSaver.cpp +++ b/src/add-ons/screen_savers/ifs/IFSSaver.cpp @@ -190,10 +190,11 @@ IFSSaver::Draw(BView *view, int32 frame) view->FillRect(view->Bounds()); } int32 frames = frame - fLastDrawnFrame; - if (fIsPreview || fDirectInfo.bits == NULL) { + if ((fIsPreview || fDirectInfo.bits == NULL) && fLocker.Lock()) { fIFS->Draw(view, NULL, frames); fLastDrawnFrame = frame; + fLocker.Unlock(); } }