aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Library/UserManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Implementations/Library/UserManager.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Library/UserManager.cs7
1 files changed, 7 insertions, 0 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/UserManager.cs b/MediaBrowser.Server.Implementations/Library/UserManager.cs
index 1a45d35a0..503af4970 100644
--- a/MediaBrowser.Server.Implementations/Library/UserManager.cs
+++ b/MediaBrowser.Server.Implementations/Library/UserManager.cs
@@ -860,6 +860,13 @@ namespace MediaBrowser.Server.Implementations.Library
private async Task UpdateUserPolicy(User user, UserPolicy userPolicy, bool fireEvent)
{
+ // The xml serializer will output differently if the type is not exact
+ if (userPolicy.GetType() != typeof(UserPolicy))
+ {
+ var json = _jsonSerializer.SerializeToString(userPolicy);
+ userPolicy = _jsonSerializer.DeserializeFromString<UserPolicy>(json);
+ }
+
var updateConfig = user.Policy.IsAdministrator != userPolicy.IsAdministrator ||
user.Policy.EnableLiveTvManagement != userPolicy.EnableLiveTvManagement ||
user.Policy.EnableLiveTvAccess != userPolicy.EnableLiveTvAccess ||