From 2aa6775158a380f77f3173d1fe937c649b0a926e Mon Sep 17 00:00:00 2001 From: Clemens Zeidler Date: Sat, 20 Nov 2010 07:07:32 +0000 Subject: [PATCH] Fix restoring of stacked windows. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39535 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/decorators/SATDecorator/SATGroup.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/add-ons/decorators/SATDecorator/SATGroup.cpp b/src/add-ons/decorators/SATDecorator/SATGroup.cpp index 3b04a16371..199091afb4 100644 --- a/src/add-ons/decorators/SATDecorator/SATGroup.cpp +++ b/src/add-ons/decorators/SATDecorator/SATGroup.cpp @@ -854,20 +854,21 @@ SATGroup::RestoreGroup(const BMessage& archive, StackAndTile* sat) // adding windows to area uint64 windowId; - WindowArea* area = NULL; + SATWindow* prevWindow = NULL; for (int32 i = 0; areaArchive.FindInt64("window", i, (int64*)&windowId) == B_OK; i++) { SATWindow* window = sat->FindSATWindow(windowId); if (!window) continue; - if (area == NULL) { + if (prevWindow == NULL) { if (!group->AddWindow(window, left, top, right, bottom)) - return B_ERROR; - area = window->GetWindowArea(); + continue; + prevWindow = window; } else { - if (!group->AddWindow(window, area)) - return B_ERROR; + if (!prevWindow->StackWindow(window)) + continue; + prevWindow = window; } } }