OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2007 David Smith (catfish.man@gmail.com) | 4 * (C) 2007 David Smith (catfish.man@gmail.com) |
5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All r
ights reserved. | 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All r
ights reserved. |
6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. |
7 * | 7 * |
8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
(...skipping 820 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
831 inlineRunEnd = curr; | 831 inlineRunEnd = curr; |
832 if (curr->isInline()) | 832 if (curr->isInline()) |
833 sawInline = true; | 833 sawInline = true; |
834 curr = curr->nextSibling(); | 834 curr = curr->nextSibling(); |
835 } | 835 } |
836 } while (!sawInline); | 836 } while (!sawInline); |
837 } | 837 } |
838 | 838 |
839 void RenderBlock::deleteLineBoxTree() | 839 void RenderBlock::deleteLineBoxTree() |
840 { | 840 { |
| 841 if (containsFloats()) { |
| 842 // Clear references to originating lines, since the lines are being dele
ted |
| 843 const FloatingObjectSet& floatingObjectSet = m_floatingObjects->set(); |
| 844 FloatingObjectSetIterator end = floatingObjectSet.end(); |
| 845 for (FloatingObjectSetIterator it = floatingObjectSet.begin(); it != end
; ++it) { |
| 846 ASSERT(!((*it)->m_originatingLine) || (*it)->m_originatingLine->rend
erer() == this); |
| 847 (*it)->m_originatingLine = 0; |
| 848 } |
| 849 } |
841 m_lineBoxes.deleteLineBoxTree(renderArena()); | 850 m_lineBoxes.deleteLineBoxTree(renderArena()); |
842 } | 851 } |
843 | 852 |
844 RootInlineBox* RenderBlock::createRootInlineBox() | 853 RootInlineBox* RenderBlock::createRootInlineBox() |
845 { | 854 { |
846 return new (renderArena()) RootInlineBox(this); | 855 return new (renderArena()) RootInlineBox(this); |
847 } | 856 } |
848 | 857 |
849 RootInlineBox* RenderBlock::createAndAppendRootInlineBox() | 858 RootInlineBox* RenderBlock::createAndAppendRootInlineBox() |
850 { | 859 { |
(...skipping 6048 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6899 } | 6908 } |
6900 | 6909 |
6901 String ValueToString<RenderBlock::FloatingObject*>::string(const RenderBlock::Fl
oatingObject* floatingObject) | 6910 String ValueToString<RenderBlock::FloatingObject*>::string(const RenderBlock::Fl
oatingObject* floatingObject) |
6902 { | 6911 { |
6903 return String::format("%p (%dx%d %dx%d)", floatingObject, floatingObject->x(
), floatingObject->y(), floatingObject->maxX(), floatingObject->maxY()); | 6912 return String::format("%p (%dx%d %dx%d)", floatingObject, floatingObject->x(
), floatingObject->y(), floatingObject->maxX(), floatingObject->maxY()); |
6904 } | 6913 } |
6905 | 6914 |
6906 #endif | 6915 #endif |
6907 | 6916 |
6908 } // namespace WebCore | 6917 } // namespace WebCore |
OLD | NEW |