diff --git a/indra/cmake/WebKitLibPlugin.cmake b/indra/cmake/WebKitLibPlugin.cmake index a4befa495..9b0635e16 100644 --- a/indra/cmake/WebKitLibPlugin.cmake +++ b/indra/cmake/WebKitLibPlugin.cmake @@ -62,13 +62,12 @@ elseif (LINUX) else (STANDALONE) set(WEBKIT_PLUGIN_LIBRARIES llqtwebkit - qgif - qjpeg QtWebKit QtOpenGL QtNetwork QtGui QtCore + jscore jpeg fontconfig X11 diff --git a/indra/llimage/llimagej2c.cpp b/indra/llimage/llimagej2c.cpp index fc4829b2b..c8a92539f 100644 --- a/indra/llimage/llimagej2c.cpp +++ b/indra/llimage/llimagej2c.cpp @@ -376,7 +376,7 @@ S32 LLImageJ2C::calcDataSizeJ2C(S32 w, S32 h, S32 comp, S32 discard_level, F32 r discard_level--; } S32 bytes = (S32)((F32)(w*h*comp)*rate); - bytes = llmax(bytes, calcHeaderSizeJ2C()); + //bytes = llmax(bytes, calcHeaderSizeJ2C()); return bytes; } @@ -396,9 +396,11 @@ S32 LLImageJ2C::calcDataSize(S32 discard_level) static const LLCachedControl offset("SianaJ2CSizeOffset", 0); S32 size = calcDataSizeJ2C(getWidth(), getHeight(), getComponents(), discard_level, mRate); - S32 size_d0 = calcDataSizeJ2C(getWidth(), getHeight(), getComponents(), discard_level, mRate); - - return pow(size/size_d0, exponent)*size_d0 + offset; + S32 size_d0 = calcDataSizeJ2C(getWidth(), getHeight(), getComponents(), 0, mRate); + llassert_always(size_d0); + S32 bytes = pow(size/size_d0, exponent)*size_d0 + offset; + bytes = llmax(bytes, calcHeaderSizeJ2C()); + return bytes; } discard_level = llclamp(discard_level, 0, MAX_DISCARD_LEVEL); @@ -412,6 +414,7 @@ S32 LLImageJ2C::calcDataSize(S32 discard_level) while ( level >= 0 ) { mDataSizes[level] = calcDataSizeJ2C(getWidth(), getHeight(), getComponents(), level, mRate); + mDataSizes[level] = llmax(mDataSizes[level], calcHeaderSizeJ2C()); level--; } diff --git a/indra/llmessage/message_prehash.cpp b/indra/llmessage/message_prehash.cpp index 10c523ef0..8318d2bea 100644 --- a/indra/llmessage/message_prehash.cpp +++ b/indra/llmessage/message_prehash.cpp @@ -1,38 +1,38 @@ /** - * @file message_prehash.cpp - * @brief file of prehashed variables - * - * $LicenseInfo:firstyear=2003&license=viewergpl$ - * - * Copyright (c) 2003-2009, Linden Research, Inc. - * - * Second Life Viewer Source Code - * The source code in this file ("Source Code") is provided by Linden Lab - * to you under the terms of the GNU General Public License, version 2.0 - * ("GPL"), unless you have obtained a separate licensing agreement - * ("Other License"), formally executed by you and Linden Lab. Terms of - * the GPL can be found in doc/GPL-license.txt in this distribution, or - * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 - * - * There are special exceptions to the terms and conditions of the GPL as - * it is applied to this Source Code. View the full text of the exception - * in the file doc/FLOSS-exception.txt in this software distribution, or - * online at - * http://secondlifegrid.net/programs/open_source/licensing/flossexception - * - * By copying, modifying or distributing this software, you acknowledge - * that you have read and understood your obligations described above, - * and agree to abide by those obligations. - * - * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO - * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, - * COMPLETENESS OR PERFORMANCE. - * $/LicenseInfo$ - */ +* @file message_prehash.cpp +* @brief file of prehashed variables +* +* $LicenseInfo:firstyear=2003&license=viewergpl$ +* +* Copyright (c) 2003-2009, Linden Research, Inc. +* +* Second Life Viewer Source Code +* The source code in this file ("Source Code") is provided by Linden Lab +* to you under the terms of the GNU General Public License, version 2.0 +* ("GPL"), unless you have obtained a separate licensing agreement +* ("Other License"), formally executed by you and Linden Lab. Terms of +* the GPL can be found in doc/GPL-license.txt in this distribution, or +* online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 +* +* There are special exceptions to the terms and conditions of the GPL as +* it is applied to this Source Code. View the full text of the exception +* in the file doc/FLOSS-exception.txt in this software distribution, or +* online at +* http://secondlifegrid.net/programs/open_source/licensing/flossexception +* +* By copying, modifying or distributing this software, you acknowledge +* that you have read and understood your obligations described above, +* and agree to abide by those obligations. +* +* ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO +* WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, +* COMPLETENESS OR PERFORMANCE. +* $/LicenseInfo$ +*/ /** - * Generated from message template version number 2.000 - */ +* Generated from message template version number 2.000 +*/ #include "linden_common.h" #include "message.h" @@ -1389,4 +1389,4 @@ char const* const _PREHASH_ProductSKU = LLMessageStringTable::getInstance()->get char const* const _PREHASH_SeeAVs = LLMessageStringTable::getInstance()->getString("SeeAVs"); char const* const _PREHASH_AnyAVSounds = LLMessageStringTable::getInstance()->getString("AnyAVSounds"); char const* const _PREHASH_GroupAVSounds = LLMessageStringTable::getInstance()->getString("GroupAVSounds"); -char const* const _PREHASH_Language = LLMessageStringTable::getInstance()->getString("Language"); \ No newline at end of file +char const* const _PREHASH_Language = LLMessageStringTable::getInstance()->getString("Language"); diff --git a/indra/newview/app_settings/default_grids.xml b/indra/newview/app_settings/default_grids.xml index 83b33cf15..5d8c2a088 100755 --- a/indra/newview/app_settings/default_grids.xml +++ b/indra/newview/app_settings/default_grids.xml @@ -2,33 +2,34 @@ - default_grids_version1 + default_grids_version2 - gridnicksecondlife - gridnameAgni + gridnameSecond Life platformSecondLife loginurihttps://login.agni.lindenlab.com/cgi-bin/login.cgi - loginpagehttp://secondlife.com/app/login/ + loginpagehttp://viewer-login.agni.lindenlab.com/ helperurihttps://secondlife.com/helpers/ websitehttp://secondlife.com/ supporthttp://secondlife.com/support/ registerhttp://secondlife.com/registration/ passwordhttp://secondlife.com/account/request.php + render_compat1 + inventory_links1 - gridnicksecondlife_beta - gridnameAditi + gridnameSecond Life BETA helperurihttp://aditi-secondlife.webdev.lindenlab.com/helpers/ - loginpagehttp://secondlife.com/app/login/ + loginpagehttp://viewer-login.agni.lindenlab.com/ loginurihttps://login.aditi.lindenlab.com/cgi-bin/login.cgi passwordhttp://secondlife.com/account/request.php platformSecondLife registerhttp://secondlife.com/registration/ render_compat0 + inventory_links1 supporthttp://secondlife.com/support/ version0 websitehttp://secondlife.com/ @@ -37,7 +38,6 @@ - gridnicklocal gridnameLocal Host platformOpenSim loginurihttp://127.0.0.1:9000/ diff --git a/indra/newview/hippogridmanager.cpp b/indra/newview/hippogridmanager.cpp index 22989cb43..85ee8a369 100644 --- a/indra/newview/hippogridmanager.cpp +++ b/indra/newview/hippogridmanager.cpp @@ -796,7 +796,7 @@ void HippoGridManager::loadFromFile() { mDefaultGridsVersion = 0; // load user grid info - parseFile(gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "grids_sg1.xml"), false); + parseFile(gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "grids_sg2.xml"), false); // merge default grid info, if newer. Force load, if list of grids is empty. parseFile(gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "default_grids.xml"), !mGridInfo.empty()); // merge grid info from web site, if newer. Force load, if list of grids is empty. @@ -957,7 +957,7 @@ void HippoGridManager::saveFile() } // write client grid info file - std::string fileName = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "grids_sg1.xml"); + std::string fileName = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "grids_sg2.xml"); llofstream file; file.open(fileName.c_str()); if (file.is_open()) diff --git a/indra/newview/llfloatermediabrowser.cpp b/indra/newview/llfloatermediabrowser.cpp index d73cfde72..43abcb8c0 100644 --- a/indra/newview/llfloatermediabrowser.cpp +++ b/indra/newview/llfloatermediabrowser.cpp @@ -105,6 +105,7 @@ void LLFloaterMediaBrowser::draw() media_playing = media_plugin->getStatus() == LLPluginClassMediaOwner::MEDIA_PLAYING; } } + childSetVisible("time_controls", show_time_controls); childSetVisible("rewind", show_time_controls); childSetVisible("play", show_time_controls && ! media_playing); childSetVisible("pause", show_time_controls && media_playing); @@ -139,7 +140,6 @@ BOOL LLFloaterMediaBrowser::postBuild() childSetAction("pause", onClickPlay, this); childSetAction("seek", onClickSeek, this); childSetAction("go", onClickGo, this); - childSetAction("close", onClickClose, this); childSetAction("open_browser", onClickOpenWebBrowser, this); childSetAction("assign", onClickAssign, this); @@ -284,14 +284,6 @@ void LLFloaterMediaBrowser::onClickGo(void* user_data) self->mBrowser->navigateTo(self->mAddressCombo->getValue().asString()); } -//static -void LLFloaterMediaBrowser::onClickClose(void* user_data) -{ - LLFloaterMediaBrowser* self = (LLFloaterMediaBrowser*)user_data; - - self->close(); -} - //static void LLFloaterMediaBrowser::onClickOpenWebBrowser(void* user_data) { diff --git a/indra/newview/llfloatermediabrowser.h b/indra/newview/llfloatermediabrowser.h index afdd6e733..c2203670a 100644 --- a/indra/newview/llfloatermediabrowser.h +++ b/indra/newview/llfloatermediabrowser.h @@ -85,7 +85,6 @@ public: static void onClickBack(void* user_data); static void onClickForward(void* user_data); static void onClickGo(void* user_data); - static void onClickClose(void* user_data); static void onClickOpenWebBrowser(void* user_data); static void onClickAssign(void* user_data); static void onClickRewind(void* user_data); diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp index fde18272d..4db5502f4 100644 --- a/indra/newview/llpanellogin.cpp +++ b/indra/newview/llpanellogin.cpp @@ -942,7 +942,6 @@ void LLPanelLogin::loadLoginPage() } // Grid - oStr << "&grid=" << LLWeb::curlEscape(LLViewerLogin::getInstance()->getGridLabel()); if (gHippoGridManager->getConnectedGrid()->isSecondLife()) { // find second life grid from login URI @@ -960,6 +959,11 @@ void LLPanelLogin::loadLoginPage() } } } + else + { + oStr << "&grid=" << LLWeb::curlEscape(LLViewerLogin::getInstance()->getGridLabel()); + } + gViewerWindow->setMenuBackgroundColor(false, !LLViewerLogin::getInstance()->isInProductionGrid()); gLoginMenuBarView->setBackgroundColor(gMenuBarView->getBackgroundColor()); diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 11e310cb9..ba88d237a 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -372,7 +372,7 @@ bool idle_startup() static U64 first_sim_handle = 0; static LLHost first_sim; static std::string first_sim_seed_cap; - static U32 first_sim_size_x = 256; + static U32 first_sim_size_x = 256; static U32 first_sim_size_y = 256; static LLVector3 initial_sun_direction(1.f, 0.f, 0.f); diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp index 1f4815d53..1e09a5154 100644 --- a/indra/newview/lltexturefetch.cpp +++ b/indra/newview/lltexturefetch.cpp @@ -400,7 +400,6 @@ class SGHostBlackList{ int errorCount; }; - static LLMutex* sMutex; typedef std::vector blacklist_t; //Why is it a vector? because using std::map for just 1-2 values is insane-ish. typedef blacklist_t::iterator iter; @@ -423,22 +422,10 @@ class SGHostBlackList{ return blacklist.end(); } - static void lock() { - if (!sMutex) - sMutex = new LLMutex; - sMutex->lock(); - } - - static void unlock() { - sMutex->unlock(); - } - public: static bool isBlacklisted(std::string url) { - lock(); iter found = find(url); bool r = (found != blacklist.end()) && (found->errorCount > MAX_ERRORCOUNT); - unlock(); return r; } @@ -450,7 +437,6 @@ public: entry.timeUntil = LLTimer::getTotalTime() + timeout*1000; entry.reason = reason; entry.errorCount = 0; - lock(); iter found = find(entry.host); if(found != blacklist.end()) { entry.errorCount = found->errorCount + 1; @@ -465,18 +451,14 @@ public: } } else blacklist.push_back(entry); - unlock(); } }; -LLMutex* SGHostBlackList::sMutex = 0; SGHostBlackList::blacklist_t SGHostBlackList::blacklist; //call every time a connection is opened //return true if connecting allowed static bool sgConnectionThrottle() { - static LLMutex mutex; - LLMutexLock lock(&mutex); const U32 THROTTLE_TIMESTEPS_PER_SECOND = 10; static const LLCachedControl max_connections_per_second("HTTPRequestRate", 30); U32 max_connections = max_connections_per_second/THROTTLE_TIMESTEPS_PER_SECOND; diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index df51698f2..822a41a08 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -3681,17 +3681,17 @@ void process_teleport_finish(LLMessageSystem* msg, void**) U32 teleport_flags; msg->getU32Fast(_PREHASH_Info, _PREHASH_TeleportFlags, teleport_flags); - U32 region_size_x = 256; - msg->getU32Fast(_PREHASH_Info, _PREHASH_RegionSizeX, region_size_x); - - U32 region_size_y = 256; - msg->getU32Fast(_PREHASH_Info, _PREHASH_RegionSizeY, region_size_y); - - //and a little hack for Second Life compatibility - if (region_size_y == 0 || region_size_x == 0) - { - region_size_x = 256; - region_size_y = 256; + U32 region_size_x = 256; + msg->getU32Fast(_PREHASH_Info, _PREHASH_RegionSizeX, region_size_x); + + U32 region_size_y = 256; + msg->getU32Fast(_PREHASH_Info, _PREHASH_RegionSizeY, region_size_y); + + //and a little hack for Second Life compatibility + if (region_size_y == 0 || region_size_x == 0) + { + region_size_x = 256; + region_size_y = 256; } std::string seedCap; @@ -4018,17 +4018,17 @@ void process_crossed_region(LLMessageSystem* msg, void**) std::string seedCap; msg->getStringFast(_PREHASH_RegionData, _PREHASH_SeedCapability, seedCap); - U32 region_size_x = 256; - msg->getU32(_PREHASH_RegionData, _PREHASH_RegionSizeX, region_size_x); - - U32 region_size_y = 256; - msg->getU32(_PREHASH_RegionData, _PREHASH_RegionSizeY, region_size_y); - - //and a little hack for Second Life compatibility - if (region_size_y == 0 || region_size_x == 0) - { - region_size_x = 256; - region_size_y = 256; + U32 region_size_x = 256; + msg->getU32(_PREHASH_RegionData, _PREHASH_RegionSizeX, region_size_x); + + U32 region_size_y = 256; + msg->getU32(_PREHASH_RegionData, _PREHASH_RegionSizeY, region_size_y); + + //and a little hack for Second Life compatibility + if (region_size_y == 0 || region_size_x == 0) + { + region_size_x = 256; + region_size_y = 256; } send_complete_agent_movement(sim_host); diff --git a/indra/newview/skins/default/textures/go-home-4.png b/indra/newview/skins/default/textures/go-home-4.png new file mode 100644 index 000000000..058c00af4 Binary files /dev/null and b/indra/newview/skins/default/textures/go-home-4.png differ diff --git a/indra/newview/skins/default/textures/go-next-4.png b/indra/newview/skins/default/textures/go-next-4.png new file mode 100644 index 000000000..b4362c1ed Binary files /dev/null and b/indra/newview/skins/default/textures/go-next-4.png differ diff --git a/indra/newview/skins/default/textures/go-previous-4.png b/indra/newview/skins/default/textures/go-previous-4.png new file mode 100644 index 000000000..d5a677ecd Binary files /dev/null and b/indra/newview/skins/default/textures/go-previous-4.png differ diff --git a/indra/newview/skins/default/textures/inv_collapse_all.tga b/indra/newview/skins/default/textures/inv_collapse_all.tga new file mode 100644 index 000000000..e27dc5ecd Binary files /dev/null and b/indra/newview/skins/default/textures/inv_collapse_all.tga differ diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 3f93a7ef8..c7929b058 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -390,5 +390,10 @@ + + + + + diff --git a/indra/newview/skins/default/textures/view-refresh-5.png b/indra/newview/skins/default/textures/view-refresh-5.png new file mode 100644 index 000000000..cb5d1b97c Binary files /dev/null and b/indra/newview/skins/default/textures/view-refresh-5.png differ diff --git a/indra/newview/skins/default/xui/en-us/floater_inventory.xml b/indra/newview/skins/default/xui/en-us/floater_inventory.xml index 457ae4b3f..4c56c695b 100644 --- a/indra/newview/skins/default/xui/en-us/floater_inventory.xml +++ b/indra/newview/skins/default/xui/en-us/floater_inventory.xml @@ -5,11 +5,11 @@ title="Inventory" width="467"> -