Bugfix in Recursive loopback of RenderView inside a SessionSource: fixed

loading and import into main session.
This commit is contained in:
brunoherbelin
2021-02-04 23:25:49 +01:00
parent d76dfa4a9d
commit 93b6bc9ca4
10 changed files with 145 additions and 43 deletions

View File

@@ -85,12 +85,12 @@ void SessionCreator::load(const std::string& filename)
// session file seems legit, create a session
session_ = new Session;
// load views config (includes resolution of session rendering)
loadConfig( xmlDoc_.FirstChildElement("Views") );
// ready to read sources
SessionLoader::load( xmlDoc_.FirstChildElement("Session") );
// load optionnal config
loadConfig( xmlDoc_.FirstChildElement("Views") );
// all good
session_->setFilename(filename);
}
@@ -145,7 +145,7 @@ void SessionLoader::load(XMLElement *sessionNode)
load_source = new SessionSource;
}
else if ( std::string(pType) == "RenderSource") {
load_source = new RenderSource(session_);
load_source = new RenderSource;
}
else if ( std::string(pType) == "PatternSource") {
load_source = new PatternSource;
@@ -245,7 +245,7 @@ Source *SessionLoader::cloneOrCreateSource(tinyxml2::XMLElement *sourceNode)
load_source = new SessionSource;
}
else if ( std::string(pType) == "RenderSource") {
load_source = new RenderSource(session_);
load_source = new RenderSource;
}
else if ( std::string(pType) == "PatternSource") {
load_source = new PatternSource;
@@ -534,6 +534,11 @@ void SessionLoader::visit (SessionSource& s)
}
void SessionLoader::visit (RenderSource& s)
{
s.setSession( session_ );
}
void SessionLoader::visit (PatternSource& s)
{
uint t = xmlCurrent_->UnsignedAttribute("pattern");