Le 18/04/2016 14:59, Jean-Marc Lasgouttes a écrit :
--- a/src/insets/Inset.h
+++ b/src/insets/Inset.h
@@ -347,6 +347,8 @@ public:
        virtual bool clickable(BufferView const &, int, int) const { return 
false; }
        /// Move one cell backwards
        virtual bool allowsCaptionVariation(std::string const &) const { return 
false; }
+       // true for insets that have a table structure (InsetMathGrid, 
InsetTabular)
+       virtual bool isTable() const { return false; }

        /// does this contain text that can be change track marked in DVI?
        virtual bool canTrackChanges() const { return false; }


This turns InsetMathHull::isTable() into a redefinition of Inset::isTable().

* Is it intended that InsetMathGrid::isTable() gets overridden by
InsetMathHull::isTable()? This seems to make sense to me but I would be
reassured to know that this is intentional.

* Is it intended that InsetMathHull::isTable() itself can now be overridden, possibly changing the meaning of existing code? Again I believe that the change makes sense and does not break the existing use of isTable().

If not intended, this sort of situation could be avoided by enforcing the use of the override keyword (c++11) using -Wsuggest-override (gcc5).


Guillaume

Reply via email to