summaryrefslogtreecommitdiff
path: root/svx/source/svdraw/svddrgmt.cxx
diff options
context:
space:
mode:
authorChristian Lippka ORACLE <christian.lippka@oracle.com>2010-12-08 10:56:28 +0100
committerChristian Lippka ORACLE <christian.lippka@oracle.com>2010-12-08 10:56:28 +0100
commit041132b03eec68fae2fa73775a8085a754bf98ed (patch)
tree3ac6758d15d823d7fd0dac43f9ab09c51c70b620 /svx/source/svdraw/svddrgmt.cxx
parent862b6214064cbde1e9fa5e5a93c2e49c17086dd5 (diff)
impressdefaults1: #i112002# catching some null pointer access during double clicking on shapes
Diffstat (limited to 'svx/source/svdraw/svddrgmt.cxx')
-rw-r--r--svx/source/svdraw/svddrgmt.cxx38
1 files changed, 24 insertions, 14 deletions
diff --git a/svx/source/svdraw/svddrgmt.cxx b/svx/source/svdraw/svddrgmt.cxx
index d04bf8851795..2e7f2b09f50e 100644
--- a/svx/source/svdraw/svddrgmt.cxx
+++ b/svx/source/svdraw/svddrgmt.cxx
@@ -902,6 +902,9 @@ void SdrDragMovHdl::TakeSdrDragComment(XubString& rStr) const
bool SdrDragMovHdl::BeginSdrDrag()
{
+ if( !GetDragHdl() )
+ return false;
+
DragStat().Ref1()=GetDragHdl()->GetPos();
DragStat().SetShown(!DragStat().IsShown());
SdrHdlKind eKind=GetDragHdl()->GetKind();
@@ -931,7 +934,7 @@ void SdrDragMovHdl::MoveSdrDrag(const Point& rNoSnapPnt)
{
Point aPnt(rNoSnapPnt);
- if (DragStat().CheckMinMoved(rNoSnapPnt))
+ if ( GetDragHdl() && DragStat().CheckMinMoved(rNoSnapPnt))
{
if (GetDragHdl()->GetKind()==HDL_MIRX)
{
@@ -1042,22 +1045,25 @@ void SdrDragMovHdl::MoveSdrDrag(const Point& rNoSnapPnt)
bool SdrDragMovHdl::EndSdrDrag(bool /*bCopy*/)
{
- switch (GetDragHdl()->GetKind())
+ if( GetDragHdl() )
{
- case HDL_REF1:
- Ref1()=DragStat().GetNow();
- break;
+ switch (GetDragHdl()->GetKind())
+ {
+ case HDL_REF1:
+ Ref1()=DragStat().GetNow();
+ break;
- case HDL_REF2:
- Ref2()=DragStat().GetNow();
- break;
+ case HDL_REF2:
+ Ref2()=DragStat().GetNow();
+ break;
- case HDL_MIRX:
- Ref1()+=DragStat().GetNow()-DragStat().GetStart();
- Ref2()+=DragStat().GetNow()-DragStat().GetStart();
- break;
+ case HDL_MIRX:
+ Ref1()+=DragStat().GetNow()-DragStat().GetStart();
+ Ref2()+=DragStat().GetNow()-DragStat().GetStart();
+ break;
- default: break;
+ default: break;
+ }
}
return true;
@@ -1066,7 +1072,11 @@ bool SdrDragMovHdl::EndSdrDrag(bool /*bCopy*/)
void SdrDragMovHdl::CancelSdrDrag()
{
Hide();
- GetDragHdl()->SetPos(DragStat().GetRef1());
+
+ SdrHdl* pHdl = GetDragHdl();
+ if( pHdl )
+ pHdl->SetPos(DragStat().GetRef1());
+
SdrHdl* pHM = GetHdlList().GetHdl(HDL_MIRX);
if(pHM)