Skip to content

Commit 7811d01

Browse files
Clean search selections in function _search_text, and use singleShot
with 0ms to run code on the next event loop.
1 parent fb60856 commit 7811d01

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

core/webengine.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -164,11 +164,17 @@ def filter_title(self, title):
164164
def _search_text(self, text, is_backward = False):
165165
if self.search_term != text:
166166
self.search_term = text
167+
167168
if is_backward:
168169
self.web_page.findText(self.search_term, self.web_page.FindBackward)
169170
else:
170171
self.web_page.findText(self.search_term)
171172

173+
# Clean web page selection if search text is empty.
174+
if len(self.search_term) == 0:
175+
# singleShot with 0ms means below code will run on the next event loop.
176+
QTimer().singleShot(0, lambda : self.triggerPageAction(self.web_page.Unselect))
177+
172178
@interactive
173179
def search_text_forward(self):
174180
''' Forward Search Text.'''
@@ -188,21 +194,16 @@ def search_text_backward(self):
188194
@interactive
189195
def action_quit(self):
190196
''' Quit action.'''
197+
# Clean search selections if search text is not empty.
191198
if self.search_term != "":
192199
self._search_text("")
200+
193201
if self.buffer.caret_browsing_mode:
194202
if self.buffer.caret_browsing_mark_activated:
195203
self.buffer.caret_toggle_mark()
196204
else:
197205
self.buffer.caret_exit()
198206

199-
# Need wrap hasSelection, otherwise close web page will cause webengine crash.
200-
try:
201-
if self.web_page.hasSelection():
202-
self.triggerPageAction(self.web_page.Unselect)
203-
except:
204-
pass
205-
206207
def select_text_change(self):
207208
''' Change selected text.'''
208209
# Not translate text if just exit caret mode.

0 commit comments

Comments
 (0)