From 81cde58bdbf7e92e337addf4fcb04b30090d5b03 Mon Sep 17 00:00:00 2001 From: xiepengfei Date: Wed, 10 Jun 2026 15:17:19 +0800 Subject: [PATCH] fix(search): preserve text selection when mouse released outside titlebar MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Check search edit selection before transferring focus to web view to prevent deselection caused by focus loss. 修复标题栏搜索框框选文本时,鼠标释放在标题栏外导致选中 被取消的问题,增加搜索框选中文本的判断条件。 Log: 修复搜索框框选文字被取消的问题 PMS: BUG-361733 Influence: 修复后用户在搜索框中拖拽框选文字,即使鼠标释放在标题栏外也不会丢失选中状态。 --- src/view/web_window.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/view/web_window.cpp b/src/view/web_window.cpp index f1db2ee92..29ffd0427 100644 --- a/src/view/web_window.cpp +++ b/src/view/web_window.cpp @@ -521,7 +521,8 @@ bool WebWindow::eventFilter(QObject *watched, QEvent *event) if (event->type() == QEvent::MouseButtonRelease && qApp->activeWindow() == this) { qCDebug(app) << "eventFilter mouse release"; QRect rect = hasWidgetRect(search_edit_); - if (web_view_ && web_view_->selectedText().isEmpty() && !rect.contains(QCursor::pos())) { + if (web_view_ && web_view_->selectedText().isEmpty() && !rect.contains(QCursor::pos()) + && search_edit_->lineEdit()->selectedText().isEmpty()) { qCDebug(app) << "set focus to web view to maintain scroll responsiveness"; web_view_->setFocus(); }