[haiku-commits] r37035 - haiku/trunk/src/add-ons/screen_savers/ifs

  • From: korli@xxxxxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sun, 6 Jun 2010 16:05:04 +0200 (CEST)

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();
        }
 }
 


Other related posts:

  • » [haiku-commits] r37035 - haiku/trunk/src/add-ons/screen_savers/ifs - korli