If we're going to fail because of a missing CD drive, never show the CD player window at all instead of flickering it briefly. This fixes ticket #2333.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28963 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -85,7 +85,6 @@ CDPlayer::CDPlayer(BRect frame, const char *name, uint32 resizeMask,
|
|||||||
" drives on your computer or there is no system software to "
|
" drives on your computer or there is no system software to "
|
||||||
"support one. Sorry.", "OK");
|
"support one. Sorry.", "OK");
|
||||||
alert->Go();
|
alert->Go();
|
||||||
be_app->PostMessage(B_QUIT_REQUESTED);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fWindowState = fCDDrive.GetState();
|
fWindowState = fCDDrive.GetState();
|
||||||
@@ -104,6 +103,13 @@ CDPlayer::~CDPlayer()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool
|
||||||
|
CDPlayer::InitCheck()
|
||||||
|
{
|
||||||
|
return (fCDDrive.CountDrives() > 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
CDPlayer::BuildGUI()
|
CDPlayer::BuildGUI()
|
||||||
{
|
{
|
||||||
@@ -638,10 +644,14 @@ CDPlayerApplication::CDPlayerApplication()
|
|||||||
: BApplication("application/x-vnd.Haiku-CDPlayer")
|
: BApplication("application/x-vnd.Haiku-CDPlayer")
|
||||||
{
|
{
|
||||||
BWindow *window = new CDPlayerWindow();
|
BWindow *window = new CDPlayerWindow();
|
||||||
BView *view = new CDPlayer(window->Bounds(), "CD");
|
CDPlayer *view = new CDPlayer(window->Bounds(), "CD");
|
||||||
window->ResizeTo(view->Bounds().Width(), view->Bounds().Height());
|
if (view->InitCheck()) {
|
||||||
window->AddChild(view);
|
window->ResizeTo(view->Bounds().Width(), view->Bounds().Height());
|
||||||
window->Show();
|
window->AddChild(view);
|
||||||
|
window->Show();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
PostMessage(B_QUIT_REQUESTED);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -33,7 +33,8 @@ class CDPlayer : public BView {
|
|||||||
virtual ~CDPlayer();
|
virtual ~CDPlayer();
|
||||||
|
|
||||||
void BuildGUI();
|
void BuildGUI();
|
||||||
|
bool InitCheck();
|
||||||
|
|
||||||
virtual void AttachedToWindow();
|
virtual void AttachedToWindow();
|
||||||
virtual void Pulse();
|
virtual void Pulse();
|
||||||
virtual void MessageReceived(BMessage *);
|
virtual void MessageReceived(BMessage *);
|
||||||
|
|||||||
Reference in New Issue
Block a user