diff --git a/indra/llimage/llimagej2c.cpp b/indra/llimage/llimagej2c.cpp index 30e2d3b44..2f762dff9 100644 --- a/indra/llimage/llimagej2c.cpp +++ b/indra/llimage/llimagej2c.cpp @@ -299,9 +299,6 @@ BOOL LLImageJ2C::decodeChannels(LLImageRaw *raw_imagep, F32 decode_time, S32 fir // Update the raw discard level updateRawDiscardLevel(); mDecoding = TRUE; - // - raw_imagep->decodedImageComment = LLImageMetaDataReader::ExtractEncodedComment(getData(),getDataSize()); - // res = mImpl->decodeImpl(*this, *raw_imagep, decode_time, first_channel, max_channel_count); } @@ -314,6 +311,9 @@ BOOL LLImageJ2C::decodeChannels(LLImageRaw *raw_imagep, F32 decode_time, S32 fir } else { + // + raw_imagep->decodedImageComment = LLImageMetaDataReader::ExtractEncodedComment(getData(),getDataSize()); + // mDecoding = FALSE; } } diff --git a/indra/llimage/llimagemetadatareader.cpp b/indra/llimage/llimagemetadatareader.cpp index ed6261926..bf2c64c90 100644 --- a/indra/llimage/llimagemetadatareader.cpp +++ b/indra/llimage/llimagemetadatareader.cpp @@ -7,8 +7,8 @@ LLJ2cParser::LLJ2cParser(U8* data,int data_size) if(data && data_size) { mData.resize(data_size); - memcpy(&(mData[0]), data, data_size); - //std::copy(data,data+data_size,mData.begin()); + //memcpy(&(mData[0]), data, data_size); + std::copy(data,data+data_size,mData.begin()); } mIter = mData.begin(); } @@ -83,7 +83,8 @@ std::string LLImageMetaDataReader::ExtractEncodedComment(U8* data,int data_size) //llinfos << "FOUND PAYLOAD" << llendl; std::vector payload(128); S32 i; - memcpy(&(payload[0]), &(comment[2]), 128); + //memcpy(&(payload[0]), &(comment[2]), 128); + std::copy(comment.begin()+2,comment.end(),payload.begin()); if (payload[2] == payload[127]) { // emkdu.dll @@ -114,6 +115,7 @@ std::string LLImageMetaDataReader::ExtractEncodedComment(U8* data,int data_size) { if (payload[i] == 0) break; } + if(i < 4) break; std::string result(payload.begin()+4,payload.begin()+i); //llinfos << "FOUND COMMENT: " << result << llendl; delete parser; diff --git a/indra/newview/llfloateractivespeakers.cpp b/indra/newview/llfloateractivespeakers.cpp index 4c73584f0..89b3af621 100644 --- a/indra/newview/llfloateractivespeakers.cpp +++ b/indra/newview/llfloateractivespeakers.cpp @@ -510,7 +510,7 @@ void LLPanelActiveSpeakers::refreshSpeakers() name_cell->setColor(LLColor4::black); } // - if(!mShowTextChatters && speakerp->mType == LLSpeaker::SPEAKER_AGENT && speakerp->mID != gAgent.getID()) + if(!mShowTextChatters && !(speakerp->mStatus == LLSpeaker::STATUS_NOT_IN_CHANNEL) && speakerp->mID != gAgent.getID()) { // let us check to see if they are actually in the sim LLViewerRegion* regionp = gAgent.getRegion();