Merge lgpl

meow-7.2.2
Tank_Master 2012-12-23 18:37:50 -08:00
commit af062f9fcd
11 changed files with 101 additions and 63 deletions

View File

@ -22,5 +22,4 @@ if (USE_KDU)
endif (STANDALONE)
set(LLKDU_INCLUDE_DIRS ${LIBS_OPEN_DIR}/llkdu)
set(LLKDU_LIBRARIES llkdu)
add_definitions( -DUSE_KDU )
endif (USE_KDU)

View File

@ -63,10 +63,6 @@ target_link_libraries(llimage
${ZLIB_LIBRARIES}
)
if (USE_KDU)
add_definitions( -DUSE_KDU )
endif (USE_KDU)
# Add tests
if (LL_TESTS)
SET(llimage_TEST_SOURCE_FILES

View File

@ -50,16 +50,7 @@ const std::string sTesterName("ImageCompressionTester");
//static
std::string LLImageJ2C::getEngineInfo()
{
//return fallbackEngineInfoLLImageJ2CImpl(); # AO, returns corrupted string, needs investigation. Workaround below.
std::string J2CEngineStr;
llinfos << "Raw engine string was '" << fallbackEngineInfoLLImageJ2CImpl() << "'" << llendl;
#ifdef USE_KDU
J2CEngineStr = "KDU";
#else
J2CEngineStr = "OpenJPEG";
J2CEngineStr = fallbackEngineInfoLLImageJ2CImpl();
#endif
return J2CEngineStr;
return fallbackEngineInfoLLImageJ2CImpl();
}
LLImageJ2C::LLImageJ2C() : LLImageFormatted(IMG_CODEC_J2C),

View File

@ -199,9 +199,18 @@ inline BOOL LLDataPackerBinaryBuffer::verifyLength(const S32 data_size, const ch
{
if (mWriteEnabled && (mCurBufferp - mBufferp) > mBufferSize - data_size)
{
llwarns << "Buffer overflow in BinaryBuffer length verify, field name " << name << "!" << llendl;
llwarns << "Current pos: " << (int)(mCurBufferp - mBufferp) << " Buffer size: " << mBufferSize << " Data size: " << data_size << llendl;
return FALSE;
// <FS:ND> Handle invalid packets by throwing an exception and a graceful continue
// llwarns << "Buffer overflow in AsciiBuffer length verify, field name " << name << "!" << llendl;
// llwarns << "Current pos: " << (int)(mCurBufferp - mBufferp) << " Buffer size: " << mBufferSize << " Data size: " << data_size << llendl;
// return FALSE;
std::stringstream strm;
strm << "Buffer overflow in BinaryBuffer length verify, field name " << name << "!" << std::endl;
strm << "Current pos: " << (int)(mCurBufferp - mBufferp) << " Buffer size: " << mBufferSize << " Data size: " << data_size << std::endl;
throw std::string( strm.str() );
// </FS:ND>
}
return TRUE;

View File

@ -213,6 +213,11 @@ LLSocket::ptr_t LLSocket::create(apr_socket_t* socket, apr_pool_t* pool)
bool LLSocket::blockingConnect(const LLHost& host)
{
// <FS:ND> Prevent log spam
if( !host.isOk() )
return false;
// </FS:ND>
if(!mSocket) return false;
apr_sockaddr_t* sa = NULL;
std::string ip_address;

View File

@ -365,7 +365,22 @@ public:
if (mHandlerFunc)
{
LLPerfBlock msg_cb_time("msg_cb", mName);
mHandlerFunc(msgsystem, mUserData);
// <FS:ND> Handle invalid packets by throwing an exception and a graceful continue
// mHandlerFunc(msgsystem, mUserData);
try
{
mHandlerFunc(msgsystem, mUserData);
}
catch( std::string &why )
{
llwarns << why << llendl;
}
// </FS:ND>
return TRUE;
}
return FALSE;

View File

@ -508,21 +508,41 @@ BOOL LLTemplateMessageReader::decodeTemplate(
void LLTemplateMessageReader::logRanOffEndOfPacket( const LLHost& host, const S32 where, const S32 wanted )
{
// <FS:ND> Handle invalid packets by throwing an exception and a graceful continue
// we've run off the end of the packet!
llwarns << "Ran off end of packet " << mCurrentRMessageTemplate->mName
// llwarns << "Ran off end of packet " << mCurrentRMessageTemplate->mName
// // << " with id " << mCurrentRecvPacketID
// << " from " << host
// << " trying to read " << wanted
// << " bytes at position " << where
// << " going past packet end at " << mReceiveSize
// << llendl;
// if(gMessageSystem->mVerboseLog)
// {
// llinfos << "MSG: -> " << host << "\tREAD PAST END:\t"
// // << mCurrentRecvPacketID << " "
// << getMessageName() << llendl;
// }
// gMessageSystem->callExceptionFunc(MX_RAN_OFF_END_OF_PACKET);
std::stringstream strm;
strm << "Ran off end of packet " << mCurrentRMessageTemplate->mName
// << " with id " << mCurrentRecvPacketID
<< " from " << host
<< " trying to read " << wanted
<< " bytes at position " << where
<< " going past packet end at " << mReceiveSize
<< llendl;
<< std::endl;
if(gMessageSystem->mVerboseLog)
{
llinfos << "MSG: -> " << host << "\tREAD PAST END:\t"
strm << "MSG: -> " << host << "\tREAD PAST END:\t"
// << mCurrentRecvPacketID << " "
<< getMessageName() << llendl;
<< getMessageName() << std::endl;
}
gMessageSystem->callExceptionFunc(MX_RAN_OFF_END_OF_PACKET);
throw std::string( strm.str() );
}
static LLFastTimer::DeclareTimer FTM_PROCESS_MESSAGES("Process Messages");

View File

@ -127,12 +127,12 @@ void FSLightshare::processSky(LightsharePacket* ls_packet)
param_set.setEnableCloudScrollY(!ls_packet->cloudScrollYLock);
param_set.setStarBrightness(ls_packet->starBrightness);
LLWLParamManager::getInstance()->propagateParameters();
LLWLParamKey ls_key;
ls_key.name = "LightshareCurrentRegion";
ls_key.scope = LLEnvKey::SCOPE_LOCAL;
wlparammgr->setParamSet(ls_key, param_set);
wlparammgr->propagateParameters();
}
// static
@ -175,11 +175,11 @@ void FSLightshare::processWater(LightsharePacket* ls_packet)
normalMapTexture.set(out);
LLWaterParamManager::getInstance()->setNormalMapID(normalMapTexture);
LLWaterParamManager::getInstance()->propagateParameters();
wwparammgr->setNormalMapID(normalMapTexture);
wwparammgr->setParamSet("LightshareCurrentRegion", param_set);
wwparammgr->setNormalMapID(normalMapTexture);
wwparammgr->propagateParameters();
}
void FSLightshare::setState(bool has_lightshare)

View File

@ -51,6 +51,7 @@
#include "fsfloatergroup.h"
#include "llpanelgroup.h"
// </FS:Ansariel>
#include "fscontactsfloater.h"
//
// Globals
@ -91,9 +92,21 @@ public:
{
if (tokens[1].asString() == "show")
{
LLSD params;
params["people_panel_tab_name"] = "groups_panel";
LLFloaterSidePanelContainer::showPanel("people", "panel_people", params);
// <FS:Ansariel> Obey FSUseV2Friends setting where to open the group list
//LLSD params;
//params["people_panel_tab_name"] = "groups_panel";
//LLFloaterSidePanelContainer::showPanel("people", "panel_people", params);
if (gSavedSettings.getBOOL("FSUseV2Friends"))
{
LLSD params;
params["people_panel_tab_name"] = "groups_panel";
LLFloaterSidePanelContainer::showPanel("people", "panel_people", params);
}
else
{
FSFloaterContacts::getInstance()->openTab("groups");
}
// </FS:Ansariel>
return true;
}
return false;

View File

@ -191,46 +191,31 @@
#include "llvoicechannel.h"
#include "llpathfindingmanager.h"
// [RLVa:KB] - Checked: 2010-02-27 (RLVa-1.2.0a)
#include "rlvhandler.h"
// [/RLVa:KB]
#include "lllogin.h"
#include "llevents.h"
#include "llstartuplistener.h"
#include "lltoolbarview.h"
#include "tea.h" // <FS:AW opensim currency support>
#if LL_WINDOWS
#include "lldxhardware.h"
#endif
#include "llnotificationmanager.h"
// Firestorm includes
#if HAS_GROWL
#include "growlmanager.h"
#endif
#include "streamtitledisplay.h"
#include "fscontactsfloater.h"
#include "fsdata.h"
// NaCl - Antispam Registry
#include "NACLantispam.h"
// NaCl End
// [RLVa:KB] - Checked: 2010-02-27 (RLVa-1.2.0a)
#include "rlvhandler.h"
// [/RLVa:KB]
//-TT Bridge
#include "fsfloatersearchlegacy.h"
#include "fslslbridge.h"
//-TT
#include "fscontactsfloater.h" // <FS:ND> Fix for FIRE-3066
#include "fswsassetblacklist.h" // <FS:WS> For Assetblacklist init on startup
#include "fsfloatersearchlegacy.h" // <FS:CR> FIRE-6310
#include "fswsassetblacklist.h"
#include "llfloatersidepanelcontainer.h"
#include "llnotificationmanager.h"
#include "NACLantispam.h"
#include "rlvhandler.h"
#include "streamtitledisplay.h"
#include "tea.h"
//
// exported globals
@ -1673,6 +1658,13 @@ LLWorld::getInstance()->addRegion(gFirstSimHandle, gFirstSim, first_sim_size_x,
llinfos << "Constructed " << pContacts->getTitle() << llendl;
// </FS:ND>
// <FS:Ansariel> FIRE-8560/FIRE-8592: We neet to create the instance of the people
// floater for the radar functions and the V2 friendlist here.
// This is because of the standalone group panels that will
// prevent doing this at login when receiving the agent group
// data update.
LLFloaterSidePanelContainer::getPanel("people", "panel_people");
//gCacheName is required for nearby chat history loading
//so I just moved nearby history loading a few states further
if (gSavedPerAccountSettings.getBOOL("LogShowHistory"))
@ -2421,12 +2413,6 @@ LLWorld::getInstance()->addRegion(gFirstSimHandle, gFirstSim, first_sim_size_x,
set_startup_status(1.0, "", "");
display_startup();
// <FS:Ansariel> FIRE-8592: We neet to create the instance of the people
// floater for the radar functions here. This is because
// of the standalone group panels that will prevent doing
// this at login when receiving the agent group data update.
LLFloaterReg::getInstance("people");
// <FS:AW Disable LSL bridge on opensim>
#ifdef HAS_OPENSIM_SUPPORT // <FS:AW optional opensim support/>
if (LLGridManager::getInstance()->isInOpenSim())

View File

@ -82,7 +82,11 @@ void LLViewerAudio::startInternetStreamWithAutoFade(std::string streamURI)
// Old and new stream are identical
if (mNextStreamURI == streamURI)
{
return;
/// <FS:CR> FIRE-8419 - Don't return here. It can keep the user from toggling audio streams off/on.
/// We handle identical stream URIs with FIRE-7093 anyways.
//return;
lldebugs << "Identical URI's: " << mNextStreamURI << " and " << streamURI << llendl;
// </FS:CR>
}
// Record the URI we are going to be switching to