Index: base/memory/weak_ptr.cc |
diff --git a/base/memory/weak_ptr.cc b/base/memory/weak_ptr.cc |
index 9dec8fd6db9c29956673a79326efa4b22af2f3ad..673da6192ece3aaa0bb47eebd48849ae5bc1c909 100644 |
--- a/base/memory/weak_ptr.cc |
+++ b/base/memory/weak_ptr.cc |
@@ -35,7 +35,7 @@ WeakReference::~WeakReference() { |
} |
bool WeakReference::is_valid() const { |
- return flag_ && flag_->IsValid(); |
+ return flag_.get() && flag_->IsValid(); |
} |
WeakReferenceOwner::WeakReferenceOwner() { |
@@ -50,11 +50,11 @@ WeakReference WeakReferenceOwner::GetRef() const { |
// have gone away. |
if (!HasRefs()) |
flag_ = new WeakReference::Flag(); |
- return WeakReference(flag_); |
+ return WeakReference(flag_.get()); |
} |
void WeakReferenceOwner::Invalidate() { |
- if (flag_) { |
+ if (flag_.get()) { |
flag_->Invalidate(); |
flag_ = NULL; |
} |