From fc9e733857e7892737612403cc0b0ad5ecee47ff Mon Sep 17 00:00:00 2001 From: Renaud Paquay Date: Thu, 25 Nov 2010 09:29:50 -0800 Subject: [PATCH] Fix NullReferenceException Not all content types have a definition in metadata! --HG-- branch : dev --- src/Orchard.Web/Core/Common/Handlers/CommonPartHandler.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Orchard.Web/Core/Common/Handlers/CommonPartHandler.cs b/src/Orchard.Web/Core/Common/Handlers/CommonPartHandler.cs index 8e8fd8316..9ef052cb7 100644 --- a/src/Orchard.Web/Core/Common/Handlers/CommonPartHandler.cs +++ b/src/Orchard.Web/Core/Common/Handlers/CommonPartHandler.cs @@ -1,6 +1,7 @@ using System.Linq; using JetBrains.Annotations; using Orchard.ContentManagement.MetaData; +using Orchard.ContentManagement.MetaData.Models; using Orchard.Core.Common.Models; using Orchard.Data; using Orchard.Localization; @@ -61,7 +62,11 @@ namespace Orchard.Core.Common.Handlers { public Localizer T { get; set; } bool ContentTypeWithACommonPart(string typeName) { - return _contentDefinitionManager.GetTypeDefinition(typeName).Parts.Any(part => part.PartDefinition.Name == "CommonPart"); + //Note: What about content type handlers which activate "CommonPart" in code? + var contentTypeDefinition = _contentDefinitionManager.GetTypeDefinition(typeName); + if (contentTypeDefinition == null) + return false; + return contentTypeDefinition.Parts.Any(part => part.PartDefinition.Name == "CommonPart"); } void AssignCreatingOwner(InitializingContentContext context, CommonPart part) {