From 4b1da1ce9ad003c3623f9ad643642c6955517edb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Tue, 4 Apr 2006 10:26:19 +0000 Subject: [PATCH] DrawSlider() now locks the looper - this should fix bug #396. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17002 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/interface/Slider.cpp | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/kits/interface/Slider.cpp b/src/kits/interface/Slider.cpp index 7d9724752d..ca08c96470 100644 --- a/src/kits/interface/Slider.cpp +++ b/src/kits/interface/Slider.cpp @@ -716,24 +716,26 @@ BSlider::Draw(BRect updateRect) void BSlider::DrawSlider() { + if (LockLooper()) { #if USE_OFF_SCREEN_VIEW - if (!fOffScreenBits) - return; - if (fOffScreenBits->Lock()) { + if (!fOffScreenBits) + return; + if (fOffScreenBits->Lock()) { #endif - DrawBar(); - DrawHashMarks(); - DrawThumb(); - DrawFocusMark(); - DrawText(); + DrawBar(); + DrawHashMarks(); + DrawThumb(); + DrawFocusMark(); + DrawText(); #if USE_OFF_SCREEN_VIEW - fOffScreenView->Sync(); - fOffScreenBits->Unlock(); - - DrawBitmap(fOffScreenBits, B_ORIGIN); + fOffScreenView->Sync(); + fOffScreenBits->Unlock(); + + DrawBitmap(fOffScreenBits, B_ORIGIN); + } +#endif } -#endif }