X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1e6b2edfc836c8867cb868e73d35f36a6e68f943..3a6ec3c88033c43e108cb1f302717696682eb34f:/src/common/variant.cpp?ds=inline diff --git a/src/common/variant.cpp b/src/common/variant.cpp index b71f67801d..95633e6eeb 100644 --- a/src/common/variant.cpp +++ b/src/common/variant.cpp @@ -122,6 +122,9 @@ bool wxVariant::operator== (const wxVariant& variant) const if (IsNull() || variant.IsNull()) return (IsNull() == variant.IsNull()); + if (GetType() != variant.GetType()) + return false; + return (GetData()->Eq(* variant.GetData())); } @@ -514,8 +517,6 @@ double wxVariant::GetDouble() const // wxVariantBoolData // ----------------------------------------------------------------- -#ifdef HAVE_BOOL - class WXDLLIMPEXP_BASE wxVariantDataBool: public wxVariantData { public: @@ -651,8 +652,6 @@ bool wxVariant::GetBool() const } } -#endif // HAVE_BOOL - // ----------------------------------------------------------------- // wxVariantDataChar // ----------------------------------------------------------------- @@ -1035,7 +1034,7 @@ bool wxVariantDataWxObjectPtr::Write(wxSTD ostream& str) const bool wxVariantDataWxObjectPtr::Write(wxString& str) const { - str.Printf(wxT("%s(%p)"), GetType().c_str(), wx_static_cast(void*, m_value)); + str.Printf(wxT("%s(%p)"), GetType().c_str(), static_cast(m_value)); return true; } @@ -1725,10 +1724,8 @@ bool wxVariant::Convert(long* value) const *value = (long) (((wxVariantDoubleData*)GetData())->GetValue()); else if (type == wxT("long")) *value = ((wxVariantDataLong*)GetData())->GetValue(); -#ifdef HAVE_BOOL else if (type == wxT("bool")) *value = (long) (((wxVariantDataBool*)GetData())->GetValue()); -#endif else if (type == wxT("string")) *value = wxAtol(((wxVariantDataString*)GetData())->GetValue()); else @@ -1744,10 +1741,8 @@ bool wxVariant::Convert(bool* value) const *value = ((int) (((wxVariantDoubleData*)GetData())->GetValue()) != 0); else if (type == wxT("long")) *value = (((wxVariantDataLong*)GetData())->GetValue() != 0); -#ifdef HAVE_BOOL else if (type == wxT("bool")) *value = ((wxVariantDataBool*)GetData())->GetValue(); -#endif else if (type == wxT("string")) { wxString val(((wxVariantDataString*)GetData())->GetValue()); @@ -1772,10 +1767,8 @@ bool wxVariant::Convert(double* value) const *value = ((wxVariantDoubleData*)GetData())->GetValue(); else if (type == wxT("long")) *value = (double) (((wxVariantDataLong*)GetData())->GetValue()); -#ifdef HAVE_BOOL else if (type == wxT("bool")) *value = (double) (((wxVariantDataBool*)GetData())->GetValue()); -#endif else if (type == wxT("string")) *value = (double) wxAtof(((wxVariantDataString*)GetData())->GetValue()); else @@ -1791,10 +1784,8 @@ bool wxVariant::Convert(wxUniChar* value) const *value = ((wxVariantDataChar*)GetData())->GetValue(); else if (type == wxT("long")) *value = (char) (((wxVariantDataLong*)GetData())->GetValue()); -#ifdef HAVE_BOOL else if (type == wxT("bool")) *value = (char) (((wxVariantDataBool*)GetData())->GetValue()); -#endif else return false;