diff --git a/src/tests/servers/app/look_and_feel/LookAndFeel.cpp b/src/tests/servers/app/look_and_feel/LookAndFeel.cpp index 0352b193d1..157f651a45 100644 --- a/src/tests/servers/app/look_and_feel/LookAndFeel.cpp +++ b/src/tests/servers/app/look_and_feel/LookAndFeel.cpp @@ -7,6 +7,7 @@ */ +#include #include #include #include @@ -16,6 +17,7 @@ #include #include +#include const uint32 kMsgUpdateLook = 'uplk'; @@ -218,8 +220,18 @@ Window::MessageReceived(BMessage* message) BWindow* window = new Window(Frame().OffsetByCopy(20, 20), (window_look)look, (window_feel)feel); - if (message->what == kMsgAddSubsetWindow) - window->AddToSubset(this); + if (message->what == kMsgAddSubsetWindow) { + status_t status = window->AddToSubset(this); + if (status != B_OK) { + char text[512]; + snprintf(text, sizeof(text), + "Window could not be added to subset:\n\n\%s", strerror(status)); + (new BAlert("Alert", text, "Ok"))->Go(NULL); + + delete window; + break; + } + } window->Show(); break; @@ -237,7 +249,7 @@ Window::QuitRequested() if (!IsModal() && !IsFloating()) gNormalWindowCount--; - if (gNormalWindowCount < 2) + if (gNormalWindowCount < 1) be_app->PostMessage(B_QUIT_REQUESTED); return true;