diff --git a/mediaportal/Core/Player/VolumeHandler.cs b/mediaportal/Core/Player/VolumeHandler.cs index e0f50e40550..fab8691f355 100644 --- a/mediaportal/Core/Player/VolumeHandler.cs +++ b/mediaportal/Core/Player/VolumeHandler.cs @@ -109,7 +109,9 @@ public VolumeHandler(int[] volumeTable) _showVolumeOSD = true; - VolumeOSD = new HideVolumeOSD.HideVolumeOSDLib(IsMuted); + if (VolumeOSD == null) + VolumeOSD = new HideVolumeOSD.HideVolumeOSDLib(IsMuted); + VolumeOSD.HideOSD(); _showVolumeOSD = tempShowVolumeOSD; @@ -174,7 +176,9 @@ public VolumeHandler(int[] volumeTable) _showVolumeOSD = true; - VolumeOSD = new HideVolumeOSD.HideVolumeOSDLib(IsMuted); + if (VolumeOSD == null) + VolumeOSD = new HideVolumeOSD.HideVolumeOSDLib(IsMuted); + VolumeOSD.HideOSD(); _showVolumeOSD = tempShowVolumeOSD; @@ -368,6 +372,11 @@ public static void Dispose() _instance._mixer.SafeDispose(); _instance._mixer = null; } + + //Restore native Windows Volume OSD + if (VolumeOSD != null) + VolumeOSD.ShowOSD(); + _instance = null; GUIGraphicsContext.VolumeHandler = null; }