• Miklos Vajna's avatar
    tdf#86639 SwEditShell: when setting para style, reset char attrs if needed · 3c0805e1
    Miklos Vajna yazdı
    The old internal RTF filter used to call SwTxtNode::SetAttr() without
    setting SetAttrMode::NOFORMATATTR, so character attributes which cover
    the whole node got converted to paragraph attributes.  The new UNO
    filter goes through SwXText::insertTextPortion(), which sets
    SetAttrMode::NOFORMATATTR, so this doesn't happen. The result of this is
    that when the UI sets a new paragraph style on the text node, then such
    character attributes are no longer removed.
    
    Given that in RTF you can't really have character properties on a
    paragraph, going back to the document model produced by the old internal
    filter doesn't sound like the good direction -- not to mention that
    changing SwXText::insertTextPortion() this way would be an implicit API
    change.
    
    Fix the problem by tweaking SwEditShell::SetTxtFmtColl() instead, so
    that it removes these full-text-node character attributes, too. The
    logic in SwTxtNode::RstTxtAttr() can be extended later if necessary to
    delete more attributes, but to be on the safe side, just handle the bare
    minimum necessary to fix the problem for now.
    
    Change-Id: I5faa3226fc0f9c18e005da185fe0830d8c393256
    3c0805e1