loplugin:useuniqueptr

CMtaFolderPicker resp. its only derived class CWinFolderPickerImpl is only ever
instantiated on the heap, so no harm in having that array directly as a member.

Change-Id: I23312e34d3377a46b95a7ee059a2dbbf8f937422
This commit is contained in:
Stephan Bergmann
2017-01-26 19:05:38 +01:00
parent 1041bc88ec
commit 5b37ec6eb1
2 changed files with 4 additions and 46 deletions

View File

@@ -367,7 +367,7 @@ bool SAL_CALL CMtaFolderPicker::onBrowseForFolder( )
// pre SHBrowseFroFolder
m_bi.pidlRoot = nullptr;
m_bi.pszDisplayName = reinterpret_cast<LPWSTR>(m_pathBuff.get());
m_bi.pszDisplayName = reinterpret_cast<LPWSTR>(m_pathBuff);
if ( m_Description.getLength( ) )
m_bi.lpszTitle = reinterpret_cast<LPCWSTR>(m_Description.getStr( ));
@@ -428,9 +428,9 @@ OUString SAL_CALL CMtaFolderPicker::getPathFromItemIdList( LPCITEMIDLIST lpItemI
if ( lpItemIdList )
{
bool bRet = SHGetPathFromIDListW( lpItemIdList, reinterpret_cast<LPWSTR>(m_pathBuff.get()) );
bool bRet = SHGetPathFromIDListW( lpItemIdList, reinterpret_cast<LPWSTR>(m_pathBuff) );
if ( bRet )
path = m_pathBuff.get( );
path = m_pathBuff;
}
return path;

View File

@@ -43,48 +43,6 @@
#endif
#include "../misc/WinImplHelper.hxx"
// a simple helper class used to provide a buffer for different
// Win32 file and directory functions
class CAutoPathBuff
{
public:
explicit CAutoPathBuff( size_t size = 0 )
{
if (0 == size)
size = 32000; // max path length under Win2000
pBuff = new sal_Unicode[size];
SAL_WARN_IF(!pBuff, "fpicker", "Could not allocate path buffer");
}
~CAutoPathBuff( )
{
delete [] pBuff;
}
operator sal_Unicode*( )
{
OSL_PRECOND( pBuff,
"No path buffer allocated" );
return pBuff;
}
sal_Unicode* get( )
{
OSL_PRECOND( pBuff,
"No path buffer allocated" );
return pBuff;
}
private:
sal_Unicode* pBuff;
};
// the Mta-Ole clipboard class is for internal use only!
// only one instance of this class should be created, the
// user has to ensure this!
@@ -168,7 +126,7 @@ private:
OUString m_displayDir;
OUString m_SelectedDir;
BROWSEINFOW m_bi;
CAutoPathBuff m_pathBuff;
sal_Unicode m_pathBuff[32000]; // max path length under Win2000
HINSTANCE m_hInstance;
// the request window class has to be registered only