Fix "RefCountObjectReleaser" move-assignment operator.
Current operator properly assigns only to an empty object.
No actual problem in the current code.
May be problems in a new, especially in a debug code like this:
releaseImage = {};
The above line will not release resources as expected, and may waste a
lot of time during debugging process.
Bug: None
Change-Id: I0fe064b68ade9211fdef5790ed3c41b0101cfa93
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4262069
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
diff --git a/src/libANGLE/RefCountObject.h b/src/libANGLE/RefCountObject.h
index a3e7b3c..4ee82ac 100644
--- a/src/libANGLE/RefCountObject.h
+++ b/src/libANGLE/RefCountObject.h
@@ -76,12 +76,8 @@
RefCountObjectReleaser &operator=(RefCountObjectReleaser &&other)
{
- mContext = other.mContext;
- mObject = other.mObject;
-
- other.mContext = nullptr;
- other.mObject = nullptr;
-
+ std::swap(mContext, other.mContext);
+ std::swap(mObject, other.mObject);
return *this;
}