Bug 1394005 Fix overloaded-virtual warnings in FilterNodeD2D1
This warning is telling us that we have declared a function in a derived class
with the same name as a virtual function in a base class. The base class functions
can never be called.
In FilterNodeD2D1 we intend to do this (the base class methods are all MOZ_CRASH).
We silence the warning by importing those functions as private so they cannot be
called.
MozReview-Commit-ID: 6ENLKFMMBRy
old mode 100644
new mode 100755
--- a/gfx/2d/FilterNodeD2D1.h
+++ b/gfx/2d/FilterNodeD2D1.h
@@ -64,16 +64,20 @@ protected:
friend class FilterNodeConvolveD2D1;
void InitUnmappedProperties();
RefPtr<ID2D1Effect> mEffect;
std::vector<RefPtr<FilterNodeD2D1>> mInputFilters;
std::vector<RefPtr<SourceSurface>> mInputSurfaces;
FilterType mType;
+
+private:
+ using FilterNode::SetAttribute;
+ using FilterNode::SetInput;
};
class FilterNodeConvolveD2D1 : public FilterNodeD2D1
{
public:
MOZ_DECLARE_REFCOUNTED_VIRTUAL_TYPENAME(FilterNodeConvolveD2D1, override)
explicit FilterNodeConvolveD2D1(ID2D1DeviceContext *aDC);
@@ -82,16 +86,19 @@ public:
virtual void SetAttribute(uint32_t aIndex, uint32_t aValue) override;
virtual void SetAttribute(uint32_t aIndex, const IntSize &aValue) override;
virtual void SetAttribute(uint32_t aIndex, const IntPoint &aValue) override;
virtual void SetAttribute(uint32_t aIndex, const IntRect &aValue) override;
virtual ID2D1Effect* InputEffect() override;
private:
+ using FilterNode::SetAttribute;
+ using FilterNode::SetInput;
+
void UpdateChain();
void UpdateOffset();
void UpdateSourceRect();
RefPtr<ID2D1Effect> mExtendInputEffect;
RefPtr<ID2D1Effect> mBorderEffect;
ConvolveMatrixEdgeMode mEdgeMode;
IntPoint mTarget;