Bug 1394005 Fix overloaded-virtual warnings in FilterNodeD2D1 draft
authorTom Ritter <tom@mozilla.com>
Fri, 29 Sep 2017 11:12:38 -0500
changeset 672694 1afb83d18f4b6cedbc8fa6ffcaf911ae55c65258
parent 671721 12e522381633bf21b13bd2a1a067402a482ea758
child 672695 54408fa41994b7b8d5e15d66bfa481f1ed7dfa7d
push id82339
push userbmo:tom@mozilla.com
push dateFri, 29 Sep 2017 16:41:14 +0000
bugs1394005
milestone58.0a1
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
gfx/2d/FilterNodeD2D1.h
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;