OLD | NEW |
1 /** | 1 /** |
2 * Copyright (C) 2007 Rob Buis <buis@kde.org> | 2 * Copyright (C) 2007 Rob Buis <buis@kde.org> |
3 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org> | 3 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org> |
4 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 4 * Copyright (C) Research In Motion Limited 2010. All rights reserved. |
5 * | 5 * |
6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
10 * | 10 * |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
61 , m_paintingResource(0) | 61 , m_paintingResource(0) |
62 { | 62 { |
63 } | 63 } |
64 | 64 |
65 void SVGInlineTextBox::dirtyLineBoxes() | 65 void SVGInlineTextBox::dirtyLineBoxes() |
66 { | 66 { |
67 InlineTextBox::dirtyLineBoxes(); | 67 InlineTextBox::dirtyLineBoxes(); |
68 | 68 |
69 // Clear the now stale text fragments | 69 // Clear the now stale text fragments |
70 clearTextFragments(); | 70 clearTextFragments(); |
| 71 |
| 72 // And clear any following text fragments as the text on which they |
| 73 // depend may now no longer exist, or glyph positions may be wrong |
| 74 InlineTextBox* nextBox = nextTextBox(); |
| 75 if (nextBox) |
| 76 nextBox->dirtyLineBoxes(); |
71 } | 77 } |
72 | 78 |
73 int SVGInlineTextBox::offsetForPosition(float, bool) const | 79 int SVGInlineTextBox::offsetForPosition(float, bool) const |
74 { | 80 { |
75 // SVG doesn't use the standard offset <-> position selection system, as it'
s not suitable for SVGs complex needs. | 81 // SVG doesn't use the standard offset <-> position selection system, as it'
s not suitable for SVGs complex needs. |
76 // vertical text selection, inline boxes spanning multiple lines (contrary t
o HTML, etc.) | 82 // vertical text selection, inline boxes spanning multiple lines (contrary t
o HTML, etc.) |
77 ASSERT_NOT_REACHED(); | 83 ASSERT_NOT_REACHED(); |
78 return 0; | 84 return 0; |
79 } | 85 } |
80 | 86 |
(...skipping 643 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
724 return true; | 730 return true; |
725 } | 731 } |
726 } | 732 } |
727 } | 733 } |
728 return false; | 734 return false; |
729 } | 735 } |
730 | 736 |
731 } // namespace WebCore | 737 } // namespace WebCore |
732 | 738 |
733 #endif | 739 #endif |
OLD | NEW |