Author: czeidler Date: 2011-01-02 01:19:36 +0100 (Sun, 02 Jan 2011) New Revision: 40058 Changeset: http://dev.haiku-os.org/changeset/40058 Ticket: http://dev.haiku-os.org/ticket/7001 Ticket: http://dev.haiku-os.org/ticket/7017 Modified: haiku/trunk/src/add-ons/decorators/SATDecorator/SATGroup.cpp haiku/trunk/src/add-ons/decorators/SATDecorator/StackAndTile.cpp Log: Fix #7017 and hopefully #7001. WindowArea is not valid any more when splitting a group. Fix debug assert. Modified: haiku/trunk/src/add-ons/decorators/SATDecorator/SATGroup.cpp =================================================================== --- haiku/trunk/src/add-ons/decorators/SATDecorator/SATGroup.cpp 2011-01-01 21:31:07 UTC (rev 40057) +++ haiku/trunk/src/add-ons/decorators/SATDecorator/SATGroup.cpp 2011-01-02 00:19:36 UTC (rev 40058) @@ -994,12 +994,8 @@ bool ownGroupProcessed = false; WindowAreaList newGroup; while (_FindConnectedGroup(neighbourWindows, removedArea, newGroup)) { - STRACE_SAT("Connected group found; %i windows:\n", + STRACE_SAT("Connected group found; %i window(s)\n", (int)newGroup.CountItems()); - for (int i = 0; i < newGroup.CountItems(); i++) { - STRACE_SAT("\t%s\n", newGroup.ItemAt(i)->WindowList().ItemAt(0) - ->GetWindow()->Title()); - } if (newGroup.CountItems() == 1 && newGroup.ItemAt(0)->WindowList().CountItems() == 1) { Modified: haiku/trunk/src/add-ons/decorators/SATDecorator/StackAndTile.cpp =================================================================== --- haiku/trunk/src/add-ons/decorators/SATDecorator/StackAndTile.cpp 2011-01-01 21:31:07 UTC (rev 40057) +++ haiku/trunk/src/add-ons/decorators/SATDecorator/StackAndTile.cpp 2011-01-02 00:19:36 UTC (rev 40058) @@ -92,7 +92,7 @@ if (!satWindow) return; - ASSERT(fSATWindowMap.find(window) == fSATWindowMap.end()); + ASSERT(fSATWindowMap.find(window) != fSATWindowMap.end()); fSATWindowMap[window] = satWindow; }