Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv17813/src/libopenvrml/openvrml
Modified Files:
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.89
retrieving revision 1.90
diff -C2 -d -r1.89 -r1.90
*** node.cpp 23 Oct 2006 06:39:28 -0000 1.89
--- node.cpp 10 Dec 2006 07:07:30 -0000 1.90
***************
*** 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);
|