Added another TODO.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21957 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold 2007-08-15 00:10:37 +00:00
parent df79164d1b
commit 78fe3db271

View File

@ -2212,7 +2212,7 @@ void
BWindow::Show() BWindow::Show()
{ {
if (!fRunCalled) { if (!fRunCalled) {
// this is the fist time Show() is called, which implicetly runs the looper // this is the fist time Show() is called, which implicitly runs the looper
if (fLink->SenderPort() < B_OK) { if (fLink->SenderPort() < B_OK) {
// We don't have valid app_server connection; there is no point // We don't have valid app_server connection; there is no point
// in starting our looper // in starting our looper
@ -2445,6 +2445,11 @@ BWindow::_InitData(BRect frame, const char* title, window_look look,
// we'll lock the be_app to be sure we're the only one writing at BApplication's server port // we'll lock the be_app to be sure we're the only one writing at BApplication's server port
bool locked = false; bool locked = false;
if (!be_app->IsLocked()) { if (!be_app->IsLocked()) {
// TODO: This doesn't look good. If a window is created in the message handling
// code of another window, then the lock of that other window is already being
// held. So, if the application tries to lock that window from its message
// handling code, we get a beautiful deadlock. Start Icon-O-Matic, quit it, and
// start it a second time to see that in action.
be_app->Lock(); be_app->Lock();
locked = true; locked = true;
} }