diff --git a/include/wx/weakref.h b/include/wx/weakref.h index a893ba4049..3d4c445774 100644 --- a/include/wx/weakref.h +++ b/include/wx/weakref.h @@ -25,6 +25,14 @@ public: virtual ~wxWeakRef() { Assign(NULL); } + // test for pointer validity: defining conversion to unspecified_bool_type + // and not more obvious bool to avoid implicit conversions to integer types + typedef T *(wxWeakRef::*unspecified_bool_type)() const; + operator unspecified_bool_type() const + { + return m_pobj ? &wxWeakRef::get : NULL; + } + T * get() const { return m_pobj;