summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2014-01-08 11:22:25 +0000
committerEike Rathke <erack@redhat.com>2014-05-12 10:23:11 +0000
commitc4e10ad83fe1fa92a115327c1909218f5dc8c8bd (patch)
tree31da571ae31bcef3cda26d2a4d12d815e2e66690 /svx
parentb30c08e3dd5e1c20923f66684a893a9c2ede6637 (diff)
Resolves: rhbz#1096486 avoid access to nonexisting parent dialog
was Related: rhbz#1047174 (cherry picked from commit 794f5af121906668870a58700aed25b660381240) Change-Id: I0bf9116d088adde838993ac5e909a6f3481f883e Reviewed-on: https://gerrit.libreoffice.org/9326 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
Diffstat (limited to 'svx')
-rw-r--r--svx/source/dialog/graphctl.cxx19
1 files changed, 9 insertions, 10 deletions
diff --git a/svx/source/dialog/graphctl.cxx b/svx/source/dialog/graphctl.cxx
index 4fc18b71cbeb..d70bb3df343b 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;
}
}