| Index: WebCore/rendering/RenderTextFragment.cpp
|
| ===================================================================
|
| --- WebCore/rendering/RenderTextFragment.cpp (revision 67116)
|
| +++ WebCore/rendering/RenderTextFragment.cpp (working copy)
|
| @@ -48,9 +48,9 @@
|
| {
|
| Node* e = node();
|
| RefPtr<StringImpl> result = ((e && e->isTextNode()) ? static_cast<Text*>(e)->dataImpl() : contentString());
|
| - if (result && (start() > 0 || start() < result->length()))
|
| - result = result->substring(start(), end());
|
| - return result.release();
|
| + if (!result)
|
| + return 0;
|
| + return result->substring(start(), end());
|
| }
|
|
|
| void RenderTextFragment::destroy()
|
| @@ -81,7 +81,7 @@
|
| if (start()) {
|
| Node* e = node();
|
| StringImpl* original = ((e && e->isTextNode()) ? static_cast<Text*>(e)->dataImpl() : contentString());
|
| - if (original)
|
| + if (original && start() <= original->length())
|
| return (*original)[start() - 1];
|
| }
|
|
|
|
|