From 7fad774a7505e3b93f46d81585511b2565a0e268 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 9 Sep 2020 14:26:04 +0530 Subject: [PATCH] macOS: Fix completer widget mouse interactions not working with Qt 5.15.0 --- src/calibre/gui2/complete2.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/calibre/gui2/complete2.py b/src/calibre/gui2/complete2.py index 42d90a0d30..81b5e1cbe2 100644 --- a/src/calibre/gui2/complete2.py +++ b/src/calibre/gui2/complete2.py @@ -6,8 +6,6 @@ __license__ = 'GPL v3' __copyright__ = '2012, Kovid Goyal ' __docformat__ = 'restructuredtext en' -import weakref - from PyQt5.Qt import ( QLineEdit, QAbstractListModel, Qt, pyqtSignal, QObject, QKeySequence, QApplication, QListView, QPoint, QModelIndex, QFont, QFontInfo, @@ -86,9 +84,8 @@ class Completer(QListView): # {{{ relayout_needed = pyqtSignal() def __init__(self, completer_widget, max_visible_items=7, sort_func=sort_key, strip_completion_entries=True): - QListView.__init__(self) + QListView.__init__(self, completer_widget) self.disable_popup = False - self.completer_widget = weakref.ref(completer_widget) self.setWindowFlags(Qt.Popup) self.max_visible_items = max_visible_items self.setEditTriggers(self.NoEditTriggers) @@ -145,7 +142,7 @@ class Completer(QListView): # {{{ return p = self m = p.model() - widget = self.completer_widget() + widget = self.parent() if widget is None: return screen = QApplication.desktop().availableGeometry(widget) @@ -205,7 +202,7 @@ class Completer(QListView): # {{{ def eventFilter(self, obj, e): 'Redirect key presses from the popup to the widget' - widget = self.completer_widget() + widget = self.parent() if widget is None or sip.isdeleted(widget): return False etype = e.type()