From 7c20d0174c59d46b11fc5029fe3fc0c00f5dc6d0 Mon Sep 17 00:00:00 2001 From: Eike Rathke Date: Wed, 30 Nov 2016 14:47:58 +0100 Subject: [PATCH] Resolves: tdf#104152 suppress notifications from EditEngine during Paste Broadcast once at the end instead to notify a11y. Change-Id: I12383b6efbbb2b149f0d73c67d8576fcc050b253 --- editeng/source/editeng/impedit.cxx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/editeng/source/editeng/impedit.cxx b/editeng/source/editeng/impedit.cxx index 81f0202bca4d..3d271bf3f666 100644 --- a/editeng/source/editeng/impedit.cxx +++ b/editeng/source/editeng/impedit.cxx @@ -1521,9 +1521,14 @@ void ImpEditView::Paste( css::uno::Reference< css::datatransfer::clipboard::XCli } else { + // Prevent notifications of paragraph inserts et al that would trigger + // a11y to format content in a half-ready state when obtaining + // paragraphs. Collect and broadcast when done instead. + pEditEngine->pImpEditEngine->EnterBlockNotifications(); aSel = pEditEngine->InsertText( xDataObj, OUString(), aSel.Min(), bUseSpecial && pEditEngine->GetInternalEditStatus().AllowPasteSpecial()); + pEditEngine->pImpEditEngine->LeaveBlockNotifications(); } aPasteOrDropInfos.nEndPara = pEditEngine->GetEditDoc().GetPos( aSel.Max().GetNode() );