From f568958a39c0f4ccb13ca77d355c5221019c083d Mon Sep 17 00:00:00 2001 From: kamyker Date: Wed, 20 May 2020 17:31:44 +0200 Subject: [PATCH 1/3] Fixed Item.GetAsync() not disposed --- Facepunch.Steamworks/Structs/UgcItem.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Facepunch.Steamworks/Structs/UgcItem.cs b/Facepunch.Steamworks/Structs/UgcItem.cs index 87457e6..5b8d6b5 100644 --- a/Facepunch.Steamworks/Structs/UgcItem.cs +++ b/Facepunch.Steamworks/Structs/UgcItem.cs @@ -230,7 +230,10 @@ public float DownloadAmount if ( !file.HasValue ) return null; if ( file.Value.ResultCount == 0 ) return null; - return file.Value.Entries.First(); + var item = file.Value.Entries.First(); + file.Value.Dispose(); + return item; + } } internal static Item From( SteamUGCDetails_t details ) From 7e4f1400c33219614d8ae0479c023653ac2d636a Mon Sep 17 00:00:00 2001 From: kamyker Date: Wed, 20 May 2020 22:26:25 +0200 Subject: [PATCH 2/3] brace fix --- Facepunch.Steamworks/Structs/UgcItem.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/Facepunch.Steamworks/Structs/UgcItem.cs b/Facepunch.Steamworks/Structs/UgcItem.cs index 5b8d6b5..65859df 100644 --- a/Facepunch.Steamworks/Structs/UgcItem.cs +++ b/Facepunch.Steamworks/Structs/UgcItem.cs @@ -234,7 +234,6 @@ public float DownloadAmount file.Value.Dispose(); return item; } - } internal static Item From( SteamUGCDetails_t details ) { From a3bd199b115507df90356f32fe505f0c20ec646d Mon Sep 17 00:00:00 2001 From: kamyker Date: Wed, 20 May 2020 22:32:51 +0200 Subject: [PATCH 3/3] fix for count == 0 --- Facepunch.Steamworks/Structs/UgcItem.cs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Facepunch.Steamworks/Structs/UgcItem.cs b/Facepunch.Steamworks/Structs/UgcItem.cs index 65859df..4eeaca9 100644 --- a/Facepunch.Steamworks/Structs/UgcItem.cs +++ b/Facepunch.Steamworks/Structs/UgcItem.cs @@ -228,11 +228,12 @@ public float DownloadAmount .GetPageAsync( 1 ); if ( !file.HasValue ) return null; - if ( file.Value.ResultCount == 0 ) return null; + using ( file.Value ) + { + if ( file.Value.ResultCount == 0 ) return null; - var item = file.Value.Entries.First(); - file.Value.Dispose(); - return item; + return file.Value.Entries.First(); + } } internal static Item From( SteamUGCDetails_t details )