Project

General

Profile

Emulator Issues #8261

Core/Core/HW/BBA-TAP/TAP_Win32.cpp - GetGUIDs() returns false if it finds any improperly configured connection

Added by tmo7452 over 5 years ago.

Status:
New
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

Core/Core/HW/BBA-TAP/TAP_Win32.cpp
GetGUIDs() contains multiple

if (status != ERROR_SUCCESS)
return false;

checks inside the while loop (lines 114, 130), these should be changed to "continue;" instead of "return false;".

In my situation, VirtualBox creates a connection that does not have a "Name" value, when GetGUIDs() encounters this connection, it aborts the entire search and CEXIETHERNET::Activate() logs "Failed to find a TAP GUID" then returns false, despite the fact that GetGUIDs already found a valid TAP adapter.

History

#1 Updated by tmo7452 over 5 years ago

From what I see, parsing the NETWORK_CONNECTIONS_KEY tree is entirely unnecessary, the code in IsTAPDevice() can be modified to check that the proper network connection registry entries are present with just a single pass through the ADAPTER_KEY tree, making the current content of GetGUIDs() obsolete.

#2 Updated by JMC4789 over 5 years ago

I'll let someone else handle this one :P

#3 Updated by tmo7452 over 5 years ago

If I fixed this myself, is there a way I could submit my code? Would my work get bureaucracied to oblivion?

"Who uses BBA? Only 3 games support it and we have Netplay!"
Well I tracked down this bug so I could host an 8 player Mario Kart Double Dash party, and and everyone enjoyed it thank you very much.

#4 Updated by JMC4789 over 5 years ago

I'm sorry I didn't see this. You can submit code via a PR, and as long as it meets standards and doesn't break anything, I don't see why it would be rejected.

BBA is an important feature to support, obviously netplay can't do some of the stuff. Individual screens? Hell yes! 8 players? Hell yes!

So yeah, I think it's important to fix any potential problems that users could run into.

Also available in: Atom PDF