From 224c8294bab7f9f2c8d831f3e36062506f6d8bb5 Mon Sep 17 00:00:00 2001 From: Sebastien Ros Date: Thu, 31 Mar 2011 16:28:56 -0700 Subject: [PATCH] Fixing null reference when no Urls are set in Warmup --HG-- branch : 1.x --- .../Orchard.Warmup/Controllers/AdminController.cs | 12 +++++++----- .../VirtualPath/DefaultVirtualPathMonitor.cs | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.Warmup/Controllers/AdminController.cs b/src/Orchard.Web/Modules/Orchard.Warmup/Controllers/AdminController.cs index 60b567052..17f2a967c 100644 --- a/src/Orchard.Web/Modules/Orchard.Warmup/Controllers/AdminController.cs +++ b/src/Orchard.Web/Modules/Orchard.Warmup/Controllers/AdminController.cs @@ -45,11 +45,13 @@ namespace Orchard.Warmup.Controllers { var warmupPart = Services.WorkContext.CurrentSite.As(); if(TryUpdateModel(warmupPart)) { - using (var urlReader = new StringReader(warmupPart.Urls)) { - string relativeUrl; - while (null != (relativeUrl = urlReader.ReadLine())) { - if(!Uri.IsWellFormedUriString(relativeUrl, UriKind.Relative) || !(relativeUrl.StartsWith("/"))) { - AddModelError("Urls", T("{0} is an invalid warmup url.", relativeUrl)); + if (!String.IsNullOrEmpty(warmupPart.Urls)) { + using (var urlReader = new StringReader(warmupPart.Urls)) { + string relativeUrl; + while (null != (relativeUrl = urlReader.ReadLine())) { + if (!Uri.IsWellFormedUriString(relativeUrl, UriKind.Relative) || !(relativeUrl.StartsWith("/"))) { + AddModelError("Urls", T("{0} is an invalid warmup url.", relativeUrl)); + } } } } diff --git a/src/Orchard/FileSystems/VirtualPath/DefaultVirtualPathMonitor.cs b/src/Orchard/FileSystems/VirtualPath/DefaultVirtualPathMonitor.cs index b7fb93908..65e4828bf 100644 --- a/src/Orchard/FileSystems/VirtualPath/DefaultVirtualPathMonitor.cs +++ b/src/Orchard/FileSystems/VirtualPath/DefaultVirtualPathMonitor.cs @@ -30,7 +30,7 @@ namespace Orchard.FileSystems.VirtualPath { && !HostingEnvironment.VirtualPathProvider.FileExists(virtualPath)) { // if trying to monitor a directory or file inside a directory which doesn't exist // monitor first existing parent directory - new Token(virtualPath); + return new Token(virtualPath); } BindSignal(virtualPath);