SL-17483: Per review feedback, avoid LLPointer refcount twiddling
when passing LLPointers into functions. Only increment the refcount when storing in new ImageRequest.meow-7.2.2
parent
64209ddeea
commit
3b043d90b6
|
|
@ -34,15 +34,17 @@
|
|||
class ImageRequest
|
||||
{
|
||||
public:
|
||||
ImageRequest(LLPointer<LLImageFormatted> image,
|
||||
ImageRequest(const LLPointer<LLImageFormatted>& image,
|
||||
S32 discard, BOOL needs_aux,
|
||||
LLPointer<LLImageDecodeThread::Responder> responder);
|
||||
const LLPointer<LLImageDecodeThread::Responder>& responder);
|
||||
virtual ~ImageRequest();
|
||||
|
||||
/*virtual*/ bool processRequest();
|
||||
/*virtual*/ void finishRequest(bool completed);
|
||||
|
||||
private:
|
||||
// LLPointers stored in ImageRequest MUST be LLPointer instances rather
|
||||
// than references: we need to increment the refcount when storing these.
|
||||
// input
|
||||
LLPointer<LLImageFormatted> mFormattedImage;
|
||||
S32 mDiscardLevel;
|
||||
|
|
@ -82,8 +84,11 @@ S32 LLImageDecodeThread::getPending()
|
|||
return mThreadPool->getQueue().size();
|
||||
}
|
||||
|
||||
LLImageDecodeThread::handle_t LLImageDecodeThread::decodeImage(LLPointer<LLImageFormatted> image,
|
||||
S32 discard, BOOL needs_aux, LLPointer<LLImageDecodeThread::Responder> responder)
|
||||
LLImageDecodeThread::handle_t LLImageDecodeThread::decodeImage(
|
||||
const LLPointer<LLImageFormatted>& image,
|
||||
S32 discard,
|
||||
BOOL needs_aux,
|
||||
const LLPointer<LLImageDecodeThread::Responder>& responder)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_TEXTURE;
|
||||
|
||||
|
|
@ -113,9 +118,9 @@ LLImageDecodeThread::Responder::~Responder()
|
|||
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
ImageRequest::ImageRequest(LLPointer<LLImageFormatted> image,
|
||||
ImageRequest::ImageRequest(const LLPointer<LLImageFormatted>& image,
|
||||
S32 discard, BOOL needs_aux,
|
||||
LLPointer<LLImageDecodeThread::Responder> responder)
|
||||
const LLPointer<LLImageDecodeThread::Responder>& responder)
|
||||
: mFormattedImage(image),
|
||||
mDiscardLevel(discard),
|
||||
mNeedsAux(needs_aux),
|
||||
|
|
|
|||
|
|
@ -52,9 +52,9 @@ public:
|
|||
|
||||
// meant to resemble LLQueuedThread::handle_t
|
||||
typedef U32 handle_t;
|
||||
handle_t decodeImage(LLPointer<LLImageFormatted> image,
|
||||
handle_t decodeImage(const LLPointer<LLImageFormatted>& image,
|
||||
S32 discard, BOOL needs_aux,
|
||||
LLPointer<Responder> responder);
|
||||
const LLPointer<Responder>& responder);
|
||||
S32 getPending();
|
||||
S32 update(F32 max_time_ms);
|
||||
void shutdown();
|
||||
|
|
|
|||
Loading…
Reference in New Issue