From: Braden M. <br...@us...> - 2006-12-10 07:07:10
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv17759/src/libopenvrml/openvrml Modified Files: Tag: OpenVRML-0_16-BRANCH node.cpp Log Message: Apple's gcc 4.0.1 on PPC seems to have some problem with classes defined inside a function definition. Index: node.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/node.cpp,v retrieving revision 1.88.2.1 retrieving revision 1.88.2.2 diff -C2 -d -r1.88.2.1 -r1.88.2.2 *** node.cpp 23 Oct 2006 06:39:17 -0000 1.88.2.1 --- node.cpp 10 Dec 2006 07:07:08 -0000 1.88.2.2 *************** *** 1683,1723 **** } openvrml::event_listener & self_ref_node::do_event_listener(const std::string &) OPENVRML_THROW1(openvrml::unsupported_interface) { - class dummy_listener : public openvrml::sfbool_listener { - public: - virtual ~dummy_listener() OPENVRML_NOTHROW - {} - - private: - virtual void do_process_event(const openvrml::sfbool &, double) - OPENVRML_THROW1(std::bad_alloc) - {} - }; - static dummy_listener listener; return listener; } openvrml::event_emitter & self_ref_node::do_event_emitter(const std::string &) OPENVRML_THROW1(openvrml::unsupported_interface) { - class dummy_emitter : public openvrml::sfbool_emitter { - public: - explicit dummy_emitter(const openvrml::sfbool & value): - openvrml::event_emitter(value), - openvrml::sfbool_emitter(value) - {} - - private: - virtual const std::string do_eventout_id() const OPENVRML_NOTHROW - { - return std::string(); - } - }; - openvrml::sfbool val; static dummy_emitter emitter(val); --- 1683,1723 ---- } + class OPENVRML_LOCAL dummy_listener : public openvrml::sfbool_listener { + public: + virtual ~dummy_listener() OPENVRML_NOTHROW + {} + + private: + virtual void do_process_event(const openvrml::sfbool &, double) + OPENVRML_THROW1(std::bad_alloc) + {} + }; + openvrml::event_listener & self_ref_node::do_event_listener(const std::string &) OPENVRML_THROW1(openvrml::unsupported_interface) { static dummy_listener listener; return listener; } + class OPENVRML_LOCAL dummy_emitter : public openvrml::sfbool_emitter { + public: + explicit dummy_emitter(const openvrml::sfbool & value): + openvrml::event_emitter(value), + openvrml::sfbool_emitter(value) + {} + + private: + virtual const std::string do_eventout_id() const OPENVRML_NOTHROW + { + return std::string(); + } + }; + openvrml::event_emitter & self_ref_node::do_event_emitter(const std::string &) OPENVRML_THROW1(openvrml::unsupported_interface) { openvrml::sfbool val; static dummy_emitter emitter(val); |