aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/scenegraph/coreapi/qsgmaterial.cpp
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@qt.io>2020-05-27 13:36:01 +0200
committerLaszlo Agocs <laszlo.agocs@qt.io>2020-05-27 15:39:30 +0200
commit756c4c9e6d51564bc32c99701efd939303ce31ff (patch)
tree25e8f4d6e6cd52e636d69777ec8d75acc32e3d9e /src/quick/scenegraph/coreapi/qsgmaterial.cpp
parent201f28c7e332bc0cb37a80f4ffff0d473d24455a (diff)
Avoid truncating in QSGMaterial::compare() implementations
The Qt 5.0 pattern of subtracting pointers and returning them is not suitable (on 64-bit archs) since the return type is an int. There is also QSGTexture::comparisonKey() now which is a qint64. Just return -1 and 1 as appropriate. Change-Id: Iaf3377b484a8c4b19b0960f1e8def05e4fa68ce7 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
Diffstat (limited to 'src/quick/scenegraph/coreapi/qsgmaterial.cpp')
-rw-r--r--src/quick/scenegraph/coreapi/qsgmaterial.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/quick/scenegraph/coreapi/qsgmaterial.cpp b/src/quick/scenegraph/coreapi/qsgmaterial.cpp
index 087c3c4cbf..7984547ef1 100644
--- a/src/quick/scenegraph/coreapi/qsgmaterial.cpp
+++ b/src/quick/scenegraph/coreapi/qsgmaterial.cpp
@@ -255,7 +255,8 @@ void QSGMaterial::setFlag(Flags flags, bool on)
int QSGMaterial::compare(const QSGMaterial *other) const
{
Q_ASSERT(other && type() == other->type());
- return qint64(this) - qint64(other);
+ const qintptr diff = qintptr(this) - qintptr(other);
+ return diff < 0 ? -1 : (diff > 0 ? 1 : 0);
}