From 1cff94d109c38cc4c929e9ab69c8d5fbd881ba84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= Date: Mon, 3 Feb 2020 15:19:07 +0000 Subject: Related: tdf#129933 assert on pasting over selection in edit 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/+/87885 Tested-by: Jenkins Reviewed-by: Michael Stahl --- vcl/source/control/edit.cxx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'vcl/source') diff --git a/vcl/source/control/edit.cxx b/vcl/source/control/edit.cxx index 9e25359bcf19..d76b4464ffcf 100644 --- a/vcl/source/control/edit.cxx +++ b/vcl/source/control/edit.cxx @@ -1290,8 +1290,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 v1.2.1