diff options
author | Kohei Yoshida <kohei.yoshida@collabora.com> | 2016-11-23 16:59:23 -0500 |
---|---|---|
committer | Kohei Yoshida <libreoffice@kohei.us> | 2016-11-24 00:40:34 +0000 |
commit | 7fe08af6b1c579dc12da836b6bcfa2f84734328a (patch) | |
tree | b5ce58c968801b2626752ccccdab8ff478d5ddf4 /sc | |
parent | d9a6e0023c9a192850b9db00f8120fbcc4256ec9 (diff) |
Use std::unique_ptr for the input handler instance here.
Change-Id: I73024b4d49bc99fa2110f5f0f0b80f950ad57baa
Reviewed-on: https://gerrit.libreoffice.org/31137
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Kohei Yoshida <libreoffice@kohei.us>
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/ui/inc/tabvwsh.hxx | 5 | ||||
-rw-r--r-- | sc/source/ui/view/tabvwsh4.cxx | 15 | ||||
-rw-r--r-- | sc/source/ui/view/tabvwsha.cxx | 6 |
3 files changed, 14 insertions, 12 deletions
diff --git a/sc/source/ui/inc/tabvwsh.hxx b/sc/source/ui/inc/tabvwsh.hxx index 5b4dc42bf29d..4ec942bf0f03 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 f3b4666653f1..edf2953668c9 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 e9055fd64484..a5672100d1b4 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 ); } |