yuzu-emu
/
yuzu
Archived
1
0
Fork 0

CoreTiming: Unschedule the pending events when an Interface is destroyed.

This commit is contained in:
Subv 2018-03-04 10:34:25 -05:00
parent 7e7110b3b9
commit 248881fa7f
3 changed files with 10 additions and 2 deletions

View File

@ -52,7 +52,9 @@ public:
CoreTiming::ScheduleEvent(audio_ticks, audio_event); CoreTiming::ScheduleEvent(audio_ticks, audio_event);
} }
~IAudioOut() = default; ~IAudioOut() {
CoreTiming::UnscheduleEvent(audio_event, 0);
}
private: private:
void StartAudioOut(Kernel::HLERequestContext& ctx) { void StartAudioOut(Kernel::HLERequestContext& ctx) {

View File

@ -45,7 +45,9 @@ public:
// Start the audio event // Start the audio event
CoreTiming::ScheduleEvent(audio_ticks, audio_event); CoreTiming::ScheduleEvent(audio_ticks, audio_event);
} }
~IAudioRenderer() = default; ~IAudioRenderer() {
CoreTiming::UnscheduleEvent(audio_event, 0);
}
private: private:
void UpdateAudioCallback() { void UpdateAudioCallback() {

View File

@ -45,6 +45,10 @@ public:
CoreTiming::ScheduleEvent(pad_update_ticks, pad_update_event); CoreTiming::ScheduleEvent(pad_update_ticks, pad_update_event);
} }
~IAppletResource() {
CoreTiming::UnscheduleEvent(pad_update_event, 0);
}
private: private:
void GetSharedMemoryHandle(Kernel::HLERequestContext& ctx) { void GetSharedMemoryHandle(Kernel::HLERequestContext& ctx) {
IPC::ResponseBuilder rb{ctx, 2, 1}; IPC::ResponseBuilder rb{ctx, 2, 1};