summaryrefslogtreecommitdiff
path: root/indra/llui
diff options
context:
space:
mode:
authorGilbert Gonzales <gilbert@lindenlab.com>2012-08-29 19:18:25 -0700
committerGilbert Gonzales <gilbert@lindenlab.com>2012-08-29 19:18:25 -0700
commitbe61b5be2f4089e12ca25ca1ece13bd0fdaea543 (patch)
treed822ee9c4764f7c5d4759bbc6d5a04e6934aac48 /indra/llui
parent31d69a6bc5a81dc3e844138033e41e339dce3aa1 (diff)
CHUI-305: Problem: The 'resident picker' had multiple parents and due to the design of the resident picker it can have only one parent. Having multiple parents caused both parents to fight for depth ordering...which caused the flickering. Resolution: Now multiple 'resident pickers' can exist and they are coupled to the floater that spawned then. Meaning that when the parent floater closes, the 'resident picker' floater will also close. In addition, a shadow frustum eminates from the button that opened the 'resident picker'.
Diffstat (limited to 'indra/llui')
-rw-r--r--indra/llui/llfloater.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp
index 8145d6d347..52812dc050 100644
--- a/indra/llui/llfloater.cpp
+++ b/indra/llui/llfloater.cpp
@@ -713,6 +713,13 @@ void LLFloater::closeFloater(bool app_quitting)
make_ui_sound("UISndWindowClose");
}
+ //If floater is a dependent, remove it from parent (dependee)
+ LLFloater* dependee = mDependeeHandle.get();
+ if (dependee)
+ {
+ dependee->removeDependentFloater(this);
+ }
+
// now close dependent floater
for(handle_set_iter_t dependent_it = mDependents.begin();
dependent_it != mDependents.end(); )