Kaydet (Commit) cd6486b1 authored tarafından Noel Grandin's avatar Noel Grandin

loplugin:useuniqueptr in BasicManager

Change-Id: I9774a1651c8754f575ebb4b98fbddee5a99a7719
Reviewed-on: https://gerrit.libreoffice.org/58485
Tested-by: Jenkins
Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
üst 28dc7c3c
......@@ -828,13 +828,6 @@ BasicManager::~BasicManager()
Broadcast( SfxHint( SfxHintId::Dying) );
}
void BasicManager::LegacyDeleteBasicManager( BasicManager*& _rpManager )
{
delete _rpManager;
_rpManager = nullptr;
}
bool BasicManager::HasExeCode( const OUString& sLib )
{
StarBASIC* pLib = GetLib(sLib);
......
......@@ -383,7 +383,7 @@ SfxLibraryContainer::~SfxLibraryContainer()
{
if( mbOwnBasMgr )
{
BasicManager::LegacyDeleteBasicManager( mpBasMgr );
delete mpBasMgr;
}
}
......
......@@ -336,14 +336,11 @@ void SfxScriptLibraryContainer::importFromOldStorage( const OUString& aFile )
auto xStorage = tools::make_ref<SotStorage>( false, aFile );
if( xStorage->GetError() == ERRCODE_NONE )
{
BasicManager* pBasicManager = new BasicManager( *(xStorage.get()), aFile );
std::unique_ptr<BasicManager> pBasicManager(new BasicManager( *(xStorage.get()), aFile ));
// Set info
LibraryContainerInfo aInfo( this, nullptr, static_cast< OldBasicPassword* >( this ) );
pBasicManager->SetLibraryContainerInfo( aInfo );
// Now the libraries should be copied to this SfxScriptLibraryContainer
BasicManager::LegacyDeleteBasicManager( pBasicManager );
}
}
......
......@@ -130,20 +130,11 @@ protected:
static bool ImplEncryptStream( SvStream& rStream );
BasicLibInfo* FindLibInfo( StarBASIC const * pBasic );
static void CheckModules( StarBASIC* pBasic, bool bReference );
virtual ~BasicManager() override;
public:
BasicManager( SotStorage& rStorage, const OUString& rBaseURL, StarBASIC* pParentFromStdLib = nullptr, OUString const * pLibPath = nullptr, bool bDocMgr = false );
BasicManager( StarBASIC* pStdLib, OUString const * pLibPath = nullptr, bool bDocMgr = false );
/** deletes the given BasicManager instance
This method is necessary since normally, BasicManager instances are owned by the BasicManagerRepository,
and expected to be deleted by the repository only. However, there exists quite some legacy code,
which needs to explicitly delete a BasicManager itself. This code must not use the (protected)
destructor, but LegacyDeleteBasicManager.
*/
static void LegacyDeleteBasicManager( BasicManager*& _rpManager );
virtual ~BasicManager() override;
void SetStorageName( const OUString& rName ) { maStorageName = rName; }
const OUString& GetStorageName() const { return maStorageName; }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment