variables are now inited correctly
works ok on R5 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13986 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -41,22 +41,28 @@ SSController::MessageReceived(BMessage *msg)
|
|||||||
fFilter->CheckTime();
|
fFilter->CheckTime();
|
||||||
break;
|
break;
|
||||||
case B_SOME_APP_LAUNCHED:
|
case B_SOME_APP_LAUNCHED:
|
||||||
|
case B_SOME_APP_QUIT:
|
||||||
{
|
{
|
||||||
const char *signature;
|
const char *signature;
|
||||||
if (msg->FindString("be:signature", &signature)==B_OK
|
if (msg->FindString("be:signature", &signature)==B_OK
|
||||||
&& strcmp(signature, SCREEN_BLANKER_SIG)==0)
|
&& strcasecmp(signature, SCREEN_BLANKER_SIG)==0) {
|
||||||
fFilter->SetEnabled();
|
fFilter->SetEnabled(msg->what == B_SOME_APP_LAUNCHED);
|
||||||
|
}
|
||||||
SERIAL_PRINT(("mime_sig %s\n", signature));
|
SERIAL_PRINT(("mime_sig %s\n", signature));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
BHandler::MessageReceived(msg);
|
BLooper::MessageReceived(msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
SSInputFilter::SSInputFilter()
|
SSInputFilter::SSInputFilter()
|
||||||
: fCurrent(NONE),
|
: fLastEventTime(0),
|
||||||
|
fBlankTime(0),
|
||||||
|
fSnoozeTime(0),
|
||||||
|
fRtc(0),
|
||||||
|
fCurrent(NONE),
|
||||||
fEnabled(false),
|
fEnabled(false),
|
||||||
fFrameNum(0),
|
fFrameNum(0),
|
||||||
fRunner(NULL) {
|
fRunner(NULL) {
|
||||||
@@ -68,7 +74,7 @@ SSInputFilter::SSInputFilter()
|
|||||||
BEntry entry(fPref.GetPath().Path());
|
BEntry entry(fPref.GetPath().Path());
|
||||||
entry.GetNodeRef(&fPrefNodeRef);
|
entry.GetNodeRef(&fPrefNodeRef);
|
||||||
watch_node(&fPrefNodeRef, B_WATCH_ALL, NULL, fSSController);
|
watch_node(&fPrefNodeRef, B_WATCH_ALL, NULL, fSSController);
|
||||||
be_roster->StartWatching(fSSController, B_REQUEST_LAUNCHED);
|
be_roster->StartWatching(fSSController);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -87,8 +93,7 @@ SSInputFilter::Invoke()
|
|||||||
if ((fKeep!=NONE && fCurrent == fKeep) || fEnabled || fPref.TimeFlags()!=1)
|
if ((fKeep!=NONE && fCurrent == fKeep) || fEnabled || fPref.TimeFlags()!=1)
|
||||||
return; // If mouse is in this corner, never invoke.
|
return; // If mouse is in this corner, never invoke.
|
||||||
SERIAL_PRINT(("we run screenblanker\n"));
|
SERIAL_PRINT(("we run screenblanker\n"));
|
||||||
if (be_roster->Launch("application/x-vnd.Be.screenblanker")==B_OK)
|
be_roster->Launch(SCREEN_BLANKER_SIG);
|
||||||
fEnabled = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -96,13 +101,18 @@ void
|
|||||||
SSInputFilter::ReloadSettings()
|
SSInputFilter::ReloadSettings()
|
||||||
{
|
{
|
||||||
CALLED();
|
CALLED();
|
||||||
fPref.LoadSettings();
|
if (!fPref.LoadSettings()) {
|
||||||
|
SERIAL_PRINT(("preferences loading failed: going to defaults\n"));
|
||||||
|
}
|
||||||
fBlank = fPref.GetBlankCorner();
|
fBlank = fPref.GetBlankCorner();
|
||||||
fKeep = fPref.GetNeverBlankCorner();
|
fKeep = fPref.GetNeverBlankCorner();
|
||||||
fBlankTime = fSnoozeTime = fPref.BlankTime();
|
fBlankTime = fSnoozeTime = fPref.BlankTime();
|
||||||
CheckTime();
|
CheckTime();
|
||||||
delete fRunner;
|
delete fRunner;
|
||||||
fRunner = new BMessageRunner(BMessenger(NULL, fSSController), new BMessage(SS_CHECK_TIME), fSnoozeTime, -1);
|
fRunner = new BMessageRunner(BMessenger(NULL, fSSController), new BMessage(SS_CHECK_TIME), fSnoozeTime, -1);
|
||||||
|
if (fRunner->InitCheck() != B_OK) {
|
||||||
|
SERIAL_PRINT(("fRunner init failed\n"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -114,7 +124,6 @@ SSInputFilter::Banish()
|
|||||||
return;
|
return;
|
||||||
BMessenger ssApp (SCREEN_BLANKER_SIG,-1,NULL); // Don't care if it fails
|
BMessenger ssApp (SCREEN_BLANKER_SIG,-1,NULL); // Don't care if it fails
|
||||||
ssApp.SendMessage(B_QUIT_REQUESTED);
|
ssApp.SendMessage(B_QUIT_REQUESTED);
|
||||||
fEnabled = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -35,20 +35,17 @@ public:
|
|||||||
void CheckTime();
|
void CheckTime();
|
||||||
uint32 GetSnoozeTime(void) {return fSnoozeTime;}
|
uint32 GetSnoozeTime(void) {return fSnoozeTime;}
|
||||||
void ReloadSettings();
|
void ReloadSettings();
|
||||||
void SetEnabled() { fEnabled = true; }
|
void SetEnabled(bool enabled) { fEnabled = enabled; }
|
||||||
private:
|
private:
|
||||||
//static int32 ThreadFunc(void *);
|
|
||||||
bigtime_t fLastEventTime, fBlankTime, fSnoozeTime, fRtc;
|
bigtime_t fLastEventTime, fBlankTime, fSnoozeTime, fRtc;
|
||||||
arrowDirection fBlank, fKeep, fCurrent;
|
arrowDirection fBlank, fKeep, fCurrent;
|
||||||
bool fEnabled;
|
bool fEnabled;
|
||||||
BRect fTopLeft, fTopRight, fBottomLeft, fBottomRight;
|
BRect fTopLeft, fTopRight, fBottomLeft, fBottomRight;
|
||||||
ScreenSaverPrefs fPref;
|
ScreenSaverPrefs fPref;
|
||||||
//thread_id fWatcher;
|
|
||||||
uint32 fFrameNum; // Used so that we don't update the screen coord's so often
|
uint32 fFrameNum; // Used so that we don't update the screen coord's so often
|
||||||
// Ideally, we would get a message when the screen changes. R5 doesn't do this.
|
// Ideally, we would get a message when the screen changes. R5 doesn't do this.
|
||||||
SSController *fSSController;
|
SSController *fSSController;
|
||||||
node_ref fPrefNodeRef;
|
node_ref fPrefNodeRef;
|
||||||
//sem_id fSnoozeSem;
|
|
||||||
BMessageRunner *fRunner;
|
BMessageRunner *fRunner;
|
||||||
|
|
||||||
void UpdateRectangles();
|
void UpdateRectangles();
|
||||||
|
|||||||
Reference in New Issue
Block a user