QGuiApplication: Check if window exists before sending double click event.
Task-number: QTBUG-36364 Change-Id: I0be40e8f920f0210ba4e99e83d138f82ce3a69f2 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>bb10
parent
c1c5aca6f1
commit
bc8cf62797
|
|
@ -1642,12 +1642,14 @@ void QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::Mo
|
|||
}
|
||||
if (doubleClick) {
|
||||
mousePressButton = Qt::NoButton;
|
||||
const QEvent::Type doubleClickType = frameStrut ? QEvent::NonClientAreaMouseButtonDblClick : QEvent::MouseButtonDblClick;
|
||||
QMouseEvent dblClickEvent(doubleClickType, localPoint, localPoint, globalPoint,
|
||||
button, buttons, e->modifiers);
|
||||
dblClickEvent.setTimestamp(e->timestamp);
|
||||
setMouseEventSource(&dblClickEvent, e->source);
|
||||
QGuiApplication::sendSpontaneousEvent(window, &dblClickEvent);
|
||||
if (!e->window.isNull()) { // QTBUG-36364, check if window closed in response to press
|
||||
const QEvent::Type doubleClickType = frameStrut ? QEvent::NonClientAreaMouseButtonDblClick : QEvent::MouseButtonDblClick;
|
||||
QMouseEvent dblClickEvent(doubleClickType, localPoint, localPoint, globalPoint,
|
||||
button, buttons, e->modifiers);
|
||||
dblClickEvent.setTimestamp(e->timestamp);
|
||||
setMouseEventSource(&dblClickEvent, e->source);
|
||||
QGuiApplication::sendSpontaneousEvent(window, &dblClickEvent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue