* Do the locking and lock check in an outer 'if', the window could be left

unlocked if the whole condition wasn't true. Thanks stippi!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28276 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Alexandre Deckner
2008-10-22 09:02:17 +00:00
parent 380699bf25
commit 6dee6b8c17
+3 -1
View File
@@ -258,7 +258,8 @@ TTracker::QuitRequested()
BContainerWindow *window = dynamic_cast<BContainerWindow *> BContainerWindow *window = dynamic_cast<BContainerWindow *>
(fWindowList.ItemAt(i)); (fWindowList.ItemAt(i));
if (window && window->Lock() && window->TargetModel() if (window && window->Lock()) {
if (window->TargetModel()
&& !window->PoseView()->IsDesktopWindow()) { && !window->PoseView()->IsDesktopWindow()) {
if (window->TargetModel()->IsRoot()) if (window->TargetModel()->IsRoot())
message.AddBool("open_disks_window", true); message.AddBool("open_disks_window", true);
@@ -295,6 +296,7 @@ TTracker::QuitRequested()
message.AddInt8(path.Path(), flags); message.AddInt8(path.Path(), flags);
} }
} }
}
window->Unlock(); window->Unlock();
} }
} }