Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -248,8 +248,8 @@ if (DARWIN)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mlong-branch")
|
||||
# NOTE: it's critical that the optimization flag is put in front.
|
||||
# NOTE: it's critical to have both CXX_FLAGS and C_FLAGS covered.
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O0 ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
|
||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O0 ${CMAKE_C_FLAGS_RELWITHDEBINFO}")
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -O3 -msse3 -mtune=generic -mfpmath=sse ${GCC_EXTRA_OPTIMIZATIONS}")
|
||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -03 -msse3 -mtune=generic -mfpmath=sse ${GCC_EXTRA_OPTIMIZATIONS}")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -msse3 -mtune=generic -mfpmath=sse ${GCC_EXTRA_OPTIMIZATIONS}")
|
||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -03 -msse3 -mtune=generic -mfpmath=sse ${GCC_EXTRA_OPTIMIZATIONS}")
|
||||
set(CMAKE_CXX_FLAGS_RELEASESSE2 "${CMAKE_CXX_FLAGS_RELEASESSE2} -O3 -msse2 -mtune=generic -mfpmath=sse ${GCC_EXTRA_OPTIMIZATIONS}")
|
||||
|
||||
@@ -35,8 +35,8 @@
|
||||
|
||||
const S32 LL_VERSION_MAJOR = 1;
|
||||
const S32 LL_VERSION_MINOR = 5;
|
||||
const S32 LL_VERSION_PATCH = 9;
|
||||
const S32 LL_VERSION_BUILD = 2;
|
||||
const S32 LL_VERSION_PATCH = 10;
|
||||
const S32 LL_VERSION_BUILD = 1;
|
||||
|
||||
const char * const LL_CHANNEL = "Singularity";
|
||||
|
||||
|
||||
@@ -246,9 +246,9 @@ BOOL LLFont::loadFace(const std::string& filename, const F32 point_size, const F
|
||||
FT_Set_Charmap(mFTFace, mFTFace->charmaps[0]);
|
||||
}
|
||||
|
||||
if (!mIsFallback)
|
||||
if (!mIsFallback || !sOpenGLcrashOnRestart) // because this often crashes under Linux...
|
||||
{
|
||||
// Add the default glyph
|
||||
// Add the empty glyph`5
|
||||
addGlyph(0, 0);
|
||||
}
|
||||
|
||||
@@ -362,7 +362,7 @@ BOOL LLFont::addGlyphFromFont(const LLFont *fontp, const llwchar wch, const U32
|
||||
if (mFTFace == NULL)
|
||||
return FALSE;
|
||||
|
||||
llassert(!mIsFallback);
|
||||
//llassert(!mIsFallback);
|
||||
fontp->renderGlyph(glyph_index);
|
||||
S32 width = fontp->mFTFace->glyph->bitmap.width;
|
||||
S32 height = fontp->mFTFace->glyph->bitmap.rows;
|
||||
@@ -581,7 +581,7 @@ void LLFont::setSubImageLuminanceAlpha(const U32 x,
|
||||
{
|
||||
LLImageRaw *image_raw = mFontBitmapCachep->getImageRaw(bitmap_num);
|
||||
|
||||
llassert(!mIsFallback);
|
||||
//llassert(!mIsFallback);
|
||||
llassert(image_raw && (image_raw->getComponents() == 2));
|
||||
|
||||
|
||||
|
||||
@@ -275,7 +275,7 @@ void LLFontGL::destroyAllGL()
|
||||
else
|
||||
{
|
||||
sFontRegistry->destroyGL();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -297,7 +297,9 @@ private:
|
||||
bool mDragOnLeft;
|
||||
|
||||
BOOL mButtonsEnabled[BUTTON_COUNT];
|
||||
protected:
|
||||
LLButton* mButtons[BUTTON_COUNT];
|
||||
private:
|
||||
F32 mButtonScale;
|
||||
BOOL mAutoFocus;
|
||||
LLHandle<LLFloater> mSnappedTo;
|
||||
|
||||
@@ -453,15 +453,17 @@ const std::string LLLocale::USER_LOCALE("en_US.utf8");
|
||||
const std::string LLLocale::SYSTEM_LOCALE("C");
|
||||
#endif
|
||||
|
||||
static std::string PrevFailedLocaleString = "";
|
||||
|
||||
LLLocale::LLLocale(const std::string& locale_string)
|
||||
{
|
||||
mPrevLocaleString = setlocale( LC_ALL, NULL );
|
||||
char* new_locale_string = setlocale( LC_ALL, locale_string.c_str());
|
||||
if ( new_locale_string == NULL)
|
||||
if ( new_locale_string == NULL && PrevFailedLocaleString != locale_string )
|
||||
{
|
||||
llwarns << "Failed to set locale " << locale_string.c_str() << llendl;
|
||||
setlocale(LC_ALL, SYSTEM_LOCALE.c_str());
|
||||
PrevFailedLocaleString = locale_string;
|
||||
}
|
||||
//else
|
||||
//{
|
||||
|
||||
@@ -120,7 +120,7 @@ void LLScriptLSOParse::printRegisters(LLFILE *fp)
|
||||
else if (gMajorVersion == LSL2_MAJOR_VERSION_TWO)
|
||||
{
|
||||
U64 data = get_register_u64(mRawData, (LSCRIPTRegisters)i);
|
||||
fprintf(fp, "%s: 0x%X%X\n", gLSCRIPTRegisterNames[i], (U32)(data>>32), (U32)(data && 0xFFFFFFFF));
|
||||
fprintf(fp, "%s: 0x%X%X\n", gLSCRIPTRegisterNames[i], (U32)(data>>32), (U32)(data & 0xFFFFFFFF));
|
||||
}
|
||||
}
|
||||
fprintf(fp, "=============================\n\n");
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>S32</string>
|
||||
<string>U32</string>
|
||||
<key>Value</key>
|
||||
<integer>30</integer>
|
||||
</map>
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
<key>Global</key>
|
||||
<map>
|
||||
<key>Name</key>
|
||||
<string>settings.xml</string>
|
||||
<string>settings_singularity.xml</string>
|
||||
<key>NameFromSetting</key>
|
||||
<string>ClientSettingsFile</string>
|
||||
</map>
|
||||
@@ -81,7 +81,7 @@
|
||||
<key>PerAccount</key>
|
||||
<map>
|
||||
<key>Name</key>
|
||||
<string>settings_per_account.xml</string>
|
||||
<string>settings_sg_per_account.xml</string>
|
||||
</map>
|
||||
</map>
|
||||
</map>
|
||||
|
||||
@@ -365,17 +365,6 @@
|
||||
<string>This is an autoresponse!</string>
|
||||
</map>
|
||||
</map>
|
||||
<key>AscentInstantMessageAnnounceIncoming</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Open a new IM tab when another person begins typing to you and announce that they are doing so.</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
<key>MoyMiniMapCustomColor</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
@@ -392,131 +381,6 @@
|
||||
<real>1.0</real>
|
||||
</array>
|
||||
</map>
|
||||
<!-- Ascent Account-Specific (If active) -->
|
||||
<key>AscentFriendColor</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Color of chat messages from other residents</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Color4</string>
|
||||
<key>Value</key>
|
||||
<array>
|
||||
<real>1.0</real>
|
||||
<real>1.0</real>
|
||||
<real>0.0</real>
|
||||
<real>1.0</real>
|
||||
</array>
|
||||
</map>
|
||||
<key>AscentLindenColor</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Color of chat messages from other residents</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Color4</string>
|
||||
<key>Value</key>
|
||||
<array>
|
||||
<real>0.0</real>
|
||||
<real>0.0</real>
|
||||
<real>1.0</real>
|
||||
<real>1.0</real>
|
||||
</array>
|
||||
</map>
|
||||
<key>AscentMutedColor</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Color of chat messages from other residents</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Color4</string>
|
||||
<key>Value</key>
|
||||
<array>
|
||||
<real>0.7</real>
|
||||
<real>0.7</real>
|
||||
<real>0.7</real>
|
||||
<real>1.0</real>
|
||||
</array>
|
||||
</map>
|
||||
<key>AscentEstateOwnerColor</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Color of chat messages from other residents</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Color4</string>
|
||||
<key>Value</key>
|
||||
<array>
|
||||
<real>1.0</real>
|
||||
<real>0.6</real>
|
||||
<real>1.0</real>
|
||||
<real>1.0</real>
|
||||
</array>
|
||||
</map>
|
||||
<key>AscentUseCustomTag</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Show a custom local tag.</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
<key>AscentCustomTagColor</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Color of custom local tag.</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Color4</string>
|
||||
<key>Value</key>
|
||||
<array>
|
||||
<real>0.5</real>
|
||||
<real>1.0</real>
|
||||
<real>0.25</real>
|
||||
<real>1.0</real>
|
||||
</array>
|
||||
</map>
|
||||
<key>AscentCustomTagLabel</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Label for the custom local tag</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>String</string>
|
||||
<key>Value</key>
|
||||
<string>Custom</string>
|
||||
</map>
|
||||
<key>AscentReportClientIndex</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Show your own tag</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>U32</string>
|
||||
<key>Value</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>AscentReportClientUUID</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Broadcasted Client Key</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>String</string>
|
||||
<key>Value</key>
|
||||
<string>f25263b7-6167-4f34-a4ef-af65213b2e39</string>
|
||||
</map>
|
||||
<!-- Ascent Account-Specific (Always) -->
|
||||
<!-- General additions -->
|
||||
<key>rkeastInventoryPreviousCount</key>
|
||||
|
||||
@@ -68,6 +68,13 @@ if [ "$GTK_IM_MODULE" = "scim" ]; then
|
||||
export GTK_IM_MODULE=xim
|
||||
fi
|
||||
|
||||
# Work around for a crash bug when restarting OpenGL after a change in the
|
||||
# graphic settings (anti-aliasing, VBO, FSAA, full screen mode, UI scale).
|
||||
# When you enable this work around, you can change the settings without
|
||||
# crashing, but you will have to restart the viewer after changing them
|
||||
# because the display still gets corrupted.
|
||||
export LL_OPENGL_RESTART_CRASH_BUG=x
|
||||
|
||||
## - Automatically work around the ATI mouse cursor crash bug:
|
||||
## (this workaround is disabled as most fglrx users do not see the bug)
|
||||
#if lsmod | grep fglrx &>/dev/null ; then
|
||||
|
||||
@@ -75,8 +75,9 @@ LLDebugView::LLDebugView(const std::string& name, const LLRect &rect)
|
||||
mFrameStatView->setVisible(FALSE); // start invisible
|
||||
addChild(mFrameStatView);
|
||||
|
||||
r.set(25, rect.getHeight() - 50, (S32) (gViewerWindow->getVirtualWindowRect().getWidth() * 0.75f),
|
||||
(S32) (gViewerWindow->getVirtualWindowRect().getHeight() * 0.75f));
|
||||
r.setLeftTopAndSize(25, rect.getHeight() - 50,
|
||||
(S32) (gViewerWindow->getVirtualWindowRect().getWidth() * 0.75f),
|
||||
(S32) (gViewerWindow->getVirtualWindowRect().getHeight() * 0.75f));
|
||||
mFastTimerView = new LLFastTimerView("fast timers", r);
|
||||
mFastTimerView->setFollowsTop();
|
||||
mFastTimerView->setFollowsLeft();
|
||||
|
||||
@@ -233,7 +233,7 @@ static const int FTV_DISPLAY_NUM = LL_ARRAY_SIZE(ft_display_table);
|
||||
S32 ft_display_idx[FTV_DISPLAY_NUM]; // line of table entry for display purposes (for collapse)
|
||||
|
||||
LLFastTimerView::LLFastTimerView(const std::string& name, const LLRect& rect)
|
||||
: LLFloater(name, rect, std::string("Fast Timers"))
|
||||
: LLFloater(name, rect, std::string(), FALSE, 1, 1, FALSE, FALSE, TRUE)
|
||||
{
|
||||
setVisible(FALSE);
|
||||
mDisplayMode = 0;
|
||||
@@ -320,6 +320,15 @@ S32 LLFastTimerView::getLegendIndex(S32 y)
|
||||
|
||||
BOOL LLFastTimerView::handleMouseDown(S32 x, S32 y, MASK mask)
|
||||
{
|
||||
{
|
||||
S32 local_x = x - mButtons[BUTTON_CLOSE]->getRect().mLeft;
|
||||
S32 local_y = y - mButtons[BUTTON_CLOSE]->getRect().mBottom;
|
||||
if (mButtons[BUTTON_CLOSE]->getVisible() &&
|
||||
mButtons[BUTTON_CLOSE]->pointInView(local_x, local_y))
|
||||
{
|
||||
return LLFloater::handleMouseDown(x, y, mask);
|
||||
}
|
||||
}
|
||||
if (x < mBarRect.mLeft)
|
||||
{
|
||||
S32 legend_index = getLegendIndex(y);
|
||||
@@ -381,6 +390,15 @@ BOOL LLFastTimerView::handleMouseDown(S32 x, S32 y, MASK mask)
|
||||
|
||||
BOOL LLFastTimerView::handleMouseUp(S32 x, S32 y, MASK mask)
|
||||
{
|
||||
{
|
||||
S32 local_x = x - mButtons[BUTTON_CLOSE]->getRect().mLeft;
|
||||
S32 local_y = y - mButtons[BUTTON_CLOSE]->getRect().mBottom;
|
||||
if (mButtons[BUTTON_CLOSE]->getVisible() &&
|
||||
mButtons[BUTTON_CLOSE]->pointInView(local_x, local_y))
|
||||
{
|
||||
return LLFloater::handleMouseUp(x, y, mask);
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -429,6 +447,18 @@ BOOL LLFastTimerView::handleScrollWheel(S32 x, S32 y, S32 clicks)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void LLFastTimerView::onClose(bool app_quitting)
|
||||
{
|
||||
if (app_quitting)
|
||||
{
|
||||
LLFloater::close(app_quitting);
|
||||
}
|
||||
else
|
||||
{
|
||||
setVisible(FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
void LLFastTimerView::draw()
|
||||
{
|
||||
LLFastTimer t(LLFastTimer::FTM_RENDER_TIMER);
|
||||
@@ -442,8 +472,9 @@ void LLFastTimerView::draw()
|
||||
S32 height = (S32) (gViewerWindow->getVirtualWindowRect().getHeight()*0.75f);
|
||||
S32 width = (S32) (gViewerWindow->getVirtualWindowRect().getWidth() * 0.75f);
|
||||
|
||||
// HACK: casting away const. Should use setRect or some helper function instead.
|
||||
const_cast<LLRect&>(getRect()).setLeftTopAndSize(getRect().mLeft, getRect().mTop, width, height);
|
||||
LLRect new_rect;
|
||||
new_rect.setLeftTopAndSize(getRect().mLeft, getRect().mTop, width, height);
|
||||
setRect(new_rect);
|
||||
|
||||
S32 left, top, right, bottom;
|
||||
S32 x, y, barw, barh, dx, dy;
|
||||
@@ -591,11 +622,14 @@ void LLFastTimerView::draw()
|
||||
left = x; right = x + texth;
|
||||
top = y; bottom = y - texth;
|
||||
S32 scale_offset = 0;
|
||||
if (i == mHoverIndex)
|
||||
if (y > 3 * texth)
|
||||
{
|
||||
scale_offset = llfloor(sinf(mHighlightTimer.getElapsedTimeF32() * 6.f) * 2.f);
|
||||
if (i == mHoverIndex)
|
||||
{
|
||||
scale_offset = llfloor(sinf(mHighlightTimer.getElapsedTimeF32() * 6.f) * 2.f);
|
||||
}
|
||||
gl_rect_2d(left - scale_offset, top + scale_offset, right + scale_offset, bottom - scale_offset, *ft_display_table[i].color);
|
||||
}
|
||||
gl_rect_2d(left - scale_offset, top + scale_offset, right + scale_offset, bottom - scale_offset, *ft_display_table[i].color);
|
||||
|
||||
int tidx = ft_display_table[i].timer;
|
||||
F32 ms = 0;
|
||||
@@ -625,7 +659,7 @@ void LLFastTimerView::draw()
|
||||
dx = (texth+4) + level*8;
|
||||
|
||||
LLColor4 color = disabled > 1 ? LLColor4::grey : LLColor4::white;
|
||||
if (level > 0)
|
||||
if (level > 0 && y > 3 * texth)
|
||||
{
|
||||
S32 line_start_y = (top + bottom) / 2;
|
||||
S32 line_end_y = line_start_y + ((texth + 2) * (display_line[i] - display_line[parent])) - (texth / 2);
|
||||
@@ -647,13 +681,16 @@ void LLFastTimerView::draw()
|
||||
next_parent = ft_display_table[next_parent].parent;
|
||||
}
|
||||
|
||||
if (is_child_of_hover_item)
|
||||
if (y > 3 * texth)
|
||||
{
|
||||
LLFontGL::getFontMonospace()->renderUTF8(tdesc, 0, x, y, color, LLFontGL::LEFT, LLFontGL::TOP, LLFontGL::BOLD);
|
||||
}
|
||||
else
|
||||
{
|
||||
LLFontGL::getFontMonospace()->renderUTF8(tdesc, 0, x, y, color, LLFontGL::LEFT, LLFontGL::TOP);
|
||||
if (is_child_of_hover_item)
|
||||
{
|
||||
LLFontGL::getFontMonospace()->renderUTF8(tdesc, 0, x, y, color, LLFontGL::LEFT, LLFontGL::TOP, LLFontGL::BOLD);
|
||||
}
|
||||
else
|
||||
{
|
||||
LLFontGL::getFontMonospace()->renderUTF8(tdesc, 0, x, y, color, LLFontGL::LEFT, LLFontGL::TOP);
|
||||
}
|
||||
}
|
||||
y -= (texth + 2);
|
||||
|
||||
@@ -661,6 +698,11 @@ void LLFastTimerView::draw()
|
||||
if (textw > legendwidth)
|
||||
legendwidth = textw;
|
||||
}
|
||||
if (y <= 3 * texth)
|
||||
{
|
||||
LLFontGL::getFontMonospace()->renderUTF8("<list truncated>", 0, 3 * texth, 2 * texth, LLColor4::white, LLFontGL::LEFT, LLFontGL::TOP, LLFontGL::BOLD);
|
||||
}
|
||||
|
||||
for (S32 i=cur_line; i<FTV_DISPLAY_NUM; i++)
|
||||
{
|
||||
ft_display_idx[i] = -1;
|
||||
|
||||
@@ -47,6 +47,7 @@ public:
|
||||
virtual BOOL handleMouseUp(S32 x, S32 y, MASK mask);
|
||||
virtual BOOL handleHover(S32 x, S32 y, MASK mask);
|
||||
virtual BOOL handleScrollWheel(S32 x, S32 y, S32 clicks);
|
||||
virtual void onClose(bool app_quitting);
|
||||
virtual void draw();
|
||||
|
||||
S32 getLegendIndex(S32 y);
|
||||
|
||||
@@ -179,7 +179,7 @@ void LLPanelLandInfo::refresh()
|
||||
childSetEnabled("button abandon land",owner_release || manager_releaseable || gAgent.isGodlike());
|
||||
|
||||
// only mainland sims are subdividable by owner
|
||||
if (regionp->getRegionFlags() && REGION_FLAGS_ALLOW_PARCEL_CHANGES)
|
||||
if (regionp->getRegionFlags() & REGION_FLAGS_ALLOW_PARCEL_CHANGES)
|
||||
{
|
||||
childSetEnabled("button subdivide land",owner_divide || manager_divideable || gAgent.isGodlike());
|
||||
}
|
||||
|
||||
@@ -607,7 +607,7 @@ void LLPanelLogin::giveFocus()
|
||||
if( sInstance )
|
||||
{
|
||||
// Grab focus and move cursor to first blank input field
|
||||
std::string first = sInstance->childGetText("name_combo");
|
||||
std::string first = sInstance->getChild<LLComboBox>("name_combo")->getTextEntry();
|
||||
std::string pass = sInstance->childGetText("password_edit");
|
||||
|
||||
BOOL have_first = !first.empty();
|
||||
@@ -712,6 +712,7 @@ void LLPanelLogin::setFields(const LLSavedLoginEntry& entry, bool takeFocus)
|
||||
std::string fullname = nameJoin(entry.getFirstName(), entry.getLastName());
|
||||
LLComboBox* login_combo = sInstance->getChild<LLComboBox>("name_combo");
|
||||
login_combo->setTextEntry(fullname);
|
||||
login_combo->resetTextDirty();
|
||||
//sInstance->childSetText("name_combo", fullname);
|
||||
|
||||
std::string grid = entry.getGrid();
|
||||
@@ -1237,16 +1238,10 @@ void LLPanelLogin::onLoginComboLostFocus(LLFocusableElement* fe, void*)
|
||||
if (sInstance)
|
||||
{
|
||||
LLComboBox* combo = sInstance->getChild<LLComboBox>("name_combo");
|
||||
if(fe == combo)
|
||||
if(fe == combo && combo->isTextDirty())
|
||||
{
|
||||
if (combo->isTextDirty())
|
||||
{
|
||||
clearPassword();
|
||||
}
|
||||
else
|
||||
{
|
||||
onSelectLoginEntry(combo, NULL);
|
||||
}
|
||||
clearPassword();
|
||||
combo->resetTextDirty();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -479,8 +479,8 @@ static bool sgConnectionThrottle() {
|
||||
LLMutexLock lock(&mutex);
|
||||
const U32 THROTTLE_TIMESTEPS_PER_SECOND = 10;
|
||||
static const LLCachedControl<U32> max_connections_per_second("HTTPRequestRate", 30);
|
||||
S32 max_connections = max_connections_per_second/THROTTLE_TIMESTEPS_PER_SECOND;
|
||||
const S32 timestep = USEC_PER_SEC/THROTTLE_TIMESTEPS_PER_SECOND;
|
||||
U32 max_connections = max_connections_per_second/THROTTLE_TIMESTEPS_PER_SECOND;
|
||||
const U32 timestep = USEC_PER_SEC/THROTTLE_TIMESTEPS_PER_SECOND;
|
||||
U64 now = LLTimer::getTotalTime();
|
||||
std::deque<U64> timestamps;
|
||||
while(!timestamps.empty() && (timestamps[0]<=now-timestep)) {
|
||||
|
||||
@@ -690,7 +690,7 @@ void LLViewerMediaImpl::navigateTo(const std::string& url, const std::string& mi
|
||||
{
|
||||
// FIXME: figure out how to really discover the type for these schemes
|
||||
// We use "data" internally for a text/html url for loading the login screen
|
||||
if(initializeMedia("text/html"))
|
||||
if(initializeMedia("text/html") && (plugin = getMediaPlugin()))
|
||||
{
|
||||
plugin->loadURI( url );
|
||||
}
|
||||
@@ -698,7 +698,7 @@ void LLViewerMediaImpl::navigateTo(const std::string& url, const std::string& mi
|
||||
else
|
||||
{
|
||||
// This catches 'rtsp://' urls
|
||||
if(initializeMedia(scheme))
|
||||
if(initializeMedia(scheme) && (plugin = getMediaPlugin()))
|
||||
{
|
||||
plugin->loadURI( url );
|
||||
}
|
||||
|
||||
@@ -4445,7 +4445,7 @@ BOOL LLViewerWindow::rawSnapshot(LLImageRaw *raw, S32 image_width, S32 image_hei
|
||||
//rescale fonts
|
||||
initFonts(scale_factor);
|
||||
LLHUDText::reshape();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
S32 output_buffer_offset_y = 0;
|
||||
@@ -4608,7 +4608,7 @@ BOOL LLViewerWindow::rawSnapshot(LLImageRaw *raw, S32 image_width, S32 image_hei
|
||||
gPipeline.resetDrawOrders();
|
||||
}
|
||||
|
||||
if (high_res)
|
||||
if (high_res && (show_ui || !hide_hud))
|
||||
{
|
||||
send_agent_resume();
|
||||
}
|
||||
|
||||
@@ -526,24 +526,29 @@ void LLVOVolume::updateTextureVirtualSize()
|
||||
vsize = face->getTextureVirtualSize();
|
||||
if (isAttachment())
|
||||
{
|
||||
// Rez attachments faster and at full details !
|
||||
if (permYouOwner())
|
||||
{
|
||||
// Our attachments must really rez fast and fully:
|
||||
// we shouldn't have to zoom on them to get the textures
|
||||
// fully loaded !
|
||||
imagep->setBoostLevel(LLViewerTexture::BOOST_HUD);
|
||||
imagep->dontDiscard();
|
||||
imagep->setBoostLevel(LLViewerTexture::BOOST_HIGH);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mPixelArea = llmax(mPixelArea, face->getPixelArea());
|
||||
|
||||
|
||||
if (face->mTextureMatrix != NULL)
|
||||
{
|
||||
// Animating textures also rez badly in Snowglobe because the
|
||||
// actual displayed area is only a fraction (corresponding to one
|
||||
// frame) of the animating texture. Let's fix that here:
|
||||
if (mTextureAnimp && mTextureAnimp->mScaleS > 0.0f && mTextureAnimp->mScaleT > 0.0f)
|
||||
{
|
||||
// Adjust to take into account the actual frame size which is only a
|
||||
// portion of the animating texture
|
||||
vsize = vsize / mTextureAnimp->mScaleS / mTextureAnimp->mScaleT;
|
||||
}
|
||||
|
||||
if ((vsize < MIN_TEX_ANIM_SIZE && old_size > MIN_TEX_ANIM_SIZE) ||
|
||||
(vsize > MIN_TEX_ANIM_SIZE && old_size < MIN_TEX_ANIM_SIZE))
|
||||
(vsize > MIN_TEX_ANIM_SIZE && old_size < MIN_TEX_ANIM_SIZE))
|
||||
{
|
||||
gPipeline.markRebuild(mDrawable, LLDrawable::REBUILD_TCOORD, FALSE);
|
||||
}
|
||||
|
||||
@@ -403,9 +403,9 @@
|
||||
<key>darwin</key>
|
||||
<map>
|
||||
<key>md5sum</key>
|
||||
<string>694173293a483c01472a30cc7d895c5a</string>
|
||||
<string>a9ab0e2910e1a8fe06a2a42ffdc8b7da</string>
|
||||
<key>url</key>
|
||||
<uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/freetype-2.1.5-darwin-20080812.tar.bz2</uri>
|
||||
<uri>https://github.com/siana-osx/SingularityViewer/downloads/freetype-2.4.4-darwin-20110705.tar.bz2</uri>
|
||||
</map>
|
||||
<key>linux</key>
|
||||
<map>
|
||||
|
||||
Reference in New Issue
Block a user