| Index: src/core/SkBitmap.cpp
|
| diff --git a/src/core/SkBitmap.cpp b/src/core/SkBitmap.cpp
|
| index 8997f2b0140b41f62d1096e847f10b03a4cfaaa8..661dca3ea5cbe50cdd7326703d020e361ef2f1f0 100644
|
| --- a/src/core/SkBitmap.cpp
|
| +++ b/src/core/SkBitmap.cpp
|
| @@ -39,6 +39,8 @@ SkBitmap::SkBitmap(const SkBitmap& src) {
|
| SkDEBUGCODE(this->validate();)
|
| }
|
|
|
| +SkBitmap::SkBitmap(SkBitmap&& other) : SkBitmap() { this->swap(other); }
|
| +
|
| SkBitmap::~SkBitmap() {
|
| SkDEBUGCODE(this->validate();)
|
| this->freePixels();
|
| @@ -72,6 +74,14 @@ SkBitmap& SkBitmap::operator=(const SkBitmap& src) {
|
| return *this;
|
| }
|
|
|
| +SkBitmap& SkBitmap::operator=(SkBitmap&& other) {
|
| + if (this != &other) {
|
| + this->swap(other);
|
| + other.reset();
|
| + }
|
| + return *this;
|
| +}
|
| +
|
| void SkBitmap::swap(SkBitmap& other) {
|
| SkTSwap(fColorTable, other.fColorTable);
|
| SkTSwap(fPixelRef, other.fPixelRef);
|
|
|