Try to fix static-analysis errors re:lambdas and refcounteds.
draft
Try to fix static-analysis errors re:lambdas and refcounteds.
--- a/dom/canvas/WebGLExtensionCompressedTextureATC.cpp
+++ b/dom/canvas/WebGLExtensionCompressedTextureATC.cpp
@@ -11,23 +11,24 @@
#error FOO is already defined! We use FOO() macros to keep things succinct in this file.
#endif
namespace mozilla {
WebGLExtensionCompressedTextureATC::WebGLExtensionCompressedTextureATC(WebGLContext* webgl)
: WebGLExtensionBase(webgl)
{
- const auto fnAdd = [webgl](GLenum sizedFormat, webgl::EffectiveFormat effFormat) {
- auto& fua = webgl->mFormatUsage;
+ RefPtr<WebGLContext> webgl_ = webgl; // Bug 1201275
+ const auto fnAdd = [webgl_](GLenum sizedFormat, webgl::EffectiveFormat effFormat) {
+ auto& fua = webgl_->mFormatUsage;
auto usage = fua->EditUsage(effFormat);
fua->AddSizedTexFormat(sizedFormat, usage);
- webgl->mCompressedTextureFormats.AppendElement(sizedFormat);
+ webgl_->mCompressedTextureFormats.AppendElement(sizedFormat);
};
#define FOO(x) LOCAL_GL_ ## x, webgl::EffectiveFormat::x
fnAdd(FOO(ATC_RGB_AMD));
fnAdd(FOO(ATC_RGBA_EXPLICIT_ALPHA_AMD));
fnAdd(FOO(ATC_RGBA_INTERPOLATED_ALPHA_AMD));
--- a/dom/canvas/WebGLExtensionCompressedTextureETC1.cpp
+++ b/dom/canvas/WebGLExtensionCompressedTextureETC1.cpp
@@ -11,17 +11,17 @@
#error FOO is already defined! We use FOO() macros to keep things succinct in this file.
#endif
namespace mozilla {
WebGLExtensionCompressedTextureETC1::WebGLExtensionCompressedTextureETC1(WebGLContext* webgl)
: WebGLExtensionBase(webgl)
{
- const auto fnAdd = [webgl](GLenum sizedFormat, webgl::EffectiveFormat effFormat) {
+ const auto fnAdd = [&webgl](GLenum sizedFormat, webgl::EffectiveFormat effFormat) {
auto& fua = webgl->mFormatUsage;
auto usage = fua->EditUsage(effFormat);
fua->AddSizedTexFormat(sizedFormat, usage);
webgl->mCompressedTextureFormats.AppendElement(sizedFormat);
};
--- a/dom/canvas/WebGLExtensionCompressedTexturePVRTC.cpp
+++ b/dom/canvas/WebGLExtensionCompressedTexturePVRTC.cpp
@@ -11,17 +11,17 @@
#error FOO is already defined! We use FOO() macros to keep things succinct in this file.
#endif
namespace mozilla {
WebGLExtensionCompressedTexturePVRTC::WebGLExtensionCompressedTexturePVRTC(WebGLContext* webgl)
: WebGLExtensionBase(webgl)
{
- const auto fnAdd = [webgl](GLenum sizedFormat, webgl::EffectiveFormat effFormat) {
+ const auto fnAdd = [&webgl](GLenum sizedFormat, webgl::EffectiveFormat effFormat) {
auto& fua = webgl->mFormatUsage;
auto usage = fua->EditUsage(effFormat);
fua->AddSizedTexFormat(sizedFormat, usage);
webgl->mCompressedTextureFormats.AppendElement(sizedFormat);
};
--- a/dom/canvas/WebGLExtensionCompressedTextureS3TC.cpp
+++ b/dom/canvas/WebGLExtensionCompressedTextureS3TC.cpp
@@ -11,17 +11,17 @@
#error FOO is already defined! We use FOO() macros to keep things succinct in this file.
#endif
namespace mozilla {
WebGLExtensionCompressedTextureS3TC::WebGLExtensionCompressedTextureS3TC(WebGLContext* webgl)
: WebGLExtensionBase(webgl)
{
- const auto fnAdd = [webgl](GLenum sizedFormat, webgl::EffectiveFormat effFormat) {
+ const auto fnAdd = [&webgl](GLenum sizedFormat, webgl::EffectiveFormat effFormat) {
auto& fua = webgl->mFormatUsage;
auto usage = fua->EditUsage(effFormat);
fua->AddSizedTexFormat(sizedFormat, usage);
webgl->mCompressedTextureFormats.AppendElement(sizedFormat);
};