summaryrefslogtreecommitdiffstats
path: root/src/testlib/qtestevent.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/testlib/qtestevent.h')
-rw-r--r--src/testlib/qtestevent.h19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/testlib/qtestevent.h b/src/testlib/qtestevent.h
index 80745ed9bf..3b75e07f62 100644
--- a/src/testlib/qtestevent.h
+++ b/src/testlib/qtestevent.h
@@ -28,6 +28,9 @@ QT_BEGIN_NAMESPACE
# define QT_ONLY_WIDGETLIB_USES Q_DECL_UNUSED_MEMBER
#endif
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_CLANG("-Wweak-vtables") // QTBUG-1044486
+
class QTestEvent
{
public:
@@ -36,13 +39,15 @@ public:
#endif
virtual QTestEvent *clone() const = 0;
- virtual ~QTestEvent() {}
+ virtual ~QTestEvent() = default; // ### FIXME: weak vtable (QTBUG-104486)
};
#ifdef QT_GUI_LIB
class QTestKeyEvent: public QTestEvent
{
public:
+ ~QTestKeyEvent() override = default; // ### FIXME: weak vtable (QTBUG-104486)
+
inline QTestKeyEvent(QTest::KeyAction action, Qt::Key key, Qt::KeyboardModifiers modifiers, int delay)
: _action(action), _delay(delay), _modifiers(modifiers), _ascii(0), _key(key) {}
inline QTestKeyEvent(QTest::KeyAction action, char ascii, Qt::KeyboardModifiers modifiers, int delay)
@@ -71,6 +76,8 @@ protected:
class QTestKeyClicksEvent: public QTestEvent
{
public:
+ ~QTestKeyClicksEvent() override = default; // ### FIXME: weak vtables (QTBUG-104486)
+
inline QTestKeyClicksEvent(const QString &keys, Qt::KeyboardModifiers modifiers, int delay)
: _keys(keys), _modifiers(modifiers), _delay(delay) {}
inline QTestEvent *clone() const override { return new QTestKeyClicksEvent(*this); }
@@ -91,6 +98,8 @@ private:
class QTestMouseEvent: public QTestEvent
{
public:
+ ~QTestMouseEvent() override = default; // ### FIXME: weak vtables (QTBUG-104486)
+
inline QTestMouseEvent(QTest::MouseAction action, Qt::MouseButton button,
Qt::KeyboardModifiers modifiers, QPoint position, int delay)
: _action(action), _button(button), _modifiers(modifiers), _pos(position), _delay(delay) {}
@@ -117,6 +126,8 @@ class QTestDelayEvent: public QTestEvent
{
public:
inline QTestDelayEvent(int msecs): _delay(msecs) {}
+ ~QTestDelayEvent() override = default; // ### FIXME: weak vtables (QTBUG-104486)
+
inline QTestEvent *clone() const override { return new QTestDelayEvent(*this); }
#ifdef QT_WIDGETS_LIB
@@ -132,7 +143,7 @@ class QTestEventList: public QList<QTestEvent *>
public:
inline QTestEventList() {}
inline QTestEventList(const QTestEventList &other): QList<QTestEvent *>()
- { for (int i = 0; i < other.count(); ++i) append(other.at(i)->clone()); }
+ { for (int i = 0; i < other.size(); ++i) append(other.at(i)->clone()); }
inline ~QTestEventList()
{ clear(); }
inline void clear()
@@ -182,7 +193,7 @@ public:
#ifdef QT_WIDGETS_LIB
inline void simulate(QWidget *w)
{
- for (int i = 0; i < count(); ++i)
+ for (int i = 0; i < size(); ++i)
at(i)->simulate(w);
}
#endif
@@ -190,6 +201,8 @@ public:
#undef QT_ONLY_WIDGETLIB_USES
+QT_WARNING_POP // Clang -Wweak-vtables
+
QT_END_NAMESPACE
Q_DECLARE_METATYPE(QTestEventList)