diff --git a/plugins/platforms/x11/standalone/edge.cpp b/plugins/platforms/x11/standalone/edge.cpp --- a/plugins/platforms/x11/standalone/edge.cpp +++ b/plugins/platforms/x11/standalone/edge.cpp @@ -77,6 +77,9 @@ void WindowBasedEdge::createApproachWindow() { + if (!activatesForPointer()) { + return; + } if (m_approachWindow.isValid()) { return; } @@ -95,19 +98,27 @@ void WindowBasedEdge::doGeometryUpdate() { m_window.setGeometry(geometry()); - m_approachWindow.setGeometry(approachGeometry()); + if (m_approachWindow.isValid()) { + m_approachWindow.setGeometry(approachGeometry()); + } } void WindowBasedEdge::doStartApproaching() { + if (!activatesForPointer()) { + return; + } m_approachWindow.unmap(); Cursor *cursor = Cursor::self(); connect(cursor, SIGNAL(posChanged(QPoint)), SLOT(updateApproaching(QPoint))); cursor->startMousePolling(); } void WindowBasedEdge::doStopApproaching() { + if (!activatesForPointer()) { + return; + } Cursor *cursor = Cursor::self(); disconnect(cursor, SIGNAL(posChanged(QPoint)), this, SLOT(updateApproaching(QPoint))); cursor->stopMousePolling(); @@ -119,6 +130,9 @@ if (!isReserved()) { return; } + if (!activatesForPointer()) { + return; + } if (isBlocked()) { m_window.unmap(); m_approachWindow.unmap();