editeng/source/editeng/impedit.cxx |    5 +++++
 1 file changed, 5 insertions(+)

New commits:
commit b35bfc7c10a5e06d68340db22486f6682247d8df
Author: Eike Rathke <er...@redhat.com>
Date:   Wed Nov 30 14:47:58 2016 +0100

    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 <c...@libreoffice.org>
    Reviewed-by: Kohei Yoshida <libreoff...@kohei.us>
    Reviewed-by: Eike Rathke <er...@redhat.com>

diff --git a/editeng/source/editeng/impedit.cxx 
b/editeng/source/editeng/impedit.cxx
index 59f20a4..13d98c0 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() );
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to