diff options
author | Michael Stahl <mstahl@redhat.com> | 2016-12-01 22:56:21 +0100 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2016-12-01 23:29:48 +0100 |
commit | 002c1f7223a0363f848d37062a0043d63255ad94 (patch) | |
tree | 099d790fb67afeb51cd25514a491f389870bbc3e /sw | |
parent | 745fe08e187ef623486b54e3036075748e789339 (diff) |
tdf#101464 fix SwAccessibleMap::mpEvents assertions switching PrintPreview
The problem here is that when switching to the print preview, there are
2 view shells, SwEditShell::UpdateTable() is called and the first one
does some layouting in ImplEndAction(); this creates a11y events for the
2nd print preview one (see loops in SwViewShellImp::Invalidate*) and
stores them in the SwAccessibleMap since there is an Action going on;
then SwViewShell::ImplEndAction() for the print preview shell is called
but it returns early without sending out the events, so they remain
until the ~SwAccessibleMap asserts about them.
Change-Id: Ie1c6b82fc5f2cdb2998d514a632295ad07e97517
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/core/view/viewsh.cxx | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx index 83a58afc203b..2d362a24a313 100644 --- a/sw/source/core/view/viewsh.cxx +++ b/sw/source/core/view/viewsh.cxx @@ -235,6 +235,12 @@ void SwViewShell::ImplEndAction( const bool bIdleEnd ) { mbPaintWorks = true; UISizeNotify(); + // tdf#101464 print preview may generate events if another view shell + // performs layout... + if (IsPreview() && Imp()->IsAccessible()) + { + Imp()->FireAccessibleEvents(); + } return; } |