Revision: 8735
http://playerstage.svn.sourceforge.net/playerstage/?rev=8735&view=rev
Author: natepak
Date: 2010-05-29 18:21:16 +0000 (Sat, 29 May 2010)
Log Message:
-----------
Fixed loading of plugins
Modified Paths:
--------------
code/gazebo/branches/simpar/server/GazeboError.cc
code/gazebo/branches/simpar/server/Handler.cc
code/gazebo/branches/simpar/server/Simulator.cc
code/gazebo/branches/simpar/server/rendering/OgreVisual.cc
code/gazebo/branches/simpar/tools/gazebomodel.cc
code/gazebo/branches/simpar/worlds/pioneer2dx.world
Modified: code/gazebo/branches/simpar/server/GazeboError.cc
===================================================================
--- code/gazebo/branches/simpar/server/GazeboError.cc 2010-05-29 17:53:34 UTC
(rev 8734)
+++ code/gazebo/branches/simpar/server/GazeboError.cc 2010-05-29 18:21:16 UTC
(rev 8735)
@@ -38,6 +38,7 @@
this->file = file;
this->line = line;
this->str = msg;
+ std::cerr << *this << "\n";
}
////////////////////////////////////////////////////////////////////////////////
Modified: code/gazebo/branches/simpar/server/Handler.cc
===================================================================
--- code/gazebo/branches/simpar/server/Handler.cc 2010-05-29 17:53:34 UTC
(rev 8734)
+++ code/gazebo/branches/simpar/server/Handler.cc 2010-05-29 18:21:16 UTC
(rev 8735)
@@ -50,17 +50,15 @@
void* handle = dlopen(fullname.c_str(), RTLD_LAZY|RTLD_GLOBAL);
if (!handle)
{
- std::ostringstream stream;
- stream << "Failed to load " << fullname << ": " << dlerror();
- gzthrow(stream.str());
+ std::cerr << "Failed to load plugin " << fullname << ": " << dlerror();
+ return NULL;
}
Handler *(*registerFunc)() = (Handler *(*)())dlsym(handle,
registerName.c_str());
if(!registerFunc)
{
- std::ostringstream stream;
- stream << "Failed to resolve " << registerName << ": " << dlerror();
- gzthrow(stream.str());
+ std::cerr << "Failed to resolve " << registerName << ": " << dlerror();
+ return NULL;
}
// Register the new controller.
@@ -75,10 +73,9 @@
int errors = lt_dlinit();
if (errors)
{
- std::ostringstream stream;
- stream << "Error(s) initializing dynamic loader ("
+ std::cerr << "Error(s) initializing dynamic loader ("
<< errors << ", " << lt_dlerror() << ")";
- gzthrow(stream.str());
+ return NULL;
}
else
init_done = true;
@@ -88,17 +85,15 @@
if (!handle)
{
- std::ostringstream stream;
- stream << "Failed to load " << fullname << ": " << lt_dlerror();
- gzthrow(stream.str());
+ std::cerr << "Failed to load " << fullname << ": " << lt_dlerror();
+ return NULL;
}
Handler *(*registerFunc)() = (Handler *(*)())lt_dlsym(handle,
registerName.c_str());
if(!registerFunc)
{
- std::ostringstream stream;
- stream << "Failed to resolve " << registerName << ": " << lt_dlerror();
- gzthrow(stream.str());
+ std::cerr << "Failed to resolve " << registerName << ": " << lt_dlerror();
+ return NULL;
}
// Register the new controller.
Modified: code/gazebo/branches/simpar/server/Simulator.cc
===================================================================
--- code/gazebo/branches/simpar/server/Simulator.cc 2010-05-29 17:53:34 UTC
(rev 8734)
+++ code/gazebo/branches/simpar/server/Simulator.cc 2010-05-29 18:21:16 UTC
(rev 8735)
@@ -767,8 +767,11 @@
void Simulator::AddHandler(const std::string &name)
{
Handler *handler = Handler::Create(name);
- handler->Load();
- this->handlers.push_back(handler);
+ if (handler)
+ {
+ handler->Load();
+ this->handlers.push_back(handler);
+ }
}
////////////////////////////////////////////////////////////////////////////////
Modified: code/gazebo/branches/simpar/server/rendering/OgreVisual.cc
===================================================================
--- code/gazebo/branches/simpar/server/rendering/OgreVisual.cc 2010-05-29
17:53:34 UTC (rev 8734)
+++ code/gazebo/branches/simpar/server/rendering/OgreVisual.cc 2010-05-29
18:21:16 UTC (rev 8735)
@@ -1088,7 +1088,10 @@
{
if (value)
{
- this->ribbonTrail->addNode(this->sceneNode);
+ try
+ {
+ this->ribbonTrail->addNode(this->sceneNode);
+ } catch (...) { }
}
else
{
Modified: code/gazebo/branches/simpar/tools/gazebomodel.cc
===================================================================
--- code/gazebo/branches/simpar/tools/gazebomodel.cc 2010-05-29 17:53:34 UTC
(rev 8734)
+++ code/gazebo/branches/simpar/tools/gazebomodel.cc 2010-05-29 18:21:16 UTC
(rev 8735)
@@ -1,5 +1,9 @@
#include <iostream>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
#include <stdio.h>
+#include <stdlib.h>
#include <boost/regex.hpp>
#include <boost/algorithm/string.hpp>
#include <boost/lexical_cast.hpp>
@@ -136,7 +140,14 @@
std::cerr << "Missing pluing filename\n";
else
{
- this->simIface->AddHandler(params[1]);
+ std::string plugin;
+ struct stat buf;
+ if (stat(params[1].c_str(),&buf) == 0)
+ plugin = std::string(getenv("PWD")) + "/" + params[1];
+ else
+ plugin = params[1];
+
+ this->simIface->AddHandler(plugin);
}
}
@@ -149,7 +160,14 @@
std::cerr << "Missing pluing filename\n";
else
{
- this->simIface->RemoveHandler(params[1]);
+ std::string plugin;
+ struct stat buf;
+ if (stat(params[1].c_str(),&buf) == 0)
+ plugin = std::string(getenv("PWD")) + "/" + params[1];
+ else
+ plugin = params[1];
+
+ this->simIface->RemoveHandler(plugin);
}
}
Modified: code/gazebo/branches/simpar/worlds/pioneer2dx.world
===================================================================
--- code/gazebo/branches/simpar/worlds/pioneer2dx.world 2010-05-29 17:53:34 UTC
(rev 8734)
+++ code/gazebo/branches/simpar/worlds/pioneer2dx.world 2010-05-29 18:21:16 UTC
(rev 8735)
@@ -94,7 +94,7 @@
<xyz>0 0 0.15</xyz>
<rpy>0.0 0.0 90.0</rpy>
- <!--<model:physical name="laser">
+ <model:physical name="laser">
<xyz>0.15 0 0.18</xyz>
<attach>
@@ -106,7 +106,6 @@
<xi:include href="models/sicklms200.model" />
</include>
</model:physical>
- -->
<include embedded="true">
<xi:include href="models/pioneer2dx.model" />
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
_______________________________________________
Playerstage-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-commit