sc/source/ui/inc/tabvwsh.hxx | 5 +++-- sc/source/ui/view/tabvwsh4.cxx | 15 ++++++++------- sc/source/ui/view/tabvwsha.cxx | 6 +++--- 3 files changed, 14 insertions(+), 12 deletions(-)
New commits: commit 7fe08af6b1c579dc12da836b6bcfa2f84734328a Author: Kohei Yoshida <kohei.yosh...@collabora.com> Date: Wed Nov 23 16:59:23 2016 -0500 Use std::unique_ptr for the input handler instance here. Change-Id: I73024b4d49bc99fa2110f5f0f0b80f950ad57baa Reviewed-on: https://gerrit.libreoffice.org/31137 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Kohei Yoshida <libreoff...@kohei.us> diff --git a/sc/source/ui/inc/tabvwsh.hxx b/sc/source/ui/inc/tabvwsh.hxx index 5b4dc42..4ec942b 100644 --- a/sc/source/ui/inc/tabvwsh.hxx +++ b/sc/source/ui/inc/tabvwsh.hxx @@ -115,7 +115,7 @@ private: FmFormShell* pFormShell; - ScInputHandler* pInputHandler; // for OLE input cell + std::unique_ptr<ScInputHandler> mpInputHandler; // for OLE input cell ::editeng::SvxBorderLine* pCurFrameLine; @@ -236,7 +236,8 @@ public: bool IsRefInputMode() const; void ExecuteInputDirect(); - ScInputHandler* GetInputHandler() const { return pInputHandler;} + const ScInputHandler* GetInputHandler() const { return mpInputHandler.get(); } + ScInputHandler* GetInputHandler() { return mpInputHandler.get(); } void UpdateInputHandler( bool bForce = false, bool bStopEditing = true ); void UpdateInputHandlerCellAdjust( SvxCellHorJustify eJust ); bool TabKeyInput(const KeyEvent& rKEvt); diff --git a/sc/source/ui/view/tabvwsh4.cxx b/sc/source/ui/view/tabvwsh4.cxx index f3b4666..edf2953 100644 --- a/sc/source/ui/view/tabvwsh4.cxx +++ b/sc/source/ui/view/tabvwsh4.cxx @@ -40,6 +40,7 @@ #include <tools/urlobj.hxx> #include <sfx2/docfile.hxx> #include <vcl/openglwin.hxx> +#include <o3tl/make_unique.hxx> #include "tabvwsh.hxx" #include "sc.hrc" @@ -126,7 +127,7 @@ void ScTabViewShell::Activate(bool bMDI) // RegisterNewTargetNames does not exist anymore SfxViewFrame* pThisFrame = GetViewFrame(); - if ( pInputHandler && pThisFrame->HasChildWindow(FID_INPUTLINE_STATUS) ) + if ( mpInputHandler && pThisFrame->HasChildWindow(FID_INPUTLINE_STATUS) ) { // actually only required for Reload (last version): // The InputWindow remains, but the View along with the InputHandler is newly created, @@ -151,7 +152,7 @@ void ScTabViewShell::Activate(bool bMDI) pSh = SfxViewShell::GetNext( *pSh, true, checkSfxViewShell<ScTabViewShell> ); } - pWin->SetInputHandler( pInputHandler ); + pWin->SetInputHandler( mpInputHandler.get() ); } } } @@ -1502,7 +1503,7 @@ void ScTabViewShell::Construct( TriState nForceDesignMode ) // As an intermediate solution each View gets its own InputHandler, // which only yields problems if two Views are in one task window. - pInputHandler = new ScInputHandler; + mpInputHandler = o3tl::make_unique<ScInputHandler>(); // old version: // if ( !GetViewFrame()->ISA(SfxTopViewFrame) ) // OLE or Plug-In @@ -1655,7 +1656,7 @@ ScTabViewShell::ScTabViewShell( SfxViewFrame* pViewFrame, pExtrusionBarShell(nullptr), pFontworkBarShell(nullptr), pFormShell(nullptr), - pInputHandler(nullptr), + mpInputHandler(nullptr), pCurFrameLine(nullptr), aTarget(this), pDialogDPObject(nullptr), @@ -1765,8 +1766,8 @@ ScTabViewShell::~ScTabViewShell() // all to NULL, in case the TabView-dtor tries to access them //! (should not really! ??!?!) - if (pInputHandler) - pInputHandler->SetDocumentDisposing(true); + if (mpInputHandler) + mpInputHandler->SetDocumentDisposing(true); DELETEZ(pFontworkBarShell); DELETEZ(pExtrusionBarShell); @@ -1783,7 +1784,7 @@ ScTabViewShell::~ScTabViewShell() DELETEZ(pPivotShell); DELETEZ(pAuditingShell); DELETEZ(pCurFrameLine); - DELETEZ(pInputHandler); + mpInputHandler.reset(); DELETEZ(pPivotSource); DELETEZ(pDialogDPObject); DELETEZ(pNavSettings); diff --git a/sc/source/ui/view/tabvwsha.cxx b/sc/source/ui/view/tabvwsha.cxx index e9055fd..a567210 100644 --- a/sc/source/ui/view/tabvwsha.cxx +++ b/sc/source/ui/view/tabvwsha.cxx @@ -617,7 +617,7 @@ void ScTabViewShell::ExecuteInputDirect() void ScTabViewShell::UpdateInputHandler( bool bForce /* = sal_False */, bool bStopEditing /* = sal_True */ ) { - ScInputHandler* pHdl = pInputHandler ? pInputHandler : SC_MOD()->GetInputHdl(); + ScInputHandler* pHdl = mpInputHandler ? mpInputHandler.get() : SC_MOD()->GetInputHdl(); if ( pHdl ) { @@ -694,7 +694,7 @@ void ScTabViewShell::UpdateInputHandler( bool bForce /* = sal_False */, bool bSt // if using the view's local input handler, this view can always be set // as current view inside NotifyChange. - ScTabViewShell* pSourceSh = pInputHandler ? this : nullptr; + ScTabViewShell* pSourceSh = mpInputHandler ? this : nullptr; pHdl->NotifyChange( &aState, bForce, pSourceSh, bStopEditing ); } @@ -707,7 +707,7 @@ void ScTabViewShell::UpdateInputHandler( bool bForce /* = sal_False */, bool bSt void ScTabViewShell::UpdateInputHandlerCellAdjust( SvxCellHorJustify eJust ) { - if( ScInputHandler* pHdl = pInputHandler ? pInputHandler : SC_MOD()->GetInputHdl() ) + if( ScInputHandler* pHdl = mpInputHandler ? mpInputHandler.get() : SC_MOD()->GetInputHdl() ) pHdl->UpdateCellAdjust( eJust ); } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits