From 0b7496c4e7526278d4d7c3bed599448592c91b03 Mon Sep 17 00:00:00 2001 From: Sebastien Ros Date: Mon, 27 Feb 2012 10:58:38 -0800 Subject: [PATCH] #18483: Fixing driver exceptions Work Item: 18483 --HG-- branch : 1.x --- .../Drivers/ContentFieldDriver.cs | 24 ++++++++++++++----- .../Drivers/ContentPartDriver.cs | 18 +++++++++++--- 2 files changed, 33 insertions(+), 9 deletions(-) diff --git a/src/Orchard/ContentManagement/Drivers/ContentFieldDriver.cs b/src/Orchard/ContentManagement/Drivers/ContentFieldDriver.cs index 31fb77c72..353fa1ce9 100644 --- a/src/Orchard/ContentManagement/Drivers/ContentFieldDriver.cs +++ b/src/Orchard/ContentManagement/Drivers/ContentFieldDriver.cs @@ -18,8 +18,12 @@ namespace Orchard.ContentManagement.Drivers { DriverResult IContentFieldDriver.BuildDisplayShape(BuildDisplayContext context) { return Process(context.ContentItem, (part, field) => { DriverResult result = Display(part, field, context.DisplayType, context.New); - result.ContentPart = part; - result.ContentField = field; + + if (result != null) { + result.ContentPart = part; + result.ContentField = field; + } + return result; }); } @@ -27,8 +31,12 @@ namespace Orchard.ContentManagement.Drivers { DriverResult IContentFieldDriver.BuildEditorShape(BuildEditorContext context) { return Process(context.ContentItem, (part, field) => { DriverResult result = Editor(part, field, context.New); - result.ContentPart = part; - result.ContentField = field; + + if (result != null) { + result.ContentPart = part; + result.ContentField = field; + } + return result; }); } @@ -36,8 +44,12 @@ namespace Orchard.ContentManagement.Drivers { DriverResult IContentFieldDriver.UpdateEditorShape(UpdateEditorContext context) { return Process(context.ContentItem, (part, field) => { DriverResult result = Editor(part, field, context.Updater, context.New); - result.ContentPart = part; - result.ContentField = field; + + if (result != null) { + result.ContentPart = part; + result.ContentField = field; + } + return result; }); } diff --git a/src/Orchard/ContentManagement/Drivers/ContentPartDriver.cs b/src/Orchard/ContentManagement/Drivers/ContentPartDriver.cs index 2aa1c4e4e..de71c6741 100644 --- a/src/Orchard/ContentManagement/Drivers/ContentPartDriver.cs +++ b/src/Orchard/ContentManagement/Drivers/ContentPartDriver.cs @@ -24,7 +24,11 @@ namespace Orchard.ContentManagement.Drivers { } DriverResult result = Display(part, context.DisplayType, context.New); - result.ContentPart = part; + + if(result != null ) { + result.ContentPart = part; + } + return result; } @@ -36,7 +40,11 @@ namespace Orchard.ContentManagement.Drivers { } DriverResult result = Editor(part, context.New); - result.ContentPart = part; + + if (result != null) { + result.ContentPart = part; + } + return result; } @@ -48,7 +56,11 @@ namespace Orchard.ContentManagement.Drivers { } DriverResult result = Editor(part, context.Updater, context.New); - result.ContentPart = part; + + if (result != null) { + result.ContentPart = part; + } + return result; }