summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2021-06-29 11:20:40 +0100
committerCaolán McNamara <caolanm@redhat.com>2021-06-29 15:28:09 +0200
commitde15196a5ccc49b4daa90e3bd25b3cac441f5d2a (patch)
tree3afd7a77700fef9c3dce24f1021b0c8b5d2d3a34 /svx
parentcb0991e32987108d900ec7e8fcd4ce477ebc9fb4 (diff)
Related: tdf#143088 return early on notification from frozen editengine
processing EE_NOTIFY_PROCESSNOTIFICATIONS from an EditEngine with an UpdateMode mode of false will just to on to cause AccessibleTextHelper_Impl::GetTextForwarder to throw an exception as a Frozen EditEngine is considered Invalid so return early instead Change-Id: I86f9647b7bf839cf3c7cf2f029be8c7c5aeef1f4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118079 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'svx')
-rw-r--r--svx/source/dialog/weldeditview.cxx13
1 files changed, 13 insertions, 0 deletions
diff --git a/svx/source/dialog/weldeditview.cxx b/svx/source/dialog/weldeditview.cxx
index e89cfe4e71c9..7dd58d31275f 100644
--- a/svx/source/dialog/weldeditview.cxx
+++ b/svx/source/dialog/weldeditview.cxx
@@ -908,6 +908,19 @@ WeldTextForwarder::~WeldTextForwarder()
IMPL_LINK(WeldTextForwarder, NotifyHdl, EENotify&, rNotify, void)
{
+ if (EditEngine* pEditEngine = m_rEditAcc.GetEditEngine())
+ {
+ if (rNotify.eNotificationType == EE_NOTIFY_PROCESSNOTIFICATIONS
+ && !pEditEngine->GetUpdateMode())
+ {
+ // tdf#143088 an UpdateMode of false will just to on to cause
+ // AccessibleTextHelper_Impl::GetTextForwarder to throw an
+ // exception as a Frozen EditEngine is considered Invalid so return
+ // early instead
+ return;
+ }
+ }
+
::std::unique_ptr<SfxHint> aHint = SvxEditSourceHelper::EENotification2Hint(&rNotify);
if (aHint)
m_rEditSource.GetBroadcaster().Broadcast(*aHint);