summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qwidget_mac.mm
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/kernel/qwidget_mac.mm')
-rw-r--r--src/gui/kernel/qwidget_mac.mm20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/gui/kernel/qwidget_mac.mm b/src/gui/kernel/qwidget_mac.mm
index 88dc73f..825c797 100644
--- a/src/gui/kernel/qwidget_mac.mm
+++ b/src/gui/kernel/qwidget_mac.mm
@@ -2481,9 +2481,10 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
setFocus_sys();
if (!topLevel && initializeWindow)
setWSGeometry();
-
if (destroyid)
qt_mac_destructView(destroyid);
+ if (q->testAttribute(Qt::WA_AcceptTouchEvents))
+ registerTouchWindow();
}
/*!
@@ -4413,6 +4414,23 @@ void QWidgetPrivate::registerDropSite(bool on)
#endif
}
+void QWidgetPrivate::registerTouchWindow()
+{
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6
+ if (QSysInfo::MacintoshVersion < QSysInfo::MV_10_6)
+ return;
+ Q_Q(QWidget);
+ if (!q->testAttribute(Qt::WA_WState_Created))
+ return;
+#ifndef QT_MAC_USE_COCOA
+ // Needs implementation!
+#else
+ NSView *view = qt_mac_nativeview_for(q);
+ [view setAcceptsTouchEvents:YES];
+#endif
+#endif
+}
+
void QWidgetPrivate::setMask_sys(const QRegion &region)
{
Q_UNUSED(region);