diff options
author | Leyla Farazha <leyla@lindenlab.com> | 2011-08-18 11:18:01 -0700 |
---|---|---|
committer | Leyla Farazha <leyla@lindenlab.com> | 2011-08-18 11:18:01 -0700 |
commit | 001179509032c0f096cc92e678ca8302f791c005 (patch) | |
tree | a9f483be5cb8afa066d515ae12163885e0e76918 /indra | |
parent | 5891d0218614851e88e31763ec24490b63b6aec5 (diff) | |
parent | e8448d47138929bf30ae20f89f9d33fc07fb9dbb (diff) |
merge
Diffstat (limited to 'indra')
-rw-r--r-- | indra/llcommon/llsdserialize_xml.cpp | 23 | ||||
-rw-r--r-- | indra/newview/llfasttimerview.cpp | 10 | ||||
-rw-r--r-- | indra/newview/llfolderview.cpp | 2 |
3 files changed, 24 insertions, 11 deletions
diff --git a/indra/llcommon/llsdserialize_xml.cpp b/indra/llcommon/llsdserialize_xml.cpp index d8213c4477..bf216d41bf 100644 --- a/indra/llcommon/llsdserialize_xml.cpp +++ b/indra/llcommon/llsdserialize_xml.cpp @@ -720,6 +720,7 @@ void LLSDXMLParser::Impl::endElementHandler(const XML_Char* name) case ELEMENT_INTEGER: { S32 i; + // sscanf okay here with different locales - ints don't change for different locale settings like floats do. if ( sscanf(mCurrentContent.c_str(), "%d", &i ) == 1 ) { // See if sscanf works - it's faster value = i; @@ -733,15 +734,19 @@ void LLSDXMLParser::Impl::endElementHandler(const XML_Char* name) case ELEMENT_REAL: { - F64 r; - if ( sscanf(mCurrentContent.c_str(), "%lf", &r ) == 1 ) - { // See if sscanf works - it's faster - value = r; - } - else - { - value = LLSD(mCurrentContent).asReal(); - } + value = LLSD(mCurrentContent).asReal(); + // removed since this breaks when locale has decimal separator that isn't '.' + // investigated changing local to something compatible each time but deemed higher + // risk that just using LLSD.asReal() each time. + //F64 r; + //if ( sscanf(mCurrentContent.c_str(), "%lf", &r ) == 1 ) + //{ // See if sscanf works - it's faster + // value = r; + //} + //else + //{ + // value = LLSD(mCurrentContent).asReal(); + //} } break; diff --git a/indra/newview/llfasttimerview.cpp b/indra/newview/llfasttimerview.cpp index 35712163eb..366154302c 100644 --- a/indra/newview/llfasttimerview.cpp +++ b/indra/newview/llfasttimerview.cpp @@ -252,7 +252,15 @@ BOOL LLFastTimerView::handleHover(S32 x, S32 y, MASK mask) x < mBarEnd[mHoverBarIndex][i]) { mHoverID = (*it); - mHoverTimer = (*it); + if (mHoverTimer != *it) + { + // could be that existing tooltip is for a parent and is thus + // covering region for this new timer, go ahead and unblock + // so we can create a new tooltip + LLToolTipMgr::instance().unblockToolTips(); + mHoverTimer = (*it); + } + mToolTipRect.set(mBarStart[mHoverBarIndex][i], mBarRect.mBottom + llround(((F32)(MAX_VISIBLE_HISTORY - mHoverBarIndex + 1)) * ((F32)mBarRect.getHeight() / ((F32)MAX_VISIBLE_HISTORY + 2.f))), mBarEnd[mHoverBarIndex][i], diff --git a/indra/newview/llfolderview.cpp b/indra/newview/llfolderview.cpp index 6461a5525e..0751378428 100644 --- a/indra/newview/llfolderview.cpp +++ b/indra/newview/llfolderview.cpp @@ -1914,7 +1914,7 @@ BOOL LLFolderView::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, // by the folder which is the hierarchy root. if (!handled && getListener()->getUUID().notNull()) { - LLFolderViewFolder::handleDragAndDrop(x, y, mask, drop, cargo_type, cargo_data, accept, tooltip_msg); + handled = LLFolderViewFolder::handleDragAndDrop(x, y, mask, drop, cargo_type, cargo_data, accept, tooltip_msg); } if (handled) |