Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1598/src/libopenvrml/openvrml
Modified Files:
node_impl_util.h
Log Message:
static_cast the lhs of the comparison to openvrml::event_listener*. Microsoft cl 13.10.3077 appears to have a bug with virtual inheritance and requires this static_cast to generate the correct code. Without the static_cast, the comparison will never be true.
Index: node_impl_util.h
===================================================================
RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/node_impl_util.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** node_impl_util.h 3 Nov 2005 04:54:56 -0000 1.4
--- node_impl_util.h 15 Nov 2005 03:22:27 -0000 1.5
***************
*** 249,253 ****
{
Node & n = dynamic_cast<Node &>(this->listener_->node());
! return this->listener_ == &arg.second->deref(n);
}
--- 249,259 ----
{
Node & n = dynamic_cast<Node &>(this->listener_->node());
! //
! // This static_cast shouldn't be necessary. However,
! // Microsoft cl 13.10.3077 will not generate correct code
! // without it.
! //
! return static_cast<const openvrml::event_listener *>(
! this->listener_) == &arg.second->deref(n);
}
|