diff options
author | Paul Trojahn <paul.trojahn@gmail.com> | 2018-07-09 20:36:09 +0200 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2018-07-28 20:37:23 +0200 |
commit | c47d8e5fc91fa3f067eb4955fd5bd27cbffd5d51 (patch) | |
tree | e55cac3985c37d2335b4ce3303c66103cde5cad8 | |
parent | 961974a2c507ab34734dabb76e567310ed25a7d7 (diff) |
tdf#115438 Fix freeze when pasting unformatted text
ImpConnectParagraphs calls TextModified, which calculates the selection rectangles of
the paragraph for accessibility services by calling DrawSelectionXOR. When
calling ImpConnectParagraphs from ImpDeleteSelection, the selection isn't
valid, because UpdateSelection wasn't called yet. DrawSelectionXOR ends up
freezing the application, because pEndNode isn't valid.
This can be fixed by calling EnterBlockNotifications, to deliver the notification
sent by TextModified when the insertion is done.
Change-Id: Ia3a0e5b59a28f3503cbc54da682fcdaa5af277be
Reviewed-on: https://gerrit.libreoffice.org/57286
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit 65eaebd2879c18926d4672c9276ef7f73f87af99)
Reviewed-on: https://gerrit.libreoffice.org/58218
Tested-by: Jenkins
Reviewed-by: Paul Trojahn <paul.trojahn@gmail.com>
-rw-r--r-- | editeng/source/editeng/impedit2.cxx | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/editeng/source/editeng/impedit2.cxx b/editeng/source/editeng/impedit2.cxx index 41fec1bf80b3..34ab3bbe2db0 100644 --- a/editeng/source/editeng/impedit2.cxx +++ b/editeng/source/editeng/impedit2.cxx @@ -621,7 +621,9 @@ bool ImpEditEngine::MouseMove( const MouseEvent& rMEvt, EditView* pView ) EditPaM ImpEditEngine::InsertText(const EditSelection& aSel, const OUString& rStr) { + EnterBlockNotifications(); EditPaM aPaM = ImpInsertText( aSel, rStr ); + LeaveBlockNotifications(); return aPaM; } |