diff options
Diffstat (limited to 'dw/oofpositionedmgr.cc')
-rw-r--r-- | dw/oofpositionedmgr.cc | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/dw/oofpositionedmgr.cc b/dw/oofpositionedmgr.cc index bf04c034..90f354d7 100644 --- a/dw/oofpositionedmgr.cc +++ b/dw/oofpositionedmgr.cc @@ -53,7 +53,17 @@ OOFPositionedMgr::OOFPositionedMgr (OOFAwareWidget *container) children = new Vector<Child> (1, false); childrenByWidget = new HashTable<TypedPointer<Widget>, Child> (true, true); - containerAllocation = *(container->getAllocation()); + if(container->wasAllocated()) { + containerAllocationState = WAS_ALLOCATED; + containerAllocation = *(container->getAllocation()); + } else { + containerAllocationState = NOT_ALLOCATED; + containerAllocation.x = -1; + containerAllocation.y = -1; + containerAllocation.width = 1; + containerAllocation.ascent = 1; + containerAllocation.descent = 0; + } DBG_OBJ_SET_NUM ("children.size", children->size()); } |