merge changes for latest viewer-development

meow-7.2.2
Oz Linden 2011-06-26 07:32:22 -04:00
commit 5d36b70aa6
13 changed files with 142 additions and 126 deletions

View File

@ -72,25 +72,6 @@ viewer-pre-release.build_viewer_update_version_manager = true
#viewer-pre-release.release-viewer.jira = DRTVWR-46
# =======================================
# brad
# ========================================
debug-halting.email = cg@lindenlab.com
debug-halting.build_server = false
debug-halting.build_server_tests = false
debug-halting.build_Darwin = false
debug-halting.build_Linux = false
debug-halting.build_CYGWIN_Debug = false
debug-halting.build_CYGWIN_RelWithDebInfo = false
# ========================================
# brad
# ========================================
brad-parabuild.email = brad@lindenlab.com
brad-parabuild.build_server = false
brad-parabuild.build_server_tests = false
# ========================================
# mesh-development
# ========================================
@ -132,53 +113,9 @@ viewer-mesh.email = shining@lists.lindenlab.com
# CG
# ========================================
cg_viewer-development_lenny.collect_metrics = true
cg_viewer-development_lenny.show_changes_since = 4b140ce7839d
cg_viewer-development_lenny.email = cg@lindenlab.com
# ========================================
# gooey
# ========================================
#gooey.email = james@lindenlab.com
gooey.build_Debug = false
gooey.build_RelWithDebInfo = false
gooey.build_server = false
gooey.build_server_tests = false
gooey.viewer_channel = "Second Life Alpha"
gooey.login_channel = "Second Life Alpha"
gooey.viewer_grid = agni
gooey.build_viewer_update_version_manager = false
# ========================================
# Search Project
# ========================================
search_project-viewer.build_debug_release_separately = true
search_project-viewer.viewer_channel = "Second Life Project Viewer - Search"
search_project-viewer.login_channel = "Second Life Project Viewer - Search"
# ========================================
# palange
# ========================================
palange_viewer-2-0.email = palange@lindenlab.com
palange_viewer-2-0.build_server = false
palange_viewer-2-0.build_server_tests = false
palange_viewer-2-0.build_CYGWIN_Debug = false
# ========================================
# media
# ========================================
media.email = skolb@lindenlab.com
media.build_server = false
media.build_server_tests = false
media.viewer_channel = "Second Life Alpha"
media.login_channel = "Second Life Alpha"
media.viewer_grid = agni
media.build_viewer_update_version_manager = false
# ================
# oz
# ================
@ -188,27 +125,23 @@ snowstorm_project-windlight.viewer_channel = "Second Life Project Windlight Regi
snowstorm_project-windlight.login_channel = "Second Life Project Windlight Region"
oz_viewer-devreview.build_debug_release_separately = true
viewer-devreview.build_debug_release_separately = true
oz_viewer-poreview.build_debug_release_separately = true
oz_viewer-devreview.codeticket_add_context = false
oz_project-1.build_debug_release_separately = true
oz_project-1.codeticket_add_context = false
oz_project-2.build_debug_release_separately = true
oz_project-2.codeticket_add_context = false
oz_project-3.build_debug_release_separately = true
oz_project-3.codeticket_add_context = false
oz_project-4.build_debug_release_separately = true
oz_project-4.codeticket_add_context = false
oz_viewer-beta-review.build_debug_release_separately = true
oz_viewer-beta-review.codeticket_add_context = false
oz_viewer-poreview.build_debug_release_separately = true
oz_viewer-poreview.codeticket_add_context = false
# ========================================
# enus
# ========================================
viewer-tut-teamcity.email = enus@lindenlab.com
viewer-tut-teamcity.build_server = false
viewer-tut-teamcity.build_server_tests = false
# =================================================================
# asset delivery 2010 projects
# =================================================================
@ -226,23 +159,4 @@ viewer-asset-delivery-metrics.email = monty@lindenlab.com
viewer-asset-delivery-metrics.build_server = false
viewer-asset-delivery-metrics.build_server_tests = false
#==============================================================================
# autobuild viewers
#==============================================================================
viewer-autobuild2010.build_debug_release_separately = true
viewer-autobuild2010.viewer_channel = "Project Viewer - VS2010"
viewer-autobuild2010.login_channel = "Project Viewer - VS2010"
viewer-autobuild2010.viewer_grid = agni
viewer-autobuild2010.build_link_parallel = false
#========================================
# VS2010
#========================================
viewer-vs2010.viewer_channel = "Project Viewer - VS2010"
viewer-vs2010.login_channel = "Project Viewer - VS2010"
viewer-vs2010.viewer_grid = agni
viewer-vs2010.build_debug_release_separately = true
viewer-vs2010.build_viewer_update_version_manager = false
viewer-vs2010.build_link_parallel = false
# eof

View File

@ -62,11 +62,15 @@ list(APPEND llvfs_SOURCE_FILES ${llvfs_HEADER_FILES})
add_library (llvfs ${llvfs_SOURCE_FILES})
target_link_libraries(llvfs
set(vfs_BOOST_LIBRARIES
${BOOST_FILESYSTEM_LIBRARY}
${BOOST_SYSTEM_LIBRARY}
)
target_link_libraries(llvfs
${vfs_BOOST_LIBRARIES}
)
if (DARWIN)
include(CMakeFindFrameworks)
find_library(CARBON_LIBRARY Carbon)
@ -76,15 +80,21 @@ endif (DARWIN)
# Add tests
if (LL_TESTS)
include(LLAddBuildTest)
# UNIT TESTS
SET(llvfs_TEST_SOURCE_FILES
# none so far
)
LL_ADD_PROJECT_UNIT_TESTS(llvfs "${llvfs_TEST_SOURCE_FILES}")
include(LLAddBuildTest)
# UNIT TESTS
SET(llvfs_TEST_SOURCE_FILES
lldiriterator.cpp
)
# INTEGRATION TESTS
set(test_libs llmath llcommon llvfs ${LLCOMMON_LIBRARIES} ${WINDOWS_LIBRARIES})
# TODO: Some of these need refactoring to be proper Unit tests rather than Integration tests.
LL_ADD_INTEGRATION_TEST(lldir "" "${test_libs}")
set_source_files_properties(lldiriterator.cpp
PROPERTIES
LL_TEST_ADDITIONAL_LIBRARIES "${vfs_BOOST_LIBRARIES}"
)
LL_ADD_PROJECT_UNIT_TESTS(llvfs "${llvfs_TEST_SOURCE_FILES}")
# INTEGRATION TESTS
set(test_libs llmath llcommon llvfs ${LLCOMMON_LIBRARIES} ${WINDOWS_LIBRARIES})
# TODO: Some of these need refactoring to be proper Unit tests rather than Integration tests.
LL_ADD_INTEGRATION_TEST(lldir "" "${test_libs}")
endif (LL_TESTS)

View File

@ -121,6 +121,14 @@ bool LLDirIterator::Impl::next(std::string &fname)
return found;
}
/**
Converts the incoming glob into a regex. This involves
converting incoming glob expressions to regex equivilents and
at the same time, escaping any regex meaningful characters which
do not have glob meaning, i.e.
.()+|^$
in the input.
*/
std::string glob_to_regex(const std::string& glob)
{
std::string regex;
@ -135,9 +143,6 @@ std::string glob_to_regex(const std::string& glob)
switch (c)
{
case '.':
regex+="\\.";
break;
case '*':
if (glob.begin() == i)
{
@ -170,8 +175,16 @@ std::string glob_to_regex(const std::string& glob)
case '!':
regex+= square_brace_open ? '^' : c;
break;
case '.': // This collection have different regex meaning
case '^': // and so need escaping.
case '(':
case ')':
case '+':
case '|':
case '$':
regex += '\\';
default:
regex+=c;
regex += c;
break;
}

View File

@ -0,0 +1,65 @@
/**
* @file lldiriterator_test.cpp
* @date 2011-06
* @brief LLDirIterator test cases.
*
* $LicenseInfo:firstyear=2011&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2011, Linden Research, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.,
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
#include "linden_common.h"
#include "lltut.h"
#include "../lldiriterator.h"
namespace tut
{
struct LLDirIteratorFixture
{
LLDirIteratorFixture()
{
}
};
typedef test_group<LLDirIteratorFixture> LLDirIteratorTest_factory;
typedef LLDirIteratorTest_factory::object LLDirIteratorTest_t;
LLDirIteratorTest_factory tf("LLDirIterator");
/*
CHOP-662 was originally introduced to deal with crashes deleting files from
a directory (VWR-25500). However, this introduced a crash looking for
old chat logs as the glob_to_regex function in lldiriterator wasn't escaping lots of regexp characters
*/
void test_chop_662(void)
{
// Check a selection of bad group names from the crash reports
LLDirIterator iter(".","+bad-group-name]+??-??.*");
LLDirIterator iter1(".","))--@---bad-group-name2((??-??.*\\.txt");
LLDirIterator iter2(".","__^v--x)Cuide d sua vida(x--v^__??-??.*");
}
template<> template<>
void LLDirIteratorTest_t::test<1>()
{
test_chop_662();
}
}

View File

@ -230,7 +230,7 @@ std::string LLLogChat::makeLogFileName(std::string filename)
std::string LLLogChat::cleanFileName(std::string filename)
{
std::string invalidChars = "\"\'\\/?*:.<>|";
std::string invalidChars = "\"\'\\/?*:.<>|[]{}~"; // Cannot match glob or illegal filename chars
std::string::size_type position = filename.find_first_of(invalidChars);
while (position != filename.npos)
{

View File

@ -401,15 +401,14 @@ struct LLSaveNotecardInfo
bool LLPreviewNotecard::saveIfNeeded(LLInventoryItem* copyitem)
{
if(!gAssetStorage)
LLViewerTextEditor* editor = getChild<LLViewerTextEditor>("Notecard Editor");
if(!editor)
{
llwarns << "Not connected to an asset storage system." << llendl;
llwarns << "Cannot get handle to the notecard editor." << llendl;
return false;
}
LLViewerTextEditor* editor = getChild<LLViewerTextEditor>("Notecard Editor");
if(!editor->isPristine())
{
// We need to update the asset information
@ -436,8 +435,15 @@ bool LLPreviewNotecard::saveIfNeeded(LLInventoryItem* copyitem)
// save it out to database
if (item)
{
std::string agent_url = gAgent.getRegion()->getCapability("UpdateNotecardAgentInventory");
std::string task_url = gAgent.getRegion()->getCapability("UpdateNotecardTaskInventory");
const LLViewerRegion* region = gAgent.getRegion();
if (!region)
{
llwarns << "Not connected to a region, cannot save notecard." << llendl;
return false;
}
std::string agent_url = region->getCapability("UpdateNotecardAgentInventory");
std::string task_url = region->getCapability("UpdateNotecardTaskInventory");
if (mObjectUUID.isNull() && !agent_url.empty())
{
// Saving into agent inventory
@ -472,6 +478,11 @@ bool LLPreviewNotecard::saveIfNeeded(LLInventoryItem* copyitem)
(void*)info,
FALSE);
}
else // !gAssetStorage
{
llwarns << "Not connected to an asset storage system." << llendl;
return false;
}
}
}
return true;

View File

@ -4,7 +4,7 @@
unbekannt
</floater.string>
<radio_group label="Fototyp" name="snapshot_type_radio">
<radio_item label="Email" name="postcard"/>
<radio_item label="E-Mail" name="postcard"/>
<radio_item label="Mein Inventar ([AMOUNT] L$)" name="texture"/>
<radio_item label="Auf meinem Computer speichern" name="local"/>
</radio_group>

View File

@ -64,9 +64,9 @@
<radio_item label="Fläche auswählen" name="radio select face"/>
</radio_group>
<check_box label="Verknüpfte Teile bearbeiten" name="checkbox edit linked parts"/>
<button label="Link" name="link_btn"/>
<button label="Verknüpfung auflösen" name="unlink_btn"/>
<text name="RenderingCost" tool_tip="Zeigt die errechneten Wiedergabekosten für dieses Objekt">
<button label="Link" name="link_btn" width="30"/>
<button label="Verknüpfung auflösen" name="unlink_btn" width="126"/>
<text name="RenderingCost" tool_tip="Zeigt die errechneten Wiedergabekosten für dieses Objekt" left_pad="0">
þ: [COUNT]
</text>
<check_box label="" name="checkbox uniform"/>

View File

@ -60,7 +60,7 @@
m
</text>
<slider label="Max. Partikelzahl:" name="MaxParticleCount"/>
<slider label="Max. Anzahl an voll dargestellten Avataren:" name="MaxNumberAvatarDrawn"/>
<slider label="Max. Anzahl an voll dargestellten Avataren:" label_width="230" name="MaxNumberAvatarDrawn" width="315"/>
<slider label="Post-Processing-Qualität:" name="RenderPostProcess"/>
<text name="MeshDetailText">
Darstellungsgrad:

View File

@ -279,7 +279,7 @@
layout="topleft"
left_pad="2"
name="unlink_btn"
width="50">
width="105">
<button.commit_callback
function="BuildTool.UnlinkObjects"/>
</button>

View File

@ -52,7 +52,7 @@
multi_select="true"
name="list_attachments"
top="0"
width="311">
width="311"/>
</accordion_tab>
<accordion_tab
layout="topleft"

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="navigation_bar">
<panel name="navigation_panel">
<pull_button name="back_btn" tool_tip="Volver a lo localización anterior"/>
<pull_button name="back_btn" tool_tip="Volver a la localización anterior"/>
<pull_button name="forward_btn" tool_tip="Ir una localización adelante"/>
<button name="home_btn" tool_tip="Teleportar a mi Base"/>
<location_input label="Localización" name="location_combo"/>

View File

@ -3628,6 +3628,9 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
<string name="LocationCtrlComboBtnTooltip">
Historial de mis localizaciones
</string>
<string name="LocationCtrlForSaleTooltip">
Comprar este terreno
</string>
<string name="LocationCtrlAdultIconTooltip">
Región Adulta
</string>