Author: czeidler Date: 2011-08-01 02:56:23 +0200 (Mon, 01 Aug 2011) New Revision: 42526 Changeset: https://dev.haiku-os.org/changeset/42526 Modified: haiku/trunk/src/kits/interface/WindowStack.cpp haiku/trunk/src/servers/app/Desktop.cpp Log: Fix window stack api and Desktop::WindowForClientLooperPort lock assert. Modified: haiku/trunk/src/kits/interface/WindowStack.cpp =================================================================== --- haiku/trunk/src/kits/interface/WindowStack.cpp 2011-08-01 00:34:22 UTC (rev 42525) +++ haiku/trunk/src/kits/interface/WindowStack.cpp 2011-08-01 00:56:23 UTC (rev 42526) @@ -163,7 +163,7 @@ int32 code = B_ERROR; fLink->FlushWithReply(code); if (code != B_OK) - return code; + return false; bool hasWindow; if (fLink->Read<bool>(&hasWindow) != B_OK) @@ -205,5 +205,6 @@ { fLink->StartMessage(AS_TALK_TO_DESKTOP_LISTENER); fLink->Attach<int32>(kMagicSATIdentifier); + fLink->Attach<int32>(kStacking); return fLink->Attach<int32>(what); } Modified: haiku/trunk/src/servers/app/Desktop.cpp =================================================================== --- haiku/trunk/src/servers/app/Desktop.cpp 2011-08-01 00:34:22 UTC (rev 42525) +++ haiku/trunk/src/servers/app/Desktop.cpp 2011-08-01 00:56:23 UTC (rev 42526) @@ -2643,7 +2643,7 @@ Window* Desktop::WindowForClientLooperPort(port_id port) { - ASSERT(fWindowLock.IsReadLocked()); + ASSERT_MULTI_LOCKED(fWindowLock); for (Window* window = fAllWindows.FirstWindow(); window != NULL; window = window->NextWindow(kAllWindowList)) {