diff options
author | Sebastian Geerken <devnull@localhost> | 2014-12-22 21:24:57 +0100 |
---|---|---|
committer | Sebastian Geerken <devnull@localhost> | 2014-12-22 21:24:57 +0100 |
commit | 68a9566b50bedd2366c065477dc953dcf098e19e (patch) | |
tree | 818c28935109953ffb113cb78926b6e9768c9e30 /dw/oofawarewidget.cc | |
parent | 1162688e7720815b17cc6b85033ec5b63eb6440e (diff) |
(Absolute) positions: temporary re-enact old behaviour.
Diffstat (limited to 'dw/oofawarewidget.cc')
-rw-r--r-- | dw/oofawarewidget.cc | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/dw/oofawarewidget.cc b/dw/oofawarewidget.cc index a1901210..f9510854 100644 --- a/dw/oofawarewidget.cc +++ b/dw/oofawarewidget.cc @@ -198,7 +198,13 @@ bool OOFAwareWidget::isOOFContainer (Widget *widget, int oofmIndex) // We use the toplevel widget as container, i. e. parent widget. // See also OOFPosAbsMgr::isReference for the definition of the // "reference widget". - return widget->getParent() == NULL; + //return widget->getParent() == NULL; + + // The above does not work. Temporary re-enact old behaviour: + return widget->instanceOf (OOFAwareWidget::CLASS_ID) && + (widget->getParent() == NULL || + OOFAwareWidget::testWidgetPositioned (widget)); + case OOFM_FIXED: // The single container for fixedly positioned elements is the @@ -402,6 +408,8 @@ void OOFAwareWidget::draw (View *view, Rectangle *area, if ((*interruptedWidget)->getParent () == this) { DBG_OBJ_MSGF ("draw", 1, "interrupted at %p, drawing seperately", *interruptedWidget); + DBG_OBJ_MSG_START (); + DBG_IF_RTFL { StringBuffer sb; iteratorStack->intoStringBuffer (&sb); @@ -419,6 +427,11 @@ void OOFAwareWidget::draw (View *view, Rectangle *area, &iteratorStack2, &interruptedWidget2); assert (interruptedWidget2 == NULL); + //if (interruptedWidget2 != NULL) + // DBG_OBJ_MSGF ("draw", 0, + // "<b>===== Assertion failed: " + // "interruptedWidget2 = %p =====</b>", + // interruptedWidget2); } ((OOFStackingIterator*)iteratorStack->getTop()) @@ -426,7 +439,8 @@ void OOFAwareWidget::draw (View *view, Rectangle *area, // Continue with the current state of "iterator". *interruptedWidget = NULL; - DBG_OBJ_MSG ("draw", 1, "done with interruption"); + + DBG_OBJ_MSG_END (); } } else { OOFStackingIterator* osi = |