diff --git a/modules/juce_core/memory/juce_ScopedPointer.h b/modules/juce_core/memory/juce_ScopedPointer.h index a7fcff0dd8..1aa8031e1d 100644 --- a/modules/juce_core/memory/juce_ScopedPointer.h +++ b/modules/juce_core/memory/juce_ScopedPointer.h @@ -182,11 +182,11 @@ public: /** Swaps this object with that of another ScopedPointer. The two objects simply exchange their pointers. */ - void swapWith (ScopedPointer & other) noexcept + void swapWith (ScopedPointer& other) noexcept { // Two ScopedPointers should never be able to refer to the same object - if // this happens, you must have done something dodgy! - jassert (object != other.object || this == other.getAddress()); + jassert (object != other.object || this == other.getAddress() || object == nullptr); std::swap (object, other.object); } @@ -231,7 +231,7 @@ private: template bool operator== (const ScopedPointer& pointer1, ObjectType* const pointer2) noexcept { - return static_cast (pointer1) == pointer2; + return static_cast (pointer1) == pointer2; } /** Compares a ScopedPointer with another pointer. @@ -240,7 +240,7 @@ bool operator== (const ScopedPointer& pointer1, ObjectType* const po template bool operator!= (const ScopedPointer& pointer1, ObjectType* const pointer2) noexcept { - return static_cast (pointer1) != pointer2; + return static_cast (pointer1) != pointer2; } //==============================================================================