diff --git a/src/kits/interface/ScrollBar.cpp b/src/kits/interface/ScrollBar.cpp index f31f28718d..6a789246f1 100644 --- a/src/kits/interface/ScrollBar.cpp +++ b/src/kits/interface/ScrollBar.cpp @@ -200,10 +200,14 @@ BScrollBar::BScrollBar(BMessage *data) BScrollBar::~BScrollBar() { + if (fTarget) { + if (fOrientation == B_VERTICAL) + fTarget->fVerScroller = NULL; + else + fTarget->fHorScroller = NULL; + } delete fPrivateData; free(fTargetName); - // TODO: detaching from target is currently done in DetachedFromWindow(), - // maybe it should be done here instead? } // Instantiate @@ -577,16 +581,6 @@ BScrollBar::MouseMoved(BPoint where, uint32 transit, const BMessage* message) void BScrollBar::DetachedFromWindow() { - if (fTarget) { - if (fOrientation == B_VERTICAL) - fTarget->fVerScroller = NULL; - else - fTarget->fHorScroller = NULL; - } - - fTarget = NULL; - free(fTargetName); - fTargetName = NULL; } // Draw