Only show script error icon in statusbar if there are script errors and not also errors while loading mesh LODs
parent
62c99411e5
commit
e1b814fff3
|
|
@ -124,6 +124,9 @@ void LLFloaterScriptDebug::addScriptLine(const std::string &utf8mesg, const std:
|
|||
if (objectp)
|
||||
{
|
||||
objectp->setIcon(LLViewerTextureManager::getFetchedTextureFromFile("script_error.j2c", TRUE, LLGLTexture::BOOST_UI));
|
||||
// <FS:Ansariel> Mark script error icons
|
||||
objectp->getIcon()->setScriptError();
|
||||
// </FS:Ansariel> Mark script error icons
|
||||
floater_label = llformat("%s (%.0f, %.0f, %.0f)",
|
||||
user_name.c_str(),
|
||||
objectp->getPositionRegion().mV[VX],
|
||||
|
|
|
|||
|
|
@ -61,6 +61,10 @@ static F32 calc_bouncy_animation(F32 x)
|
|||
//-----------------------------------------------------------------------------
|
||||
LLHUDIcon::icon_instance_t LLHUDIcon::sIconInstances;
|
||||
|
||||
// <FS:Ansariel> Mark script error icons
|
||||
LLHUDIcon::icon_instance_t LLHUDIcon::sScriptErrorIconInstances;
|
||||
// </FS:Ansariel> Mark script error icons
|
||||
|
||||
LLHUDIcon::LLHUDIcon(const U8 type) :
|
||||
LLHUDObject(type),
|
||||
mImagep(NULL),
|
||||
|
|
@ -390,6 +394,17 @@ void LLHUDIcon::cleanupDeadIcons()
|
|||
{
|
||||
sIconInstances.erase(found_it);
|
||||
}
|
||||
|
||||
// <FS:Ansariel> Mark script error icons
|
||||
if ((*icon_it)->mScriptError)
|
||||
{
|
||||
icon_instance_t::iterator found_script_it = std::find(sScriptErrorIconInstances.begin(), sScriptErrorIconInstances.end(), *icon_it);
|
||||
if (found_script_it != sScriptErrorIconInstances.end())
|
||||
{
|
||||
sScriptErrorIconInstances.erase(found_script_it);
|
||||
}
|
||||
}
|
||||
// </FS:Ansariel> Mark script error icons
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -398,3 +413,17 @@ S32 LLHUDIcon::getNumInstances()
|
|||
{
|
||||
return (S32)sIconInstances.size();
|
||||
}
|
||||
|
||||
// <FS:Ansariel> Mark script error icons
|
||||
void LLHUDIcon::setScriptError()
|
||||
{
|
||||
mScriptError = true;
|
||||
sScriptErrorIconInstances.push_back(this);
|
||||
}
|
||||
|
||||
//static
|
||||
BOOL LLHUDIcon::scriptIconsNearby()
|
||||
{
|
||||
return !sScriptErrorIconInstances.empty();
|
||||
}
|
||||
// </FS:Ansariel> Mark script error icons
|
||||
|
|
@ -75,6 +75,11 @@ public:
|
|||
|
||||
BOOL lineSegmentIntersect(const LLVector3& start, const LLVector3& end, LLVector3* intersection);
|
||||
|
||||
// <FS:Ansariel> Mark script error icons
|
||||
void setScriptError();
|
||||
static BOOL scriptIconsNearby();
|
||||
// </FS:Ansariel> Mark script error icons
|
||||
|
||||
protected:
|
||||
LLHUDIcon(const U8 type);
|
||||
~LLHUDIcon();
|
||||
|
|
@ -92,6 +97,11 @@ private:
|
|||
|
||||
typedef std::vector<LLPointer<LLHUDIcon> > icon_instance_t;
|
||||
static icon_instance_t sIconInstances;
|
||||
|
||||
// <FS:Ansariel> Mark script error icons
|
||||
bool mScriptError;
|
||||
static icon_instance_t sScriptErrorIconInstances;
|
||||
// </FS:Ansariel> Mark script error icons
|
||||
};
|
||||
|
||||
#endif // LL_LLHUDICON_H
|
||||
|
|
|
|||
|
|
@ -362,7 +362,7 @@ BOOL LLStatusBar::postBuild()
|
|||
//mScriptOut = getChildView("scriptout");
|
||||
mScriptOut = getChild<LLIconCtrl>("scriptout");
|
||||
mScriptOut->setMouseDownCallback(boost::bind(&LLFloaterScriptDebug::show, LLUUID::null));
|
||||
mNearbyIcons = LLHUDIcon::iconsNearby();
|
||||
mNearbyIcons = LLHUDIcon::scriptIconsNearby();
|
||||
// </FS:Ansariel> Script debug
|
||||
|
||||
mParcelInfoPanel = getChild<LLPanel>("parcel_info_panel");
|
||||
|
|
@ -559,9 +559,9 @@ void LLStatusBar::refresh()
|
|||
mParcelInfoText->setEnabled(!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC));
|
||||
|
||||
// <FS:Ansariel> Script debug
|
||||
if (mNearbyIcons != LLHUDIcon::iconsNearby())
|
||||
if (mNearbyIcons != LLHUDIcon::scriptIconsNearby())
|
||||
{
|
||||
mNearbyIcons = LLHUDIcon::iconsNearby();
|
||||
mNearbyIcons = LLHUDIcon::scriptIconsNearby();
|
||||
updateParcelIcons();
|
||||
}
|
||||
// </FS:Ansariel> Script debug
|
||||
|
|
@ -1135,7 +1135,7 @@ void LLStatusBar::updateParcelIcons()
|
|||
mLightshareBtn->setEnabled(has_lightshare);
|
||||
// </FS:CR>
|
||||
// <FS:Ansariel> Script debug
|
||||
mScriptOut->setVisible(LLHUDIcon::iconsNearby());
|
||||
mScriptOut->setVisible(LLHUDIcon::scriptIconsNearby());
|
||||
// </FS:Ansariel> Script debug
|
||||
}
|
||||
else
|
||||
|
|
|
|||
|
|
@ -388,6 +388,9 @@ public:
|
|||
void setIcon(LLViewerTexture* icon_image);
|
||||
void clearIcon();
|
||||
|
||||
// <FS:Ansariel> Getter for HUD icon attached to the object
|
||||
LLPointer<LLHUDIcon> getIcon() const { return mIcon; };
|
||||
|
||||
void markForUpdate(BOOL priority);
|
||||
void updateVolume(const LLVolumeParams& volume_params);
|
||||
virtual void updateSpatialExtents(LLVector4a& min, LLVector4a& max);
|
||||
|
|
|
|||
Loading…
Reference in New Issue