Fix a regression where events were not delivered on windows

Regression caused by a17907829e

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;
switch (event.type()) {
switch (event->type()) {
case QAccessible::PopupMenuStart:
soundName = QLatin1String("MenuPopup");
break;
@ -184,7 +184,7 @@ void QWindowsAccessibility::notifyAccessibilityUpdate(const QAccessibleEvent &ev
// An event has to be associated with a window,
// 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;
delete iface;
@ -198,13 +198,13 @@ void QWindowsAccessibility::notifyAccessibilityUpdate(const QAccessibleEvent &ev
HWND hWnd = (HWND)platform->nativeResourceForWindow("handle", window);
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"
eventNum %= 50; //[0..49]
int eventId = - (eventNum - 1);
qAccessibleRecentSentEvents()->insert(eventId, qMakePair(event.object(), event.child()));
ptrNotifyWinEvent(event.type(), hWnd, OBJID_CLIENT, eventId );
qAccessibleRecentSentEvents()->insert(eventId, qMakePair(event->object(), event->child()));
ptrNotifyWinEvent(event->type(), hWnd, OBJID_CLIENT, eventId );
++eventNum;
}

View File

@ -56,7 +56,7 @@ class QWindowsAccessibility : public QPlatformAccessibility
public:
QWindowsAccessibility();
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 initialize();