From 2fdd4b555e51f55172494dc77c3fc7060a75902f Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Wed, 18 Jun 2025 12:27:31 -0600 Subject: [PATCH] lsteamclient: Execute pending callbacks after ISteamNetworkingSockets::RunCallbacks(). CW-Bug-Id: #25554 --- lsteamclient/gen_wrapper.py | 1 + lsteamclient/steam_networking_manual.c | 23 +++++++++++++++++++++++ lsteamclient/winISteamNetworkingSockets.c | 20 -------------------- 3 files changed, 24 insertions(+), 20 deletions(-) diff --git a/lsteamclient/gen_wrapper.py b/lsteamclient/gen_wrapper.py index b2a2d5ef..fb3948a0 100755 --- a/lsteamclient/gen_wrapper.py +++ b/lsteamclient/gen_wrapper.py @@ -261,6 +261,7 @@ MANUAL_METHODS = { "ISteamNetworkingSockets_ReceiveMessagesOnConnection": True, "ISteamNetworkingSockets_ReceiveMessagesOnListenSocket": True, "ISteamNetworkingSockets_ReceiveMessagesOnPollGroup": True, + "ISteamNetworkingSockets_RunCallbacks": lambda ver, abi: abi == 'w', "ISteamNetworkingSockets_SendMessages": True, "ISteamNetworkingSockets_ConnectP2PCustomSignaling": lambda ver, abi: abi == 'u' and (ver <= 8 or ver >= 12), "ISteamNetworkingSockets_ReceivedP2PCustomSignal": lambda ver, abi: abi == 'u' and ver <= 8, diff --git a/lsteamclient/steam_networking_manual.c b/lsteamclient/steam_networking_manual.c index f4547f34..98376a25 100644 --- a/lsteamclient/steam_networking_manual.c +++ b/lsteamclient/steam_networking_manual.c @@ -463,6 +463,17 @@ void __thiscall winISteamNetworkingSockets_SteamNetworkingSockets008_SendMessage /* ISteamNetworkingSockets_SteamNetworkingSockets009 */ +void __thiscall winISteamNetworkingSockets_SteamNetworkingSockets009_RunCallbacks(struct w_iface *_this) +{ + struct ISteamNetworkingSockets_SteamNetworkingSockets009_RunCallbacks_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamNetworkingSockets_SteamNetworkingSockets009_RunCallbacks, ¶ms ); + execute_pending_callbacks(); +} + int32_t __thiscall winISteamNetworkingSockets_SteamNetworkingSockets009_ReceiveMessagesOnConnection( struct w_iface *_this, uint32_t hConn, w_SteamNetworkingMessage_t_147 **ppOutMessages, int32_t nMaxMessages ) @@ -606,6 +617,18 @@ int32_t __thiscall winISteamNetworkingMessages_SteamNetworkingMessages002_Receiv /* ISteamNetworkingSockets_SteamNetworkingSockets012 */ +void __thiscall winISteamNetworkingSockets_SteamNetworkingSockets012_RunCallbacks(struct w_iface *_this) +{ + struct ISteamNetworkingSockets_SteamNetworkingSockets012_RunCallbacks_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamNetworkingSockets_SteamNetworkingSockets012_RunCallbacks, ¶ms ); + execute_pending_callbacks(); + TRACE("done.\n"); +} + int32_t __thiscall winISteamNetworkingSockets_SteamNetworkingSockets012_ReceiveMessagesOnConnection( struct w_iface *_this, uint32_t hConn, w_SteamNetworkingMessage_t_153a **ppOutMessages, int32_t nMaxMessages ) diff --git a/lsteamclient/winISteamNetworkingSockets.c b/lsteamclient/winISteamNetworkingSockets.c index ebd2f4eb..6f62f9d5 100644 --- a/lsteamclient/winISteamNetworkingSockets.c +++ b/lsteamclient/winISteamNetworkingSockets.c @@ -2488,16 +2488,6 @@ int8_t __thiscall winISteamNetworkingSockets_SteamNetworkingSockets009_SetCertif return params._ret; } -void __thiscall winISteamNetworkingSockets_SteamNetworkingSockets009_RunCallbacks(struct w_iface *_this) -{ - struct ISteamNetworkingSockets_SteamNetworkingSockets009_RunCallbacks_params params = - { - .u_iface = _this->u_iface, - }; - TRACE("%p\n", _this); - STEAMCLIENT_CALL( ISteamNetworkingSockets_SteamNetworkingSockets009_RunCallbacks, ¶ms ); -} - void __thiscall winISteamNetworkingSockets_SteamNetworkingSockets009_destructor(struct w_iface *_this) {/* never called */} @@ -3117,16 +3107,6 @@ void __thiscall winISteamNetworkingSockets_SteamNetworkingSockets012_ResetIdenti STEAMCLIENT_CALL( ISteamNetworkingSockets_SteamNetworkingSockets012_ResetIdentity, ¶ms ); } -void __thiscall winISteamNetworkingSockets_SteamNetworkingSockets012_RunCallbacks(struct w_iface *_this) -{ - struct ISteamNetworkingSockets_SteamNetworkingSockets012_RunCallbacks_params params = - { - .u_iface = _this->u_iface, - }; - TRACE("%p\n", _this); - STEAMCLIENT_CALL( ISteamNetworkingSockets_SteamNetworkingSockets012_RunCallbacks, ¶ms ); -} - int8_t __thiscall winISteamNetworkingSockets_SteamNetworkingSockets012_BeginAsyncRequestFakeIP(struct w_iface *_this, int32_t nNumPorts) { struct ISteamNetworkingSockets_SteamNetworkingSockets012_BeginAsyncRequestFakeIP_params params =