summaryrefslogtreecommitdiff
path: root/editeng
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2016-11-30 14:47:58 +0100
committerEike Rathke <erack@redhat.com>2016-12-01 12:28:00 +0000
commitb35bfc7c10a5e06d68340db22486f6682247d8df (patch)
tree6909e534df76a3ae13a4b817a6e5d600efe54119 /editeng
parentfeacae8571d003c60960d852e835a17ef722265c (diff)
Resolves: tdf#104152 suppress notifications from EditEngine during Paste
Broadcast once at the end instead to notify a11y. (cherry picked from commit 7c20d0174c59d46b11fc5029fe3fc0c00f5dc6d0) Conflicts: editeng/source/editeng/impedit.cxx Change-Id: I12383b6efbbb2b149f0d73c67d8576fcc050b253 Reviewed-on: https://gerrit.libreoffice.org/31425 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Kohei Yoshida <libreoffice@kohei.us> Reviewed-by: Eike Rathke <erack@redhat.com>
Diffstat (limited to 'editeng')
-rw-r--r--editeng/source/editeng/impedit.cxx5
1 files changed, 5 insertions, 0 deletions
diff --git a/editeng/source/editeng/impedit.cxx b/editeng/source/editeng/impedit.cxx
index 59f20a4587b3..13d98c05a010 100644
--- a/editeng/source/editeng/impedit.cxx
+++ b/editeng/source/editeng/impedit.cxx
@@ -1440,9 +1440,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() );