• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

IJHack / QtPass / 28631719104

03 Jul 2026 01:08AM UTC coverage: 56.387% (+1.0%) from 55.4%
28631719104

push

github

web-flow
fix: stop ConfigDialog from silently corrupting saved settings (#1602)

* fix: stop ConfigDialog from silently corrupting saved settings

Several config-dialog paths overwrote or destroyed persisted settings on a
normal OK click:

- applySettings() never restored the pwgen path or password-generation
  configuration, so readSettings() wrote the .ui defaults back over the
  user's saved length/charset/custom-characters/usePwgen on every OK. Restore
  them via setPwgenPath()/setPasswordConfiguration() before toggling usePwgen.
- getPasswordConfiguration() read the character line edit unconditionally,
  clobbering the saved custom charset with a builtin string whenever a builtin
  set was selected. Only read the line edit while CUSTOM is selected; otherwise
  preserve the persisted custom value.
- setProfiles() populated the profile table with sorting enabled, so writing
  into the sort column moved rows between setItem() calls, landing path and
  signing-key cells in the wrong profile's row and destroying profile data on
  save. Disable sorting during population and locate the current row by item
  pointer.
- on_addButton_clicked() re-enabled sorting and then read item(n, 0), which
  after the re-sort could be an existing profile, so a new profile's edit and
  selection landed on and renamed the wrong profile. Track the new item by
  pointer.
- on_profileTable_cellDoubleClicked() dereferenced the path cell without a
  null check, crashing on rows with no path item.
- validate() derived the OK-button state from a single changed item, re-enabling
  OK while another row still had an empty required field, allowing an
  empty-named profile to be saved and then silently dropped.

QtPassSettings::setProfiles() cleared the overloaded "profile" key, which also
holds the active-profile name (getProfile), silently switching the active
password store on every save. Preserve and restore the active-profile scalar.

Adds regression tests: active-profile preservation a... (continued)

24 of 30 new or added lines in 2 files covered. (80.0%)

8 existing lines in 1 file now uncovered.

3792 of 6725 relevant lines covered (56.39%)

30.41 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/qrc_resources.cpp


Source Not Available

The file "src/qrc_resources.cpp" isn't available on github. Either it's been removed, or the repo root directory needs to be updated.

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc