From 7840510e4f55ebe81f146060468840ff2f1bce77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Wed, 12 Apr 2006 15:38:18 +0000 Subject: [PATCH] unlock when lock succeeded git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17110 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/screensaver/ScreenSaverThread.cpp | 26 ++++++++++++---------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/kits/screensaver/ScreenSaverThread.cpp b/src/kits/screensaver/ScreenSaverThread.cpp index 9693218cf3..e111b37aaf 100644 --- a/src/kits/screensaver/ScreenSaverThread.cpp +++ b/src/kits/screensaver/ScreenSaverThread.cpp @@ -49,12 +49,13 @@ ScreenSaverThread::Quit() void ScreenSaverThread::Thread() { - fWin->Lock(); - fView->SetViewColor(0,0,0); - fView->SetLowColor(0,0,0); - if (fSaver) - fSaver->StartSaver(fView,false); - fWin->Unlock(); + if (fWin->Lock()) { + fView->SetViewColor(0,0,0); + fView->SetLowColor(0,0,0); + if (fSaver) + fSaver->StartSaver(fView,false); + fWin->Unlock(); + } while (1) { snooze(fSaver->TickSize()); if (fSnoozeCount) { // If we are sleeping, do nothing @@ -64,12 +65,13 @@ ScreenSaverThread::Thread() fFrame = 0; fSnoozeCount = fSaver->LoopOffCount(); } else { - fWin->Lock(); - if (fDWin) - fSaver->DirectDraw(fFrame); - fSaver->Draw(fView,fFrame); - fWin->Unlock(); - fFrame++; + if (fWin->Lock()) { + if (fDWin) + fSaver->DirectDraw(fFrame); + fSaver->Draw(fView,fFrame); + fWin->Unlock(); + fFrame++; + } } } }