Merge lp:~mardy/gnome-control-center-signon/lp1122520 into lp:gnome-control-center-signon
Status: | Merged |
---|---|
Approved by: | David King |
Approved revision: | 145 |
Merged at revision: | 142 |
Proposed branch: | lp:~mardy/gnome-control-center-signon/lp1122520 |
Merge into: | lp:gnome-control-center-signon |
Diff against target: |
149 lines (+42/-11) 2 files modified
libaccount-plugin/oauth-plugin.c (+42/-10) libaccount-plugin/plugin.c (+0/-1) |
To merge this branch: | bzr merge lp:~mardy/gnome-control-center-signon/lp1122520 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
David King (community) | Approve | ||
PS Jenkins bot (community) | continuous-integration | Approve | |
Review via email: mp+154912@code.launchpad.net |
Commit message
Don't crash when cancelling the authentication or disposing the plugin
This fixes a couple of crashes which would occur:
1) when cancelling an ongoing authentication by pressing the "Cancel" button: this is fixed by tracking the state of the asynchronous operations and delaying the emission of the "finished" signal until they have all completed.
2) when going back to the System Settings: this operation would destroy the plugin, but the asynchronous operations would still continue and the callbacks would be invoked later on an invalid pointer to "self" (see also https:/
Description of the change
Don't crash when cancelling the authentication or disposing the plugin
This fixes a couple of crashes which would occur:
1) when cancelling an ongoing authentication by pressing the "Cancel" button: this is fixed by tracking the state of the asynchronous operations and delaying the emission of the "finished" signal until they have all completed.
2) when going back to the System Settings: this operation would destroy the plugin, but the asynchronous operations would still continue and the callbacks would be invoked later on an invalid pointer to "self" (see also https:/
PASSED: Continuous integration, rev:143 s-jenkins: 8080/job/ gnome-control- center- signon- ci/40/ s-jenkins: 8080/job/ gnome-control- center- signon- ci/./build= pbuilder, distribution= raring, flavor= amd64/40 s-jenkins: 8080/job/ gnome-control- center- signon- ci/./build= pbuilder, distribution= raring, flavor= i386/40
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild: s-jenkins: 8080/job/ gnome-control- center- signon- ci/40/rebuild
http://