diff --git a/src/Magnum/Context.cpp b/src/Magnum/Context.cpp index d5ccbaa08..697d8ffec 100644 --- a/src/Magnum/Context.cpp +++ b/src/Magnum/Context.cpp @@ -394,8 +394,8 @@ Context::Context() { /* Mark all extensions from past versions as supported */ for(std::size_t i = 0; i != future; ++i) - for(const Extension& extension: Extension::extensions(versions[i])) - extensionStatus.set(extension._index); + for(auto it = Extension::extensions(versions[i]).begin(); it != Extension::extensions(versions[i]).end(); ++it) + extensionStatus.set(it->_index); /* List of extensions from future versions (extensions from current and previous versions should be supported automatically, so we don't need @@ -453,12 +453,13 @@ Context::Context() { #endif /* Reset minimal required version to Version::None for whole array */ - for(auto& i: _extensionRequiredVersion) i = Version::None; + for(auto it = _extensionRequiredVersion.begin(); it != _extensionRequiredVersion.end(); ++it) + *it = Version::None; /* Initialize required versions from extension info */ - for(const auto version: versions) - for(const Extension& extension: Extension::extensions(version)) - _extensionRequiredVersion[extension._index] = extension._requiredVersion; + for(auto vit = versions.begin(); vit != versions.end(); ++vit) + for(auto eit = Extension::extensions(*vit).begin(); eit != Extension::extensions(*vit).end(); ++eit) + _extensionRequiredVersion[eit->_index] = eit->_requiredVersion; /* Setup driver workarounds (increase required version for particular extensions), see Implementation/driverWorkarounds.cpp */