EXP-1851 WIP Crash when trying to resize the bottom sections
fixed layout logic when dealing with invisibile layout_panelsmaster
parent
3249a1ced0
commit
f3ddb75b03
|
|
@ -36,7 +36,7 @@
|
|||
#include "llcriticaldamp.h"
|
||||
#include "boost/foreach.hpp"
|
||||
|
||||
static const F32 MIN_FRACTIONAL_SIZE = 0.0001f;
|
||||
static const F32 MIN_FRACTIONAL_SIZE = 0.0f;
|
||||
static const F32 MAX_FRACTIONAL_SIZE = 1.f;
|
||||
|
||||
static LLDefaultChildRegistry::Register<LLLayoutStack> register_layout_stack("layout_stack");
|
||||
|
|
@ -711,7 +711,7 @@ void LLLayoutStack::updatePanelRect( LLLayoutPanel* resized_panel, const LLRect&
|
|||
{ // freeze new size as fraction
|
||||
F32 new_fractional_size = (updated_auto_resize_headroom == 0.f)
|
||||
? MAX_FRACTIONAL_SIZE
|
||||
: llclamp((F32)(new_dim - panelp->getRelevantMinDim()) / updated_auto_resize_headroom, MIN_FRACTIONAL_SIZE, MAX_FRACTIONAL_SIZE);
|
||||
: llclamp(total_visible_fraction * (F32)(new_dim - panelp->getRelevantMinDim()) / updated_auto_resize_headroom, MIN_FRACTIONAL_SIZE, MAX_FRACTIONAL_SIZE);
|
||||
fraction_given_up -= new_fractional_size - panelp->mFractionalSize;
|
||||
fraction_remaining -= panelp->mFractionalSize;
|
||||
panelp->mFractionalSize = new_fractional_size;
|
||||
|
|
@ -735,7 +735,7 @@ void LLLayoutStack::updatePanelRect( LLLayoutPanel* resized_panel, const LLRect&
|
|||
}
|
||||
else
|
||||
{
|
||||
F32 new_fractional_size = llclamp((F32)(panelp->mTargetDim - panelp->getRelevantMinDim() + delta_auto_resize_headroom)
|
||||
F32 new_fractional_size = llclamp(total_visible_fraction * (F32)(panelp->mTargetDim - panelp->getRelevantMinDim() + delta_auto_resize_headroom)
|
||||
/ updated_auto_resize_headroom,
|
||||
MIN_FRACTIONAL_SIZE,
|
||||
MAX_FRACTIONAL_SIZE);
|
||||
|
|
|
|||
|
|
@ -157,7 +157,7 @@ public:
|
|||
S32 getMinDim() const { return (mMinDim >= 0 || mAutoResize) ? llmax(0, mMinDim) : getLayoutDim(); }
|
||||
void setMinDim(S32 value) { mMinDim = value; }
|
||||
|
||||
S32 getExpandedMinDim() const { return mExpandedMinDim >= 0 ? mExpandedMinDim : mMinDim; }
|
||||
S32 getExpandedMinDim() const { return mExpandedMinDim >= 0 ? mExpandedMinDim : getMinDim(); }
|
||||
void setExpandedMinDim(S32 value) { mExpandedMinDim = value; }
|
||||
|
||||
S32 getRelevantMinDim() const
|
||||
|
|
|
|||
|
|
@ -26,6 +26,16 @@
|
|||
background_visible="true">
|
||||
<text follows="top|left|right" halign="center" text_color="white">flex</text>
|
||||
</layout_panel>
|
||||
<layout_panel name="flex"
|
||||
auto_resize="true"
|
||||
user_resize="true"
|
||||
bg_alpha_color="blue"
|
||||
height="11"
|
||||
min_height="0"
|
||||
visible="false"
|
||||
background_visible="true">
|
||||
<text follows="top|left|right" halign="center" text_color="white">flex</text>
|
||||
</layout_panel>
|
||||
<layout_panel name="flex"
|
||||
auto_resize="true"
|
||||
user_resize="true"
|
||||
|
|
@ -51,7 +61,7 @@
|
|||
background_visible="true">
|
||||
<text follows="top|left|right" halign="center" text_color="white">flex</text>
|
||||
</layout_panel>
|
||||
<layout_panel name="flex"
|
||||
<!--<layout_panel name="flex"
|
||||
auto_resize="true"
|
||||
user_resize="true"
|
||||
visible="false"
|
||||
|
|
@ -59,7 +69,7 @@
|
|||
height="100"
|
||||
background_visible="true">
|
||||
<text follows="top|left|right" halign="center" text_color="white">flex</text>
|
||||
</layout_panel>
|
||||
</layout_panel>-->
|
||||
<layout_panel name="fixed"
|
||||
auto_resize="false"
|
||||
user_resize="true"
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@
|
|||
height="300"
|
||||
width="330" />
|
||||
</layout_panel>
|
||||
<layout_panel
|
||||
<layout_panel
|
||||
width="330"
|
||||
layout="topleft"
|
||||
auto_resize="true"
|
||||
|
|
|
|||
Loading…
Reference in New Issue