backport: bitcoin-core/gui#605: Delete splash screen widget early#6605
backport: bitcoin-core/gui#605: Delete splash screen widget early#6605PastaPastaPasta merged 1 commit intodashpay:developfrom
Conversation
1b22849 qt: Drop no longer used `SplashScreen::finish()` slot (Hennadii Stepanov) 10811af qt: Drop no longer used `BitcoinApplication::splashFinished()` signal (Hennadii Stepanov) 5299cfe qt: Delete splash screen widget explicitly (Hennadii Stepanov) Pull request description: Fixes bitcoin-core/gui#604. Fixes bitcoin#25146. Fixes bitcoin#26340. `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. ACKs for top commit: dooglus: ACK bitcoin-core/gui@1b22849 furszy: ACK 1b22849 john-moffett: ACK 1b22849 Tree-SHA512: bb01d0bf2051f5b184dc415c4f5d32dfb7b8bd772feff7ec7754ded4c6482de27f004b9712df7d53c5ee82e153f48aef4372e4a49d7bcbbb137f73e9b4947962
WalkthroughThe pull request refactors the management of the splash screen within the application's Qt interface. Instead of relying on signal-slot connections for automatic deletion, the code now explicitly deletes the splash screen in both the shutdown and initialization routines. The 📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (4)
💤 Files with no reviewable changes (3)
⏰ Context from checks skipped due to timeout of 90000ms (4)
🔇 Additional comments (2)
✨ Finishing Touches
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
Issue being fixed or feature implemented
Original PR description:
Crash:
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 --regtestand pressqwhile on splash screen to shutdown asapdevelop: crash
this PR: no crash
Breaking Changes
Checklist: