Skip to content

Commit

Permalink
Fix repeatedly loading engine when calling sceneFromFirstEngine (#961)
Browse files Browse the repository at this point in the history

Signed-off-by: Ian Chen <ichen@openrobotics.org>
  • Loading branch information
iche033 authored Jan 22, 2024
1 parent c62f6e9 commit 7116f01
Showing 1 changed file with 11 additions and 4 deletions.
15 changes: 11 additions & 4 deletions src/RenderEngineManager.cc
Original file line number Diff line number Diff line change
Expand Up @@ -378,11 +378,18 @@ RenderEngine *RenderEngineManagerPrivate::Engine(EngineInfo _info,
if (defaultIt != this->defaultEngines.end())
libName = defaultIt->second;

// Load the engine plugin
if (this->LoadEnginePlugin(libName, _path))
std::lock_guard<std::recursive_mutex> lock(this->enginesMutex);
// Check to see if we need to load the engine
auto engineIt = this->engines.find(libName);
// Engine is already loaded
if (engineIt != this->engines.end() && engineIt->second)
{
engine = engineIt->second;
}
// Load the engine
else if (this->LoadEnginePlugin(libName, _path))
{
std::lock_guard<std::recursive_mutex> lock(this->enginesMutex);
auto engineIt = this->engines.find(libName);
engineIt = this->engines.find(libName);
if (engineIt != this->engines.end())
engine = engineIt->second;
}
Expand Down

0 comments on commit 7116f01

Please sign in to comment.