diff options
author | Michael Stahl <mstahl@redhat.com> | 2014-12-18 21:52:51 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2014-12-19 13:11:02 +0000 |
commit | 00428a15f0e7346af5da80563197950cf6439297 (patch) | |
tree | 0ad6fd4b48a60e80e8a5c373ed6115dc7ed535ae /soltools | |
parent | 915153b2e14dd75a6c90f5f4b1ac01b7f47bafdb (diff) |
fdo#87199: sw: fix root cause of a11y crash when merging cells
Commit f9eff2a402a4cd28d7dbfb6ce27cbf96b31e576f is not quite right
because it will leave the mpNext chain unreachable; that could perhaps
be imporoved by calling RemoveFromLayout(), but...
Actually the problem is basically that one of the deleted SwCellFrms
points to a SwTableBox with getRowSpan() -1 (because it has been merged)
and thus IsInCoveredCell() returns true and that causes ~SwCellFrm() to
skip disposing the SwAccessible stuff, so the SwCellFrm is still
contained in the SwAccessibleMap.
Because it's rather hard to prevent this sort of thing in general,
better change SwAccessibleMap::Dispose() to assume that if it found its
way into the SwAccessibleMap it should be disposed and removed.
Change-Id: Ib4cec6924cb026ae30bdac6857957adf237b4d70
(cherry picked from commit 296e8b597c141b6b54cbf943871d6a6820c1779d)
Reviewed-on: https://gerrit.libreoffice.org/13532
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'soltools')
0 files changed, 0 insertions, 0 deletions