From 29406db336d00a223fec9035044a5ca46ade1d3f Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sat, 1 Oct 2016 16:41:20 +0200 Subject: camera settings: disable for all A4 TECH cameras We've had two reported crashes. Issue: #468 --- cv/video-property-page.cpp | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) (limited to 'cv/video-property-page.cpp') diff --git a/cv/video-property-page.cpp b/cv/video-property-page.cpp index 08ac00d0..e5f1a9f0 100644 --- a/cv/video-property-page.cpp +++ b/cv/video-property-page.cpp @@ -10,7 +10,7 @@ #ifdef _WIN32 #include -#include +#include #include #define CHECK(expr) if (FAILED(hr = (expr))) { qDebug() << QStringLiteral(#expr) << hr; goto done; } @@ -22,6 +22,24 @@ bool video_property_page::show_from_capture(cv::VideoCapture& cap, int) return true; } +bool video_property_page::should_show_dialog(const QString& camera_name) +{ + using re = QRegularExpression; + static const re regexen[] = + { + re("^PS3Eye Camera$"), + re("^A4 TECH "), + }; + bool avail = true; + for (const re& r : regexen) + { + avail &= !r.match(camera_name).hasMatch(); + if (!avail) + break; + } + return avail; +} + bool video_property_page::show(int id) { IBaseFilter* filter = NULL; @@ -135,6 +153,11 @@ done: # include # include "compat/camera-names.hpp" +bool video_property_page::should_show_dialog(const QString& camera_name) +{ + return true; +} + bool video_property_page::show(int idx) { const QList camera_names(get_camera_names()); @@ -152,4 +175,8 @@ bool video_property_page::show_from_capture(cv::VideoCapture&, int idx) #else bool video_property_page::show(int) { return false; } bool video_property_page::show_from_capture(cv::VideoCapture&, int) { return false; } +bool video_property_page::should_show_dialog(const QString& camera_name) +{ + return false; +} #endif -- cgit v1.2.3