From 6b0f67655b40fef221f9c84cfb6c0bcedf34e3bb Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Wed, 21 Oct 2026 10:03:31 +0200 Subject: Repository, Packages: no stale detail pane; scan survives races A reload or filter that drops the current row left its pane and link up, and the link then crashed on current() being None (Packages had the same). A .txz slackrepo replaces between glob and stat is skipped, and any exception in the scan thread reaches the stats line instead of leaving it at loading. Co-Authored-By: Claude Opus 5.5 --- tests/test_gui.py | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'tests') diff --git a/tests/test_gui.py b/tests/test_gui.py index 7d0b7dd..a12efdd 100644 --- a/tests/test_gui.py +++ b/tests/test_gui.py @@ -655,6 +655,11 @@ class SmokeTest(unittest.TestCase): tab.link.linkActivated.emit("#") self.assertIs(w.tabs.currentWidget(), w.packages_tab) self.assertEqual(w.packages_tab.query.text(), "foo") + tab.table.setCurrentIndex(tab.proxy.index(0, 0)) + tab.reload() # the reset drops the current row: no stale pane or link + self.wait(lambda: tab.stats.text() != "loading…") + self.assertTrue(tab.link.isHidden()) + self.assertEqual(tab.detail.text(), "") def test_repository_missing(self): w, _remote = self.window() -- cgit v1.2.3