diff options
| author | 2018-03-04 10:34:25 -0500 | |
|---|---|---|
| committer | 2018-03-04 10:34:25 -0500 | |
| commit | 248881fa7fb67d3d161f6e493546de75a3746c07 (patch) | |
| tree | 43bd3a05be18765314f946958a87999bb8ae13b1 /src/core | |
| parent | Merge pull request #226 from Subv/buffer_queue_event (diff) | |
| download | yuzu-248881fa7fb67d3d161f6e493546de75a3746c07.tar.gz yuzu-248881fa7fb67d3d161f6e493546de75a3746c07.tar.xz yuzu-248881fa7fb67d3d161f6e493546de75a3746c07.zip | |
CoreTiming: Unschedule the pending events when an Interface is destroyed.
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/hle/service/audio/audout_u.cpp | 4 | ||||
| -rw-r--r-- | src/core/hle/service/audio/audren_u.cpp | 4 | ||||
| -rw-r--r-- | src/core/hle/service/hid/hid.cpp | 4 |
3 files changed, 10 insertions, 2 deletions
diff --git a/src/core/hle/service/audio/audout_u.cpp b/src/core/hle/service/audio/audout_u.cpp index 780a4e6e5..e873d768f 100644 --- a/src/core/hle/service/audio/audout_u.cpp +++ b/src/core/hle/service/audio/audout_u.cpp | |||
| @@ -52,7 +52,9 @@ public: | |||
| 52 | CoreTiming::ScheduleEvent(audio_ticks, audio_event); | 52 | CoreTiming::ScheduleEvent(audio_ticks, audio_event); |
| 53 | } | 53 | } |
| 54 | 54 | ||
| 55 | ~IAudioOut() = default; | 55 | ~IAudioOut() { |
| 56 | CoreTiming::UnscheduleEvent(audio_event, 0); | ||
| 57 | } | ||
| 56 | 58 | ||
| 57 | private: | 59 | private: |
| 58 | void StartAudioOut(Kernel::HLERequestContext& ctx) { | 60 | void StartAudioOut(Kernel::HLERequestContext& ctx) { |
diff --git a/src/core/hle/service/audio/audren_u.cpp b/src/core/hle/service/audio/audren_u.cpp index dda135d18..1cbca6c4b 100644 --- a/src/core/hle/service/audio/audren_u.cpp +++ b/src/core/hle/service/audio/audren_u.cpp | |||
| @@ -45,7 +45,9 @@ public: | |||
| 45 | // Start the audio event | 45 | // Start the audio event |
| 46 | CoreTiming::ScheduleEvent(audio_ticks, audio_event); | 46 | CoreTiming::ScheduleEvent(audio_ticks, audio_event); |
| 47 | } | 47 | } |
| 48 | ~IAudioRenderer() = default; | 48 | ~IAudioRenderer() { |
| 49 | CoreTiming::UnscheduleEvent(audio_event, 0); | ||
| 50 | } | ||
| 49 | 51 | ||
| 50 | private: | 52 | private: |
| 51 | void UpdateAudioCallback() { | 53 | void UpdateAudioCallback() { |
diff --git a/src/core/hle/service/hid/hid.cpp b/src/core/hle/service/hid/hid.cpp index dacd1862d..7e04ad8d4 100644 --- a/src/core/hle/service/hid/hid.cpp +++ b/src/core/hle/service/hid/hid.cpp | |||
| @@ -45,6 +45,10 @@ public: | |||
| 45 | CoreTiming::ScheduleEvent(pad_update_ticks, pad_update_event); | 45 | CoreTiming::ScheduleEvent(pad_update_ticks, pad_update_event); |
| 46 | } | 46 | } |
| 47 | 47 | ||
| 48 | ~IAppletResource() { | ||
| 49 | CoreTiming::UnscheduleEvent(pad_update_event, 0); | ||
| 50 | } | ||
| 51 | |||
| 48 | private: | 52 | private: |
| 49 | void GetSharedMemoryHandle(Kernel::HLERequestContext& ctx) { | 53 | void GetSharedMemoryHandle(Kernel::HLERequestContext& ctx) { |
| 50 | IPC::ResponseBuilder rb{ctx, 2, 1}; | 54 | IPC::ResponseBuilder rb{ctx, 2, 1}; |