Bug 1303879 - Use explicit ctors. - r=mtseng
MozReview-Commit-ID: Hs4V81pFAc8
--- a/dom/canvas/WebGLFramebuffer.cpp
+++ b/dom/canvas/WebGLFramebuffer.cpp
@@ -1075,25 +1075,25 @@ WebGLFramebuffer::ResolvedData::Resolved
////
const auto fnColor = [&](const WebGLFBAttachPoint& attach,
decltype(drawSet)* const out_destSet)
{
if (!fnCommon(attach))
return;
- out_destSet->insert(attach);
+ out_destSet->insert(WebGLFBAttachPoint::Ordered(attach));
};
const auto fnDepthStencil = [&](const WebGLFBAttachPoint& attach) {
if (!fnCommon(attach))
return;
- drawSet.insert(attach);
- readSet.insert(attach);
+ drawSet.insert(WebGLFBAttachPoint::Ordered(attach));
+ readSet.insert(WebGLFBAttachPoint::Ordered(attach));
};
////
fnDepthStencil(parent.mDepthAttachment);
fnDepthStencil(parent.mStencilAttachment);
fnDepthStencil(parent.mDepthStencilAttachment);
--- a/dom/canvas/WebGLFramebuffer.h
+++ b/dom/canvas/WebGLFramebuffer.h
@@ -102,17 +102,17 @@ public:
void OnBackingStoreRespecified() const;
////
struct Ordered {
const WebGLFBAttachPoint& mRef;
- Ordered(const WebGLFBAttachPoint& ref)
+ explicit Ordered(const WebGLFBAttachPoint& ref)
: mRef(ref)
{ }
bool operator<(const Ordered& other) const {
MOZ_ASSERT(mRef.IsDefined() && other.mRef.IsDefined());
#define ORDER_BY(X) if (X != other.X) return X < other.X;
@@ -177,17 +177,17 @@ protected:
const WebGLFBAttachPoint* depthBuffer;
const WebGLFBAttachPoint* stencilBuffer;
// IsFeedback
std::vector<const WebGLFBAttachPoint*> texDrawBuffers; // Non-null
std::set<WebGLFBAttachPoint::Ordered> drawSet;
std::set<WebGLFBAttachPoint::Ordered> readSet;
- ResolvedData(const WebGLFramebuffer& parent);
+ explicit ResolvedData(const WebGLFramebuffer& parent);
};
UniquePtr<const ResolvedData> mResolvedCompleteData;
////
public:
NS_INLINE_DECL_CYCLE_COLLECTING_NATIVE_REFCOUNTING(WebGLFramebuffer)