Author: korli Date: 2010-06-06 16:05:04 +0200 (Sun, 06 Jun 2010) New Revision: 37035 Changeset: http://dev.haiku-os.org/changeset/37035/haiku Ticket: http://dev.haiku-os.org/ticket/6138 Modified: haiku/trunk/src/add-ons/screen_savers/ifs/IFSSaver.cpp Log: * Locks fLocker when drawing. This avoids a cleanup while drawing (fixes bug #6138). Modified: haiku/trunk/src/add-ons/screen_savers/ifs/IFSSaver.cpp =================================================================== --- haiku/trunk/src/add-ons/screen_savers/ifs/IFSSaver.cpp 2010-06-06 14:02:42 UTC (rev 37034) +++ haiku/trunk/src/add-ons/screen_savers/ifs/IFSSaver.cpp 2010-06-06 14:05:04 UTC (rev 37035) @@ -190,10 +190,11 @@ 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(); } }