Resolves: tdf#104152 suppress notifications from EditEngine during Paste

Broadcast once at the end instead to notify a11y.

Change-Id: I12383b6efbbb2b149f0d73c67d8576fcc050b253
This commit is contained in:
Eike Rathke
2016-11-30 14:47:58 +01:00
parent fff0cf20e4
commit 7c20d0174c

View File

@@ -1521,9 +1521,14 @@ void ImpEditView::Paste( css::uno::Reference< css::datatransfer::clipboard::XCli
} }
else 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( aSel = pEditEngine->InsertText(
xDataObj, OUString(), aSel.Min(), xDataObj, OUString(), aSel.Min(),
bUseSpecial && pEditEngine->GetInternalEditStatus().AllowPasteSpecial()); bUseSpecial && pEditEngine->GetInternalEditStatus().AllowPasteSpecial());
pEditEngine->pImpEditEngine->LeaveBlockNotifications();
} }
aPasteOrDropInfos.nEndPara = pEditEngine->GetEditDoc().GetPos( aSel.Max().GetNode() ); aPasteOrDropInfos.nEndPara = pEditEngine->GetEditDoc().GetPos( aSel.Max().GetNode() );