Fix flat api crash.
							parent
							
								
									b1eb33ec2c
								
							
						
					
					
						commit
						b189fbf260
					
				
							
								
								
									
										22
									
								
								dll/flat.cpp
								
								
								
								
							
							
						
						
									
										22
									
								
								dll/flat.cpp
								
								
								
								
							| 
						 | 
					@ -1144,12 +1144,28 @@ STEAMAPI_API bool SteamAPI_ISteamUtils_IsSteamChinaLauncher( ISteamUtils* self )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STEAMAPI_API bool SteamAPI_ISteamUtils_InitFilterText( ISteamUtils* self, uint32 unFilterOptions )
 | 
					STEAMAPI_API bool SteamAPI_ISteamUtils_InitFilterText( ISteamUtils* self, uint32 unFilterOptions )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    return (self)->InitFilterText(unFilterOptions);
 | 
					    //Note: older function only has less arguments
 | 
				
			||||||
 | 
					    int test1 = ((char *)self - (char*)get_steam_client()->steam_utils);
 | 
				
			||||||
 | 
					    int test2 = ((char *)self - (char*)get_steam_client()->steam_gameserver_utils);
 | 
				
			||||||
 | 
					    auto ptr = get_steam_client()->steam_gameserver_utils;
 | 
				
			||||||
 | 
					    if (test1 >= 0 && (test2 < 0 || test1 < test2)) {
 | 
				
			||||||
 | 
					        ptr = get_steam_client()->steam_utils;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int SteamAPI_ISteamUtils_FilterText( ISteamUtils* self, ETextFilteringContext eContext, uint64_steamid sourceSteamID, const char * pchInputMessage, char * pchOutFilteredText, uint32 nByteSizeOutFilteredText )
 | 
					    return (ptr)->InitFilterText(unFilterOptions);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					STEAMAPI_API int SteamAPI_ISteamUtils_FilterText( ISteamUtils* self, ETextFilteringContext eContext, uint64_steamid sourceSteamID, const char * pchInputMessage, char * pchOutFilteredText, uint32 nByteSizeOutFilteredText )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    return (self)->FilterText(eContext, sourceSteamID, pchInputMessage, pchOutFilteredText, nByteSizeOutFilteredText);
 | 
					    //Note: older function only has less arguments
 | 
				
			||||||
 | 
					    int test1 = ((char *)self - (char*)get_steam_client()->steam_utils);
 | 
				
			||||||
 | 
					    int test2 = ((char *)self - (char*)get_steam_client()->steam_gameserver_utils);
 | 
				
			||||||
 | 
					    auto ptr = get_steam_client()->steam_gameserver_utils;
 | 
				
			||||||
 | 
					    if (test1 >= 0 && (test2 < 0 || test1 < test2)) {
 | 
				
			||||||
 | 
					        ptr = get_steam_client()->steam_utils;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return (ptr)->FilterText(eContext, sourceSteamID, pchInputMessage, pchOutFilteredText, nByteSizeOutFilteredText);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STEAMAPI_API ESteamIPv6ConnectivityState SteamAPI_ISteamUtils_GetIPv6ConnectivityState( ISteamUtils* self, ESteamIPv6ConnectivityProtocol eProtocol )
 | 
					STEAMAPI_API ESteamIPv6ConnectivityState SteamAPI_ISteamUtils_GetIPv6ConnectivityState( ISteamUtils* self, ESteamIPv6ConnectivityProtocol eProtocol )
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue