summaryrefslogtreecommitdiff
path: root/dw/oofawarewidget.cc
diff options
context:
space:
mode:
authorSebastian Geerken <devnull@localhost>2014-10-03 13:51:25 +0200
committerSebastian Geerken <devnull@localhost>2014-10-03 13:51:25 +0200
commit8fd2ae404f3f0af087217ba79ff9a35955fb026f (patch)
treebc42c1fbbb2224a52846d62111e5924ec788d0fc /dw/oofawarewidget.cc
parent59b3ae08f3fcd91c0792e2ea840d0072f1d73416 (diff)
parent5f1cf298395601f67afc9aff78e547d915663daf (diff)
Merge with main repo. (But something is not working yet.)
Diffstat (limited to 'dw/oofawarewidget.cc')
-rw-r--r--dw/oofawarewidget.cc15
1 files changed, 5 insertions, 10 deletions
diff --git a/dw/oofawarewidget.cc b/dw/oofawarewidget.cc
index 99f297ff..7017ebfa 100644
--- a/dw/oofawarewidget.cc
+++ b/dw/oofawarewidget.cc
@@ -91,6 +91,9 @@ bool OOFAwareWidget::isOOFContainer (Widget *widget, int oofmIndex)
->isPossibleContainerParent (OOFM_FLOATS)) ||
// Inline blocks are containing blocks, too.
widget->getStyle()->display == core::style::DISPLAY_INLINE_BLOCK ||
+ // Same for blocks with 'overview' set to another value than
+ // (the default value) 'visible'.
+ widget->getStyle()->overflow != core::style::OVERFLOW_VISIBLE ||
// Finally, "out of flow" in a narrower sense: floats;
// absolutely and fixedly positioned elements; furthermore,
// relatively positioned elements must already be
@@ -102,16 +105,8 @@ bool OOFAwareWidget::isOOFContainer (Widget *widget, int oofmIndex)
// Only the toplevel widget (as for all) as well as absolutely,
// relatively, and fixedly positioned elements constitute the
// containing block for absolutely positioned elements, but
- // neither floats nor other elements like table cells.
- //
- // (Notice that relative positions are not yet supported, but
- // only tested to get the correct containing block. Furthermore,
- // it seems that this test would be incorrect for floats.)
- //
- // We also test whether this widget is a textblock: is this
- // necessary? (What about other absolutely widgets containing
- // children, like tables? TODO: Check CSS spec.)
-
+ // neither floats nor other elements like table cells, or
+ // elements with 'overview' set to another value than 'visible'.
return widget->instanceOf (OOFAwareWidget::CLASS_ID) &&
(widget->getParent() == NULL || testWidgetPositioned (widget));