[Libreoffice-commits] core.git: sc/source
Stephan Bergmann
sbergman at redhat.com
Wed Jun 29 19:16:24 UTC 2016
sc/source/core/inc/adiasync.hxx | 2 --
sc/source/core/tool/adiasync.cxx | 36 +++++++++++++-----------------------
2 files changed, 13 insertions(+), 25 deletions(-)
New commits:
commit 3d97b2000979200db53f77db20e882e85c66c0b6
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Wed Jun 29 21:15:40 2016 +0200
Simplify finding elements of theAddInAsyncTbl
Change-Id: Id9a2d84e1efb86a89e620dca5cd35274979aa1b9
diff --git a/sc/source/core/inc/adiasync.hxx b/sc/source/core/inc/adiasync.hxx
index 237470d..c8e5b71 100644
--- a/sc/source/core/inc/adiasync.hxx
+++ b/sc/source/core/inc/adiasync.hxx
@@ -50,8 +50,6 @@ public:
// cTor only if ScAddInAsync::Get fails.
// nIndex: Index from FunctionCollection
ScAddInAsync(sal_uLong nHandle, LegacyFuncData* pFuncData, ScDocument* pDoc);
- // default-cTor only for that single, global aSeekObj!
- ScAddInAsync();
virtual ~ScAddInAsync();
static ScAddInAsync* Get( sal_uLong nHandle );
static void CallBack( sal_uLong nHandle, void* pData );
diff --git a/sc/source/core/tool/adiasync.cxx b/sc/source/core/tool/adiasync.cxx
index 19179dd..06e22f1 100644
--- a/sc/source/core/tool/adiasync.cxx
+++ b/sc/source/core/tool/adiasync.cxx
@@ -17,6 +17,10 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
+#include <sal/config.h>
+
+#include <algorithm>
+
#include <sfx2/objsh.hxx>
#include "adiasync.hxx"
@@ -28,7 +32,6 @@
#include <osl/thread.h>
ScAddInAsyncs theAddInAsyncTbl;
-static ScAddInAsync aSeekObj;
extern "C" {
void CALLTYPE ScAddInAsyncCallBack( double& nHandle, void* pData )
@@ -37,16 +40,6 @@ void CALLTYPE ScAddInAsyncCallBack( double& nHandle, void* pData )
}
}
-ScAddInAsync::ScAddInAsync() :
- SvtBroadcaster(),
- pDocs( nullptr ),
- mpFuncData( nullptr ),
- nHandle( 0 ),
- meType( ParamType::NONE ),
- bValid( false )
-{ // nur fuer aSeekObj !
-}
-
ScAddInAsync::ScAddInAsync(sal_uLong nHandleP, LegacyFuncData* pFuncData, ScDocument* pDoc) :
SvtBroadcaster(),
pStr( nullptr ),
@@ -62,25 +55,22 @@ ScAddInAsync::ScAddInAsync(sal_uLong nHandleP, LegacyFuncData* pFuncData, ScDocu
ScAddInAsync::~ScAddInAsync()
{
- // aSeekObj does not have that, handle 0 does not exist otherwise
- if ( nHandle )
- {
- // in dTor because of theAddInAsyncTbl.DeleteAndDestroy in ScGlobal::Clear
- mpFuncData->Unadvice( (double)nHandle );
- if ( meType == ParamType::PTR_STRING && pStr ) // include type comparison because of union
- delete pStr;
- delete pDocs;
- }
+ // in dTor because of theAddInAsyncTbl.DeleteAndDestroy in ScGlobal::Clear
+ mpFuncData->Unadvice( (double)nHandle );
+ if ( meType == ParamType::PTR_STRING && pStr ) // include type comparison because of union
+ delete pStr;
+ delete pDocs;
}
ScAddInAsync* ScAddInAsync::Get( sal_uLong nHandleP )
{
ScAddInAsync* pRet = nullptr;
- aSeekObj.nHandle = nHandleP;
- ScAddInAsyncs::iterator it = theAddInAsyncTbl.find( &aSeekObj );
+ ScAddInAsyncs::iterator it = std::find_if(
+ theAddInAsyncTbl.begin(), theAddInAsyncTbl.end(),
+ [nHandleP](ScAddInAsync const * el)
+ { return el->nHandle == nHandleP; });
if ( it != theAddInAsyncTbl.end() )
pRet = *it;
- aSeekObj.nHandle = 0;
return pRet;
}
More information about the Libreoffice-commits
mailing list