refs #457 Workaround GCC 4.7.2 internal compiler error.

This commit is contained in:
Mathew Sutcliffe
2015-09-11 15:17:42 +01:00
parent f50400bd94
commit 56d8bf4651
3 changed files with 4 additions and 4 deletions

View File

@@ -39,7 +39,7 @@ namespace BlackMisc
if (m_initState != NotInitialized) { return; }
m_initWorker = BlackMisc::CWorker::fromTask(this, "CAircraftMatcher::initImpl", [this]()
{
initImpl();
this->initImpl();
});
}

View File

@@ -47,7 +47,7 @@ namespace BlackMisc
[this, rootDirectory, excludedDirectories]()
{
bool ok;
auto aircraftCfgEntriesList = parseImpl(rootDirectory, excludedDirectories, &ok);
auto aircraftCfgEntriesList = this->parseImpl(rootDirectory, excludedDirectories, &ok);
return std::make_pair(aircraftCfgEntriesList, ok);
});
m_parserWorker->thenWithResult<std::pair<CAircraftCfgEntriesList, bool>>(this, [this](const std::pair<CAircraftCfgEntriesList, bool> &pair)

View File

@@ -220,13 +220,13 @@ namespace BlackMisc
//! \tparam R The return type of the task.
//! \threadsafe
template <typename R, typename F>
void thenWithResult(F functor) { then([this, functor]() { functor(result<R>()); }); }
void thenWithResult(F functor) { then([this, functor]() { functor(this->result<R>()); }); }
//! Connects to a functor or method to which will be passed the result when the task is finished.
//! \tparam R The return type of the task.
//! \threadsafe
template <typename R, typename T, typename F>
void thenWithResult(T *context, F functor) { then(context, [this, context, functor]() { invoke(context, functor, result<R>()); }); }
void thenWithResult(T *context, F functor) { then(context, [this, context, functor]() { invoke(context, functor, this->result<R>()); }); }
//! Returns the result of the task, waiting for it to finish if necessary.
//! \tparam R The return type of the task.