diff --git a/src/tests/servers/app/newerClipping/Desktop.cpp b/src/tests/servers/app/newerClipping/Desktop.cpp index 01f6cbb2c7..8a627547d3 100644 --- a/src/tests/servers/app/newerClipping/Desktop.cpp +++ b/src/tests/servers/app/newerClipping/Desktop.cpp @@ -55,6 +55,7 @@ Desktop::~Desktop() void Desktop::Draw(BRect updateRect) { +#if RUN_WITH_FRAME_BUFFER // since parts of the view might have been exposed, // we need a clipping rebuild if (LockClipping()) { @@ -64,16 +65,20 @@ Desktop::Draw(BRect updateRect) UnlockClipping(); } +#endif + if (fDrawingEngine->Lock()) { fDrawingEngine->SetHighColor(51, 102, 152); fDrawingEngine->FillRegion(&fBackgroundRegion); fDrawingEngine->Unlock(); } +#if RUN_WITH_FRAME_BUFFER // trigger redrawing windows BRegion update(updateRect); update.Exclude(&fBackgroundRegion); MarkDirty(&update); +#endif } // MouseDown @@ -108,12 +113,15 @@ Desktop::MouseDown(BPoint where, uint32 buttons) } else { // complete redraw #if RUN_WITH_FRAME_BUFFER - // TODO: broken - BRegion region(fDrawingEngine->Bounds()); - MarkDirty(®ion); - region = fBackgroundRegion; - fBackgroundRegion.MakeEmpty(); - _SetBackground(®ion); + if (fDrawingEngine->Lock()) { + BRegion region(fDrawingEngine->Bounds()); + fDrawingEngine->Unlock(); + + MarkDirty(®ion); + region = fBackgroundRegion; + fBackgroundRegion.MakeEmpty(); + _SetBackground(®ion); + } #else fDrawingEngine->MarkDirty(); #endif