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]; |
} |