Skip to content
Snippets Groups Projects
Commit ed29df03 authored by NiranV's avatar NiranV
Browse files

STORM-2073: Fixed: Double post when clicking "Post" while not logged in. Makes...

STORM-2073: Fixed: Double post when clicking "Post" while not logged in. Makes the previous double post for "Connect" obselete.
parent 0a134e74
No related branches found
No related tags found
No related merge requests found
......@@ -157,7 +157,6 @@ void LLFacebookStatusPanel::onSend()
LLEventPumps::instance().obtain("FacebookConnectState").stopListening("LLFacebookStatusPanel"); // just in case it is already listening
LLEventPumps::instance().obtain("FacebookConnectState").listen("LLFacebookStatusPanel", boost::bind(&LLFacebookStatusPanel::onFacebookConnectStateChange, this, _1));
pressedConnect = FALSE;
// Connect to Facebook if necessary and then post
if (LLFacebookConnect::instance().isConnected())
{
......@@ -170,6 +169,23 @@ void LLFacebookStatusPanel::onSend()
}
bool LLFacebookStatusPanel::onFacebookConnectStateChange(const LLSD& data)
{
switch (data.get("enum").asInteger())
{
case LLFacebookConnect::FB_CONNECTED:
sendStatus();
break;
case LLFacebookConnect::FB_POSTED:
LLEventPumps::instance().obtain("FacebookConnectState").stopListening("LLFacebookStatusPanel");
clearAndClose();
break;
}
return false;
}
bool LLFacebookStatusPanel::onFacebookConnectAccountStateChange(const LLSD& data)
{
if(LLFacebookConnect::instance().isConnected())
{
......@@ -184,19 +200,6 @@ bool LLFacebookStatusPanel::onFacebookConnectStateChange(const LLSD& data)
showDisconnectedLayout();
}
switch (data.get("enum").asInteger())
{
case LLFacebookConnect::FB_CONNECTED:
if(!pressedConnect)
sendStatus();
break;
case LLFacebookConnect::FB_POSTED:
LLEventPumps::instance().obtain("FacebookConnectState").stopListening("LLFacebookStatusPanel");
clearAndClose();
break;
}
return false;
}
......@@ -214,7 +217,7 @@ void LLFacebookStatusPanel::onVisibilityChange(BOOL visible)
if(visible)
{
LLEventPumps::instance().obtain("FacebookConnectState").stopListening("LLFacebookAccountPanel");
LLEventPumps::instance().obtain("FacebookConnectState").listen("LLFacebookAccountPanel", boost::bind(&LLFacebookStatusPanel::onFacebookConnectStateChange, this, _1));
LLEventPumps::instance().obtain("FacebookConnectState").listen("LLFacebookAccountPanel", boost::bind(&LLFacebookStatusPanel::onFacebookConnectAccountStateChange, this, _1));
LLEventPumps::instance().obtain("FacebookConnectInfo").stopListening("LLFacebookAccountPanel");
LLEventPumps::instance().obtain("FacebookConnectInfo").listen("LLFacebookAccountPanel", boost::bind(&LLFacebookStatusPanel::onFacebookConnectInfoChange, this));
......@@ -295,7 +298,6 @@ void LLFacebookStatusPanel::onConnect()
{
LLFacebookConnect::instance().checkConnectionToFacebook(true);
pressedConnect = TRUE;
//Clear only the facebook browser cookies so that the facebook login screen appears
LLViewerMedia::getCookieStore()->removeCookiesByDomain(".facebook.com");
}
......
......@@ -46,6 +46,7 @@ public:
void draw();
void onSend();
bool onFacebookConnectStateChange(const LLSD& data);
bool onFacebookConnectAccountStateChange(const LLSD& data);
void sendStatus();
void clearAndClose();
......@@ -62,8 +63,6 @@ private:
void showDisconnectedLayout();
void showConnectedLayout();
bool pressedConnect;
LLTextBox * mAccountCaptionLabel;
LLTextBox * mAccountNameLabel;
LLUICtrl * mPanelButtons;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment