From caa42a739923aa35734b6a840de7c1b8f039e9a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= Date: Wed, 8 Jan 2014 11:22:25 +0000 Subject: [PATCH] Resolves: rhbz#1096486 avoid access to nonexisting parent dialog was Related: rhbz#1047174 (cherry picked from commit 794f5af121906668870a58700aed25b660381240) Change-Id: I0bf9116d088adde838993ac5e909a6f3481f883e --- svx/source/dialog/graphctl.cxx | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/svx/source/dialog/graphctl.cxx b/svx/source/dialog/graphctl.cxx index 4fc18b7..d70bb3d 100644 --- a/svx/source/dialog/graphctl.cxx +++ b/svx/source/dialog/graphctl.cxx @@ -309,6 +309,8 @@ void GraphCtrl::KeyInput( const KeyEvent& rKEvt ) KeyCode aCode( rKEvt.GetKeyCode() ); bool bProc = false; + Dialog* pDialog = GetParentDialog(); + switch ( aCode.GetCode() ) { case KEY_DELETE: @@ -318,8 +320,8 @@ void GraphCtrl::KeyInput( const KeyEvent& rKEvt ) { pView->DeleteMarked(); bProc = true; - if( !pView->AreObjectsMarked() ) - GetParentDialog()->GrabFocusToFirstControl(); + if (!pView->AreObjectsMarked() && pDialog) + pDialog->GrabFocusToFirstControl(); } } break; @@ -328,9 +330,11 @@ void GraphCtrl::KeyInput( const KeyEvent& rKEvt ) { if ( bSdrMode ) { + bool bGrabFocusToFirstControl = true; if ( pView->IsAction() ) { pView->BrkAction(); + bGrabFocusToFirstControl = false; } else if ( pView->AreObjectsMarked() ) { @@ -340,16 +344,11 @@ void GraphCtrl::KeyInput( const KeyEvent& rKEvt ) if(pHdl) { ((SdrHdlList&)rHdlList).ResetFocusHdl(); + bGrabFocusToFirstControl = false; } - else - { - GetParentDialog()->GrabFocusToFirstControl(); - } - } - else - { - GetParentDialog()->GrabFocusToFirstControl(); } + if (bGrabFocusToFirstControl && pDialog) + pDialog->GrabFocusToFirstControl(); bProc = true; } } -- 1.9.0