From 43c42c18d36c703a88b1b7b697bac27fe5608eca Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Fri, 17 May 2013 20:00:10 +0000 Subject: [PATCH] Test using wxString::ToCDouble() in wxAny. Apparently the heap corruption problems in wxOSX/PPC build are due to using wxString::ToDouble() and not anything done specifically in wxAny at all. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74019 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/common/any.cpp | 2 +- tests/any/anytest.cpp | 12 ------------ 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/src/common/any.cpp b/src/common/any.cpp index c8681efec7..074412c80e 100644 --- a/src/common/any.cpp +++ b/src/common/any.cpp @@ -374,7 +374,7 @@ bool wxAnyConvertString(const wxString& value, else if ( wxANY_VALUE_TYPE_CHECK_TYPE(dstType, double) ) { double value2; - if ( !value.ToDouble(&value2) ) + if ( !value.ToCDouble(&value2) ) return false; wxAnyValueTypeImplDouble::SetValue(value2, dst); } diff --git a/tests/any/anytest.cpp b/tests/any/anytest.cpp index 447e487730..29dd5170a9 100644 --- a/tests/any/anytest.cpp +++ b/tests/any/anytest.cpp @@ -306,14 +306,6 @@ void wxAnyTestCase::Null() void wxAnyTestCase::GetAs() { - // FIXME: Parts of this test result in heap corruption in wxOSX/PPC builds - // for some unknown reason, disable them to at least allow running - // the other tests. -#if defined(__WXOSX__) && defined(__POWERPC__) - #warning "Disabling some tests under PPC, please consider debugging them." - #define wxDONT_TEST -#endif // OSX/PPC - // // Test dynamic conversion bool res; @@ -364,9 +356,7 @@ void wxAnyTestCase::GetAs() // should not work. CPPUNIT_ASSERT(!m_anyStringString1.GetAs(&l)); CPPUNIT_ASSERT(!m_anyStringString1.GetAs(&ul)); -#ifndef wxDONT_TEST CPPUNIT_ASSERT(!m_anyStringString1.GetAs(&f)); -#endif // !wxDONT_TEST CPPUNIT_ASSERT(!m_anyStringString1.GetAs(&b)); // Let's test some other conversions from string that should work. @@ -379,11 +369,9 @@ void wxAnyTestCase::GetAs() res = anyString.GetAs(&ul); CPPUNIT_ASSERT(res); CPPUNIT_ASSERT_EQUAL(ul, static_cast(15)); -#ifndef wxDONT_TEST res = anyString.GetAs(&f); CPPUNIT_ASSERT(res); CPPUNIT_ASSERT_DOUBLES_EQUAL(f, 15.0, FEQ_DELTA); -#endif // !wxDONT_TEST anyString = "TRUE"; res = anyString.GetAs(&b); CPPUNIT_ASSERT(res);