mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-26 06:11:37 +00:00
Bug 1063034 - Changes RasterImage::mAnim from raw pointer to UniquePtr. r=jrmuizel
This commit is contained in:
parent
180eb59b7f
commit
4f986852bd
@ -390,7 +390,6 @@ RasterImage::RasterImage(imgStatusTracker* aStatusTracker,
|
|||||||
ImageResource(aURI), // invoke superclass's constructor
|
ImageResource(aURI), // invoke superclass's constructor
|
||||||
mSize(0,0),
|
mSize(0,0),
|
||||||
mFrameDecodeFlags(DECODE_FLAGS_DEFAULT),
|
mFrameDecodeFlags(DECODE_FLAGS_DEFAULT),
|
||||||
mAnim(nullptr),
|
|
||||||
mLockCount(0),
|
mLockCount(0),
|
||||||
mDecodeCount(0),
|
mDecodeCount(0),
|
||||||
mRequestedSampleSize(0),
|
mRequestedSampleSize(0),
|
||||||
@ -463,7 +462,6 @@ RasterImage::~RasterImage()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
delete mAnim;
|
|
||||||
mAnim = nullptr;
|
mAnim = nullptr;
|
||||||
|
|
||||||
// Total statistics
|
// Total statistics
|
||||||
@ -1123,7 +1121,7 @@ RasterImage::EnsureAnimExists()
|
|||||||
if (!mAnim) {
|
if (!mAnim) {
|
||||||
|
|
||||||
// Create the animation context
|
// Create the animation context
|
||||||
mAnim = new FrameAnimator(mFrameBlender, mAnimationMode);
|
mAnim = MakeUnique<FrameAnimator>(mFrameBlender, mAnimationMode);
|
||||||
|
|
||||||
// We don't support discarding animated images (See bug 414259).
|
// We don't support discarding animated images (See bug 414259).
|
||||||
// Lock the image and throw away the key.
|
// Lock the image and throw away the key.
|
||||||
@ -1646,7 +1644,6 @@ RasterImage::AddSourceData(const char *aBuffer, uint32_t aCount)
|
|||||||
StopAnimation();
|
StopAnimation();
|
||||||
mAnimationFinished = false;
|
mAnimationFinished = false;
|
||||||
if (mAnim) {
|
if (mAnim) {
|
||||||
delete mAnim;
|
|
||||||
mAnim = nullptr;
|
mAnim = nullptr;
|
||||||
}
|
}
|
||||||
// If there's only one frame, this could cause flickering
|
// If there's only one frame, this could cause flickering
|
||||||
|
@ -35,6 +35,7 @@
|
|||||||
#include "mozilla/TimeStamp.h"
|
#include "mozilla/TimeStamp.h"
|
||||||
#include "mozilla/StaticPtr.h"
|
#include "mozilla/StaticPtr.h"
|
||||||
#include "mozilla/WeakPtr.h"
|
#include "mozilla/WeakPtr.h"
|
||||||
|
#include "mozilla/UniquePtr.h"
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
#include "imgIContainerDebug.h"
|
#include "imgIContainerDebug.h"
|
||||||
#endif
|
#endif
|
||||||
@ -644,7 +645,7 @@ private: // data
|
|||||||
// IMPORTANT: if you use mAnim in a method, call EnsureImageIsDecoded() first to ensure
|
// IMPORTANT: if you use mAnim in a method, call EnsureImageIsDecoded() first to ensure
|
||||||
// that the frames actually exist (they may have been discarded to save memory, or
|
// that the frames actually exist (they may have been discarded to save memory, or
|
||||||
// we maybe decoding on draw).
|
// we maybe decoding on draw).
|
||||||
FrameAnimator* mAnim;
|
UniquePtr<FrameAnimator> mAnim;
|
||||||
|
|
||||||
// Discard members
|
// Discard members
|
||||||
uint32_t mLockCount;
|
uint32_t mLockCount;
|
||||||
|
Loading…
Reference in New Issue
Block a user