diff --git a/src/kits/interface/View.cpp b/src/kits/interface/View.cpp index 9a1a4d80fc..d2d7d37a0d 100644 --- a/src/kits/interface/View.cpp +++ b/src/kits/interface/View.cpp @@ -3215,16 +3215,19 @@ BView::ClearViewOverlay() void BView::CopyBits(BRect src, BRect dst) { + if (fOwner == NULL) + return; + if (!src.IsValid() || !dst.IsValid()) return; - if (do_owner_check()) { - fOwner->fLink->StartMessage(AS_LAYER_COPY_BITS); - fOwner->fLink->Attach(src); - fOwner->fLink->Attach(dst); + check_lock(); - _FlushIfNotInTransaction(); - } + fOwner->fLink->StartMessage(AS_LAYER_COPY_BITS); + fOwner->fLink->Attach(src); + fOwner->fLink->Attach(dst); + + _FlushIfNotInTransaction(); }