From 12f9fdfac8b41d74e9474e8966e3d28755424931 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Mon, 3 Feb 2020 15:19:07 +0000 Subject: Related: tdf#129933 assert on pasting over selection in edit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit when its selected right to left with cursor flashing at the start format->paragraph->area->color->pick, cursor into hex# edit, end to cursor at the end, shift + home to select all, right to left, ctrl+c, ctrl+v, assert Change-Id: I8e29108ddff94487c298bd5e6607b98f5f841afd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87883 Tested-by: Jenkins Reviewed-by: Caolán McNamara --- vcl/source/control/edit.cxx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/vcl/source/control/edit.cxx b/vcl/source/control/edit.cxx index a8a2cbe6f833..b3de2be3a68f 100644 --- a/vcl/source/control/edit.cxx +++ b/vcl/source/control/edit.cxx @@ -1286,8 +1286,12 @@ void Edit::ImplPaste( uno::Reference< datatransfer::clipboard::XClipboard > cons uno::Any aData = xDataObj->getTransferData( aFlavor ); OUString aText; aData >>= aText; - if( ImplTruncateToMaxLen( aText, maSelection.Len() ) ) + + Selection aSelection(maSelection); + aSelection.Justify(); + if (ImplTruncateToMaxLen(aText, aSelection.Len())) ShowTruncationWarning(GetFrameWeld()); + ReplaceSelected( aText ); } catch( const css::uno::Exception& ) -- cgit