]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/weakref.h
avoid infinite recursion for richtooltops, (hopefully) fixes #15070
[wxWidgets.git] / interface / wx / weakref.h
index 05a5503fd8893469f37bc055251db6f3fefd7f85..bf79582c7e15c2a40f709cff6b5aaf6f336aa2c9 100644 (file)
@@ -3,7 +3,7 @@
 // Purpose:     interface of wxWeakRefDynamic<T>, wxWeakRef<T>
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
 // Purpose:     interface of wxWeakRefDynamic<T>, wxWeakRef<T>
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 
 /////////////////////////////////////////////////////////////////////////////
 
 
@@ -18,7 +18,7 @@
     is to handle objects which derived type one does not know.
 
     @note wxWeakRef<T> selects an implementation based on the static type of T.
     is to handle objects which derived type one does not know.
 
     @note wxWeakRef<T> selects an implementation based on the static type of T.
-          If T does not have wxTrackable statically, it defaults to to a mixed-
+          If T does not have wxTrackable statically, it defaults to a mixed-
           mode operation, where it uses @c dynamic_cast as the last measure
           (if available from the compiler and enabled when building wxWidgets).
 
           mode operation, where it uses @c dynamic_cast as the last measure
           (if available from the compiler and enabled when building wxWidgets).
 
@@ -102,6 +102,9 @@ template<typename T>
 class wxWeakRef<T> : public wxTrackerNode
 {
 public:
 class wxWeakRef<T> : public wxTrackerNode
 {
 public:
+    /// Type of the element stored by this reference.
+    typedef T element_type;
+
     /**
         Constructor. The weak reference is initialized to @e pobj.
     */
     /**
         Constructor. The weak reference is initialized to @e pobj.
     */
@@ -115,7 +118,7 @@ public:
     /**
         Destructor.
     */
     /**
         Destructor.
     */
-    ~wxWeakRef();
+    virtual ~wxWeakRef();
 
     /**
         Called when the tracked object is destroyed. Be default sets
 
     /**
         Called when the tracked object is destroyed. Be default sets
@@ -153,11 +156,10 @@ public:
     T& operator*() const;
 
     /**
     T& operator*() const;
 
     /**
-        Smart pointer member access.
-        Returns a pointer to the tracked object.
+        Smart pointer member access. Returns a pointer to the tracked object.
         If the internal pointer is @NULL this method will cause an assert in debug mode.
     */
         If the internal pointer is @NULL this method will cause an assert in debug mode.
     */
-    T* operator-();
+    T* operator->();
 
     /**
         Releases the currently tracked object and starts tracking @e pobj.
 
     /**
         Releases the currently tracked object and starts tracking @e pobj.