diff options
| -rw-r--r-- | indra/newview/llfacebookconnect.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llfloatersocial.cpp | 6 | ||||
| -rwxr-xr-x | indra/newview/llfloaterwebcontent.cpp | 11 | 
3 files changed, 17 insertions, 2 deletions
diff --git a/indra/newview/llfacebookconnect.cpp b/indra/newview/llfacebookconnect.cpp index 560208c31e..645f62579d 100644 --- a/indra/newview/llfacebookconnect.cpp +++ b/indra/newview/llfacebookconnect.cpp @@ -122,7 +122,7 @@ public:  			// Grab some graph data now that we are connected              LLFacebookConnect::instance().setConnectionState(LLFacebookConnect::FB_CONNECTED);  		} -		else +		else if (status != 302)  		{              LLFacebookConnect::instance().setConnectionState(LLFacebookConnect::FB_CONNECTION_FAILED);              log_facebook_connect_error("Connect", status, reason, content.get("error_code"), content.get("error_description")); diff --git a/indra/newview/llfloatersocial.cpp b/indra/newview/llfloatersocial.cpp index eb9a7d2400..59db93f4b2 100644 --- a/indra/newview/llfloatersocial.cpp +++ b/indra/newview/llfloatersocial.cpp @@ -684,8 +684,12 @@ void LLSocialAccountPanel::onVisibilityChange(const LLSD& new_visibility)  		else  		{  			showDisconnectedLayout(); -			LLFacebookConnect::instance().checkConnectionToFacebook();  		} +        if ((LLFacebookConnect::instance().getConnectionState() == LLFacebookConnect::FB_NOT_CONNECTED) || +            (LLFacebookConnect::instance().getConnectionState() == LLFacebookConnect::FB_CONNECTION_FAILED)) +        { +            LLFacebookConnect::instance().checkConnectionToFacebook(); +        }  	}  	else  	{ diff --git a/indra/newview/llfloaterwebcontent.cpp b/indra/newview/llfloaterwebcontent.cpp index e81055f7b1..9d703d2752 100755 --- a/indra/newview/llfloaterwebcontent.cpp +++ b/indra/newview/llfloaterwebcontent.cpp @@ -29,6 +29,7 @@  #include "llcombobox.h"  #include "lliconctrl.h"  #include "llfloaterreg.h" +#include "llfacebookconnect.h"  #include "lllayoutstack.h"  #include "llpluginclassmedia.h"  #include "llprogressbar.h" @@ -293,6 +294,16 @@ void LLFloaterWebContent::onOpen(const LLSD& key)  //virtual  void LLFloaterWebContent::onClose(bool app_quitting)  { +    // If we close the web browsing window showing the facebook login, we need to signal to this object that the connection will not happen +    LLFloater* fbc_web = LLFloaterReg::getInstance("fbc_web"); +    if (fbc_web == this) +    { +        if (!LLFacebookConnect::instance().isConnected()) +        { +            LLFacebookConnect::instance().setConnectionState(LLFacebookConnect::FB_CONNECTION_FAILED); +        } +    } +      	LLViewerMedia::proxyWindowClosed(mUUID);  	destroy();  }  | 
