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

Conversation

@maciejsszmigiero
Copy link
Contributor

maciejsszmigiero commented Oct 2, 2019

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

This comment has been minimized.

Copy link

coveralls commented Oct 2, 2019

Coverage Status

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

@codecov

This comment has been minimized.

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.

@annejan annejan merged commit 7794b65 into IJHack:master Oct 7, 2019
5 of 6 checks passed
5 of 6 checks passed
codecov/patch 0% of diff hit (target 7.15%)
Details
CodeFactor No issues found.
Details
LGTM analysis: C/C++ No new or fixed alerts
Details
codecov/project 7.15% remains the same compared to 397ca5b
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.