Merge branch 'curlthreading2' into curlthreading3

This commit is contained in:
Aleric Inglewood
2012-09-06 15:12:22 +02:00
4070 changed files with 25269 additions and 20661 deletions

View File

@@ -1063,11 +1063,13 @@ void LLButton::setImageOverlay(const std::string& image_name, LLFontGL::HAlign a
if (image_name.empty())
{
mImageOverlay = NULL;
mImageOverlaySelectedColor = LLColor4::white;
}
else
{
mImageOverlay = LLUI::getUIImage(image_name);
mImageOverlayAlignment = alignment;
mImageOverlaySelectedColor = color;
mImageOverlayColor = color;
}
}
@@ -1077,11 +1079,13 @@ void LLButton::setImageOverlay(const LLUUID& image_id, LLFontGL::HAlign alignmen
if (image_id.isNull())
{
mImageOverlay = NULL;
mImageOverlaySelectedColor = LLColor4::white;
}
else
{
mImageOverlay = LLUI::getUIImageByID(image_id);
mImageOverlayAlignment = alignment;
mImageOverlaySelectedColor = color;
mImageOverlayColor = color;
}
}

View File

@@ -69,6 +69,12 @@ LLModalDialog::~LLModalDialog()
{
gFocusMgr.unlockFocus();
}
std::list<LLModalDialog*>::iterator iter = std::find(sModalStack.begin(), sModalStack.end(), this);
if (iter != sModalStack.end())
{
llerrs << "Attempt to delete dialog while still in sModalStack!" << llendl;
}
}
// virtual
@@ -91,6 +97,8 @@ void LLModalDialog::startModal()
{
if (mModal)
{
// If Modal, Hide the active modal dialog
if (!sModalStack.empty())
{
@@ -103,6 +111,14 @@ void LLModalDialog::startModal()
gFocusMgr.setTopCtrl( this );
setFocus(TRUE);
std::list<LLModalDialog*>::iterator iter = std::find(sModalStack.begin(), sModalStack.end(), this);
if (iter != sModalStack.end())
{
sModalStack.erase(iter);
llwarns << "Dialog already on modal stack" << llendl;
//TODO: incvestigate in which specific cases it happens, cause that's not good! -SG
}
sModalStack.push_front( this );
}
@@ -314,5 +330,16 @@ void LLModalDialog::onAppFocusGained()
}
}
void LLModalDialog::shutdownModals()
{
// This method is only for use during app shutdown. ~LLModalDialog()
// checks sModalStack, and if the dialog instance is still there, it
// crumps with "Attempt to delete dialog while still in sModalStack!" But
// at app shutdown, all bets are off. If the user asks to shut down the
// app, we shouldn't have to care WHAT's open. Put differently, if a modal
// dialog is so crucial that we can't let the user terminate until s/he
// addresses it, we should reject a termination request. The current state
// of affairs is that we accept it, but then produce an llerrs popup that
// simply makes our software look unreliable.
sModalStack.clear();
}

View File

@@ -74,7 +74,8 @@ public:
static void onAppFocusGained();
static S32 activeCount() { return sModalStack.size(); }
static void shutdownModals();
protected:
void centerOnScreen();

View File

@@ -88,6 +88,7 @@ LLMultiFloater::LLMultiFloater(
{
mTabContainer->setRightTabBtnOffset(RESIZE_HANDLE_WIDTH);
}
mTabContainer->setCommitCallback(boost::bind(&LLMultiFloater::onTabSelected, this));
addChild(mTabContainer);
}
@@ -114,6 +115,7 @@ LLMultiFloater::LLMultiFloater(
{
mTabContainer->setRightTabBtnOffset(RESIZE_HANDLE_WIDTH);
}
mTabContainer->setCommitCallback(boost::bind(&LLMultiFloater::onTabSelected, this));
addChild(mTabContainer);
@@ -482,7 +484,7 @@ void LLMultiFloater::setCanResize(BOOL can_resize)
}
}
BOOL LLMultiFloater::postBuild()
/*BOOL LLMultiFloater::postBuild()
{
// remember any original xml minimum size
getResizeLimits(&mOrigMinWidth, &mOrigMinHeight);
@@ -501,7 +503,7 @@ BOOL LLMultiFloater::postBuild()
}
return FALSE;
}
}*/
void LLMultiFloater::updateResizeLimits()
{

View File

@@ -45,7 +45,6 @@ public:
LLMultiFloater(const std::string& name, const std::string& rect_control, LLTabContainer::TabPosition tab_pos = LLTabContainer::TOP, BOOL auto_resize = TRUE);
virtual ~LLMultiFloater() {};
virtual BOOL postBuild();
virtual LLXMLNodePtr getXML(bool save_children = true) const;
/*virtual*/ void open(); /* Flawfinder: ignore */
/*virtual*/ void onClose(bool app_quitting);