]> git.saurik.com Git - wxWidgets.git/commitdiff
Use (newly) added wxStaticCastVariantData() to fix wxNO_RTTI build.
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 30 Jul 2012 19:16:30 +0000 (19:16 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 30 Jul 2012 19:16:30 +0000 (19:16 +0000)
Don't define wxDynamicCastVariantData if RTTI is disabled and don't use it in
wxConvertVariantToOle() code as we don't really need it there anyhow.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72262 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/variant.h
src/msw/ole/oleutils.cpp

index 47922536296d8d1dd1aa55053c8ddcb193aa03e5..318a483144a81c0441a349632a8a46c8d53b110d 100644 (file)
@@ -570,7 +570,11 @@ bool classname##VariantData::Eq(wxVariantData& data) const \
                   var.GetWxObjectPtr() : NULL));
 
 // Replacement for using wxDynamicCast on a wxVariantData object
-#define wxDynamicCastVariantData(data, classname) dynamic_cast<classname*>(data)
+#ifndef wxNO_RTTI
+    #define wxDynamicCastVariantData(data, classname) dynamic_cast<classname*>(data)
+#endif
+
+#define wxStaticCastVariantData(data, classname) static_cast<classname*>(data)
 
 extern wxVariant WXDLLIMPEXP_BASE wxNullVariant;
 
index f6ec69f5f6004b5a9a9c05d246e547cc7ff65a00..30623186cf34ee477ece03244269fcf10a178229 100644 (file)
@@ -338,16 +338,16 @@ WXDLLEXPORT bool wxConvertVariantToOle(const wxVariant& variant, VARIANTARG& ole
     if (type == wxT("errorcode"))
     {
         wxVariantDataErrorCode* const
-            ec = wxDynamicCastVariantData(variant.GetData(),
-                                          wxVariantDataErrorCode);
+            ec = wxStaticCastVariantData(variant.GetData(),
+                                         wxVariantDataErrorCode);
         oleVariant.vt = VT_ERROR;
         oleVariant.scode = ec->GetValue();
     }
     else if (type == wxT("currency"))
     {
         wxVariantDataCurrency* const
-            c = wxDynamicCastVariantData(variant.GetData(),
-                                         wxVariantDataCurrency);
+            c = wxStaticCastVariantData(variant.GetData(),
+                                        wxVariantDataCurrency);
         oleVariant.vt = VT_CY;
         oleVariant.cyVal = c->GetValue();
     }