Changeset 68926 in webkit
- Timestamp:
- Oct 1, 2010 2:25:39 PM (14 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r68923 r68926 1 2010-10-01 David Hyatt <hyatt@apple.com> 2 3 Reviewed by Sam Weinig. 4 5 https://bugs.webkit.org/show_bug.cgi?id=47015 6 7 Change FloatingObject to store its dimensions as a rect. 8 This will make it easier for logical access for block-flow later on if 9 top/bottom is no different from left/width. This change also simplifies 10 calling code a bit in places. 11 12 * rendering/RenderBlock.cpp: 13 (WebCore::RenderBlock::addOverflowFromFloats): 14 (WebCore::RenderBlock::repaintOverhangingFloats): 15 (WebCore::RenderBlock::paintFloats): 16 (WebCore::RenderBlock::fillSelectionGaps): 17 (WebCore::RenderBlock::insertFloatingObject): 18 (WebCore::RenderBlock::removeFloatingObject): 19 (WebCore::RenderBlock::removeFloatingObjectsBelow): 20 (WebCore::RenderBlock::positionNewFloats): 21 (WebCore::RenderBlock::positionNewFloatOnLine): 22 (WebCore::RenderBlock::logicalLeftOffsetForLine): 23 (WebCore::RenderBlock::logicalRightOffsetForLine): 24 (WebCore::RenderBlock::nextFloatBottomBelow): 25 (WebCore::RenderBlock::floatBottom): 26 (WebCore::RenderBlock::lowestPosition): 27 (WebCore::RenderBlock::rightmostPosition): 28 (WebCore::RenderBlock::leftmostPosition): 29 (WebCore::RenderBlock::leftBottom): 30 (WebCore::RenderBlock::rightBottom): 31 (WebCore::RenderBlock::clearFloats): 32 (WebCore::RenderBlock::addOverhangingFloats): 33 (WebCore::RenderBlock::addIntrudingFloats): 34 (WebCore::RenderBlock::hitTestFloats): 35 (WebCore::RenderBlock::adjustForBorderFit): 36 * rendering/RenderBlock.h: 37 (WebCore::RenderBlock::FloatingObject::FloatingObject): 38 (WebCore::RenderBlock::FloatingObject::left): 39 (WebCore::RenderBlock::FloatingObject::right): 40 (WebCore::RenderBlock::FloatingObject::top): 41 (WebCore::RenderBlock::FloatingObject::bottom): 42 (WebCore::RenderBlock::FloatingObject::width): 43 (WebCore::RenderBlock::FloatingObject::height): 44 (WebCore::RenderBlock::FloatingObject::setLeft): 45 (WebCore::RenderBlock::FloatingObject::setTop): 46 (WebCore::RenderBlock::FloatingObject::setWidth): 47 (WebCore::RenderBlock::FloatingObject::setHeight): 48 (WebCore::RenderBlock::FloatingObject::frameRect): 49 (WebCore::RenderBlock::FloatingObject::setFrameRect): 50 * rendering/RenderBlockLineLayout.cpp: 51 (WebCore::RenderBlock::layoutInlineChildren): 52 (WebCore::RenderBlock::matchedEndLine): 53 1 54 2010-10-01 Enrica Casucci <enrica@apple.com> 2 55 -
trunk/WebCore/rendering/RenderBlock.cpp
r68900 r68926 1311 1311 for (; (r = it.current()); ++it) { 1312 1312 if (r->m_shouldPaint && !r->m_renderer->hasSelfPaintingLayer()) 1313 addOverflowFromChild(r->m_renderer, IntSize(r-> m_left + r->m_renderer->marginLeft(), r->m_top+ r->m_renderer->marginTop()));1313 addOverflowFromChild(r->m_renderer, IntSize(r->left() + r->m_renderer->marginLeft(), r->top() + r->m_renderer->marginTop())); 1314 1314 } 1315 1315 return; … … 2076 2076 // is our responsibility to paint (m_shouldPaint is set). When paintAllDescendants is true, the latter 2077 2077 // condition is replaced with being a descendant of us. 2078 if (r-> m_bottom> height() && ((paintAllDescendants && r->m_renderer->isDescendantOf(this)) || r->m_shouldPaint) && !r->m_renderer->hasSelfPaintingLayer()) {2078 if (r->bottom() > height() && ((paintAllDescendants && r->m_renderer->isDescendantOf(this)) || r->m_shouldPaint) && !r->m_renderer->hasSelfPaintingLayer()) { 2079 2079 r->m_renderer->repaint(); 2080 2080 r->m_renderer->repaintOverhangingFloats(); … … 2388 2388 PaintInfo currentPaintInfo(paintInfo); 2389 2389 currentPaintInfo.phase = preservePhase ? paintInfo.phase : PaintPhaseBlockBackground; 2390 int currentTX = tx + r-> m_left- r->m_renderer->x() + r->m_renderer->marginLeft();2391 int currentTY = ty + r-> m_top- r->m_renderer->y() + r->m_renderer->marginTop();2390 int currentTX = tx + r->left() - r->m_renderer->x() + r->m_renderer->marginLeft(); 2391 int currentTY = ty + r->top() - r->m_renderer->y() + r->m_renderer->marginTop(); 2392 2392 r->m_renderer->paint(currentPaintInfo, currentTX, currentTY); 2393 2393 if (!preservePhase) { … … 2598 2598 for (DeprecatedPtrListIterator<FloatingObject> it(*m_floatingObjects); it.current(); ++it) { 2599 2599 FloatingObject* r = it.current(); 2600 paintInfo->context->clipOut(IntRect(tx + r-> m_left+ r->m_renderer->marginLeft(),2601 ty + r-> m_top+ r->m_renderer->marginTop(),2600 paintInfo->context->clipOut(IntRect(tx + r->left() + r->m_renderer->marginLeft(), 2601 ty + r->top() + r->m_renderer->marginTop(), 2602 2602 r->m_renderer->width(), r->m_renderer->height())); 2603 2603 } … … 2929 2929 FloatingObject* newObj = new FloatingObject(o->style()->floating() == FLEFT ? FloatingObject::FloatLeft : FloatingObject::FloatRight); 2930 2930 2931 newObj->m_top = -1; 2932 newObj->m_bottom = -1; 2931 newObj->setTop(-1); 2933 2932 2934 2933 // Our location is irrelevant if we're unsplittable or no pagination is in effect. … … 2941 2940 o->computeBlockDirectionMargins(this); 2942 2941 } 2943 newObj-> m_width = o->width() + o->marginLeft() + o->marginRight();2942 newObj->setWidth(o->width() + o->marginLeft() + o->marginRight()); 2944 2943 2945 2944 newObj->m_shouldPaint = !o->hasSelfPaintingLayer(); // If a layer exists, the float will paint itself. Otherwise someone else will. … … 2959 2958 if (it.current()->m_renderer == o) { 2960 2959 if (childrenInline()) { 2961 int bottom = it.current()-> m_bottom;2960 int bottom = it.current()->bottom(); 2962 2961 // Special-case zero- and less-than-zero-height floats: those don't touch 2963 2962 // the line that they're on, but it still needs to be dirtied. This is 2964 2963 // accomplished by pretending they have a height of 1. 2965 bottom = max(bottom, it.current()-> m_top+ 1);2964 bottom = max(bottom, it.current()->top() + 1); 2966 2965 markLinesDirtyInVerticalRange(0, bottom); 2967 2966 } … … 2979 2978 2980 2979 FloatingObject* curr = m_floatingObjects->last(); 2981 while (curr != lastFloat && (curr-> m_top == -1 || curr->m_top>= y)) {2980 while (curr != lastFloat && (curr->top() == -1 || curr->top() >= y)) { 2982 2981 m_floatingObjects->removeLast(); 2983 2982 curr = m_floatingObjects->last(); … … 2993 2992 2994 2993 // If all floats have already been positioned, then we have no work to do. 2995 if (!f || f-> m_top!= -1)2994 if (!f || f->top() != -1) 2996 2995 return false; 2997 2996 … … 3000 2999 // the new floats that need it. 3001 3000 FloatingObject* lastFloat = m_floatingObjects->getPrev(); 3002 while (lastFloat && lastFloat-> m_top== -1) {3001 while (lastFloat && lastFloat->top() == -1) { 3003 3002 f = m_floatingObjects->prev(); 3004 3003 lastFloat = m_floatingObjects->getPrev(); … … 3009 3008 // The float cannot start above the y position of the last positioned float. 3010 3009 if (lastFloat) 3011 y = max(lastFloat-> m_top, y);3010 y = max(lastFloat->top(), y); 3012 3011 3013 3012 // Now walk through the set of unpositioned floats and place them. … … 3024 3023 int ro = logicalRightOffsetForContent(); // Constant part of right offset. 3025 3024 int lo = logicalLeftOffsetForContent(); // Constant part of left offset. 3026 int fwidth = f-> m_width; // The width we look for.3025 int fwidth = f->width(); // The width we look for. 3027 3026 if (ro - lo < fwidth) 3028 3027 fwidth = ro - lo; // Never look for more than what will be available. … … 3044 3043 } 3045 3044 fx = max(0, fx); 3046 f-> m_left = fx;3045 f->setLeft(fx); 3047 3046 o->setLocation(fx + o->marginLeft(), y + o->marginTop()); 3048 3047 } else { … … 3054 3053 fx = logicalRightOffsetForLine(y, ro, false, &heightRemainingRight); 3055 3054 } 3056 f-> m_left = fx - f->m_width;3055 f->setLeft(fx - f->width()); 3057 3056 o->setLocation(fx - o->marginRight() - o->width(), y + o->marginTop()); 3058 3057 } … … 3087 3086 } 3088 3087 3089 f-> m_top = y;3090 f-> m_bottom = f->m_top + o->marginTop() + o->height() + o->marginBottom();3091 3088 f->setTop(y); 3089 f->setHeight(o->marginTop() + o->height() + o->marginBottom()); 3090 3092 3091 // If the child moved, we have to repaint it. 3093 3092 if (o->checkForRepaintDuringLayout()) … … 3105 3104 return didPosition; 3106 3105 3107 int floatTop = newFloat-> m_top;3106 int floatTop = newFloat->top(); 3108 3107 int paginationStrut = newFloat->m_paginationStrut; 3109 3108 FloatingObject* f = m_floatingObjects->last(); … … 3115 3114 3116 3115 for (f = m_floatingObjects->prev(); f && f != lastFloatFromPreviousLine; f = m_floatingObjects->prev()) { 3117 if (f-> m_top== height()) {3116 if (f->top() == height()) { 3118 3117 ASSERT(!f->m_paginationStrut); 3119 3118 f->m_paginationStrut = paginationStrut; … … 3123 3122 toRenderBlock(o)->setChildNeedsLayout(true, false); 3124 3123 o->layoutIfNeeded(); 3125 f->m_top += f->m_paginationStrut; 3126 f->m_bottom += f->m_paginationStrut; 3124 f->setTop(f->top() + f->m_paginationStrut); 3127 3125 } 3128 3126 } … … 3222 3220 FloatingObject* r; 3223 3221 DeprecatedPtrListIterator<FloatingObject> it(*m_floatingObjects); 3224 for ( ; (r = it.current()); ++it )3225 {3226 if (r->m_top <= y && r->m_bottom > y &&3227 r->type() == FloatingObject::FloatLeft &&3228 r->m_left + r->m_width > left) {3229 left = r->m_left + r->m_width;3230 if ( heightRemaining ) *heightRemaining = r->m_bottom- y;3222 for ( ; (r = it.current()); ++it) { 3223 if (r->top() <= y && r->bottom() > y 3224 && r->type() == FloatingObject::FloatLeft 3225 && r->right() > left) { 3226 left = r->right(); 3227 if (heightRemaining) 3228 *heightRemaining = r->bottom() - y; 3231 3229 } 3232 3230 } … … 3251 3249 FloatingObject* r; 3252 3250 DeprecatedPtrListIterator<FloatingObject> it(*m_floatingObjects); 3253 for ( ; (r = it.current()); ++it )3254 {3255 if (r->m_top <= y && r->m_bottom > y &&3256 r->type() == FloatingObject::FloatRight &&3257 r ->m_left < right) {3258 right = r->m_left;3259 if ( heightRemaining ) *heightRemaining = r->m_bottom- y;3251 for ( ; (r = it.current()); ++it) { 3252 if (r->top() <= y && r->bottom() > y 3253 && r->type() == FloatingObject::FloatRight 3254 && r->left() < right) { 3255 right = r->left(); 3256 if (heightRemaining) 3257 *heightRemaining = r->bottom() - y; 3260 3258 } 3261 3259 } … … 3288 3286 DeprecatedPtrListIterator<FloatingObject> it(*m_floatingObjects); 3289 3287 for ( ; (r = it.current()); ++it) { 3290 if (r-> m_bottom> height)3291 bottom = min(r-> m_bottom, bottom);3288 if (r->bottom() > height) 3289 bottom = min(r->bottom(), bottom); 3292 3290 } 3293 3291 … … 3303 3301 DeprecatedPtrListIterator<FloatingObject> it(*m_floatingObjects); 3304 3302 for ( ; (r = it.current()); ++it ) 3305 if (r-> m_bottom>bottom)3306 bottom = r-> m_bottom;3303 if (r->bottom() > bottom) 3304 bottom = r->bottom(); 3307 3305 return bottom; 3308 3306 } … … 3374 3372 for ( ; (r = it.current()); ++it ) { 3375 3373 if (r->m_shouldPaint || r->m_renderer->hasSelfPaintingLayer()) { 3376 int lp = r-> m_top+ r->m_renderer->marginTop() + r->m_renderer->lowestPosition(false);3374 int lp = r->top() + r->m_renderer->marginTop() + r->m_renderer->lowestPosition(false); 3377 3375 bottom = max(bottom, lp + relativeOffset); 3378 3376 } … … 3471 3469 for ( ; (r = it.current()); ++it ) { 3472 3470 if (r->m_shouldPaint || r->m_renderer->hasSelfPaintingLayer()) { 3473 int rp = r-> m_left+ r->m_renderer->marginLeft() + r->m_renderer->rightmostPosition(false);3471 int rp = r->left() + r->m_renderer->marginLeft() + r->m_renderer->rightmostPosition(false); 3474 3472 right = max(right, rp + relativeOffset); 3475 3473 } … … 3572 3570 for ( ; (r = it.current()); ++it ) { 3573 3571 if (r->m_shouldPaint || r->m_renderer->hasSelfPaintingLayer()) { 3574 int lp = r-> m_left+ r->m_renderer->marginLeft() + r->m_renderer->leftmostPosition(false);3572 int lp = r->left() + r->m_renderer->marginLeft() + r->m_renderer->leftmostPosition(false); 3575 3573 left = min(left, lp + relativeOffset); 3576 3574 } … … 3586 3584 } 3587 3585 3588 int 3589 RenderBlock::leftBottom() 3586 int RenderBlock::leftBottom() 3590 3587 { 3591 3588 if (!m_floatingObjects) return 0; … … 3593 3590 FloatingObject* r; 3594 3591 DeprecatedPtrListIterator<FloatingObject> it(*m_floatingObjects); 3595 for ( ; (r = it.current()); ++it 3596 if (r-> m_bottom> bottom && r->type() == FloatingObject::FloatLeft)3597 bottom = r-> m_bottom;3592 for ( ; (r = it.current()); ++it) 3593 if (r->bottom() > bottom && r->type() == FloatingObject::FloatLeft) 3594 bottom = r->bottom(); 3598 3595 3599 3596 return bottom; 3600 3597 } 3601 3598 3602 int 3603 RenderBlock::rightBottom() 3599 int RenderBlock::rightBottom() 3604 3600 { 3605 3601 if (!m_floatingObjects) return 0; … … 3607 3603 FloatingObject* r; 3608 3604 DeprecatedPtrListIterator<FloatingObject> it(*m_floatingObjects); 3609 for ( ; (r = it.current()); ++it 3610 if (r-> m_bottom>bottom && r->type() == FloatingObject::FloatRight)3611 bottom = r-> m_bottom;3605 for ( ; (r = it.current()); ++it) 3606 if (r->bottom() > bottom && r->type() == FloatingObject::FloatRight) 3607 bottom = r->bottom(); 3612 3608 3613 3609 return bottom; … … 3700 3696 FloatingObject* oldFloatingObject = floatMap.get(f->m_renderer); 3701 3697 if (oldFloatingObject) { 3702 if (f-> m_width != oldFloatingObject->m_width || f->m_left != oldFloatingObject->m_left) {3698 if (f->width() != oldFloatingObject->width() || f->left() != oldFloatingObject->left()) { 3703 3699 changeTop = 0; 3704 changeBottom = max(changeBottom, max(f-> m_bottom, oldFloatingObject->m_bottom));3705 } else if (f-> m_bottom != oldFloatingObject->m_bottom) {3706 changeTop = min(changeTop, min(f-> m_bottom, oldFloatingObject->m_bottom));3707 changeBottom = max(changeBottom, max(f-> m_bottom, oldFloatingObject->m_bottom));3700 changeBottom = max(changeBottom, max(f->bottom(), oldFloatingObject->bottom())); 3701 } else if (f->bottom() != oldFloatingObject->bottom()) { 3702 changeTop = min(changeTop, min(f->bottom(), oldFloatingObject->bottom())); 3703 changeBottom = max(changeBottom, max(f->bottom(), oldFloatingObject->bottom())); 3708 3704 } 3709 3705 … … 3712 3708 } else { 3713 3709 changeTop = 0; 3714 changeBottom = max(changeBottom, f-> m_bottom);3710 changeBottom = max(changeBottom, f->bottom()); 3715 3711 } 3716 3712 } … … 3722 3718 if (!floatingObject->m_isDescendant) { 3723 3719 changeTop = 0; 3724 changeBottom = max(changeBottom, floatingObject-> m_bottom);3720 changeBottom = max(changeBottom, floatingObject->bottom()); 3725 3721 } 3726 3722 } … … 3743 3739 DeprecatedPtrListIterator<FloatingObject> it(*child->m_floatingObjects); 3744 3740 for (FloatingObject* r; (r = it.current()); ++it) { 3745 int bottom = child->y() + r-> m_bottom;3741 int bottom = child->y() + r->bottom(); 3746 3742 lowestFloatBottom = max(lowestFloatBottom, bottom); 3747 3743 … … 3749 3745 // If the object is not in the list, we add it now. 3750 3746 if (!containsFloat(r->m_renderer)) { 3751 FloatingObject *floatingObj = new FloatingObject(r->type()); 3752 floatingObj->m_top = r->m_top - yoff; 3753 floatingObj->m_bottom = r->m_bottom - yoff; 3754 floatingObj->m_left = r->m_left - xoff; 3755 floatingObj->m_width = r->m_width; 3747 FloatingObject* floatingObj = new FloatingObject(r->type(), IntRect(r->left() - xoff, r->top() - yoff, r->width(), r->height())); 3756 3748 floatingObj->m_renderer = r->m_renderer; 3757 3749 … … 3782 3774 3783 3775 if (r->m_shouldPaint && !r->m_renderer->hasSelfPaintingLayer()) 3784 child->addOverflowFromChild(r->m_renderer, IntSize(r-> m_left + r->m_renderer->marginLeft(), r->m_top+ r->m_renderer->marginTop()));3776 child->addOverflowFromChild(r->m_renderer, IntSize(r->left() + r->m_renderer->marginLeft(), r->top() + r->m_renderer->marginTop())); 3785 3777 } 3786 3778 return lowestFloatBottom; … … 3795 3787 DeprecatedPtrListIterator<FloatingObject> it(*prev->m_floatingObjects); 3796 3788 for (FloatingObject *r; (r = it.current()); ++it) { 3797 if (r-> m_bottom> yoff) {3789 if (r->bottom() > yoff) { 3798 3790 // The object may already be in our list. Check for it up front to avoid 3799 3791 // creating duplicate entries. … … 3807 3799 } 3808 3800 if (!f) { 3809 FloatingObject *floatingObj = new FloatingObject(r->type()); 3810 floatingObj->m_top = r->m_top - yoff; 3811 floatingObj->m_bottom = r->m_bottom - yoff; 3812 floatingObj->m_left = r->m_left - xoff; 3801 FloatingObject* floatingObj = new FloatingObject(r->type(), IntRect(r->left() - xoff - marginLeft(), r->top() - yoff, r->width(), r->height())); 3802 3813 3803 // Applying the child's margin makes no sense in the case where the child was passed in. 3814 3804 // since his own margin was added already through the subtraction of the |xoff| variable … … 3817 3807 // will get applied twice. 3818 3808 if (prev != parent()) 3819 floatingObj-> m_left += prev->marginLeft();3820 floatingObj->m_left -= marginLeft();3809 floatingObj->setLeft(floatingObj->left() + prev->marginLeft()); 3810 3821 3811 floatingObj->m_shouldPaint = false; // We are not in the direct inheritance chain for this float. We will never paint it. 3822 floatingObj->m_width = r->m_width;3823 3812 floatingObj->m_renderer = r->m_renderer; 3824 3813 … … 4051 4040 for (it.toLast(); (floatingObject = it.current()); --it) { 4052 4041 if (floatingObject->m_shouldPaint && !floatingObject->m_renderer->hasSelfPaintingLayer()) { 4053 int xOffset = tx + floatingObject-> m_left+ floatingObject->m_renderer->marginLeft() - floatingObject->m_renderer->x();4054 int yOffset = ty + floatingObject-> m_top+ floatingObject->m_renderer->marginTop() - floatingObject->m_renderer->y();4042 int xOffset = tx + floatingObject->left() + floatingObject->m_renderer->marginLeft() - floatingObject->m_renderer->x(); 4043 int yOffset = ty + floatingObject->top() + floatingObject->m_renderer->marginTop() - floatingObject->m_renderer->y(); 4055 4044 if (floatingObject->m_renderer->hitTest(request, result, IntPoint(x, y), xOffset, yOffset)) { 4056 4045 updateHitTestResult(result, IntPoint(x - xOffset, y - yOffset)); … … 5538 5527 // Only examine the object if our m_shouldPaint flag is set. 5539 5528 if (r->m_shouldPaint) { 5540 int floatLeft = r-> m_left- r->m_renderer->x() + r->m_renderer->marginLeft();5529 int floatLeft = r->left() - r->m_renderer->x() + r->m_renderer->marginLeft(); 5541 5530 int floatRight = floatLeft + r->m_renderer->width(); 5542 5531 left = min(left, floatLeft); -
trunk/WebCore/rendering/RenderBlock.h
r68842 r68926 365 365 }; 366 366 367 FloatingObject(Type type )367 FloatingObject(Type type, const IntRect& frameRect = IntRect()) 368 368 : m_renderer(0) 369 , m_top(0) 370 , m_bottom(0) 371 , m_left(0) 372 , m_width(0) 369 , m_frameRect(frameRect) 373 370 , m_paginationStrut(0) 374 371 , m_type(type) … … 380 377 Type type() { return static_cast<Type>(m_type); } 381 378 379 int left() const { return m_frameRect.x(); } 380 int right() const { return m_frameRect.right(); } 381 int top() const { return m_frameRect.y(); } 382 int bottom() const { return m_frameRect.bottom(); } 383 int width() const { return m_frameRect.width(); } 384 int height() const { return m_frameRect.height(); } 385 386 void setLeft(int left) { m_frameRect.setX(left); } 387 void setTop(int top) { m_frameRect.setY(top); } 388 void setWidth(int width) { m_frameRect.setWidth(width); } 389 void setHeight(int height) { m_frameRect.setHeight(height); } 390 391 const IntRect& frameRect() const { return m_frameRect; } 392 void setFrameRect(const IntRect& frameRect) { m_frameRect = frameRect; } 393 382 394 RenderBox* m_renderer; 383 int m_top; 384 int m_bottom; 385 int m_left; 386 int m_width; 395 IntRect m_frameRect; 387 396 int m_paginationStrut; 388 397 unsigned m_type : 1; // Type (left or right aligned) -
trunk/WebCore/rendering/RenderBlockLineLayout.cpp
r68817 r68926 811 811 ASSERT(f->m_renderer == floats[floatIndex].object); 812 812 // If a float's geometry has changed, give up on syncing with clean lines. 813 if (floats[floatIndex].rect != IntRect(f->m_left, f->m_top, f->m_width, f->m_bottom - f->m_top))813 if (floats[floatIndex].rect != f->frameRect()) 814 814 checkForEndLineMatch = false; 815 815 floatIndex++; … … 1109 1109 1110 1110 for (FloatingObject* f = m_floatingObjects->first(); f; f = m_floatingObjects->next()) { 1111 if (f-> m_bottom >= top && f->m_bottom< bottom)1111 if (f->bottom() >= top && f->bottom() < bottom) 1112 1112 return false; 1113 1113 } … … 1143 1143 1144 1144 for (FloatingObject* f = m_floatingObjects->first(); f; f = m_floatingObjects->next()) { 1145 if (f-> m_bottom >= top && f->m_bottom< bottom)1145 if (f->bottom() >= top && f->bottom() < bottom) 1146 1146 return false; 1147 1147 }
Note: See TracChangeset
for help on using the changeset viewer.