Merge branch 'fix/7947_clean_up_selection_models'
This commit is contained in:
commit
f14f2afd10
|
|
@ -72,6 +72,10 @@ qt_log_ignore =
|
|||
^[^ ]*qtwebengine_dictionaries'$
|
||||
# Qt 5 on Archlinux
|
||||
^QSslSocket: cannot resolve .*
|
||||
# Seems to happen after we try to complete immediately after clearing a
|
||||
# model, for example, when no completion function is available for the
|
||||
# current text pattern.
|
||||
QItemSelectionModel: Selecting when no model has been set will result in a no-op.
|
||||
xfail_strict = true
|
||||
filterwarnings =
|
||||
error
|
||||
|
|
|
|||
|
|
@ -364,15 +364,13 @@ class CompletionView(QTreeView):
|
|||
old_model = self.model()
|
||||
if old_model is not None and model is not old_model:
|
||||
old_model.deleteLater()
|
||||
self._selection_model().deleteLater()
|
||||
|
||||
self.setModel(model)
|
||||
|
||||
if model is None:
|
||||
self._active = False
|
||||
self.hide()
|
||||
return
|
||||
|
||||
self.setModel(model)
|
||||
model.setParent(self)
|
||||
self._active = True
|
||||
self.pattern = None
|
||||
|
|
|
|||
|
|
@ -146,6 +146,18 @@ def test_completion_item_focus_no_model(which, completionview, model, qtbot):
|
|||
completionview.completion_item_focus(which)
|
||||
|
||||
|
||||
def test_models_deleted_on_clear(completionview, model, qtbot):
|
||||
"""Ensure set_model(None) deleted the model and selmodel."""
|
||||
completionview.set_model(model)
|
||||
selmod = completionview._selection_model()
|
||||
completionview.set_model(None)
|
||||
|
||||
with qtbot.wait_signal(model.destroyed):
|
||||
pass
|
||||
with qtbot.wait_signal(selmod.destroyed):
|
||||
pass
|
||||
|
||||
|
||||
@pytest.mark.skip("Seems to disagree with reality, see #5897")
|
||||
def test_completion_item_focus_fetch(completionview, model, qtbot):
|
||||
"""Test that on_next_prev_item moves the selection properly."""
|
||||
|
|
|
|||
Loading…
Reference in New Issue