Skip to content

Fix crash caused by deleting dialog inside its own finished handler - #242

Open
RomanPudashkin wants to merge 2 commits into
musescore:mainfrom
RomanPudashkin:fix_dialog_deleteLater_crash
Open

Fix crash caused by deleting dialog inside its own finished handler#242
RomanPudashkin wants to merge 2 commits into
musescore:mainfrom
RomanPudashkin:fix_dialog_deleteLater_crash

Conversation

@RomanPudashkin

Copy link
Copy Markdown
Contributor

Ports: musescore/MuseScore#33951

  • additional protection in Interactive
  • dock v2 doesn't require the same revert (never had the sendPostedEvents fix)

@coderabbitai

coderabbitai Bot commented Aug 21, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 122cdb3d-eeef-4f79-9f8d-bf5ec040835b

📥 Commits

Reviewing files that changed from the base of the PR and between 2f67b84 and 97e36bf.

📒 Files selected for processing (2)
  • framework/dockwindow/qml/Muse/Dock/dockwindow.cpp
  • framework/interactive/internal/interactive.cpp
💤 Files with no reviewable changes (1)
  • framework/dockwindow/qml/Muse/Dock/dockwindow.cpp

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The change removes deferred-delete event processing before dock page initialization. It adds deferred cleanup for file and color dialogs. Dialogs now schedule deleteLater() after promise resolution or rejection completes. The interactive implementation includes the deferred action header.

Merge Risk: ⚪ Minimal · up to 97e36

The change is limited to dialog-lifecycle handling and removes the described crash path; no actionable merge-blocking risk remains based on the current evidence.

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description states the port and key implementation differences, but it omits the required issue reference and checklist. Add the resolved issue reference, motivation, and completed repository checklist; include build configuration if it differs from the template defaults.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 1 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the crash and the relevant dialog-lifecycle change.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@RomanPudashkin

Copy link
Copy Markdown
Contributor Author

/build

@github-actions

Copy link
Copy Markdown

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.

1 participant