diff --git a/src/Umbraco.Core/ContentTypeBaseServiceProviderExtensions.cs b/src/Umbraco.Core/ContentTypeBaseServiceProviderExtensions.cs index ad4d286139..f962d9aefb 100644 --- a/src/Umbraco.Core/ContentTypeBaseServiceProviderExtensions.cs +++ b/src/Umbraco.Core/ContentTypeBaseServiceProviderExtensions.cs @@ -1,17 +1,16 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; using Umbraco.Core.Models; using Umbraco.Core.Services; namespace Umbraco.Core { - // fixme - public static class ContentTypeBaseServiceProviderExtensions + internal static class ContentTypeBaseServiceProviderExtensions { + //TODO: Maybe this should just be on the IContentTypeBaseServiceProvider interface? public static IContentTypeComposition GetContentTypeOf(this IContentTypeBaseServiceProvider serviceProvider, IContentBase contentBase) - => serviceProvider.For(contentBase).Get(contentBase.ContentTypeId); + { + if (contentBase == null) throw new ArgumentNullException(nameof(contentBase)); + return serviceProvider.For(contentBase)?.Get(contentBase.ContentTypeId); + } } } diff --git a/src/Umbraco.Core/Services/Implement/ContentTypeBaseServiceProvider.cs b/src/Umbraco.Core/Services/Implement/ContentTypeBaseServiceProvider.cs index d867224b90..e20ff28ab3 100644 --- a/src/Umbraco.Core/Services/Implement/ContentTypeBaseServiceProvider.cs +++ b/src/Umbraco.Core/Services/Implement/ContentTypeBaseServiceProvider.cs @@ -18,6 +18,7 @@ namespace Umbraco.Core.Services.Implement public IContentTypeBaseService For(IContentBase contentBase) { + if (contentBase == null) throw new ArgumentNullException(nameof(contentBase)); switch (contentBase) { case IContent _: diff --git a/src/Umbraco.Web/Macros/PublishedContentHashtableConverter.cs b/src/Umbraco.Web/Macros/PublishedContentHashtableConverter.cs index 0ce317ac65..cc88d183b6 100644 --- a/src/Umbraco.Web/Macros/PublishedContentHashtableConverter.cs +++ b/src/Umbraco.Web/Macros/PublishedContentHashtableConverter.cs @@ -199,8 +199,8 @@ namespace Umbraco.Web.Macros Key = _inner.Key; // TODO: ARGH! need to fix this - this is not good because it uses ApplicationContext.Current - CreatorName = _inner.GetCreatorProfile().Name; - WriterName = _inner.GetWriterProfile().Name; + CreatorName = _inner.GetCreatorProfile()?.Name; + WriterName = _inner.GetWriterProfile()?.Name; var contentType = Current.Services.ContentTypeBaseServices.GetContentTypeOf(_inner); ContentType = Current.PublishedContentTypeFactory.CreateContentType(contentType);