Reviewed by John
authorkocienda <kocienda@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 11 Oct 2004 17:49:24 +0000 (17:49 +0000)
committerkocienda <kocienda@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 11 Oct 2004 17:49:24 +0000 (17:49 +0000)
commit308992abf9f98d37c432bc18d7d3dc368a78ba00
treedcdf1afbb25cd3f9809ecd64890bb06eb359e81f
parent95c01b7fb5dffeb242bd46b7283683c8968a55cb
    Reviewed by John

        This is a partial fix to this bug:

        <rdar://problem/3832886> increase quote level on new mail document leads to immediate
        crash in caret painting code

        To eliminate the bad behavior for good, I have done some investigations in Mail code,
        and I have sent a suggested code change on to Grant. Basically, Mail can't add empty
        blocks (like blockquote elements used for quoting) to documents without giving those
        blocks some content (so they have a height).

        I added some other crash protections below.

        * khtml/editing/selection.cpp:
        (khtml::Selection::layout): Check for non-null position after calls to VisiblePosition, since
        the VisiblePosition constructors may fail to find a visible spot in the document. Also, add
        a couple position-has-renderer assertion checks.
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::styleForSelectionStart): Take out pos.isNotNull() assertion since VisiblePosition
        may not yield a position. This assertion is a holdover from before we had VisiblePosition.
        (KWQKHTMLPart::fontForSelection): Rearrange the code a little to deal with possible null results from
        calls to helpers.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7818 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore/ChangeLog-2005-08-23
WebCore/khtml/editing/SelectionController.cpp
WebCore/khtml/editing/selection.cpp
WebCore/kwq/KWQKHTMLPart.mm