From 4a4b17805c976b40a404b48ba51984c9abdba633 Mon Sep 17 00:00:00 2001 From: Robin Burchell <robin.burchell@theqtcompany.com> Date: Tue, 24 Nov 2015 21:00:38 +0100 Subject: [PATCH] Fix QCOMPARE with enum classes. As these are strongly typed, they won't implicitly convert to int, so make sure to cast explicitly. (cherry picked from commit 9626baaea98edc13236250fc4b92d461b80e3875, auto test is not included) Task-number: QTBUG-49597 Change-Id: I29c4331a9b0c61f2e60c2bcab5a99f65daa7060f Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> --- src/testlib/qtestcase.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/testlib/qtestcase.h b/src/testlib/qtestcase.h index 7d2fd2e701a..9d79439e049 100644 --- a/src/testlib/qtestcase.h +++ b/src/testlib/qtestcase.h @@ -238,7 +238,7 @@ namespace QTest inline typename QtPrivate::QEnableIf<QtPrivate::IsQEnumHelper<T>::Value, char*>::Type toString(T e) { QMetaEnum me = QMetaEnum::fromType<T>(); - return qstrdup(me.key(e)); + return qstrdup(me.key(int(e))); // int cast is necessary to support enum classes } template <typename T> // Fallback -- GitLab