From: <br...@us...> - 2010-08-20 19:19:36
|
Revision: 4186 http://openvrml.svn.sourceforge.net/openvrml/?rev=4186&view=rev Author: braden Date: 2010-08-20 19:19:29 +0000 (Fri, 20 Aug 2010) Log Message: ----------- Must use dynamic_cast due to virtual inheritance. Modified Paths: -------------- trunk/ChangeLog trunk/src/libopenvrml/openvrml/event.h Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-08-20 04:53:46 UTC (rev 4185) +++ trunk/ChangeLog 2010-08-20 19:19:29 UTC (rev 4186) @@ -1,6 +1,12 @@ 2010-08-20 Braden McDaniel <br...@en...> * src/libopenvrml/openvrml/event.h + (openvrml::event_emitter::listeners<FieldValue>() const): Must use + dynamic_cast due to virtual inheritance. + +2010-08-20 Braden McDaniel <br...@en...> + + * src/libopenvrml/openvrml/event.h (openvrml::event_emitter): Changed add and remove member function templates from public to protected access. Modified: trunk/src/libopenvrml/openvrml/event.h =================================================================== --- trunk/src/libopenvrml/openvrml/event.h 2010-08-20 04:53:46 UTC (rev 4185) +++ trunk/src/libopenvrml/openvrml/event.h 2010-08-20 19:19:29 UTC (rev 4186) @@ -229,8 +229,10 @@ field_value_listener<FieldValue> * operator()(event_listener * listener) const OPENVRML_NOTHROW { - return boost::polymorphic_downcast< - field_value_listener<FieldValue> *>(listener); + field_value_listener<FieldValue> * const result = + dynamic_cast<field_value_listener<FieldValue> *>(listener); + assert(result); + return result; } }; boost::shared_lock<boost::shared_mutex> lock(this->listeners_mutex_); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |