diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index 41329608e4..abd6e42628 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -466,12 +466,29 @@ namespace MediaBrowser.Controller.Entities
public Guid ParentId { get; set; }
+ private Folder _parent;
///
/// Gets or sets the parent.
///
/// The parent.
- [IgnoreDataMember]
- public Folder Parent { get; set; }
+ public Folder Parent
+ {
+ get
+ {
+ if (_parent != null)
+ {
+ return _parent;
+ }
+
+ if (ParentId != Guid.Empty)
+ {
+ return LibraryManager.GetItemById(ParentId) as Folder;
+ }
+
+ return null;
+ }
+ set { _parent = value; }
+ }
public void SetParent(Folder parent)
{
diff --git a/MediaBrowser.Providers/Movies/MovieExternalIds.cs b/MediaBrowser.Providers/Movies/MovieExternalIds.cs
index 9c09d9d00c..c582447a9f 100644
--- a/MediaBrowser.Providers/Movies/MovieExternalIds.cs
+++ b/MediaBrowser.Providers/Movies/MovieExternalIds.cs
@@ -2,6 +2,7 @@
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Movies;
using MediaBrowser.Controller.Entities.TV;
+using MediaBrowser.Controller.LiveTv;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Channels;
using MediaBrowser.Model.Entities;
@@ -34,6 +35,13 @@ namespace MediaBrowser.Providers.Movies
return true;
}
+ // Supports images for tv movies
+ var tvProgram = item as LiveTvProgram;
+ if (tvProgram != null && tvProgram.IsMovie)
+ {
+ return true;
+ }
+
return item is Movie || item is MusicVideo;
}
}
diff --git a/MediaBrowser.Server.Implementations/Dto/DtoService.cs b/MediaBrowser.Server.Implementations/Dto/DtoService.cs
index bdc758d8e8..257e0feb1a 100644
--- a/MediaBrowser.Server.Implementations/Dto/DtoService.cs
+++ b/MediaBrowser.Server.Implementations/Dto/DtoService.cs
@@ -88,7 +88,7 @@ namespace MediaBrowser.Server.Implementations.Dto
public IEnumerable GetBaseItemDtos(IEnumerable items, DtoOptions options, User user = null, BaseItem owner = null)
{
var syncJobItems = GetSyncedItemProgress(options);
- var syncDictionary = syncJobItems.ToDictionary(i => i.ItemId);
+ var syncDictionary = GetSyncedItemProgressDictionary(syncJobItems);
var list = new List();
@@ -120,11 +120,23 @@ namespace MediaBrowser.Server.Implementations.Dto
return list;
}
+ private Dictionary GetSyncedItemProgressDictionary(IEnumerable items)
+ {
+ var dict = new Dictionary();
+
+ foreach (var item in items)
+ {
+ dict[item.ItemId] = item;
+ }
+
+ return dict;
+ }
+
public BaseItemDto GetBaseItemDto(BaseItem item, DtoOptions options, User user = null, BaseItem owner = null)
{
var syncProgress = GetSyncedItemProgress(options);
- var dto = GetBaseItemDtoInternal(item, options, syncProgress.ToDictionary(i => i.ItemId), user, owner);
+ var dto = GetBaseItemDtoInternal(item, options, GetSyncedItemProgressDictionary(syncProgress), user, owner);
var byName = item as IItemByName;
@@ -382,7 +394,7 @@ namespace MediaBrowser.Server.Implementations.Dto
{
var syncProgress = GetSyncedItemProgress(options);
- var dto = GetBaseItemDtoInternal(item, options, syncProgress.ToDictionary(i => i.ItemId), user);
+ var dto = GetBaseItemDtoInternal(item, options, GetSyncedItemProgressDictionary(syncProgress), user);
if (options.Fields.Contains(ItemFields.ItemCounts))
{
diff --git a/SharedVersion.cs b/SharedVersion.cs
index 3235e07e44..19b1c89596 100644
--- a/SharedVersion.cs
+++ b/SharedVersion.cs
@@ -1,4 +1,4 @@
using System.Reflection;
-//[assembly: AssemblyVersion("3.0.*")]
-[assembly: AssemblyVersion("3.0.5667.6")]
+[assembly: AssemblyVersion("3.0.*")]
+//[assembly: AssemblyVersion("3.0.5667.6")]