diff --git a/src/add-ons/screen_savers/gravity/ConfigView.cpp b/src/add-ons/screen_savers/gravity/ConfigView.cpp index 835b4b0cf1..b0fe21ed93 100644 --- a/src/add-ons/screen_savers/gravity/ConfigView.cpp +++ b/src/add-ons/screen_savers/gravity/ConfigView.cpp @@ -53,8 +53,6 @@ ConfigView::ConfigView(BRect frame, Gravity* parent) fShadeList->AddItem(new ColorItem("White", (rgb_color){ 255, 255, 255 })); fShadeList->AddItem(new RainbowItem("Rainbow")); - fShadeList->Select(parent->Config.ShadeID); - fShadeScroll = new BScrollView(B_EMPTY_STRING, fShadeList, B_WILL_DRAW | B_FRAME_EVENTS, false, true); @@ -76,6 +74,19 @@ ConfigView::ConfigView(BRect frame, Gravity* parent) } +void +ConfigView::AllAttached() +{ + // fixup scroll bar range + fShadeScroll->ScrollBar(B_VERTICAL)->SetRange(0.0f, + fShadeList->ItemFrame(fShadeList->CountItems()).bottom + - fShadeList->ItemFrame((int32)0).top); + + // select the shade + fShadeList->Select(fParent->Config.ShadeID); +} + + void ConfigView::AttachedToWindow() { diff --git a/src/add-ons/screen_savers/gravity/ConfigView.h b/src/add-ons/screen_savers/gravity/ConfigView.h index 307ec46288..3cc596c239 100644 --- a/src/add-ons/screen_savers/gravity/ConfigView.h +++ b/src/add-ons/screen_savers/gravity/ConfigView.h @@ -27,6 +27,7 @@ class ConfigView : public BView { public: ConfigView(BRect frame, Gravity* parent); + void AllAttached(); void AttachedToWindow(); void MessageReceived(BMessage* message);