diff --git a/src/kits/interface/View.cpp b/src/kits/interface/View.cpp index b3a9dfc013..020e42ba79 100644 --- a/src/kits/interface/View.cpp +++ b/src/kits/interface/View.cpp @@ -4485,6 +4485,9 @@ BView::Invalidate(BRect invalRect) if (!invalRect.IsValid()) return; + if (!fBounds.Intersects(invalRect)) + return; + _CheckLockAndSwitchCurrent(); fOwner->fLink->StartMessage(AS_VIEW_INVALIDATE_RECT); @@ -4508,6 +4511,9 @@ BView::Invalidate(const BRegion* region) if (region == NULL || fOwner == NULL) return; + if (!fBounds.Intersects(region->Frame())) + return; + _CheckLockAndSwitchCurrent(); fOwner->fLink->StartMessage(AS_VIEW_INVALIDATE_REGION);