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

Fix stopped responding after quit clicked, #4310 #4368

Merged
merged 1 commit into from
Apr 22, 2023
Merged

Fix stopped responding after quit clicked, #4310 #4368

merged 1 commit into from
Apr 22, 2023

Conversation

low-batt
Copy link
Contributor

This commit will:

  • Change MPVController to call PlayerCore when certain properties change
  • Add checking for shutting down before processing property changes
  • Change MPVController.handlePropertyChange to use the value passed in the event for the property idleActive
  • Move setting of the PlayerCore properties isStopping and isStopped to the openMainWindow method

Once the asynchronous quit command has been sent to mpv IINA must not call certain mpv methods. This is a mpv requirement. Violating this requirement can result in crashes. Because mpv will still emit propery change events the burden is on IINA to know that mpv has been told to quit and the property change events should not be processed.

This commit moves code in MPVController that was calling various PlayerCore methods into PlayerCore and adds checks to ignore the property changes if IINA is shutting down the mpv core.


Description:

@low-batt low-batt requested a review from uiryuu April 20, 2023 19:32
@low-batt low-batt linked an issue Apr 20, 2023 that may be closed by this pull request
1 task
@uiryuu uiryuu mentioned this pull request Apr 22, 2023
23 tasks
This commit will:
- Change MPVController to call PlayerCore when certain properties change
- Add checking for shutting down before processing property changes
- Change MPVController.handlePropertyChange to use the value passed in
  the event for the property idleActive
- Move setting of the PlayerCore properties isStopping and isStopped to
  the openMainWindow method

Once the asynchronous quit command has been sent to mpv IINA must not
call certain mpv methods. This is a mpv requirement. Violating this
requirement can result in crashes. Because mpv will still emit property
change events the burden is on IINA to know that mpv has been told to
quit and the property change events should not be processed.

This commit moves code in MPVController that was calling various
PlayerCore methods into PlayerCore and adds checks to ignore the
property changes if IINA is shutting down the mpv core.
@uiryuu uiryuu merged commit c849eb7 into develop Apr 22, 2023
2 checks passed
@uiryuu uiryuu deleted the fix-4310 branch April 22, 2023 13:10
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.

IINA stopped responding after quit clicked
2 participants