diff --git a/frame/util/multiscreenworker.cpp b/frame/util/multiscreenworker.cpp index 717471443..251c25402 100644 --- a/frame/util/multiscreenworker.cpp +++ b/frame/util/multiscreenworker.cpp @@ -1401,7 +1401,10 @@ void MultiScreenWorker::checkXEventMonitorService() auto connectionInit = [ = ](XEventMonitor * eventInter, XEventMonitor * extralEventInter, XEventMonitor * touchEventInter) { connect(eventInter, &XEventMonitor::CursorMove, this, &MultiScreenWorker::onRegionMonitorChanged); connect(eventInter, &XEventMonitor::ButtonPress, this, [ = ] { setStates(MousePress, true); }); - connect(eventInter, &XEventMonitor::ButtonRelease, this, [ = ] { setStates(MousePress, false); }); + connect(eventInter, &XEventMonitor::ButtonRelease, this, [ = ] { + setStates(MousePress, false); + onExtralRegionMonitorChanged(0, 0, m_extralRegisterKey); + }); connect(extralEventInter, &XEventMonitor::CursorOut, this, [ = ](int x, int y, const QString &key) { if (isCursorOut(x, y)) { diff --git a/frame/window/mainwindow.cpp b/frame/window/mainwindow.cpp index d19e48b1c..0f0799dd3 100755 --- a/frame/window/mainwindow.cpp +++ b/frame/window/mainwindow.cpp @@ -332,7 +332,10 @@ void MainWindow::initConnections() connect(m_updateDragAreaTimer, &QTimer::timeout, m_multiScreenWorker, &MultiScreenWorker::onRequestUpdateRegionMonitor); connect(m_dragWidget, &DragWidget::dragPointOffset, this, [ = ] { qApp->setProperty(DRAG_STATE_PROP, true); }); - connect(m_dragWidget, &DragWidget::dragFinished, this, [ = ] { qApp->setProperty(DRAG_STATE_PROP, false); }); + connect(m_dragWidget, &DragWidget::dragFinished, this, [ = ] { + qApp->setProperty(DRAG_STATE_PROP, false); + m_updateDragAreaTimer->start(); + }); connect(m_dragWidget, &DragWidget::dragPointOffset, this, &MainWindow::onMainWindowSizeChanged); connect(m_dragWidget, &DragWidget::dragFinished, this, &MainWindow::resetDragWindow); // 更新拖拽区域