diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/AsyncAlgorithm.cpp | 12 | 
1 files changed, 7 insertions, 5 deletions
diff --git a/src/AsyncAlgorithm.cpp b/src/AsyncAlgorithm.cpp index 54083a3..a53fb00 100644 --- a/src/AsyncAlgorithm.cpp +++ b/src/AsyncAlgorithm.cpp @@ -72,11 +72,13 @@ bool CAsyncAlgorithm::initialize(const Config& _cfg)  	m_pAlg = 0;  	m_bDone = false; -	m_pAlg = CAlgorithmFactory::getSingleton().create(_cfg); -	if (m_pAlg && !m_pAlg->isInitialized()) { -		if (m_bAutoFree) -			delete m_pAlg; -		m_pAlg = 0; +	m_pAlg = CAlgorithmFactory::getSingleton().create(_cfg.self.getAttribute("type")); +	if (m_pAlg) { +		if (!m_pAlg->initialize(_cfg)) { +			if (m_bAutoFree) +				delete m_pAlg; +			m_pAlg = 0; +		}  	}  	m_bInitialized = (m_pAlg != 0);  	m_bAutoFree = true;  | 
