]> git.saurik.com Git - wxWidgets.git/commitdiff
fixing a few typos, wxAny copy constructor implementation, making wxAnyList available...
authorStefan Csomor <csomor@advancedconcepts.ch>
Thu, 6 Jan 2011 11:06:12 +0000 (11:06 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Thu, 6 Jan 2011 11:06:12 +0000 (11:06 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66608 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/any.h
include/wx/variant.h
src/common/any.cpp
src/common/variant.cpp

index 092e71078d7a16a487b045ed3aa3fb732fa90b5c..614cb09db75eeccb832363d05923e31b37426eca 100644 (file)
@@ -20,7 +20,7 @@
 #include "wx/string.h"
 #include "wx/meta/if.h"
 #include "wx/typeinfo.h"
 #include "wx/string.h"
 #include "wx/meta/if.h"
 #include "wx/typeinfo.h"
-
+#include "wx/list.h"
 
 // Size of the wxAny value buffer.
 enum
 
 // Size of the wxAny value buffer.
 enum
@@ -104,7 +104,7 @@ public:
         a specific C++ data type.
 
         @remarks This template function does not work on some older compilers
         a specific C++ data type.
 
         @remarks This template function does not work on some older compilers
-                (such as Visual C++ 6.0). For full compiler ccompatibility
+                (such as Visual C++ 6.0). For full compiler compatibility
                 please use wxANY_VALUE_TYPE_CHECK_TYPE(valueTypePtr, T) macro
                 instead.
 
                 please use wxANY_VALUE_TYPE_CHECK_TYPE(valueTypePtr, T) macro
                 instead.
 
@@ -215,7 +215,7 @@ public:
 
     static const T& GetValue(const wxAnyValueBuffer& buf)
     {
 
     static const T& GetValue(const wxAnyValueBuffer& buf)
     {
-        // Breaking this code into two lines should supress
+        // Breaking this code into two lines should suppress
         // GCC's 'type-punned pointer will break strict-aliasing rules'
         // warning.
         const T* value = reinterpret_cast<const T*>(&buf.m_buffer[0]);
         // GCC's 'type-punned pointer will break strict-aliasing rules'
         // warning.
         const T* value = reinterpret_cast<const T*>(&buf.m_buffer[0]);
@@ -558,7 +558,7 @@ public: \
 // (this is needed only for types that are referred to from wxBase.
 // currently we may not use any of these types from there, but let's
 // use the macro on at least one to make sure it compiles since we can't
 // (this is needed only for types that are referred to from wxBase.
 // currently we may not use any of these types from there, but let's
 // use the macro on at least one to make sure it compiles since we can't
-// really test it properly in unittests since a separate DLL would
+// really test it properly in unit tests since a separate DLL would
 // be needed).
 #if wxUSE_DATETIME
     #include "wx/datetime.h"
 // be needed).
 #if wxUSE_DATETIME
     #include "wx/datetime.h"
@@ -934,7 +934,7 @@ public:
         no type conversion is performed, so if the type is incorrect an
         assertion failure will occur.
 
         no type conversion is performed, so if the type is incorrect an
         assertion failure will occur.
 
-        @remarks For conveniency, conversion is done when T is wxString. This
+        @remarks For convenience, conversion is done when T is wxString. This
                  is useful when a string literal (which are treated as
                  const char* and const wchar_t*) has been assigned to wxAny.
 
                  is useful when a string literal (which are treated as
                  const char* and const wchar_t*) has been assigned to wxAny.
 
@@ -968,10 +968,10 @@ public:
     }
 
     /**
     }
 
     /**
-        Template function that etrieves and converts the value of this
+        Template function that retrieves and converts the value of this
         variant to the type that T* value is.
 
         variant to the type that T* value is.
 
-        @return Returns @true if conversion was succesfull.
+        @return Returns @true if conversion was successful.
     */
     template<typename T>
     bool GetAs(T* value) const
     */
     template<typename T>
     bool GetAs(T* value) const
@@ -1007,12 +1007,15 @@ private:
     // Assignment functions
     void AssignAny(const wxAny& any)
     {
     // Assignment functions
     void AssignAny(const wxAny& any)
     {
-        // Must delete value - CopyBuffer() never does that
-        m_type->DeleteValue(m_buffer);
+        if ( m_type != wxAnyNullValueType )
+        {
+            // Must delete value - CopyBuffer() never does that
+            m_type->DeleteValue(m_buffer);
+        }
 
         wxAnyValueType* newType = any.m_type;
 
 
         wxAnyValueType* newType = any.m_type;
 
-        if ( !newType->IsSameType(m_type) )
+        if ( m_type == wxAnyNullValueType || !newType->IsSameType(m_type) )
             m_type = newType;
 
         newType->CopyBuffer(any.m_buffer, m_buffer);
             m_type = newType;
 
         newType->CopyBuffer(any.m_buffer, m_buffer);
@@ -1075,7 +1078,7 @@ inline bool wxAnyValueType::CheckType(T* reserved) const
     return wxAnyValueTypeImpl<T>::IsSameClass(this);
 }
 
     return wxAnyValueTypeImpl<T>::IsSameClass(this);
 }
 
-
+WX_DECLARE_LIST_WITH_DECL(wxAny, wxAnyList, class WXDLLIMPEXP_BASE);
 
 #endif // wxUSE_ANY
 
 
 #endif // wxUSE_ANY
 
index e24fe8fffc68c51b2aa7d3c4a5b9281564e41ae4..47922536296d8d1dd1aa55053c8ddcb193aa03e5 100644 (file)
@@ -462,9 +462,6 @@ wxVariantData* CLASSNAME::VariantDataFactory(const wxAny& any) \
 } \
 REGISTER_WXANY_CONVERSION(T, CLASSNAME)
 
 } \
 REGISTER_WXANY_CONVERSION(T, CLASSNAME)
 
-// This is needed for wxVariantList conversion
-WX_DECLARE_LIST_WITH_DECL(wxAny, wxAnyList, class WXDLLIMPEXP_BASE);
-
 #else // if !wxUSE_ANY
 
 #define DECLARE_WXANY_CONVERSION()
 #else // if !wxUSE_ANY
 
 #define DECLARE_WXANY_CONVERSION()
index 9c8549fcdaf7312f29c666504733ab72714fcca8..9a2953bca2f8e2a0263c8dd083d482173ec3ccbc 100644 (file)
@@ -524,4 +524,7 @@ WX_IMPLEMENT_ANY_VALUE_TYPE(wxAnyValueTypeImpl<wxAnyNullValue>)
 wxAnyValueType* wxAnyNullValueType =
     wxAnyValueTypeImpl<wxAnyNullValue>::GetInstance();
 
 wxAnyValueType* wxAnyNullValueType =
     wxAnyValueTypeImpl<wxAnyNullValue>::GetInstance();
 
+#include "wx/listimpl.cpp"
+WX_DEFINE_LIST(wxAnyList)
+
 #endif // wxUSE_ANY
 #endif // wxUSE_ANY
index 207c3a4f30de58dd19c656accf0cf112939f7200..5f7daabe9a6f5b91d25f3992402a6f6f37c702fc 100644 (file)
@@ -1977,8 +1977,6 @@ protected:
 // Convert to/from list of wxAnys
 //
 
 // Convert to/from list of wxAnys
 //
 
-WX_DEFINE_LIST(wxAnyList)
-
 bool wxVariantDataList::GetAsAny(wxAny* any) const
 {
     wxAnyList dst;
 bool wxVariantDataList::GetAsAny(wxAny* any) const
 {
     wxAnyList dst;