diff --git a/src/kits/interface/Dragger.cpp b/src/kits/interface/Dragger.cpp index 6d2b5702b9..47ba865a22 100644 --- a/src/kits/interface/Dragger.cpp +++ b/src/kits/interface/Dragger.cpp @@ -162,8 +162,9 @@ BDragger::Draw(BRect update) BRect bounds(Bounds()); if (AreDraggersDrawn() && (!fShelf || fShelf->AllowsDragging())) { + BPoint where = bounds.RightBottom() - BPoint(fBitmap->Bounds().Width(), fBitmap->Bounds().Height()); SetDrawingMode(B_OP_OVER); - DrawBitmap(fBitmap, bounds.LeftTop()); + DrawBitmap(fBitmap, where); SetDrawingMode(B_OP_COPY); if (fIsZombie) { @@ -282,7 +283,8 @@ BDragger::MessageReceived(BMessage *msg) } else if (msg->what == B_SCREEN_CHANGED) { if (fRelation == TARGET_IS_CHILD) { fTransition = true; - Draw(BRect()); + Invalidate(); + Flush(); fTransition = false; } else {