summaryrefslogtreecommitdiffstats
path: root/src/widgets/kernel/qapplication_qpa.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>2012-09-06 14:37:59 +0200
committerQt by Nokia <qt-info@nokia.com>2012-09-07 12:01:38 +0200
commit75cd2dec71d81868e1c4d5df32eb602faeb165fc (patch)
treeb4e83accd0b84e12cc3264e5d3006360f3294bad /src/widgets/kernel/qapplication_qpa.cpp
parent1da928abba457b05cc9d1a4364a6aba15bdd1f2d (diff)
Revert "Implement automatic mouse grabbing on mouse button press."
This reverts commit 6b5bbc531b30d8ece25425e39843c6ae1af1d045. Autograbbing mouse shouldn't be done in crossplatform code, as X11 does this automatically. Windows needs platform specific solution. Task-number: QTBUG-26962 Task-number: QTBUG-27039 Task-number: QTBUG-23699 Change-Id: I911df92c4a34deb50b729f50681497046657948b Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Diffstat (limited to 'src/widgets/kernel/qapplication_qpa.cpp')
-rw-r--r--src/widgets/kernel/qapplication_qpa.cpp28
1 files changed, 1 insertions, 27 deletions
diff --git a/src/widgets/kernel/qapplication_qpa.cpp b/src/widgets/kernel/qapplication_qpa.cpp
index 0afc208571..76e160b24a 100644
--- a/src/widgets/kernel/qapplication_qpa.cpp
+++ b/src/widgets/kernel/qapplication_qpa.cpp
@@ -72,8 +72,7 @@
QT_BEGIN_NAMESPACE
static QString appFont;
-static bool popupGrabOk = false;
-static QPointer<QWidget> autoGrabber;
+static bool popupGrabOk;
extern QWidget *qt_button_down;
extern QWidget *qt_popup_down;
extern bool qt_replay_popup_mouse_event;
@@ -142,28 +141,6 @@ void QApplicationPrivate::notifyActiveWindowChange(QWindow *previous)
QApplication::setActiveWindow(tlw);
}
-void QApplicationPrivate::handleAutomaticMouseGrab(QWidget *widget, QMouseEvent *e)
-{
- // Grab the mouse automatically for current window when any button is pressed,
- // unless there is an active mousegrabber or mouse is being grabbed for a popup.
- if (e->type() == QEvent::MouseButtonPress || e->type() == QEvent::MouseButtonRelease) {
- if (e->buttons() == Qt::NoButton) {
- // No buttons remain pressed, so release the grab unless grab has been acquired
- // for some other reason in the meantime.
- if (autoGrabber && !QWidget::mouseGrabber() && !popupGrabOk)
- qt_widget_private(autoGrabber)->stealMouseGrab(false);
- autoGrabber = 0;
- } else {
- // Some buttons are pressed, grab mouse input for current window,
- // unless there is already an active grab.
- if (!autoGrabber && !QWidget::mouseGrabber() && !popupGrabOk) {
- autoGrabber = widget->window();
- qt_widget_private(autoGrabber)->stealMouseGrab(true);
- }
- }
- }
-}
-
static void ungrabKeyboardForPopup(QWidget *popup)
{
if (QWidget::keyboardGrabber())
@@ -185,9 +162,6 @@ static void grabForPopup(QWidget *popup)
Q_ASSERT(popup->testAttribute(Qt::WA_WState_Created));
popupGrabOk = qt_widget_private(popup)->stealKeyboardGrab(true);
if (popupGrabOk) {
- if (autoGrabber)
- qt_widget_private(autoGrabber)->stealMouseGrab(false);
- autoGrabber = 0;
popupGrabOk = qt_widget_private(popup)->stealMouseGrab(true);
if (!popupGrabOk) {
// transfer grab back to the keyboard grabber if any