summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/llui/lldockablefloater.cpp14
-rw-r--r--indra/llui/lldockablefloater.h2
-rw-r--r--indra/llui/llfloater.cpp11
-rw-r--r--indra/newview/llpanelavatar.cpp2
-rw-r--r--indra/newview/llpanelpick.cpp19
-rw-r--r--indra/newview/skins/default/xui/en/panel_people.xml1
-rw-r--r--indra/newview/skins/default/xui/en/panel_profile.xml13
7 files changed, 28 insertions, 34 deletions
diff --git a/indra/llui/lldockablefloater.cpp b/indra/llui/lldockablefloater.cpp
index 29f78f6290..ed15d9d922 100644
--- a/indra/llui/lldockablefloater.cpp
+++ b/indra/llui/lldockablefloater.cpp
@@ -35,7 +35,7 @@
#include "lldockablefloater.h"
//static
-LLDockableFloater* LLDockableFloater::instance = NULL;
+LLHandle<LLFloater> LLDockableFloater::instanceHandle;
LLDockableFloater::LLDockableFloater(LLDockControl* dockControl,
const LLSD& key, const Params& params) :
@@ -57,21 +57,21 @@ BOOL LLDockableFloater::postBuild()
void LLDockableFloater::resetInstance()
{
- if (instance != this)
+ if (instanceHandle.get() != this)
{
- if (instance != NULL && instance->isDocked())
+ if (instanceHandle.get() != NULL && instanceHandle.get()->isDocked())
{
//closeFloater() is not virtual
- if (instance->canClose())
+ if (instanceHandle.get()->canClose())
{
- instance->closeFloater();
+ instanceHandle.get()->closeFloater();
}
else
{
- instance->setVisible(FALSE);
+ instanceHandle.get()->setVisible(FALSE);
}
}
- instance = this;
+ instanceHandle = getHandle();
}
}
diff --git a/indra/llui/lldockablefloater.h b/indra/llui/lldockablefloater.h
index b977888803..1d0e89cef5 100644
--- a/indra/llui/lldockablefloater.h
+++ b/indra/llui/lldockablefloater.h
@@ -69,7 +69,7 @@ protected:
private:
std::auto_ptr<LLDockControl> mDockControl;
LLUIImagePtr mDockTongue;
- static LLDockableFloater* instance;
+ static LLHandle<LLFloater> instanceHandle;
};
#endif /* LL_DOCKABLEFLOATER_H */
diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp
index c027b59c71..228e23b67e 100644
--- a/indra/llui/llfloater.cpp
+++ b/indra/llui/llfloater.cpp
@@ -1491,7 +1491,8 @@ LLFloater* LLFloater::getClosableFloaterFromFocus()
// The focused floater may not be closable,
// Find and close a parental floater that is closeable, if any.
- for(LLFloater* floater_to_close = focused_floater;
+ LLFloater* prev_floater = NULL;
+ for(LLFloater* floater_to_close = focused_floater;
NULL != floater_to_close;
floater_to_close = gFloaterView->getParentFloater(floater_to_close))
{
@@ -1499,6 +1500,14 @@ LLFloater* LLFloater::getClosableFloaterFromFocus()
{
return floater_to_close;
}
+
+ // If floater has as parent root view
+ // gFloaterView->getParentFloater(floater_to_close) returns
+ // the same floater_to_close, so we need to check this.
+ if (prev_floater == floater_to_close) {
+ break;
+ }
+ prev_floater = floater_to_close;
}
return NULL;
diff --git a/indra/newview/llpanelavatar.cpp b/indra/newview/llpanelavatar.cpp
index ba383a8dee..e0b7aeb77e 100644
--- a/indra/newview/llpanelavatar.cpp
+++ b/indra/newview/llpanelavatar.cpp
@@ -556,8 +556,6 @@ BOOL LLPanelAvatarMeProfile::postBuild()
childSetCommitCallback("status_combo", boost::bind(&LLPanelAvatarMeProfile::onStatusChanged, this), NULL);
childSetCommitCallback("status_me_message_text", boost::bind(&LLPanelAvatarMeProfile::onStatusMessageChanged, this), NULL);
- childSetTextArg("partner_edit_link", "[URL]", getString("partner_edit_link_url"));
-
resetControls();
resetData();
diff --git a/indra/newview/llpanelpick.cpp b/indra/newview/llpanelpick.cpp
index bde6d1cf6c..9ae58d1cb6 100644
--- a/indra/newview/llpanelpick.cpp
+++ b/indra/newview/llpanelpick.cpp
@@ -134,11 +134,13 @@ BOOL LLPanelPick::postBuild()
childSetAction("teleport_btn", boost::bind(&LLPanelPick::onClickTeleport, this));
childSetAction("show_on_map_btn", boost::bind(&LLPanelPick::onClickMap, this));
- if (!mBackCb.empty())
- {
- LLButton* button = findChild<LLButton>("back_btn");
- if (button) button->setClickedCallback(mBackCb);
- }
+ }
+
+ // EXT-822. We have to process "Back" button click in both Edit & View Modes
+ if (!mBackCb.empty())
+ {
+ LLButton* button = findChild<LLButton>("back_btn");
+ if (button) button->setClickedCallback(mBackCb);
}
return TRUE;
@@ -435,11 +437,8 @@ void LLPanelPick::updateButtons()
void LLPanelPick::setExitCallback(commit_callback_t cb)
{
mBackCb = cb;
- if (!mEditMode)
- {
- LLButton* button = findChild<LLButton>("back_btn");
- if (button) button->setClickedCallback(mBackCb);
- }
+ LLButton* button = findChild<LLButton>("back_btn");
+ if (button) button->setClickedCallback(mBackCb);
}
//static
diff --git a/indra/newview/skins/default/xui/en/panel_people.xml b/indra/newview/skins/default/xui/en/panel_people.xml
index e5a417e3d0..0af42bfc74 100644
--- a/indra/newview/skins/default/xui/en/panel_people.xml
+++ b/indra/newview/skins/default/xui/en/panel_people.xml
@@ -219,6 +219,7 @@
name="groups_panel"
width="285">
<group_list
+ draw_heading="false"
follows="left|top|right|bottom"
height="357"
layout="topleft"
diff --git a/indra/newview/skins/default/xui/en/panel_profile.xml b/indra/newview/skins/default/xui/en/panel_profile.xml
index 41de34fbed..580855e115 100644
--- a/indra/newview/skins/default/xui/en/panel_profile.xml
+++ b/indra/newview/skins/default/xui/en/panel_profile.xml
@@ -21,10 +21,6 @@
name="my_account_link_url"
value="http://secondlife.com/account" />
<string
- name="partner_edit_link_url">
- http://www.secondlife.com/account/partners.php?lang=en
- </string>
- <string
name="no_partner_text"
value="None" />
<scroll_container
@@ -217,15 +213,6 @@
top_pad="15"
value="Partner:"
width="100" />
- <text
- follows="left|top"
- height="15"
- layout="topleft"
- left_pad="10"
- name="partner_edit_link"
- top_delta="0"
- value="[[URL] Edit]"
- width="100" />
<panel
follows="left|top|right"
height="15"