Skip to content

Commit d3c6d87

Browse files
authored
Code Quality: Unsubscribe events in MediaPreview (#17335)
1 parent 9d879a9 commit d3c6d87

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

src/Files.App/UserControls/FilePreviews/MediaPreview.xaml.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ public MediaPreview(MediaPreviewViewModel model)
1717
ViewModel = model;
1818
InitializeComponent();
1919
PlayerContext.Loaded += PlayerContext_Loaded;
20+
PlayerContext.Unloaded += PlayerContext_Unloaded;
2021
Unloaded += MediaPreview_Unloaded;
2122
}
2223

@@ -29,13 +30,20 @@ private void PlayerContext_Loaded(object sender, RoutedEventArgs e)
2930
ViewModel.TogglePlaybackRequested += TogglePlaybackRequestInvoked;
3031
}
3132

33+
private void PlayerContext_Unloaded(object sender, RoutedEventArgs e)
34+
{
35+
PlayerContext.MediaPlayer.VolumeChanged -= MediaPlayer_VolumeChanged;
36+
ViewModel.TogglePlaybackRequested -= TogglePlaybackRequestInvoked;
37+
}
38+
3239
private void MediaPreview_Unloaded(object sender, RoutedEventArgs e)
3340
{
3441
// The MediaPlayerElement isn't properly disposed by Windows so we set the source to null
3542
// to avoid issues the next time the control is used.
3643
PlayerContext.Source = null;
3744

3845
PlayerContext.Loaded -= PlayerContext_Loaded;
46+
PlayerContext.Unloaded -= PlayerContext_Unloaded;
3947
Unloaded -= MediaPreview_Unloaded;
4048
}
4149

@@ -47,7 +55,7 @@ private void MediaPlayer_VolumeChanged(MediaPlayer sender, object args)
4755
}
4856
}
4957

50-
private void TogglePlaybackRequestInvoked(object sender, EventArgs e)
58+
private void TogglePlaybackRequestInvoked(object? sender, EventArgs e)
5159
{
5260
if (PlayerContext.MediaPlayer.PlaybackSession.PlaybackState is not MediaPlaybackState.Playing)
5361
{

0 commit comments

Comments
 (0)