summaryrefslogtreecommitdiffstats
path: root/tests/auto/other/macgui/guitest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/other/macgui/guitest.cpp')
-rw-r--r--tests/auto/other/macgui/guitest.cpp25
1 files changed, 14 insertions, 11 deletions
diff --git a/tests/auto/other/macgui/guitest.cpp b/tests/auto/other/macgui/guitest.cpp
index d7431dd88e..3359e7d935 100644
--- a/tests/auto/other/macgui/guitest.cpp
+++ b/tests/auto/other/macgui/guitest.cpp
@@ -144,22 +144,25 @@ WidgetNavigator::~WidgetNavigator()
namespace NativeEvents {
#ifdef Q_OS_MAC
- void mouseClick(const QPoint &globalPos, Qt::MouseButtons buttons, MousePosition updateMouse)
+ void mouseClick(const QPoint &globalPos, Qt::MouseButtons buttons)
{
CGPoint position;
position.x = globalPos.x();
position.y = globalPos.y();
- const bool updateMousePosition = (updateMouse == UpdatePosition);
-
- // Mouse down.
- CGPostMouseEvent(position, updateMousePosition, 3,
- (buttons & Qt::LeftButton) ? true : false,
- (buttons & Qt::MidButton/* Middlebutton! */) ? true : false,
- (buttons & Qt::RightButton) ? true : false);
-
- // Mouse up.
- CGPostMouseEvent(position, updateMousePosition, 3, false, false, false);
+ CGEventType mouseDownType = (buttons & Qt::LeftButton) ? kCGEventLeftMouseDown :
+ (buttons & Qt::RightButton) ? kCGEventRightMouseDown :
+ kCGEventOtherMouseDown;
+ CGMouseButton mouseButton = mouseDownType == kCGEventOtherMouseDown ? kCGMouseButtonCenter : kCGEventLeftMouseDown;
+ CGEventRef mouseEvent = CGEventCreateMouseEvent(NULL, mouseDownType, position, mouseButton);
+ CGEventPost(kCGHIDEventTap, mouseEvent);
+
+ CGEventType mouseUpType = (buttons & Qt::LeftButton) ? kCGEventLeftMouseUp :
+ (buttons & Qt::RightButton) ? kCGEventRightMouseUp :
+ kCGEventOtherMouseUp;
+ CGEventSetType(mouseEvent, mouseUpType);
+ CGEventPost(kCGHIDEventTap, mouseEvent);
+ CFRelease(mouseEvent);
}
#else
# error Oops, NativeEvents::mouseClick() is not implemented on this platform.