X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Ffilter.cc;h=9158cba5c10b6741995433ea767c2a3899611920;hb=78ca79cde19db630b1abfe8f00f49e87bb7e4068;hp=1c1039065227c4c5c3fdbc27abf8ded1a331b8c8;hpb=689fa55d1529ad88449ca464e9107c4dcc54d1cb;p=dcpomatic.git diff --git a/src/lib/filter.cc b/src/lib/filter.cc index 1c1039065..9158cba5c 100644 --- a/src/lib/filter.cc +++ b/src/lib/filter.cc @@ -25,10 +25,12 @@ #include "filter.h" +#include +LIBDCP_DISABLE_WARNINGS extern "C" { #include } -#include +LIBDCP_ENABLE_WARNINGS #include "i18n.h" @@ -36,7 +38,7 @@ extern "C" { using namespace std; -vector Filter::_filters; +vector Filter::_filters; /** @param i Our id. @@ -58,7 +60,11 @@ Filter::Filter (string i, string n, string c, string f) vector Filter::all () { - return _filters; + vector raw; + for (auto& filter: _filters) { + raw.push_back (&filter); + } + return raw; } @@ -98,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)); } } @@ -129,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; } @@ -137,5 +143,5 @@ Filter::from_id (string d) return nullptr; } - return *i; + return &(*i); }