summaryrefslogtreecommitdiff
path: root/editeng
diff options
context:
space:
mode:
authorSamuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>2017-11-10 11:06:46 +0100
committerThorsten Behrens <Thorsten.Behrens@CIB.de>2017-11-11 00:33:17 +0100
commite4d1551697406bab0e9973bfa8ac012c48ff8eea (patch)
tree280394194cda69a7cec97822b4b138ce234ccb70 /editeng
parent5d12237d79f289a1dcf8e07aa03df329e136f078 (diff)
tdf#113591 Fix crash when switching between Calc and other LO window
Need to get the ContentNode from EditDoc, as the selection might have a pointer to an already deleted ContentNode. Change-Id: I5c17be8ec2cbc57686eaf90e8b03c026aea7f28f Reviewed-on: https://gerrit.libreoffice.org/44583 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Diffstat (limited to 'editeng')
-rw-r--r--editeng/source/editeng/editview.cxx8
1 files changed, 5 insertions, 3 deletions
diff --git a/editeng/source/editeng/editview.cxx b/editeng/source/editeng/editview.cxx
index 9a932217eb4f..d7539558ffbb 100644
--- a/editeng/source/editeng/editview.cxx
+++ b/editeng/source/editeng/editview.cxx
@@ -252,11 +252,13 @@ bool EditView::IsReadOnly() const
void EditView::SetSelection( const ESelection& rESel )
{
- // If someone has just left an empty attribute, and then the outliner
- // manipulates the selection:
+ // If someone has just left an empty attribute, and then the outliner manipulates the
+ // selection, call the CursorMoved method so that empty attributes get cleaned up.
if ( !HasSelection() )
{
- const ContentNode* pNode = pImpEditView->GetEditSelection().Max().GetNode();
+ // tdf#113591 Get node from EditDoc, as the selection might have a pointer to an
+ // already deleted node.
+ const ContentNode* pNode = pImpEditView->pEditEngine->GetEditDoc().GetEndPaM().GetNode();
pImpEditView->pEditEngine->CursorMoved( pNode );
}
EditSelection aNewSelection( pImpEditView->pEditEngine->pImpEditEngine->ConvertSelection(