diff --git a/src/main_window.cpp b/src/main_window.cpp index 8808427..40301ae 100644 --- a/src/main_window.cpp +++ b/src/main_window.cpp @@ -1367,7 +1367,13 @@ void AC_MainWindow::buildVector(std::vector &v) { if(n.find(":") == std::string::npos && n.find("SubFilter") == std::string::npos) v.push_back(filter_map[name.toStdString()]); else { + + std::string namev = name.toStdString(); + + if(namev.find("SubFilter") != std::string::npos && namev.find(":") == std::string::npos) + continue; + std::string left_str = namev.substr(0, namev.find(":")); std::string right_str = namev.substr(namev.find(":")+1,namev.length()-left_str.length()-1); int index_val = filter_map[right_str].filter; diff --git a/src/playback_thread.cpp b/src/playback_thread.cpp index c4eff4d..8077e67 100644 --- a/src/playback_thread.cpp +++ b/src/playback_thread.cpp @@ -255,6 +255,10 @@ void Playback::drawFilter(cv::Mat &frame, FilterValue &f) { if(single_mode == true && ac::draw_strings[f.filter].find("SubFilter") != std::string::npos) return; + + if(single_mode == false && ac::draw_strings[f.filter].find("SubFilter") != std::string::npos && f.subfilter == -1) + return; + if(ac::getMaxAllocated() < 1080 && ac::draw_strings[f.filter].find("Intertwine") != std::string::npos) return;