#5938: Screensavers don't work in 'live cd'-mode ------------------------------------+--------------------------------------- Reporter: idefix | Owner: korli Type: bug | Status: reopened Priority: normal | Milestone: R1 Component: Add-Ons/Screen Savers | Version: R1/Development Resolution: | Keywords: Blockedby: | Patch: 0 Platform: All | Blocking: ------------------------------------+--------------------------------------- Comment(by idefix): I don't know if I understand you correctly, but in comment:8 I had something in mind like: {{{ #!diff Index: src/preferences/screensaver/ScreenSaverWindow.cpp =================================================================== --- src/preferences/screensaver/ScreenSaverWindow.cpp (revision 37304) +++ src/preferences/screensaver/ScreenSaverWindow.cpp (working copy) @@ -365,6 +365,7 @@ } case kMsgTestSaver: + { SaveState(); fSettings.Save(); @@ -372,9 +373,28 @@ be_roster->StartWatching(BMessenger(this, this->Looper()), B_REQUEST_QUIT); - be_roster->Launch(SCREEN_BLANKER_SIG, &fSettings.Message(), - &fScreenSaverTestTeamId); + + if (be_roster->Launch(SCREEN_BLANKER_SIG, &fSettings.Message(), + &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; + } case kMsgAddSaver: fFilePanel->Show(); }}} Which should fix the problem with the `Test` button in `ScreenSaver` (although I haven't test it). -- Ticket URL: <http://dev.haiku-os.org/ticket/5938#comment:10> Haiku <http://dev.haiku-os.org> Haiku - the operating system.