ScreenSaver: Make sure password window is shown
… before resuming the saver on B_KEY_DOWN in the message filter. It was assumed before, now we’re actually checking to make sure.
This commit is contained in:
parent
be888b3a49
commit
0f1162d27e
@ -284,6 +284,13 @@ ScreenBlanker::QuitRequested()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool
|
||||||
|
ScreenBlanker::IsPasswordWindowShown() const
|
||||||
|
{
|
||||||
|
return fPasswordWindow != NULL && !fPasswordWindow->IsHidden();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
ScreenBlanker::_Shutdown()
|
ScreenBlanker::_Shutdown()
|
||||||
{
|
{
|
||||||
|
@ -54,6 +54,7 @@ class ScreenBlanker : public BApplication {
|
|||||||
BMessageRunner* fStandByScreenRunner;
|
BMessageRunner* fStandByScreenRunner;
|
||||||
BMessageRunner* fSuspendScreenRunner;
|
BMessageRunner* fSuspendScreenRunner;
|
||||||
BMessageRunner* fTurnOffScreenRunner;
|
BMessageRunner* fTurnOffScreenRunner;
|
||||||
|
bool IsPasswordWindowShown() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // SCREEN_SAVER_APP_H
|
#endif // SCREEN_SAVER_APP_H
|
||||||
|
@ -57,11 +57,14 @@ ScreenSaverFilter::Filter(BMessage* message, BHandler** target)
|
|||||||
be_app->PostMessage(B_QUIT_REQUESTED);
|
be_app->PostMessage(B_QUIT_REQUESTED);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else if (message->what == B_KEY_DOWN) {
|
} else if (message->what == B_KEY_DOWN
|
||||||
|
&& dynamic_cast<ScreenBlanker*>(be_app)->IsPasswordWindowShown()) {
|
||||||
// Handle the escape key when the password window is showing
|
// Handle the escape key when the password window is showing
|
||||||
const char *string = NULL;
|
const char* string = NULL;
|
||||||
if (message->FindString("bytes", &string) == B_OK && string[0] == B_ESCAPE)
|
if (message->FindString("bytes", &string) == B_OK
|
||||||
|
&& string[0] == B_ESCAPE) {
|
||||||
be_app->PostMessage(kMsgResumeSaver);
|
be_app->PostMessage(kMsgResumeSaver);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return B_DISPATCH_MESSAGE;
|
return B_DISPATCH_MESSAGE;
|
||||||
|
Loading…
Reference in New Issue
Block a user