Commit bb48fea
committed
Merge #6605: backport: bitcoin-core/gui#605: Delete splash screen widget early
17b40f9 Merge bitcoin-core/gui#605: Delete splash screen widget early (Hennadii Stepanov)
Pull request description:
## Issue being fixed or feature implemented
Original PR description:
> `SplashScreen::deleteLater()` [does not guarantee](https://doc.qt.io/qt-5/qobject.html#deleteLater) deletion of the `m_splash` object prior to the wallet context deletion. If the latter happens first, the [segfault](bitcoin-core/gui#604 (comment)) follows.
Crash:
```
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
...
6 libc++abi.dylib 0x19012d6b4 std::terminate() + 108
7 dash-qt 0x1027e5744 SplashScreen::~SplashScreen() + 504 (splashscreen.cpp:142)
8 dash-qt 0x1027e5974 SplashScreen::~SplashScreen() + 4 (splashscreen.cpp:141) [inlined]
9 dash-qt 0x1027e5974 SplashScreen::~SplashScreen() + 36 (splashscreen.cpp:141)
...
```
The issue was introduced via bitcoin#19101 backport (14aa05d) in #6529.
## What was done?
Backport bitcoin-core/gui#605
## How Has This Been Tested?
Run `./src/qt/dash-qt --regtest` and press `q` while on splash screen to shutdown asap
develop: crash
this PR: no crash
## Breaking Changes
## Checklist:
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have added or updated relevant unit/integration/functional/e2e tests
- [ ] I have made corresponding changes to the documentation
- [ ] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_
ACKs for top commit:
knst:
utACK 17b40f9
Tree-SHA512: d7f84d66ceaa499fb8f6874c54a389f5e3a852d4b94dc9ae43d9fd0bcf150e8952714d531b6ffb53903f19c1ed11ec5a1d64502a4027672305799d6061ce04e84 files changed
+8
-22
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
270 | 270 | | |
271 | 271 | | |
272 | 272 | | |
273 | | - | |
274 | | - | |
275 | 273 | | |
276 | | - | |
277 | | - | |
278 | 274 | | |
279 | 275 | | |
280 | 276 | | |
| |||
332 | 328 | | |
333 | 329 | | |
334 | 330 | | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
335 | 334 | | |
336 | 335 | | |
337 | 336 | | |
| |||
371 | 370 | | |
372 | 371 | | |
373 | 372 | | |
| 373 | + | |
374 | 374 | | |
375 | 375 | | |
376 | | - | |
377 | | - | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
378 | 380 | | |
379 | 381 | | |
380 | 382 | | |
| |||
397 | 399 | | |
398 | 400 | | |
399 | 401 | | |
400 | | - | |
401 | 402 | | |
402 | 403 | | |
403 | 404 | | |
| |||
417 | 418 | | |
418 | 419 | | |
419 | 420 | | |
420 | | - | |
421 | 421 | | |
422 | 422 | | |
423 | 423 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
86 | 86 | | |
87 | 87 | | |
88 | 88 | | |
89 | | - | |
90 | 89 | | |
91 | 90 | | |
92 | 91 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
166 | 166 | | |
167 | 167 | | |
168 | 168 | | |
169 | | - | |
170 | | - | |
171 | | - | |
172 | | - | |
173 | | - | |
174 | | - | |
175 | | - | |
176 | | - | |
177 | | - | |
178 | | - | |
179 | 169 | | |
180 | 170 | | |
181 | 171 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | 40 | | |
44 | 41 | | |
45 | 42 | | |
| |||
0 commit comments