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
This commit is contained in:
@@ -716,24 +716,26 @@ BSlider::Draw(BRect updateRect)
|
|||||||
void
|
void
|
||||||
BSlider::DrawSlider()
|
BSlider::DrawSlider()
|
||||||
{
|
{
|
||||||
|
if (LockLooper()) {
|
||||||
#if USE_OFF_SCREEN_VIEW
|
#if USE_OFF_SCREEN_VIEW
|
||||||
if (!fOffScreenBits)
|
if (!fOffScreenBits)
|
||||||
return;
|
return;
|
||||||
if (fOffScreenBits->Lock()) {
|
if (fOffScreenBits->Lock()) {
|
||||||
#endif
|
#endif
|
||||||
DrawBar();
|
DrawBar();
|
||||||
DrawHashMarks();
|
DrawHashMarks();
|
||||||
DrawThumb();
|
DrawThumb();
|
||||||
DrawFocusMark();
|
DrawFocusMark();
|
||||||
DrawText();
|
DrawText();
|
||||||
|
|
||||||
#if USE_OFF_SCREEN_VIEW
|
#if USE_OFF_SCREEN_VIEW
|
||||||
fOffScreenView->Sync();
|
fOffScreenView->Sync();
|
||||||
fOffScreenBits->Unlock();
|
fOffScreenBits->Unlock();
|
||||||
|
|
||||||
DrawBitmap(fOffScreenBits, B_ORIGIN);
|
DrawBitmap(fOffScreenBits, B_ORIGIN);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user