Fix pairing and game quitting issues with GFE 3.10

This commit is contained in:
Cameron Gutman
2017-10-16 23:59:00 -07:00
parent 5584083809
commit 25d7af9453
3 changed files with 3 additions and 3 deletions

View File

@@ -38,7 +38,7 @@
return;
}
if ([serverInfoResp isStatusOk]) {
if (![[serverInfoResp getStringTag:@"state"] hasSuffix:@"_SERVER_AVAILABLE"]) {
if ([[serverInfoResp getStringTag:@"state"] hasSuffix:@"_SERVER_BUSY"]) {
[_callback pairFailed:@"You must stop streaming before attempting to pair."];
} else if (![[serverInfoResp getStringTag:@"PairStatus"] isEqual:@"1"]) {
NSString* appversion = [serverInfoResp getStringTag:@"appversion"];

View File

@@ -26,7 +26,7 @@
host.currentGame = [[self getStringTag:TAG_CURRENT_GAME] trim];
NSString *state = [[self getStringTag:TAG_STATE] trim];
if ([state hasSuffix:@"_SERVER_AVAILABLE"]) {
if (![state hasSuffix:@"_SERVER_BUSY"]) {
// GFE 2.8 started keeping currentgame set to the last game played. As a result, it no longer
// has the semantics that its name would indicate. To contain the effects of this change as much
// as possible, we'll force the current game to zero if the server isn't in a streaming session.

View File

@@ -440,7 +440,7 @@ static NSMutableSet* hostList;
ServerInfoResponse* serverInfoResp = [[ServerInfoResponse alloc] init];
[hMan executeRequestSynchronously:[HttpRequest requestForResponse:serverInfoResp withUrlRequest:[hMan newServerInfoRequest]
fallbackError:401 fallbackRequest:[hMan newHttpServerInfoRequest]]];
if (![serverInfoResp isStatusOk] || ![[serverInfoResp getStringTag:@"state"] hasSuffix:@"_SERVER_AVAILABLE"]) {
if (![serverInfoResp isStatusOk] || [[serverInfoResp getStringTag:@"state"] hasSuffix:@"_SERVER_BUSY"]) {
// On newer GFE versions, the quit request succeeds even though the app doesn't
// really quit if another client tries to kill your app. We'll patch the response
// to look like the old error in that case, so the UI behaves.