diff options
Diffstat (limited to 'src/testlib/qtestaccessible.h')
-rw-r--r-- | src/testlib/qtestaccessible.h | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/src/testlib/qtestaccessible.h b/src/testlib/qtestaccessible.h index f9b1b97ac6..807cc2f846 100644 --- a/src/testlib/qtestaccessible.h +++ b/src/testlib/qtestaccessible.h @@ -63,7 +63,8 @@ QT_BEGIN_NAMESPACE class QObject; -typedef QList<QAccessibleEvent> EventList; +// Use pointers since we subclass QAccessibleEvent +typedef QList<QAccessibleEvent*> EventList; bool operator==(const QAccessibleEvent &l, const QAccessibleEvent &r) { @@ -100,8 +101,18 @@ public: static bool verifyEvent(const QAccessibleEvent& ev) { if (eventList().isEmpty()) - return FALSE; - return eventList().takeFirst() == ev; + return false; + QAccessibleEvent *first = eventList().takeFirst(); + bool res = *first == ev; + delete first; + return res; + } + static bool containsEvent(const QAccessibleEvent &event) { + Q_FOREACH (QAccessibleEvent *ev, eventList()) { + if (*ev == event) + return true; + } + return false; } private: @@ -129,17 +140,16 @@ private: } } - static void updateHandler(const QAccessibleEvent &event) + static void updateHandler(QAccessibleEvent *event) { eventList().append(copyEvent(event)); } - - static QAccessibleEvent copyEvent(const QAccessibleEvent &event) + static QAccessibleEvent *copyEvent(QAccessibleEvent *event) { - if (event.type() == QAccessible::StateChanged) - return QAccessibleStateChangeEvent(static_cast<const QAccessibleStateChangeEvent*>(&event)->changedStates(), - event.object(), event.child()); - return QAccessibleEvent(event.type(), event.object(), event.child()); + if (event->type() == QAccessible::StateChanged) + return new QAccessibleStateChangeEvent(static_cast<const QAccessibleStateChangeEvent*>(event)->changedStates(), + event->object(), event->child()); + return new QAccessibleEvent(event->type(), event->object(), event->child()); } static EventList &eventList() |