summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorJan Holesovsky <kendy@collabora.com>2016-03-11 20:45:02 +0100
committerAndras Timar <andras.timar@collabora.com>2016-06-12 21:54:07 +0200
commit54028fe68ba34d373259de6f60d76c065d8decd0 (patch)
tree03ca1bc85b838e6e1a8e484388f05881dc122391 /svx
parent8049caf981fd4169d9bd4ca2d46134e2d6383ff5 (diff)
lok: Avoid dereferencing nullptr.
Change-Id: I40a53cf08e2a789299cd7a05d531b4f920653989 (cherry picked from commit 97c872d015350810fb0180ffdb10de7f039363a4)
Diffstat (limited to 'svx')
-rw-r--r--svx/source/table/tablecontroller.cxx20
1 files changed, 12 insertions, 8 deletions
diff --git a/svx/source/table/tablecontroller.cxx b/svx/source/table/tablecontroller.cxx
index beb75e035f04..718b500d5c3f 100644
--- a/svx/source/table/tablecontroller.cxx
+++ b/svx/source/table/tablecontroller.cxx
@@ -245,9 +245,17 @@ bool SvxTableController::onKeyInput(const KeyEvent& rKEvt, vcl::Window* pWindow
return executeAction( nAction, rKEvt.GetKeyCode().IsShift(), pWindow );
}
+namespace {
-// css::awt::XMouseClickHandler:
+Point pixelToLogic(const Point& rPoint, vcl::Window* pWindow)
+{
+ if (!pWindow)
+ return rPoint;
+ return pWindow->PixelToLogic(rPoint);
+}
+
+}
bool SvxTableController::onMouseButtonDown(const MouseEvent& rMEvt, vcl::Window* pWindow )
{
@@ -268,7 +276,7 @@ bool SvxTableController::onMouseButtonDown(const MouseEvent& rMEvt, vcl::Window*
if( !rMEvt.IsRight() && mpView->PickAnything(rMEvt,SdrMouseEventKind::BUTTONDOWN, aVEvt) == SDRHIT_HANDLE )
return false;
- TableHitKind eHit = static_cast< SdrTableObj* >(mxTableObj.get())->CheckTableHit( pWindow->PixelToLogic(rMEvt.GetPosPixel()), maMouseDownPos.mnCol, maMouseDownPos.mnRow, 0 );
+ TableHitKind eHit = static_cast< SdrTableObj* >(mxTableObj.get())->CheckTableHit(pixelToLogic(rMEvt.GetPosPixel(), pWindow), maMouseDownPos.mnCol, maMouseDownPos.mnRow, 0);
mbLeftButtonDown = (rMEvt.GetClicks() == 1) && rMEvt.IsLeft();
@@ -286,11 +294,7 @@ bool SvxTableController::onMouseButtonDown(const MouseEvent& rMEvt, vcl::Window*
{
RemoveSelection();
- Point aPnt(rMEvt.GetPosPixel());
- if (pWindow!=nullptr)
- aPnt=pWindow->PixelToLogic(aPnt);
-
- SdrHdl* pHdl = mpView->PickHandle(aPnt);
+ SdrHdl* pHdl = mpView->PickHandle(pixelToLogic(rMEvt.GetPosPixel(), pWindow));
if( pHdl )
{
@@ -356,7 +360,7 @@ bool SvxTableController::onMouseMove(const MouseEvent& rMEvt, vcl::Window* pWind
SdrTableObj* pTableObj = dynamic_cast< SdrTableObj* >( mxTableObj.get() );
CellPos aPos;
- if( mbLeftButtonDown && pTableObj && pTableObj->CheckTableHit( pWindow->PixelToLogic(rMEvt.GetPosPixel()), aPos.mnCol, aPos.mnRow, 0 ) != SDRTABLEHIT_NONE )
+ if (mbLeftButtonDown && pTableObj && pTableObj->CheckTableHit(pixelToLogic(rMEvt.GetPosPixel(), pWindow), aPos.mnCol, aPos.mnRow, 0 ) != SDRTABLEHIT_NONE)
{
if(aPos != maMouseDownPos)
{