summaryrefslogtreecommitdiff
path: root/dw/oofpositionedmgr.cc
diff options
context:
space:
mode:
authorSebastian Geerken <devnull@localhost>2014-10-23 13:56:47 +0200
committerSebastian Geerken <devnull@localhost>2014-10-23 13:56:47 +0200
commit9eaaa3b90cba69593ab664b552ac5f5e4a299140 (patch)
tree2fbd8ad2bad2dca3dfb45b64db3bb123f3954c4d /dw/oofpositionedmgr.cc
parent8b633a44f51ecdda001addb99f2474f688920065 (diff)
Fixed drawing of widgets previously (possibly) drawn after interruption.
Diffstat (limited to 'dw/oofpositionedmgr.cc')
-rw-r--r--dw/oofpositionedmgr.cc16
1 files changed, 8 insertions, 8 deletions
diff --git a/dw/oofpositionedmgr.cc b/dw/oofpositionedmgr.cc
index c0c31417..8c322333 100644
--- a/dw/oofpositionedmgr.cc
+++ b/dw/oofpositionedmgr.cc
@@ -175,19 +175,19 @@ Widget *OOFPositionedMgr::draw (View *view, Rectangle *area,
DBG_OBJ_ENTER ("draw", 0, "draw", "(%d, %d, %d * %d), [%d]",
area->x, area->y, area->width, area->height, *index);
+ OOFAwareWidget::OOFStackingIterator *osi =
+ (OOFAwareWidget::OOFStackingIterator*)iteratorStack->getTop ();
Widget *retWidget = NULL;
while (retWidget == NULL && *index < children->size()) {
Child *child = children->get(*index);
- if (!OOFAwareWidget:: doesWidgetOOFInterruptDrawing
- (child->widget, child->generator, container)) {
- Rectangle childArea;
- if (!StackingContextMgr::handledByStackingContextMgr (child->widget) &&
- child->widget->intersects (area, &childArea))
- retWidget =
- child->widget->drawTotal (view, &childArea, iteratorStack);
- }
+ Rectangle childArea;
+ if (!osi->hasWidgetBeenDrawnAfterInterruption (child->widget) &&
+ !StackingContextMgr::handledByStackingContextMgr (child->widget) &&
+ child->widget->intersects (area, &childArea))
+ retWidget =
+ child->widget->drawTotal (view, &childArea, iteratorStack);
if (retWidget == NULL)
(*index)++;