ScreenSaver: Open screensaver initially via message

..instead of calling _OpenSaver() directly.

At least one screensaver, Message, depended on the Bounds() of the
preview to be set when run, which wasn't established when you first
started the app causing the app to quit while trying to draw.

Also call PopulateSaverList() in AllAttached()  so that ScrollToSelection()
works without having to be called again.

Also, fix pointer style in ScreenSaverWindow::MessageReceived()
This commit is contained in:
John Scipione
2013-09-10 18:09:50 -04:00
parent e73001dc80
commit c8e6af02f2
@@ -583,10 +583,6 @@ ModulesView::DetachedFromWindow()
void
ModulesView::AttachedToWindow()
{
PopulateScreenSaverList();
_OpenSaver();
fScreenSaversListView->SetTarget(this);
fTestButton->SetTarget(this);
fAddButton->SetTarget(this);
@@ -596,8 +592,8 @@ ModulesView::AttachedToWindow()
void
ModulesView::AllAttached()
{
// This only works after the view has been attached
fScreenSaversListView->ScrollToSelection();
PopulateScreenSaverList();
fScreenSaversListView->Invoke(new BMessage(kMsgSaverSelected));
}
@@ -911,7 +907,7 @@ ScreenSaverWindow::~ScreenSaverWindow()
void
ScreenSaverWindow::MessageReceived(BMessage *message)
ScreenSaverWindow::MessageReceived(BMessage* message)
{
switch (message->what) {
case kMsgChangePassword: