Fix a regression where events were not delivered on windows

Regression caused by a17907829e6b180f2bb4af9a8594996b2a0e531a

Change-Id: I8a2ca35cf176b4db47f29d848cbc2cd8180596d0
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
This commit is contained in:
Jan-Arve Saether 2012-04-24 09:52:52 +02:00 committed by Qt by Nokia
parent 739579d15a
commit 961d460ecf
2 changed files with 7 additions and 7 deletions

View File

@ -110,10 +110,10 @@ QWindowsAccessibility::QWindowsAccessibility()
{ {
} }
void QWindowsAccessibility::notifyAccessibilityUpdate(const QAccessibleEvent &event) void QWindowsAccessibility::notifyAccessibilityUpdate(QAccessibleEvent *event)
{ {
QString soundName; QString soundName;
switch (event.type()) { switch (event->type()) {
case QAccessible::PopupMenuStart: case QAccessible::PopupMenuStart:
soundName = QLatin1String("MenuPopup"); soundName = QLatin1String("MenuPopup");
break; break;
@ -184,7 +184,7 @@ void QWindowsAccessibility::notifyAccessibilityUpdate(const QAccessibleEvent &ev
// An event has to be associated with a window, // An event has to be associated with a window,
// so find the first parent that is a widget and that has a WId // so find the first parent that is a widget and that has a WId
QAccessibleInterface *iface = event.accessibleInterface(); QAccessibleInterface *iface = event->accessibleInterface();
QWindow *window = iface ? QWindowsAccessibility::windowHelper(iface) : 0; QWindow *window = iface ? QWindowsAccessibility::windowHelper(iface) : 0;
delete iface; delete iface;
@ -198,13 +198,13 @@ void QWindowsAccessibility::notifyAccessibilityUpdate(const QAccessibleEvent &ev
HWND hWnd = (HWND)platform->nativeResourceForWindow("handle", window); HWND hWnd = (HWND)platform->nativeResourceForWindow("handle", window);
static int eventNum = 0; static int eventNum = 0;
if (event.type() != QAccessible::MenuCommand) { // MenuCommand is faked if (event->type() != QAccessible::MenuCommand) { // MenuCommand is faked
// See comment "SENDING EVENTS TO OBJECTS WITH NO WINDOW HANDLE" // See comment "SENDING EVENTS TO OBJECTS WITH NO WINDOW HANDLE"
eventNum %= 50; //[0..49] eventNum %= 50; //[0..49]
int eventId = - (eventNum - 1); int eventId = - (eventNum - 1);
qAccessibleRecentSentEvents()->insert(eventId, qMakePair(event.object(), event.child())); qAccessibleRecentSentEvents()->insert(eventId, qMakePair(event->object(), event->child()));
ptrNotifyWinEvent(event.type(), hWnd, OBJID_CLIENT, eventId ); ptrNotifyWinEvent(event->type(), hWnd, OBJID_CLIENT, eventId );
++eventNum; ++eventNum;
} }

View File

@ -56,7 +56,7 @@ class QWindowsAccessibility : public QPlatformAccessibility
public: public:
QWindowsAccessibility(); QWindowsAccessibility();
static bool handleAccessibleObjectFromWindowRequest(HWND hwnd, WPARAM wParam, LPARAM lParam, LRESULT *lResult); static bool handleAccessibleObjectFromWindowRequest(HWND hwnd, WPARAM wParam, LPARAM lParam, LRESULT *lResult);
virtual void notifyAccessibilityUpdate(const QAccessibleEvent &event); virtual void notifyAccessibilityUpdate(QAccessibleEvent *event);
/* /*
virtual void setRootObject(QObject *o); virtual void setRootObject(QObject *o);
virtual void initialize(); virtual void initialize();