diff options
Diffstat (limited to 'src/lib/filter.cc')
| -rw-r--r-- | src/lib/filter.cc | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/lib/filter.cc b/src/lib/filter.cc index bb48805e6..9158cba5c 100644 --- a/src/lib/filter.cc +++ b/src/lib/filter.cc @@ -38,7 +38,7 @@ LIBDCP_ENABLE_WARNINGS using namespace std; -vector<Filter const *> Filter::_filters; +vector<Filter> Filter::_filters; /** @param i Our id. @@ -60,7 +60,11 @@ Filter::Filter (string i, string n, string c, string f) vector<Filter const *> Filter::all () { - return _filters; + vector<Filter const *> raw; + for (auto& filter: _filters) { + raw.push_back (&filter); + } + return raw; } @@ -100,7 +104,7 @@ Filter::maybe_add (string i, string n, string c, string f) } if (avfilter_get_by_name(check_name.c_str())) { - _filters.push_back (new Filter(i, n, c, f)); + _filters.push_back (Filter(i, n, c, f)); } } @@ -131,7 +135,7 @@ Filter const * Filter::from_id (string d) { auto i = _filters.begin (); - while (i != _filters.end() && (*i)->id() != d) { + while (i != _filters.end() && i->id() != d) { ++i; } @@ -139,5 +143,5 @@ Filter::from_id (string d) return nullptr; } - return *i; + return &(*i); } |
