diff --git a/src/proc/mobject/session/scope-query.hpp b/src/proc/mobject/session/scope-query.hpp index 865114b2c..e12f5560e 100644 --- a/src/proc/mobject/session/scope-query.hpp +++ b/src/proc/mobject/session/scope-query.hpp @@ -87,7 +87,7 @@ namespace session { typedef function ContentFilter; /** yield an additional filter to be applied - * on the result set. */ + * to the result set. */ virtual ContentFilter buildContentFilter() const =0; }; @@ -175,7 +175,7 @@ namespace session { ContentFilter contentFilter () const { - return buildContentFilter(); + return buildContentFilter(); ////////////////////////FIXME why isn't this dispatched via VTABLE????? } diff --git a/tests/components/proc/mobject/session/scope-query-test.cpp b/tests/components/proc/mobject/session/scope-query-test.cpp index a2cc4487e..8d047e906 100644 --- a/tests/components/proc/mobject/session/scope-query-test.cpp +++ b/tests/components/proc/mobject/session/scope-query-test.cpp @@ -41,6 +41,15 @@ namespace test { using std::string; using std::cout; using std::endl; + namespace { + bool + filterfunk (Placement const& candidate) + { + string desc = candidate->operator string(); + cout << "prüfe..." << desc << endl; + return desc == "TestSubMO2"; + } + } /********************************************************************************************** @@ -73,6 +82,8 @@ namespace test { discover (ScopeQuery (resolver,scope, CONTENTS) , "contents depth-first, filtered to DummyMO"); ////////////////////// TICKET #532 discover (ScopeQuery (resolver,scope, CONTENTS) , "contents depth-first, filtered to TestSubMO1"); discover (ScopeQuery (resolver,scope, CONTENTS) , "contents depth-first, filtered to TestSubMO2"); + + discover (SpecificContentsQuery (resolver,scope, &filterfunk) , "contents depth-first, custom filtered DummyMO"); ScopeQuery specialEl(resolver,scope, CONTENTS); ++specialEl; // step in to second solution found...