diff options
| author | 2018-03-04 11:52:08 -0500 | |
|---|---|---|
| committer | 2018-03-04 11:52:08 -0500 | |
| commit | 3c3d5eeddf34bc52b2770df8f1c4cda1dc8e5b77 (patch) | |
| tree | 43bd3a05be18765314f946958a87999bb8ae13b1 /src | |
| parent | Merge pull request #226 from Subv/buffer_queue_event (diff) | |
| parent | CoreTiming: Unschedule the pending events when an Interface is destroyed. (diff) | |
| download | yuzu-3c3d5eeddf34bc52b2770df8f1c4cda1dc8e5b77.tar.gz yuzu-3c3d5eeddf34bc52b2770df8f1c4cda1dc8e5b77.tar.xz yuzu-3c3d5eeddf34bc52b2770df8f1c4cda1dc8e5b77.zip | |
Merge pull request #228 from Subv/unschedule_events
CoreTiming: Unschedule the pending events when an Interface is destroyed
Diffstat (limited to 'src')
| -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}; |