CHUI-524: The root reason of crash was in the infinity recursion in the chain of calls LLFloater::setFocus->LLFloater::setFrontmost->LLFloaterView::bringToFront. And problem was not related to CHUI-362. Reviewed by Stinson.
parent
e89616aac8
commit
37d7f46905
|
|
@ -2234,7 +2234,8 @@ LLFloaterView::LLFloaterView (const Params& p)
|
|||
mFocusCycleMode(FALSE),
|
||||
mMinimizePositionVOffset(0),
|
||||
mSnapOffsetBottom(0),
|
||||
mSnapOffsetRight(0)
|
||||
mSnapOffsetRight(0),
|
||||
mFrontChild(NULL)
|
||||
{
|
||||
mSnapView = getHandle();
|
||||
}
|
||||
|
|
@ -2383,6 +2384,13 @@ LLRect LLFloaterView::findNeighboringPosition( LLFloater* reference_floater, LLF
|
|||
|
||||
void LLFloaterView::bringToFront(LLFloater* child, BOOL give_focus)
|
||||
{
|
||||
if (mFrontChild == child)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
mFrontChild = child;
|
||||
|
||||
// *TODO: make this respect floater's mAutoFocus value, instead of
|
||||
// using parameter
|
||||
if (child->getHost())
|
||||
|
|
|
|||
|
|
@ -576,6 +576,7 @@ private:
|
|||
S32 mMinimizePositionVOffset;
|
||||
typedef std::vector<std::pair<LLHandle<LLFloater>, boost::signals2::connection> > hidden_floaters_t;
|
||||
hidden_floaters_t mHiddenFloaters;
|
||||
LLFloater * mFrontChild;
|
||||
};
|
||||
|
||||
//
|
||||
|
|
|
|||
Loading…
Reference in New Issue