Skip to content

Mod list - Fix duplicate scan of unregistered mods on startup - #129

Merged
Tapawingo merged 1 commit into
mainfrom
fix/redundant-mod-detection-startup
Sep 23, 2026
Merged

Tapawingo merged 1 commit into
mainfrom
fix/redundant-mod-detection-startup

Conversation

@Tapawingo

Copy link
Copy Markdown
Owner

Summary

  • InstallPathWidget::setInstallPath() fired validPathSelected() twice per call — once via setText()'s textChanged cascading into onPathEdited() -> validatePath(), and again via the explicit validatePath() call right after. Fixed with a QSignalBlocker.
  • MainWindow::loadSettings() also had its own redundant direct call to detectUnregisteredMods() that duplicated exactly what onInstallPathChanged() already triggers off validPathSelected(). Removed it.
  • Together these caused three redundant background scans of the mod list on every startup instead of one.

This was found while investigating a reported startup UI hang. These two fixes are real, confirmed bugs (verified via logging that the triple-scan is gone), but a separate ~600-700ms stall remains that I could not trace back to any TrenchKit code despite extensive isolated testing — see the "Known unsolved issue" note added to local dev notes for anyone picking this up later.

Test plan

  • ctest --test-dir build/webengine-rel — all 4 suites pass
  • Verified via debug logging that detectUnregisteredMods() now runs once per startup instead of three times

InstallPathWidget::setInstallPath() fired validPathSelected() twice per
call: once via setText()'s textChanged signal cascading into
onPathEdited() -> validatePath(), and again via the explicit
validatePath() call right after. Fixed with a QSignalBlocker.

MainWindow::loadSettings() also had its own redundant direct call to
detectUnregisteredMods() that duplicated exactly what
onInstallPathChanged() already triggers off validPathSelected().
Removed it.

Together these caused three redundant background scans of the mod
list on every startup instead of one.
@Tapawingo Tapawingo added type: bug Something is broken or behaving incorrectly. area: mod list Mod list display, ordering, drag-and-drop, row widgets. labels Sep 23, 2026
@Tapawingo
Tapawingo merged commit d339abc into main Sep 23, 2026
10 checks passed
@Tapawingo
Tapawingo deleted the fix/redundant-mod-detection-startup branch September 23, 2026 20:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: mod list Mod list display, ordering, drag-and-drop, row widgets. type: bug Something is broken or behaving incorrectly.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant