зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1511672 - Fix dependent base lookups in AsyncInvoker.h r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D13633 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
71d10e00cf
Коммит
57f49debb6
|
@ -234,6 +234,8 @@ template <typename SyncInterface, typename AsyncInterface,
|
|||
template <typename Iface> class WaitPolicy =
|
||||
detail::FireAndForgetInvoker>
|
||||
class MOZ_RAII AsyncInvoker final : public WaitPolicy<AsyncInterface> {
|
||||
using Base = WaitPolicy<AsyncInterface>;
|
||||
|
||||
public:
|
||||
typedef SyncInterface SyncInterfaceT;
|
||||
typedef AsyncInterface AsyncInterfaceT;
|
||||
|
@ -263,7 +265,7 @@ class MOZ_RAII AsyncInvoker final : public WaitPolicy<AsyncInterface> {
|
|||
return;
|
||||
}
|
||||
|
||||
mAsyncCall = new AsyncCallType(callFactory);
|
||||
this->mAsyncCall = new typename Base::AsyncCallType(callFactory);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -285,12 +287,12 @@ class MOZ_RAII AsyncInvoker final : public WaitPolicy<AsyncInterface> {
|
|||
return (mSyncObj->*aSyncMethod)(std::forward<Args>(aArgs)...);
|
||||
}
|
||||
|
||||
MOZ_ASSERT(mAsyncCall);
|
||||
if (!mAsyncCall) {
|
||||
MOZ_ASSERT(this->mAsyncCall);
|
||||
if (!this->mAsyncCall) {
|
||||
return E_POINTER;
|
||||
}
|
||||
|
||||
AsyncInterface* asyncInterface = mAsyncCall->GetInterface();
|
||||
AsyncInterface* asyncInterface = this->mAsyncCall->GetInterface();
|
||||
MOZ_ASSERT(asyncInterface);
|
||||
if (!asyncInterface) {
|
||||
return E_POINTER;
|
||||
|
|
Загрузка…
Ссылка в новой задаче