From a17907829e6b180f2bb4af9a8594996b2a0e531a Mon Sep 17 00:00:00 2001 From: Frederik Gladhorn Date: Thu, 8 Mar 2012 16:10:10 +0100 Subject: Use pointers for QAccessibleEvent. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit At least on mac g++ badly wants to copy the event and cannot use the copy ctor. The sensible solution is thus to use pointers. This is in line with QCoreApplication::sendEvent. Change-Id: Icb58852be351ab04ffa17069989d7a07d4b377da Reviewed-by: Jan-Arve Sæther --- src/gui/accessible/qaccessible.cpp | 7 +++---- src/gui/accessible/qaccessible.h | 4 ++-- src/gui/accessible/qaccessiblebridge.h | 2 +- src/gui/accessible/qaccessibleobject.cpp | 1 + src/gui/accessible/qplatformaccessibility_qpa.cpp | 2 +- src/gui/accessible/qplatformaccessibility_qpa.h | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) (limited to 'src/gui/accessible') diff --git a/src/gui/accessible/qaccessible.cpp b/src/gui/accessible/qaccessible.cpp index cb89fccc2d..59794a5a06 100644 --- a/src/gui/accessible/qaccessible.cpp +++ b/src/gui/accessible/qaccessible.cpp @@ -648,9 +648,8 @@ void QAccessible::setRootObject(QObject *object) void QAccessible::updateAccessibility(QObject *object, int child, Event reason) { Q_ASSERT(object); - - QAccessibleEvent event = QAccessibleEvent(reason, object, child); - updateAccessibility(event); + QAccessibleEvent ev(reason, object, child); + updateAccessibility(&ev); } /*! @@ -672,7 +671,7 @@ void QAccessible::updateAccessibility(QObject *object, int child, Event reason) the parameters of the call is expensive you can test isActive() to avoid unnecessary computations. */ -void QAccessible::updateAccessibility(const QAccessibleEvent &event) +void QAccessible::updateAccessibility(QAccessibleEvent *event) { if (updateHandler) { updateHandler(event); diff --git a/src/gui/accessible/qaccessible.h b/src/gui/accessible/qaccessible.h index e8a5cf8bad..ffdd3fe7ce 100644 --- a/src/gui/accessible/qaccessible.h +++ b/src/gui/accessible/qaccessible.h @@ -327,7 +327,7 @@ public: }; typedef QAccessibleInterface*(*InterfaceFactory)(const QString &key, QObject*); - typedef void(*UpdateHandler)(const QAccessibleEvent &event); + typedef void(*UpdateHandler)(QAccessibleEvent *event); typedef void(*RootObjectHandler)(QObject*); static void installFactory(InterfaceFactory); @@ -338,7 +338,7 @@ public: static QAccessibleInterface *queryAccessibleInterface(QObject *); QT_DEPRECATED static void updateAccessibility(QObject *object, int child, Event reason); - static void updateAccessibility(const QAccessibleEvent &event); + static void updateAccessibility(QAccessibleEvent *event); static bool isActive(); static void setRootObject(QObject *object); diff --git a/src/gui/accessible/qaccessiblebridge.h b/src/gui/accessible/qaccessiblebridge.h index 147bf30bd0..80830bd01c 100644 --- a/src/gui/accessible/qaccessiblebridge.h +++ b/src/gui/accessible/qaccessiblebridge.h @@ -60,7 +60,7 @@ class QAccessibleBridge public: virtual ~QAccessibleBridge() {} virtual void setRootObject(QAccessibleInterface *) = 0; - virtual void notifyAccessibilityUpdate(const QAccessibleEvent &event) = 0; + virtual void notifyAccessibilityUpdate(QAccessibleEvent *event) = 0; }; struct Q_GUI_EXPORT QAccessibleBridgeFactoryInterface : public QFactoryInterface diff --git a/src/gui/accessible/qaccessibleobject.cpp b/src/gui/accessible/qaccessibleobject.cpp index e587ad077c..d3344c3a3a 100644 --- a/src/gui/accessible/qaccessibleobject.cpp +++ b/src/gui/accessible/qaccessibleobject.cpp @@ -162,6 +162,7 @@ QAccessibleInterface *QAccessibleObject::childAt(int x, int y) const { for (int i = 0; i < childCount(); ++i) { QAccessibleInterface *childIface = child(i); + Q_ASSERT(childIface); if (childIface->rect().contains(x,y)) { return childIface; } diff --git a/src/gui/accessible/qplatformaccessibility_qpa.cpp b/src/gui/accessible/qplatformaccessibility_qpa.cpp index 9de11e7c1f..057d43add3 100644 --- a/src/gui/accessible/qplatformaccessibility_qpa.cpp +++ b/src/gui/accessible/qplatformaccessibility_qpa.cpp @@ -75,7 +75,7 @@ QPlatformAccessibility::~QPlatformAccessibility() { } -void QPlatformAccessibility::notifyAccessibilityUpdate(const QAccessibleEvent &event) +void QPlatformAccessibility::notifyAccessibilityUpdate(QAccessibleEvent *event) { initialize(); diff --git a/src/gui/accessible/qplatformaccessibility_qpa.h b/src/gui/accessible/qplatformaccessibility_qpa.h index 364f87b0c9..3bd6316d01 100644 --- a/src/gui/accessible/qplatformaccessibility_qpa.h +++ b/src/gui/accessible/qplatformaccessibility_qpa.h @@ -57,7 +57,7 @@ public: QPlatformAccessibility(); virtual ~QPlatformAccessibility(); - virtual void notifyAccessibilityUpdate(const QAccessibleEvent &event); + virtual void notifyAccessibilityUpdate(QAccessibleEvent *event); virtual void setRootObject(QObject *o); virtual void initialize(); virtual void cleanup(); -- cgit v1.2.3