Applied idea from idefix (see bug #5938): try to launch screen_blanker by path when a launch by signature fails.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37305 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -365,6 +365,7 @@ ModulesView::MessageReceived(BMessage* message)
|
|||||||
}
|
}
|
||||||
|
|
||||||
case kMsgTestSaver:
|
case kMsgTestSaver:
|
||||||
|
{
|
||||||
SaveState();
|
SaveState();
|
||||||
fSettings.Save();
|
fSettings.Save();
|
||||||
|
|
||||||
@@ -372,10 +373,25 @@ ModulesView::MessageReceived(BMessage* message)
|
|||||||
|
|
||||||
be_roster->StartWatching(BMessenger(this, this->Looper()),
|
be_roster->StartWatching(BMessenger(this, this->Looper()),
|
||||||
B_REQUEST_QUIT);
|
B_REQUEST_QUIT);
|
||||||
be_roster->Launch(SCREEN_BLANKER_SIG, &fSettings.Message(),
|
if (be_roster->Launch(SCREEN_BLANKER_SIG, &fSettings.Message(),
|
||||||
&fScreenSaverTestTeamId);
|
&fScreenSaverTestTeamId) == B_OK)
|
||||||
|
break;
|
||||||
|
|
||||||
|
// Try really hard to launch it. It's very likely that this fails,
|
||||||
|
// when we run from the CD and there is only an incomplete mime
|
||||||
|
// database for example...
|
||||||
|
BPath path;
|
||||||
|
if (find_directory(B_SYSTEM_BIN_DIRECTORY, &path) != B_OK
|
||||||
|
|| path.Append("screen_blanker") != B_OK) {
|
||||||
|
path.SetTo("/boot/system/bin/screen_blanker");
|
||||||
|
}
|
||||||
|
BEntry entry(path.Path());
|
||||||
|
entry_ref ref;
|
||||||
|
if (entry.GetRef(&ref) == B_OK)
|
||||||
|
be_roster->Launch(&ref, &fSettings.Message(),
|
||||||
|
&fScreenSaverTestTeamId);
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
case kMsgAddSaver:
|
case kMsgAddSaver:
|
||||||
fFilePanel->Show();
|
fFilePanel->Show();
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user