From ba6132715c356e5fd35f38747bb4477bec132863 Mon Sep 17 00:00:00 2001 From: Garry Newman Date: Wed, 31 Jan 2018 11:40:58 +0000 Subject: [PATCH] Don't try to make callback with invalid SteamAPICall_t --- .../SteamNative/SteamNative.SteamApps.cs | 1 + .../SteamNative/SteamNative.SteamFriends.cs | 6 ++++++ .../SteamNative.SteamGameServer.cs | 3 +++ .../SteamNative.SteamGameServerStats.cs | 2 ++ .../SteamNative.SteamHTMLSurface.cs | 1 + .../SteamNative/SteamNative.SteamInventory.cs | 3 +++ .../SteamNative.SteamMatchmaking.cs | 3 +++ .../SteamNative.SteamRemoteStorage.cs | 21 +++++++++++++++++++ .../SteamNative/SteamNative.SteamUGC.cs | 18 ++++++++++++++++ .../SteamNative/SteamNative.SteamUser.cs | 2 ++ .../SteamNative/SteamNative.SteamUserStats.cs | 10 +++++++++ .../SteamNative/SteamNative.SteamUtils.cs | 1 + Generator/CodeWriter/Class.cs | 1 + 13 files changed, 72 insertions(+) diff --git a/Facepunch.Steamworks/SteamNative/SteamNative.SteamApps.cs b/Facepunch.Steamworks/SteamNative/SteamNative.SteamApps.cs index 61114d5..2f28d3c 100644 --- a/Facepunch.Steamworks/SteamNative/SteamNative.SteamApps.cs +++ b/Facepunch.Steamworks/SteamNative/SteamNative.SteamApps.cs @@ -184,6 +184,7 @@ namespace SteamNative callback = platform.ISteamApps_GetFileDetails( pszFileName ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return FileDetailsResult_t.CallResult( steamworks, callback, CallbackFunction ); } diff --git a/Facepunch.Steamworks/SteamNative/SteamNative.SteamFriends.cs b/Facepunch.Steamworks/SteamNative/SteamNative.SteamFriends.cs index 822fb33..6734548 100644 --- a/Facepunch.Steamworks/SteamNative/SteamNative.SteamFriends.cs +++ b/Facepunch.Steamworks/SteamNative/SteamNative.SteamFriends.cs @@ -98,6 +98,7 @@ namespace SteamNative callback = platform.ISteamFriends_EnumerateFollowingList( unStartIndex ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return FriendsEnumerateFollowingList_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -193,6 +194,7 @@ namespace SteamNative callback = platform.ISteamFriends_GetFollowerCount( steamID.Value ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return FriendsGetFollowerCount_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -429,6 +431,7 @@ namespace SteamNative callback = platform.ISteamFriends_IsFollowing( steamID.Value ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return FriendsIsFollowing_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -446,6 +449,7 @@ namespace SteamNative callback = platform.ISteamFriends_JoinClanChatRoom( steamIDClan.Value ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return JoinClanChatRoomCompletionResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -475,6 +479,7 @@ namespace SteamNative callback = platform.ISteamFriends_RequestClanOfficerList( steamIDClan.Value ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return ClanOfficerListResponse_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -516,6 +521,7 @@ namespace SteamNative callback = platform.ISteamFriends_SetPersonaName( pchPersonaName ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return SetPersonaNameResponse_t.CallResult( steamworks, callback, CallbackFunction ); } diff --git a/Facepunch.Steamworks/SteamNative/SteamNative.SteamGameServer.cs b/Facepunch.Steamworks/SteamNative/SteamNative.SteamGameServer.cs index 507141f..bc8d46a 100644 --- a/Facepunch.Steamworks/SteamNative/SteamNative.SteamGameServer.cs +++ b/Facepunch.Steamworks/SteamNative/SteamNative.SteamGameServer.cs @@ -50,6 +50,7 @@ namespace SteamNative callback = platform.ISteamGameServer_AssociateWithClan( steamIDClan.Value ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return AssociateWithClanResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -97,6 +98,7 @@ namespace SteamNative callback = platform.ISteamGameServer_ComputeNewPlayerCompatibility( steamIDNewPlayer.Value ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return ComputeNewPlayerCompatibilityResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -156,6 +158,7 @@ namespace SteamNative callback = platform.ISteamGameServer_GetServerReputation(); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return GSReputation_t.CallResult( steamworks, callback, CallbackFunction ); } diff --git a/Facepunch.Steamworks/SteamNative/SteamNative.SteamGameServerStats.cs b/Facepunch.Steamworks/SteamNative/SteamNative.SteamGameServerStats.cs index 14cb187..706408c 100644 --- a/Facepunch.Steamworks/SteamNative/SteamNative.SteamGameServerStats.cs +++ b/Facepunch.Steamworks/SteamNative/SteamNative.SteamGameServerStats.cs @@ -74,6 +74,7 @@ namespace SteamNative callback = platform.ISteamGameServerStats_RequestUserStats( steamIDUser.Value ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return GSStatsReceived_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -103,6 +104,7 @@ namespace SteamNative callback = platform.ISteamGameServerStats_StoreUserStats( steamIDUser.Value ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return GSStatsStored_t.CallResult( steamworks, callback, CallbackFunction ); } diff --git a/Facepunch.Steamworks/SteamNative/SteamNative.SteamHTMLSurface.cs b/Facepunch.Steamworks/SteamNative/SteamNative.SteamHTMLSurface.cs index 1d6b917..3f434bb 100644 --- a/Facepunch.Steamworks/SteamNative/SteamNative.SteamHTMLSurface.cs +++ b/Facepunch.Steamworks/SteamNative/SteamNative.SteamHTMLSurface.cs @@ -68,6 +68,7 @@ namespace SteamNative callback = platform.ISteamHTMLSurface_CreateBrowser( pchUserAgent, pchUserCSS ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return HTML_BrowserReady_t.CallResult( steamworks, callback, CallbackFunction ); } diff --git a/Facepunch.Steamworks/SteamNative/SteamNative.SteamInventory.cs b/Facepunch.Steamworks/SteamNative/SteamNative.SteamInventory.cs index 75da1b4..d6de777 100644 --- a/Facepunch.Steamworks/SteamNative/SteamNative.SteamInventory.cs +++ b/Facepunch.Steamworks/SteamNative/SteamNative.SteamInventory.cs @@ -243,6 +243,7 @@ namespace SteamNative callback = platform.ISteamInventory_RequestEligiblePromoItemDefinitionsIDs( steamID.Value ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return SteamInventoryEligiblePromoItemDefIDs_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -254,6 +255,7 @@ namespace SteamNative callback = platform.ISteamInventory_RequestPrices(); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return SteamInventoryRequestPricesResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -301,6 +303,7 @@ namespace SteamNative callback = platform.ISteamInventory_StartPurchase( pArrayItemDefs.Select( x => x.Value ).ToArray(), punArrayQuantity, unArrayLength ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return SteamInventoryStartPurchaseResult_t.CallResult( steamworks, callback, CallbackFunction ); } diff --git a/Facepunch.Steamworks/SteamNative/SteamNative.SteamMatchmaking.cs b/Facepunch.Steamworks/SteamNative/SteamNative.SteamMatchmaking.cs index 97c80e2..da740fe 100644 --- a/Facepunch.Steamworks/SteamNative/SteamNative.SteamMatchmaking.cs +++ b/Facepunch.Steamworks/SteamNative/SteamNative.SteamMatchmaking.cs @@ -98,6 +98,7 @@ namespace SteamNative callback = platform.ISteamMatchmaking_CreateLobby( eLobbyType, cMaxMembers ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return LobbyCreated_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -219,6 +220,7 @@ namespace SteamNative callback = platform.ISteamMatchmaking_JoinLobby( steamIDLobby.Value ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return LobbyEnter_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -248,6 +250,7 @@ namespace SteamNative callback = platform.ISteamMatchmaking_RequestLobbyList(); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return LobbyMatchList_t.CallResult( steamworks, callback, CallbackFunction ); } diff --git a/Facepunch.Steamworks/SteamNative/SteamNative.SteamRemoteStorage.cs b/Facepunch.Steamworks/SteamNative/SteamNative.SteamRemoteStorage.cs index 8493623..22de4be 100644 --- a/Facepunch.Steamworks/SteamNative/SteamNative.SteamRemoteStorage.cs +++ b/Facepunch.Steamworks/SteamNative/SteamNative.SteamRemoteStorage.cs @@ -50,6 +50,7 @@ namespace SteamNative callback = platform.ISteamRemoteStorage_CommitPublishedFileUpdate( updateHandle.Value ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return RemoteStorageUpdatePublishedFileResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -67,6 +68,7 @@ namespace SteamNative callback = platform.ISteamRemoteStorage_DeletePublishedFile( unPublishedFileId.Value ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return RemoteStorageDeletePublishedFileResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -78,6 +80,7 @@ namespace SteamNative callback = platform.ISteamRemoteStorage_EnumeratePublishedFilesByUserAction( eAction, unStartIndex ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return RemoteStorageEnumeratePublishedFilesByUserActionResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -115,6 +118,7 @@ namespace SteamNative } if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return RemoteStorageEnumerateWorkshopFilesResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -126,6 +130,7 @@ namespace SteamNative callback = platform.ISteamRemoteStorage_EnumerateUserPublishedFiles( unStartIndex ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return RemoteStorageEnumerateUserPublishedFilesResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -163,6 +168,7 @@ namespace SteamNative } if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return RemoteStorageEnumerateUserPublishedFilesResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -174,6 +180,7 @@ namespace SteamNative callback = platform.ISteamRemoteStorage_EnumerateUserSubscribedFiles( unStartIndex ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return RemoteStorageEnumerateUserSubscribedFilesResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -215,6 +222,7 @@ namespace SteamNative callback = platform.ISteamRemoteStorage_FileReadAsync( pchFile, nOffset, cubToRead ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return RemoteStorageFileReadAsyncComplete_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -232,6 +240,7 @@ namespace SteamNative callback = platform.ISteamRemoteStorage_FileShare( pchFile ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return RemoteStorageFileShareResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -249,6 +258,7 @@ namespace SteamNative callback = platform.ISteamRemoteStorage_FileWriteAsync( pchFile, (IntPtr) pvData, cubData ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return RemoteStorageFileWriteAsyncComplete_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -323,6 +333,7 @@ namespace SteamNative callback = platform.ISteamRemoteStorage_GetPublishedFileDetails( unPublishedFileId.Value, unMaxSecondsOld ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return RemoteStorageGetPublishedFileDetailsResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -334,6 +345,7 @@ namespace SteamNative callback = platform.ISteamRemoteStorage_GetPublishedItemVoteDetails( unPublishedFileId.Value ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return RemoteStorageGetPublishedItemVoteDetailsResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -377,6 +389,7 @@ namespace SteamNative callback = platform.ISteamRemoteStorage_GetUserPublishedItemVoteDetails( unPublishedFileId.Value ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return RemoteStorageGetPublishedItemVoteDetailsResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -426,6 +439,7 @@ namespace SteamNative } if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return RemoteStoragePublishFileProgress_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -463,6 +477,7 @@ namespace SteamNative } if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return RemoteStoragePublishFileProgress_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -486,6 +501,7 @@ namespace SteamNative callback = platform.ISteamRemoteStorage_SetUserPublishedFileAction( unPublishedFileId.Value, eAction ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return RemoteStorageSetUserPublishedFileActionResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -497,6 +513,7 @@ namespace SteamNative callback = platform.ISteamRemoteStorage_SubscribePublishedFile( unPublishedFileId.Value ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return RemoteStorageSubscribePublishedFileResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -508,6 +525,7 @@ namespace SteamNative callback = platform.ISteamRemoteStorage_UGCDownload( hContent.Value, unPriority ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return RemoteStorageDownloadUGCResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -519,6 +537,7 @@ namespace SteamNative callback = platform.ISteamRemoteStorage_UGCDownloadToLocation( hContent.Value, pchLocation, unPriority ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return RemoteStorageDownloadUGCResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -536,6 +555,7 @@ namespace SteamNative callback = platform.ISteamRemoteStorage_UnsubscribePublishedFile( unPublishedFileId.Value ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return RemoteStorageUnsubscribePublishedFileResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -615,6 +635,7 @@ namespace SteamNative callback = platform.ISteamRemoteStorage_UpdateUserPublishedItemVote( unPublishedFileId.Value, bVoteUp ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return RemoteStorageUpdateUserPublishedItemVoteResult_t.CallResult( steamworks, callback, CallbackFunction ); } diff --git a/Facepunch.Steamworks/SteamNative/SteamNative.SteamUGC.cs b/Facepunch.Steamworks/SteamNative/SteamNative.SteamUGC.cs index 7d6edf9..eb9dad7 100644 --- a/Facepunch.Steamworks/SteamNative/SteamNative.SteamUGC.cs +++ b/Facepunch.Steamworks/SteamNative/SteamNative.SteamUGC.cs @@ -50,6 +50,7 @@ namespace SteamNative callback = platform.ISteamUGC_AddAppDependency( nPublishedFileID.Value, nAppID.Value ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return AddAppDependencyResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -61,6 +62,7 @@ namespace SteamNative callback = platform.ISteamUGC_AddDependency( nParentPublishedFileID.Value, nChildPublishedFileID.Value ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return AddUGCDependencyResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -96,6 +98,7 @@ namespace SteamNative callback = platform.ISteamUGC_AddItemToFavorites( nAppId.Value, nPublishedFileID.Value ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return UserFavoriteItemsListChanged_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -125,6 +128,7 @@ namespace SteamNative callback = platform.ISteamUGC_CreateItem( nConsumerAppId.Value, eFileType ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return CreateItemResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -159,6 +163,7 @@ namespace SteamNative callback = platform.ISteamUGC_DeleteItem( nPublishedFileID.Value ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return DeleteItemResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -176,6 +181,7 @@ namespace SteamNative callback = platform.ISteamUGC_GetAppDependencies( nPublishedFileID.Value ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return GetAppDependenciesResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -329,6 +335,7 @@ namespace SteamNative callback = platform.ISteamUGC_GetUserItemVote( nPublishedFileID.Value ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return GetUserItemVoteResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -346,6 +353,7 @@ namespace SteamNative callback = platform.ISteamUGC_RemoveAppDependency( nPublishedFileID.Value, nAppID.Value ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return RemoveAppDependencyResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -357,6 +365,7 @@ namespace SteamNative callback = platform.ISteamUGC_RemoveDependency( nParentPublishedFileID.Value, nChildPublishedFileID.Value ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return RemoveUGCDependencyResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -368,6 +377,7 @@ namespace SteamNative callback = platform.ISteamUGC_RemoveItemFromFavorites( nAppId.Value, nPublishedFileID.Value ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return UserFavoriteItemsListChanged_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -397,6 +407,7 @@ namespace SteamNative callback = platform.ISteamUGC_SendQueryUGCRequest( handle.Value ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return SteamUGCQueryCompleted_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -566,6 +577,7 @@ namespace SteamNative callback = platform.ISteamUGC_SetUserItemVote( nPublishedFileID.Value, bVoteUp ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return SetUserItemVoteResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -588,6 +600,7 @@ namespace SteamNative } if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return StartPlaytimeTrackingResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -604,6 +617,7 @@ namespace SteamNative } if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return StopPlaytimeTrackingResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -615,6 +629,7 @@ namespace SteamNative callback = platform.ISteamUGC_StopPlaytimeTrackingForAllItems(); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return StopPlaytimeTrackingResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -626,6 +641,7 @@ namespace SteamNative callback = platform.ISteamUGC_SubmitItemUpdate( handle.Value, pchChangeNote ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return SubmitItemUpdateResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -637,6 +653,7 @@ namespace SteamNative callback = platform.ISteamUGC_SubscribeItem( nPublishedFileID.Value ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return RemoteStorageSubscribePublishedFileResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -654,6 +671,7 @@ namespace SteamNative callback = platform.ISteamUGC_UnsubscribeItem( nPublishedFileID.Value ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return RemoteStorageUnsubscribePublishedFileResult_t.CallResult( steamworks, callback, CallbackFunction ); } diff --git a/Facepunch.Steamworks/SteamNative/SteamNative.SteamUser.cs b/Facepunch.Steamworks/SteamNative/SteamNative.SteamUser.cs index 91d8b4e..443cee6 100644 --- a/Facepunch.Steamworks/SteamNative/SteamNative.SteamUser.cs +++ b/Facepunch.Steamworks/SteamNative/SteamNative.SteamUser.cs @@ -188,6 +188,7 @@ namespace SteamNative callback = platform.ISteamUser_RequestEncryptedAppTicket( (IntPtr) pDataToInclude, cbDataToInclude ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return EncryptedAppTicketResponse_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -199,6 +200,7 @@ namespace SteamNative callback = platform.ISteamUser_RequestStoreAuthURL( pchRedirectURL ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return StoreAuthURLResponse_t.CallResult( steamworks, callback, CallbackFunction ); } diff --git a/Facepunch.Steamworks/SteamNative/SteamNative.SteamUserStats.cs b/Facepunch.Steamworks/SteamNative/SteamNative.SteamUserStats.cs index 201a82b..c7c3e16 100644 --- a/Facepunch.Steamworks/SteamNative/SteamNative.SteamUserStats.cs +++ b/Facepunch.Steamworks/SteamNative/SteamNative.SteamUserStats.cs @@ -50,6 +50,7 @@ namespace SteamNative callback = platform.ISteamUserStats_AttachLeaderboardUGC( hSteamLeaderboard.Value, hUGC.Value ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return LeaderboardUGCSet_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -67,6 +68,7 @@ namespace SteamNative callback = platform.ISteamUserStats_DownloadLeaderboardEntries( hSteamLeaderboard.Value, eLeaderboardDataRequest, nRangeStart, nRangeEnd ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return LeaderboardScoresDownloaded_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -78,6 +80,7 @@ namespace SteamNative callback = platform.ISteamUserStats_DownloadLeaderboardEntriesForUsers( hSteamLeaderboard.Value, (IntPtr) prgUsers, cUsers ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return LeaderboardScoresDownloaded_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -89,6 +92,7 @@ namespace SteamNative callback = platform.ISteamUserStats_FindLeaderboard( pchLeaderboardName ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return LeaderboardFindResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -100,6 +104,7 @@ namespace SteamNative callback = platform.ISteamUserStats_FindOrCreateLeaderboard( pchLeaderboardName, eLeaderboardSortMethod, eLeaderboardDisplayType ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return LeaderboardFindResult_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -244,6 +249,7 @@ namespace SteamNative callback = platform.ISteamUserStats_GetNumberOfCurrentPlayers(); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return NumberOfCurrentPlayers_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -303,6 +309,7 @@ namespace SteamNative callback = platform.ISteamUserStats_RequestGlobalAchievementPercentages(); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return GlobalAchievementPercentagesReady_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -314,6 +321,7 @@ namespace SteamNative callback = platform.ISteamUserStats_RequestGlobalStats( nHistoryDays ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return GlobalStatsReceived_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -325,6 +333,7 @@ namespace SteamNative callback = platform.ISteamUserStats_RequestUserStats( steamIDUser.Value ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return UserStatsReceived_t.CallResult( steamworks, callback, CallbackFunction ); } @@ -372,6 +381,7 @@ namespace SteamNative callback = platform.ISteamUserStats_UploadLeaderboardScore( hSteamLeaderboard.Value, eLeaderboardUploadScoreMethod, nScore, pScoreDetails, cScoreDetailsCount ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return LeaderboardScoreUploaded_t.CallResult( steamworks, callback, CallbackFunction ); } diff --git a/Facepunch.Steamworks/SteamNative/SteamNative.SteamUtils.cs b/Facepunch.Steamworks/SteamNative/SteamNative.SteamUtils.cs index 76f224d..dec7642 100644 --- a/Facepunch.Steamworks/SteamNative/SteamNative.SteamUtils.cs +++ b/Facepunch.Steamworks/SteamNative/SteamNative.SteamUtils.cs @@ -56,6 +56,7 @@ namespace SteamNative callback = platform.ISteamUtils_CheckFileSignature( szFileName ); if ( CallbackFunction == null ) return null; + if ( callback == 0 ) return null; return CheckFileSignature_t.CallResult( steamworks, callback, CallbackFunction ); } diff --git a/Generator/CodeWriter/Class.cs b/Generator/CodeWriter/Class.cs index df76dbc..896a5fd 100644 --- a/Generator/CodeWriter/Class.cs +++ b/Generator/CodeWriter/Class.cs @@ -175,6 +175,7 @@ namespace Generator AfterLines.Add( "" ); AfterLines.Add( "if ( CallbackFunction == null ) return null;" ); + AfterLines.Add("if ( callback == 0 ) return null;"); AfterLines.Add( "" ); AfterLines.Add( $"return {MethodDef.CallResult}.CallResult( steamworks, callback, CallbackFunction );" );