Review Request 110506: Ignore application of default styles in DockerStylesComboModel
Elvis Stansvik
elvstone at gmail.com
Sun May 19 10:44:52 BST 2013
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/110506/
-----------------------------------------------------------
(Updated May 19, 2013, 9:44 a.m.)
Review request for Calligra and Pierre Stirnweiss.
Changes
-------
Don't check the stylesType. (I agree it's unnecessary).
Description
-------
During the loading of the attached document (from bug #319048 ), DockerStylesComboModel::styleApplied is called with the default paragraph style as argument.
The function assumes that the source model can provide an index for the supplied style (see the calls to indexForCharacterStyle). But the source model explicitly avoids adding items for the default styles, so these calls will return an invalid index, which results in a -1 being added as a row to m_usedStyles. In the next call to styleApplied, this will result in an invalid internalId being used to try to get the corresponding style from the style manager. The invalid style pointer is then used, resulting in the crash described in the bug.
The attached patch turns DockerStylesComboModel::styleApplied into a no-op if the supplied style is either the default character style or the default paragraph styles, since there will never be any items for these in the source model.
I'm not sure this is the correct fix, so would be great if e.g. Pierre could have a look.
This addresses bug 319048.
http://bugs.kde.org/show_bug.cgi?id=319048
Diffs (updated)
-----
plugins/textshape/dialogs/DockerStylesComboModel.cpp 40ae007
Diff: http://git.reviewboard.kde.org/r/110506/diff/
Testing
-------
Tried to load the attached document before/after the fix. And the problem seems solved.
File Attachments
----------------
The ODT provoking the crash
http://git.reviewboard.kde.org/media/uploaded/files/2013/05/18/space.odt
Thanks,
Elvis Stansvik
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/calligra-devel/attachments/20130519/0ac0f775/attachment.htm>
More information about the calligra-devel
mailing list