From d6fce28dea6e1e51ec5de88ef17cc56180b8c2db Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Mon, 18 May 2020 12:21:09 +0100 Subject: Resolves: tdf#129620 crash because there is no associated window MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit only an outputdevice in this editeng-in-a-widget case Change-Id: Idf054872a48befba652012cd511e4f9df4437166 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94415 Tested-by: Jenkins Reviewed-by: Caolán McNamara --- editeng/source/editeng/impedit2.cxx | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'editeng') diff --git a/editeng/source/editeng/impedit2.cxx b/editeng/source/editeng/impedit2.cxx index 124b310ca249..eb9ef5eca2c3 100644 --- a/editeng/source/editeng/impedit2.cxx +++ b/editeng/source/editeng/impedit2.cxx @@ -478,13 +478,17 @@ void ImpEditEngine::Command( const CommandEvent& rCEvt, EditView* pView ) if ( nInputEnd > rLine.GetEnd() ) nInputEnd = rLine.GetEnd(); tools::Rectangle aR2 = PaMtoEditCursor( EditPaM( aPaM.GetNode(), nInputEnd ), GetCursorFlags::EndOfLine ); - tools::Rectangle aRect = pView->GetImpEditView()->GetWindowPos( aR1 ); - pView->GetWindow()->SetCursorRect( &aRect, aR2.Left()-aR1.Right() ); + if (vcl::Window* pWindow = pView->GetWindow()) + { + tools::Rectangle aRect = pView->GetImpEditView()->GetWindowPos( aR1 ); + pWindow->SetCursorRect( &aRect, aR2.Left()-aR1.Right() ); + } } } else { - pView->GetWindow()->SetCursorRect(); + if (vcl::Window* pWindow = pView->GetWindow()) + pWindow->SetCursorRect(); } } else if ( rCEvt.GetCommand() == CommandEventId::SelectionChange ) @@ -545,7 +549,8 @@ void ImpEditEngine::Command( const CommandEvent& rCEvt, EditView* pView ) tools::Rectangle aR2 = GetEditCursor( pParaPortion, nInputPos ); aRects[ i ] = pView->GetImpEditView()->GetWindowPos( aR2 ); } - pView->GetWindow()->SetCompositionCharRect( aRects.get(), mpIMEInfos->nLen ); + if (vcl::Window* pWindow = pView->GetWindow()) + pWindow->SetCompositionCharRect( aRects.get(), mpIMEInfos->nLen ); } } } -- cgit