From ef56e156ab8276fec7d967b6f4ab7b83baaca0bb Mon Sep 17 00:00:00 2001 From: Vladimir Pchelko Date: Mon, 19 Jul 2010 12:56:53 +0300 Subject: EXT-7899 FIXED setVisible() was overridden IN LLPanelEditWearable to hide(close) LLPanelEditWearable "child" controls by calling "showWearable(mWearablePtr, FALSE);" The problem was in LLPanelEditWearable "child" controls does not handle parent's setVisible() (for example - floater's). --HG-- branch : product-engine --- indra/newview/llpaneleditwearable.cpp | 9 +++++++++ indra/newview/llpaneleditwearable.h | 2 ++ 2 files changed, 11 insertions(+) diff --git a/indra/newview/llpaneleditwearable.cpp b/indra/newview/llpaneleditwearable.cpp index 14f05bdb17..60a49c01ba 100644 --- a/indra/newview/llpaneleditwearable.cpp +++ b/indra/newview/llpaneleditwearable.cpp @@ -806,6 +806,15 @@ void LLPanelEditWearable::draw() LLPanel::draw(); } +void LLPanelEditWearable::setVisible(BOOL visible) +{ + if (!visible) + { + showWearable(mWearablePtr, FALSE); + } + LLPanel::setVisible(visible); +} + void LLPanelEditWearable::setWearable(LLWearable *wearable) { showWearable(mWearablePtr, FALSE); diff --git a/indra/newview/llpaneleditwearable.h b/indra/newview/llpaneleditwearable.h index bfce2ae56e..85b88e6185 100644 --- a/indra/newview/llpaneleditwearable.h +++ b/indra/newview/llpaneleditwearable.h @@ -76,6 +76,8 @@ public: void onSaveAsButtonClicked(); void saveAsCallback(const LLSD& notification, const LLSD& response); + virtual void setVisible(BOOL visible); + private: typedef std::map value_map_t; -- cgit v1.2.3