diff --git a/src/kits/tracker/DesktopPoseView.cpp b/src/kits/tracker/DesktopPoseView.cpp index 8ccef5aad7..33dc1f38e8 100644 --- a/src/kits/tracker/DesktopPoseView.cpp +++ b/src/kits/tracker/DesktopPoseView.cpp @@ -80,9 +80,9 @@ DesktopEntryListCollection::DesktopEntryListCollection() // #pragma mark - -DesktopPoseView::DesktopPoseView(Model *model, BRect frame, uint32 viewMode, - uint32 resizeMask) - : BPoseView(model, frame, viewMode, resizeMask) +DesktopPoseView::DesktopPoseView(Model *model, BRect frame, uint32 resizeMask, + uint32 flags) + : BPoseView(model, frame, resizeMask, flags | B_DRAW_ON_CHILDREN) { SetWidgetTextOutline(true); } diff --git a/src/kits/tracker/PoseView.cpp b/src/kits/tracker/PoseView.cpp index 47de858d77..49ac96cc9c 100644 --- a/src/kits/tracker/PoseView.cpp +++ b/src/kits/tracker/PoseView.cpp @@ -8101,6 +8101,14 @@ BPoseView::Draw(BRect updateRect) } DrawViewCommon(updateRect); + if ((Flags() & B_DRAW_ON_CHILDREN) == 0) + DrawAfterChildren(updateRect); +} + + +void +BPoseView::DrawAfterChildren(BRect updateRect) +{ if (fTransparentSelection && fSelectionRect.IsValid()) { SetDrawingMode(B_OP_ALPHA); SetHighColor(255, 255, 255, 128); diff --git a/src/kits/tracker/PoseView.h b/src/kits/tracker/PoseView.h index 9f48ac4da8..3c446e7cfa 100644 --- a/src/kits/tracker/PoseView.h +++ b/src/kits/tracker/PoseView.h @@ -161,6 +161,7 @@ class BPoseView : public BView { virtual void MakeFocus(bool = true); virtual void MouseMoved(BPoint, uint32, const BMessage *); virtual void Draw(BRect update_rect); + virtual void DrawAfterChildren(BRect update_rect); virtual void MouseDown(BPoint where); virtual void KeyDown(const char *, int32); virtual void Pulse();