From 20f4eec97ad77cf37c3c9a505381cee9b6c47d0d Mon Sep 17 00:00:00 2001 From: randomdan Date: Wed, 13 Feb 2013 19:48:09 +0000 Subject: Fix bug with lookups introduced in 761 --- project2/common/rowProcessor.cpp | 5 +++-- project2/common/rowProcessor.h | 2 +- project2/common/variables-modlookup.cpp | 1 - project2/common/variables.h | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/project2/common/rowProcessor.cpp b/project2/common/rowProcessor.cpp index f83dfa7..4e3bf1d 100644 --- a/project2/common/rowProcessor.cpp +++ b/project2/common/rowProcessor.cpp @@ -7,7 +7,6 @@ #include RowProcessor::RowProcessor(ScriptNodePtr p) : - SourceObject(p), IHaveParameters(p), recordSource(p->value("source").as()), filter(p->value("filter", "").as()), @@ -43,7 +42,9 @@ RowProcessor::execute() const } } Logger()->messagebf(LOG_DEBUG, "Executing from source '%s'", source->name); - ScopeObject onComplete(boost::bind(&SourceObject::send, this, Complete)); + if (const SourceObject * so = dynamic_cast(this)) { + ScopeObject onComplete(boost::bind(&SourceObject::send, so, Complete)); + } if (IRSE) { try { source->execute(filter, this); diff --git a/project2/common/rowProcessor.h b/project2/common/rowProcessor.h index a7e8544..04a61bf 100644 --- a/project2/common/rowProcessor.h +++ b/project2/common/rowProcessor.h @@ -12,7 +12,7 @@ class Presenter; /// Base class for Project2 components that work with row sets -class RowProcessor : public IHaveParameters, public virtual SourceObject { +class RowProcessor : public IHaveParameters { public: enum EventIDs { Complete }; RowProcessor(ScriptNodePtr); diff --git a/project2/common/variables-modlookup.cpp b/project2/common/variables-modlookup.cpp index 67d2924..64ff93d 100644 --- a/project2/common/variables-modlookup.cpp +++ b/project2/common/variables-modlookup.cpp @@ -31,7 +31,6 @@ class VariableLookup : public VariableImplDyn, public RowProcessor { } }; VariableLookup(ScriptNodePtr e) : - SourceObject(e), VariableImplDyn(e), RowProcessor(e), name(e->value("name").as()) diff --git a/project2/common/variables.h b/project2/common/variables.h index 941d754..68923b5 100644 --- a/project2/common/variables.h +++ b/project2/common/variables.h @@ -107,7 +107,7 @@ class VariableType : public _VT { }; /// Base class for Project2 variable accessors -class VariableImpl : public virtual IntrusivePtrBase { +class VariableImpl : public IntrusivePtrBase { public: virtual VariableType value() const = 0; -- cgit v1.2.3