summaryrefslogtreecommitdiffstats
path: root/cppu/source/threadpool/current.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'cppu/source/threadpool/current.cxx')
-rw-r--r--cppu/source/threadpool/current.cxx30
1 files changed, 15 insertions, 15 deletions
diff --git a/cppu/source/threadpool/current.cxx b/cppu/source/threadpool/current.cxx
index 665f1b7c636e..7dbfc9050488 100644
--- a/cppu/source/threadpool/current.cxx
+++ b/cppu/source/threadpool/current.cxx
@@ -126,23 +126,23 @@ extern "C" {
static void delete_IdContainer( void * p )
{
- if (p)
+ if (!p)
+ return;
+
+ IdContainer * pId = static_cast< IdContainer * >( p );
+ if (pId->pCurrentContext)
{
- IdContainer * pId = static_cast< IdContainer * >( p );
- if (pId->pCurrentContext)
- {
- (*pId->pCurrentContextEnv->releaseInterface)(
- pId->pCurrentContextEnv, pId->pCurrentContext );
- (*pId->pCurrentContextEnv->aBase.release)(
- &pId->pCurrentContextEnv->aBase );
- }
- if (pId->bInit)
- {
- ::rtl_byte_sequence_release( pId->pLocalThreadId );
- ::rtl_byte_sequence_release( pId->pCurrentId );
- }
- delete pId;
+ (*pId->pCurrentContextEnv->releaseInterface)(
+ pId->pCurrentContextEnv, pId->pCurrentContext );
+ (*pId->pCurrentContextEnv->aBase.release)(
+ &pId->pCurrentContextEnv->aBase );
+ }
+ if (pId->bInit)
+ {
+ ::rtl_byte_sequence_release( pId->pLocalThreadId );
+ ::rtl_byte_sequence_release( pId->pCurrentId );
}
+ delete pId;
}
}