Made everything more memory efficient.
This commit is contained in:
@@ -41,8 +41,8 @@ LLFloaterMessageLogItem::LLFloaterMessageLogItem(LLMessageLogEntry entry)
|
||||
{
|
||||
BOOL decode_invalid = FALSE;
|
||||
S32 decode_len = mDataSize;
|
||||
U8 DecodeBuffer[MAX_PACKET_LEN];
|
||||
memcpy(&(DecodeBuffer[0]),mData,decode_len);
|
||||
std::vector<U8> DecodeBuffer(MAX_PACKET_LEN,0);
|
||||
memcpy(&(DecodeBuffer[0]),&(mData[0]),decode_len);
|
||||
U8* decodep = &(DecodeBuffer[0]);
|
||||
mFlags = DecodeBuffer[0];
|
||||
gMessageSystem->zeroCodeExpand(&decodep, &decode_len);
|
||||
@@ -142,8 +142,8 @@ std::string LLFloaterMessageLogItem::getFull(BOOL show_header)
|
||||
{
|
||||
BOOL decode_invalid = FALSE;
|
||||
S32 decode_len = mDataSize;
|
||||
U8 DecodeBuffer[MAX_PACKET_LEN];
|
||||
memcpy(&(DecodeBuffer[0]),mData,decode_len);
|
||||
std::vector<U8> DecodeBuffer(MAX_PACKET_LEN,0);
|
||||
memcpy(&(DecodeBuffer[0]),&(mData[0]),decode_len);
|
||||
U8* decodep = &(DecodeBuffer[0]);
|
||||
gMessageSystem->zeroCodeExpand(&decodep, &decode_len);
|
||||
if(decode_len < 7)
|
||||
@@ -413,8 +413,8 @@ LLMessageLogFilterApply::LLMessageLogFilterApply()
|
||||
mProgress(0)
|
||||
{
|
||||
//make extra sure we don't invalidate any iterators and reserve a deque exclusively for our use
|
||||
mFilterTempMessages = new std::deque <LLMessageLogEntry>(LLFloaterMessageLog::sMessageLogEntries);
|
||||
mIter = mFilterTempMessages->begin();
|
||||
mFilterTempMessages = LLFloaterMessageLog::sMessageLogEntries;
|
||||
mIter = mFilterTempMessages.begin();
|
||||
}
|
||||
void LLMessageLogFilterApply::cancel()
|
||||
{
|
||||
@@ -422,7 +422,7 @@ void LLMessageLogFilterApply::cancel()
|
||||
}
|
||||
BOOL LLMessageLogFilterApply::tick()
|
||||
{
|
||||
std::deque<LLMessageLogEntry>::iterator end = mFilterTempMessages->end();
|
||||
std::deque<LLMessageLogEntry>::iterator end = mFilterTempMessages.end();
|
||||
if(mIter == end || !LLFloaterMessageLog::sInstance)
|
||||
{
|
||||
mFinished = TRUE;
|
||||
@@ -448,8 +448,6 @@ BOOL LLMessageLogFilterApply::tick()
|
||||
}
|
||||
}
|
||||
|
||||
delete mFilterTempMessages;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ public:
|
||||
S32 mProgress;
|
||||
BOOL mFinished;
|
||||
private:
|
||||
std::deque<LLMessageLogEntry> *mFilterTempMessages;
|
||||
std::deque<LLMessageLogEntry> mFilterTempMessages;
|
||||
std::deque<LLMessageLogEntry>::iterator mIter;
|
||||
};
|
||||
class LLFloaterMessageLog : public LLFloater, public LLEventTimer
|
||||
|
||||
Reference in New Issue
Block a user