From ce99361cc0260f9672ebfe92918f2a9727a6db3d Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Sun, 26 May 2019 17:23:42 +0200 Subject: [PATCH] QEasingCurve: fix missing copy() override MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit TCBEase is-a BezierEase, but overrides value(). It only performs additional checks and then calls the base class' implementation, but it feels wrong, like a bug waiting to manifest itself, that slicing should occur on cloning a TCBEase. Fix by adding the missing reimplmentation. Change-Id: I2524f51fec1850ff36ed706bc79e9592734d8680 Reviewed-by: Jan Arve Sæther --- src/corelib/tools/qeasingcurve.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/corelib/tools/qeasingcurve.cpp b/src/corelib/tools/qeasingcurve.cpp index 9169b5c7f13..2ae63fe135d 100644 --- a/src/corelib/tools/qeasingcurve.cpp +++ b/src/corelib/tools/qeasingcurve.cpp @@ -907,6 +907,10 @@ struct TCBEase : public BezierEase return BezierEase::value(x); } + QEasingCurveFunction *copy() const override + { + return new TCBEase{*this}; + } }; struct ElasticEase : public QEasingCurveFunction