Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Don't call QtPass::setup() from QtPass class constructor (should fix #466) #482

Merged
merged 2 commits into from
Oct 7, 2019
Merged

Don't call QtPass::setup() from QtPass class constructor (should fix #466) #482

merged 2 commits into from
Oct 7, 2019

Conversation

maciejsszmigiero
Copy link
Contributor

QtPass::setup() cannot be called from this class constructor as it
possibly calls back MainWindow::config() method.
QtPass constructor is in turn called from the MainWindow one so the
MainWindow object might not be fully constructed yet.

It looks like this was introduced in commit bc19f9e.

Rename QtPass::setup() to QtPass::init() and call it explicitly at the end
of the MainWindow constructor.

Should fix #466, but the whole thing
really needs a refactoring to establish a clear QtPass -> MainWindow (or
MainWindow -> QtPass) relationship and to make sure there aren't any
circular dependencies there (and other similar bugs).

The QtPass class is not usable without a MainWindow object so it can as
well take it directly as its constructor parameter.
QtPass::setup() cannot be called from this class constructor as it
possibly calls back MainWindow::config() method.
QtPass constructor is in turn called from the MainWindow one so the
MainWindow object might not be fully constructed yet.

It looks like this was introduced in commit bc19f9e.

Rename QtPass::setup() to QtPass::init() and call it explicitly at the end
of the MainWindow constructor.

Should fix #466, but the whole thing
really needs a refactoring to establish a clear QtPass -> MainWindow (or
MainWindow -> QtPass) relationship and to make sure there aren't any
circular dependencies there (and other similar bugs).
@coveralls
Copy link

Coverage Status

Coverage increased (+0.03%) to 7.095% when pulling 3454fcf on maciejsszmigiero:qtpass-class-setup-fix into 397ca5b on IJHack:master.

@codecov
Copy link

codecov bot commented Oct 2, 2019

Codecov Report

Merging #482 into master will not change coverage.
The diff coverage is 0%.

Impacted file tree graph

@@          Coverage Diff           @@
##           master    #482   +/-   ##
======================================
  Coverage    7.15%   7.15%           
======================================
  Files          44      44           
  Lines        2851    2851           
======================================
  Hits          204     204           
  Misses       2647    2647
Impacted Files Coverage Δ
src/qtpass.h 0% <ø> (ø) ⬆️
src/mainwindow.cpp 0% <0%> (ø) ⬆️
src/qtpass.cpp 0% <0%> (ø) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 397ca5b...3454fcf. Read the comment docs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Application crashes on empty password store
3 participants