From 317b8d4ca1e4d25ca0b6ffdd82da481f68ac5285 Mon Sep 17 00:00:00 2001 From: Siana Gearz Date: Tue, 12 Jul 2011 21:39:51 +0200 Subject: [PATCH 01/12] OSX build changes --- indra/cmake/00-Common.cmake | 4 ++-- install.xml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index ef5b14b80..f7c0a471a 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -245,8 +245,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}") diff --git a/install.xml b/install.xml index 3cb7378dc..c303a324d 100644 --- a/install.xml +++ b/install.xml @@ -403,9 +403,9 @@ darwin md5sum - 694173293a483c01472a30cc7d895c5a + a9ab0e2910e1a8fe06a2a42ffdc8b7da url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/freetype-2.1.5-darwin-20080812.tar.bz2 + https://github.com/siana-osx/SingularityViewer/downloads/freetype-2.4.4-darwin-20110705.tar.bz2 linux From 2430c189fa3dab552814bd21a2a9eeb1b182cf4c Mon Sep 17 00:00:00 2001 From: Siana Gearz Date: Tue, 12 Jul 2011 23:56:03 +0200 Subject: [PATCH 02/12] Version 1.5.10(0) --- indra/llcommon/llversionviewer.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h index aa8654ce7..aa8d826d0 100644 --- a/indra/llcommon/llversionviewer.h +++ b/indra/llcommon/llversionviewer.h @@ -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 = 0; const char * const LL_CHANNEL = "Singularity"; From 3e84087d50d735e399b9c48e5b25e12294f676c6 Mon Sep 17 00:00:00 2001 From: Siana Gearz Date: Wed, 13 Jul 2011 04:39:42 +0200 Subject: [PATCH 03/12] Modified fasttimer view, by Henri --- indra/llui/llfloater.h | 2 + indra/newview/lldebugview.cpp | 5 ++- indra/newview/llfasttimerview.cpp | 68 +++++++++++++++++++++++++------ indra/newview/llfasttimerview.h | 1 + 4 files changed, 61 insertions(+), 15 deletions(-) diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h index 096fb3e61..08373830c 100644 --- a/indra/llui/llfloater.h +++ b/indra/llui/llfloater.h @@ -297,7 +297,9 @@ private: bool mDragOnLeft; BOOL mButtonsEnabled[BUTTON_COUNT]; +protected: LLButton* mButtons[BUTTON_COUNT]; +private: F32 mButtonScale; BOOL mAutoFocus; LLHandle mSnappedTo; diff --git a/indra/newview/lldebugview.cpp b/indra/newview/lldebugview.cpp index 8b2aac6e9..e6fed3c30 100644 --- a/indra/newview/lldebugview.cpp +++ b/indra/newview/lldebugview.cpp @@ -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(); diff --git a/indra/newview/llfasttimerview.cpp b/indra/newview/llfasttimerview.cpp index ab0868237..431510fb9 100644 --- a/indra/newview/llfasttimerview.cpp +++ b/indra/newview/llfasttimerview.cpp @@ -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(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("", 0, 3 * texth, 2 * texth, LLColor4::white, LLFontGL::LEFT, LLFontGL::TOP, LLFontGL::BOLD); + } + for (S32 i=cur_line; i Date: Wed, 13 Jul 2011 04:44:15 +0200 Subject: [PATCH 04/12] Fixfudgery --- indra/llrender/llfont.cpp | 8 ++++---- indra/llrender/llfontgl.cpp | 2 +- indra/lscript/lscript_execute/lscript_readlso.cpp | 2 +- indra/newview/linux_tools/wrapper.sh | 7 +++++++ indra/newview/llpanelland.cpp | 2 +- indra/newview/llviewerwindow.cpp | 4 ++-- 6 files changed, 16 insertions(+), 9 deletions(-) diff --git a/indra/llrender/llfont.cpp b/indra/llrender/llfont.cpp index 80f938ec6..69daf389c 100644 --- a/indra/llrender/llfont.cpp +++ b/indra/llrender/llfont.cpp @@ -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)); diff --git a/indra/llrender/llfontgl.cpp b/indra/llrender/llfontgl.cpp index f597d7c70..ea2da1150 100644 --- a/indra/llrender/llfontgl.cpp +++ b/indra/llrender/llfontgl.cpp @@ -275,7 +275,7 @@ void LLFontGL::destroyAllGL() else { sFontRegistry->destroyGL(); - } + } } } diff --git a/indra/lscript/lscript_execute/lscript_readlso.cpp b/indra/lscript/lscript_execute/lscript_readlso.cpp index 2948ebca6..a5dbd6221 100644 --- a/indra/lscript/lscript_execute/lscript_readlso.cpp +++ b/indra/lscript/lscript_execute/lscript_readlso.cpp @@ -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"); diff --git a/indra/newview/linux_tools/wrapper.sh b/indra/newview/linux_tools/wrapper.sh index 77dd4d023..34cb59877 100755 --- a/indra/newview/linux_tools/wrapper.sh +++ b/indra/newview/linux_tools/wrapper.sh @@ -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 diff --git a/indra/newview/llpanelland.cpp b/indra/newview/llpanelland.cpp index d1eee80b3..05de7fdc4 100644 --- a/indra/newview/llpanelland.cpp +++ b/indra/newview/llpanelland.cpp @@ -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()); } diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 0f5d0ed64..96c88bbbb 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -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(); } From 0fa9eef4b2bff42bca6079d966877c487d2d3084 Mon Sep 17 00:00:00 2001 From: Siana Gearz Date: Wed, 13 Jul 2011 08:49:05 +0200 Subject: [PATCH 05/12] Double setting cleanup --- .../app_settings/settings_per_account.xml | 147 ------------------ 1 file changed, 147 deletions(-) diff --git a/indra/newview/app_settings/settings_per_account.xml b/indra/newview/app_settings/settings_per_account.xml index c740123ab..b1524077c 100644 --- a/indra/newview/app_settings/settings_per_account.xml +++ b/indra/newview/app_settings/settings_per_account.xml @@ -215,17 +215,6 @@ - AscentInstantMessageResponse - - Comment - Auto response to instant messages - Persist - 1 - Type - String - Value - This is an autoresponse! - AscentInstantMessageResponseAnyone Comment @@ -365,17 +354,6 @@ This is an autoresponse! - AscentInstantMessageAnnounceIncoming - - Comment - Open a new IM tab when another person begins typing to you and announce that they are doing so. - Persist - 1 - Type - Boolean - Value - 0 - MoyMiniMapCustomColor Comment @@ -392,131 +370,6 @@ 1.0 - - AscentFriendColor - - Comment - Color of chat messages from other residents - Persist - 1 - Type - Color4 - Value - - 1.0 - 1.0 - 0.0 - 1.0 - - - AscentLindenColor - - Comment - Color of chat messages from other residents - Persist - 1 - Type - Color4 - Value - - 0.0 - 0.0 - 1.0 - 1.0 - - - AscentMutedColor - - Comment - Color of chat messages from other residents - Persist - 1 - Type - Color4 - Value - - 0.7 - 0.7 - 0.7 - 1.0 - - - AscentEstateOwnerColor - - Comment - Color of chat messages from other residents - Persist - 1 - Type - Color4 - Value - - 1.0 - 0.6 - 1.0 - 1.0 - - - AscentUseCustomTag - - Comment - Show a custom local tag. - Persist - 1 - Type - Boolean - Value - 0 - - AscentCustomTagColor - - Comment - Color of custom local tag. - Persist - 1 - Type - Color4 - Value - - 0.5 - 1.0 - 0.25 - 1.0 - - - AscentCustomTagLabel - - Comment - Label for the custom local tag - Persist - 1 - Type - String - Value - Custom - - AscentReportClientIndex - - Comment - Show your own tag - Persist - 1 - Type - U32 - Value - 1 - - AscentReportClientUUID - - Comment - Broadcasted Client Key - Persist - 1 - Type - String - Value - f25263b7-6167-4f34-a4ef-af65213b2e39 - rkeastInventoryPreviousCount From ecbb40b092405af1c9237c93a9fcce6f09fd1f45 Mon Sep 17 00:00:00 2001 From: Siana Gearz Date: Wed, 13 Jul 2011 10:35:36 +0200 Subject: [PATCH 06/12] Whoops, deleted one too many --- indra/newview/app_settings/settings_per_account.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/indra/newview/app_settings/settings_per_account.xml b/indra/newview/app_settings/settings_per_account.xml index b1524077c..97ff2cd19 100644 --- a/indra/newview/app_settings/settings_per_account.xml +++ b/indra/newview/app_settings/settings_per_account.xml @@ -215,6 +215,17 @@ + AscentInstantMessageResponse + + Comment + Auto response to instant messages + Persist + 1 + Type + String + Value + This is an autoresponse! + AscentInstantMessageResponseAnyone Comment From 5beccac1d29fb8c121fe84a3a3495dd46c764bef Mon Sep 17 00:00:00 2001 From: Siana Gearz Date: Sun, 17 Jul 2011 19:30:58 +0200 Subject: [PATCH 07/12] This should make media less crashy --- indra/newview/llviewermedia.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index 0beed949a..4b086f808 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -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 ); } From 5b072b030b92dd203496ff69d861833e7de25df8 Mon Sep 17 00:00:00 2001 From: Siana Gearz Date: Sun, 17 Jul 2011 21:29:48 +0200 Subject: [PATCH 08/12] Area computation fudging --- indra/newview/llvovolume.cpp | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index a7c797f51..b564318ec 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -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); } From d018bf99c7c5e0121caa28f96145c101e11f0d02 Mon Sep 17 00:00:00 2001 From: Xara Date: Tue, 19 Jul 2011 22:25:50 -0700 Subject: [PATCH 09/12] Very, very very very very old bug from 2006, REGRESSION! Patch prevent console spam about failed locales set on systems where global locale is reported by "modern" way, I do not remember author, probably Tofu L. then others, not the better way (better is rewrite all this and fire such code OUT of loop!) --- indra/llui/llresmgr.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/indra/llui/llresmgr.cpp b/indra/llui/llresmgr.cpp index 68fd08921..07649adfa 100644 --- a/indra/llui/llresmgr.cpp +++ b/indra/llui/llresmgr.cpp @@ -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 //{ From 2f571a0393756046cf054185c5cb7d10862b1023 Mon Sep 17 00:00:00 2001 From: Siana Gearz Date: Tue, 26 Jul 2011 01:46:53 +0200 Subject: [PATCH 10/12] Signed cleanup on texture fetch and one login bug fix --- indra/newview/app_settings/settings.xml | 2 +- indra/newview/llpanellogin.cpp | 1 + indra/newview/lltexturefetch.cpp | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index b1842da0a..1ba6f7d6b 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -28,7 +28,7 @@ Persist 1 Type - S32 + U32 Value 30 diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp index 79da3805b..4fbcf0187 100644 --- a/indra/newview/llpanellogin.cpp +++ b/indra/newview/llpanellogin.cpp @@ -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("name_combo"); login_combo->setTextEntry(fullname); + login_combo->resetTextDirty(); //sInstance->childSetText("name_combo", fullname); std::string grid = entry.getGrid(); diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp index 967d56b9d..83de34ecd 100644 --- a/indra/newview/lltexturefetch.cpp +++ b/indra/newview/lltexturefetch.cpp @@ -479,8 +479,8 @@ static bool sgConnectionThrottle() { LLMutexLock lock(&mutex); const U32 THROTTLE_TIMESTEPS_PER_SECOND = 10; static const LLCachedControl 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 timestamps; while(!timestamps.empty() && (timestamps[0]<=now-timestep)) { From 5314f7680308b5d422b7060a16b74ac136ba9609 Mon Sep 17 00:00:00 2001 From: Siana Gearz Date: Tue, 26 Jul 2011 04:16:47 +0200 Subject: [PATCH 11/12] Version 1.5.10(1) --- indra/llcommon/llversionviewer.h | 2 +- indra/newview/app_settings/settings_files.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h index aa8d826d0..ba2e3f542 100644 --- a/indra/llcommon/llversionviewer.h +++ b/indra/llcommon/llversionviewer.h @@ -36,7 +36,7 @@ const S32 LL_VERSION_MAJOR = 1; const S32 LL_VERSION_MINOR = 5; const S32 LL_VERSION_PATCH = 10; -const S32 LL_VERSION_BUILD = 0; +const S32 LL_VERSION_BUILD = 1; const char * const LL_CHANNEL = "Singularity"; diff --git a/indra/newview/app_settings/settings_files.xml b/indra/newview/app_settings/settings_files.xml index ec5574535..6e52cfa24 100644 --- a/indra/newview/app_settings/settings_files.xml +++ b/indra/newview/app_settings/settings_files.xml @@ -61,7 +61,7 @@ Global Name - settings.xml + settings_singularity.xml NameFromSetting ClientSettingsFile @@ -81,7 +81,7 @@ PerAccount Name - settings_per_account.xml + settings_sg_per_account.xml From ee9b689cb418bf10540b82b0be38e5bc1f8cb3b0 Mon Sep 17 00:00:00 2001 From: Siana Gearz Date: Tue, 26 Jul 2011 06:49:33 +0200 Subject: [PATCH 12/12] OK, more login unbreaking =.= --- indra/newview/llpanellogin.cpp | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp index 4fbcf0187..1920750be 100644 --- a/indra/newview/llpanellogin.cpp +++ b/indra/newview/llpanellogin.cpp @@ -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("name_combo")->getTextEntry(); std::string pass = sInstance->childGetText("password_edit"); BOOL have_first = !first.empty(); @@ -1238,16 +1238,10 @@ void LLPanelLogin::onLoginComboLostFocus(LLFocusableElement* fe, void*) if (sInstance) { LLComboBox* combo = sInstance->getChild("name_combo"); - if(fe == combo) + if(fe == combo && combo->isTextDirty()) { - if (combo->isTextDirty()) - { - clearPassword(); - } - else - { - onSelectLoginEntry(combo, NULL); - } + clearPassword(); + combo->resetTextDirty(); } } }