When testing a screensaver..
1. Stop the preview 2. Start it again after the test is done This prevents the case where the screen is filled with a color during the first frame of the screensaver. When you return to the preview (after the Test), that first frame is long gone and the preview is then invalid. Reference : DebugNow screen saver. Ticket #4252 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32450 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
16424a2470
commit
4973feeaa0
@ -113,6 +113,8 @@ class ModulesView : public BView {
|
||||
BView* fSettingsView;
|
||||
|
||||
PreviewView* fPreviewView;
|
||||
|
||||
team_id fScreenSaverTestTeamId;
|
||||
};
|
||||
|
||||
static const int32 kTimeInUnits[] = {
|
||||
@ -362,13 +364,27 @@ ModulesView::MessageReceived(BMessage* message)
|
||||
SaveState();
|
||||
fSettings.Save();
|
||||
|
||||
be_roster->Launch(SCREEN_BLANKER_SIG, &fSettings.Message());
|
||||
_CloseSaver();
|
||||
|
||||
be_roster->StartWatching(BMessenger(this, this->Looper()), B_REQUEST_QUIT);
|
||||
be_roster->Launch(SCREEN_BLANKER_SIG, &fSettings.Message(), &fScreenSaverTestTeamId);
|
||||
break;
|
||||
|
||||
case kMsgAddSaver:
|
||||
fFilePanel->Show();
|
||||
break;
|
||||
|
||||
case B_SOME_APP_QUIT: {
|
||||
team_id team;
|
||||
if (message->FindInt32("be:team", &team) == B_OK) {
|
||||
if (team == fScreenSaverTestTeamId) {
|
||||
be_roster->StopWatching(this);
|
||||
_OpenSaver();
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
BView::MessageReceived(message);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user