From: Anton Baskanov baskanov@gmail.com
--- dlls/dplayx/dplay.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/dlls/dplayx/dplay.c b/dlls/dplayx/dplay.c index 60d978a6000..fe25b3c94b0 100644 --- a/dlls/dplayx/dplay.c +++ b/dlls/dplayx/dplay.c @@ -2275,11 +2275,6 @@ static void DP_InvokeEnumSessionCallbacks
FIXME( ": not checking for conditions\n" );
- /* Not sure if this should be pruning but it's convenient */ - NS_PruneSessionCache( lpNSInfo ); - - NS_ResetSessionEnumeration( lpNSInfo ); - /* Enumerate all sessions */ /* FIXME: Need to indicate ANSI */ while( (lpSessionDesc = NS_WalkSessions( lpNSInfo ) ) != NULL ) @@ -2485,6 +2480,9 @@ static HRESULT WINAPI IDirectPlay4Impl_EnumSessions( IDirectPlay4 *iface, DPSESS SleepEx( timeout, FALSE ); }
+ NS_PruneSessionCache( This->dp2->lpNameServerData ); + NS_ResetSessionEnumeration( This->dp2->lpNameServerData ); + DP_InvokeEnumSessionCallbacks( enumsessioncb, This->dp2->lpNameServerData, timeout, context );
if ( flags & DPENUMSESSIONS_ASYNC )