Send mouse release event after startSystemMove/startSystemResize
This commit is contained in:
parent
6c216e437d
commit
784dedac4d
3 changed files with 16 additions and 0 deletions
|
|
@ -266,6 +266,10 @@ void BasicWindowHelper::setupBodyTitleAreaEvents() {
|
|||
#endif // Q_OS_WIN
|
||||
_mousePressed = false;
|
||||
_window->windowHandle()->startSystemMove();
|
||||
SendSynteticMouseEvent(
|
||||
body().get(),
|
||||
QEvent::MouseButtonRelease,
|
||||
Qt::LeftButton);
|
||||
}
|
||||
}
|
||||
}, body()->lifetime());
|
||||
|
|
@ -363,6 +367,10 @@ void DefaultWindowHelper::init() {
|
|||
|
||||
if (mouseEvent->button() == Qt::LeftButton && edges) {
|
||||
window()->windowHandle()->startSystemResize(edges);
|
||||
SendSynteticMouseEvent(
|
||||
window().get(),
|
||||
QEvent::MouseButtonRelease,
|
||||
Qt::LeftButton);
|
||||
}
|
||||
} else if (e->type() == QEvent::WindowStateChange) {
|
||||
_windowState = window()->windowState();
|
||||
|
|
|
|||
|
|
@ -501,6 +501,10 @@ void DefaultTitleWidget::mouseReleaseEvent(QMouseEvent *e) {
|
|||
void DefaultTitleWidget::mouseMoveEvent(QMouseEvent *e) {
|
||||
if (_mousePressed) {
|
||||
window()->windowHandle()->startSystemMove();
|
||||
SendSynteticMouseEvent(
|
||||
this,
|
||||
QEvent::MouseButtonRelease,
|
||||
Qt::LeftButton);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -768,6 +768,10 @@ void SeparatePanel::mousePressEvent(QMouseEvent *e) {
|
|||
if (dragArea.contains(e->pos())) {
|
||||
const auto dragViaSystem = [&] {
|
||||
if (windowHandle()->startSystemMove()) {
|
||||
SendSynteticMouseEvent(
|
||||
this,
|
||||
QEvent::MouseButtonRelease,
|
||||
Qt::LeftButton);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue