Compare commits

..

2 Commits
1.16 ... 1.16.1

Author SHA1 Message Date
WarmUpTill
3b465e1fdc Fix crash while loading haar cascade 2021-10-03 12:30:45 -07:00
WarmUpTill
26fd26051b CI: Run on ubuntu-latest 2021-10-03 11:11:53 -07:00
2 changed files with 17 additions and 12 deletions

View File

@@ -115,7 +115,7 @@ jobs:
path: ./nightly/*.pkg
ubuntu64:
name: 'Linux/Ubuntu 64-bit'
runs-on: [ubuntu-18.04]
runs-on: [ubuntu-latest]
steps:
- name: Checkout
uses: actions/checkout@v2.3.4
@@ -181,6 +181,8 @@ jobs:
libqt5svg5-dev \
swig \
libxss-dev \
libx11-xcb-dev \
libxcb-xfixes0-dev \
libopencv-dev
- name: 'Configure'
shell: bash

View File

@@ -35,7 +35,12 @@ static std::map<VideoCondition, std::string> conditionTypes = {
cv::CascadeClassifier initObjectCascade(std::string &path)
{
cv::CascadeClassifier cascade;
cascade.load(path);
try {
cascade.load(path);
} catch (...) {
blog(LOG_WARNING, "failed to load model data \"%s\"",
path.c_str());
}
return cascade;
}
@@ -184,13 +189,7 @@ bool MacroConditionVideo::LoadImageFromFile()
bool MacroConditionVideo::LoadModelData(std::string &path)
{
_modelDataPath = path;
try {
_objectCascade = initObjectCascade(path);
} catch (...) {
blog(LOG_WARNING, "failed to load model data \"%s\"",
path.c_str());
return false;
}
_objectCascade = initObjectCascade(path);
return !_objectCascade.empty();
}
@@ -810,9 +809,13 @@ void MacroConditionVideoEdit::ModelPathChanged(const QString &text)
return;
}
std::lock_guard<std::mutex> lock(switcher->m);
std::string path = text.toStdString();
if (!_entryData->LoadModelData(path)) {
bool dataLoaded = false;
{
std::lock_guard<std::mutex> lock(switcher->m);
std::string path = text.toStdString();
dataLoaded = _entryData->LoadModelData(path);
}
if (!dataLoaded) {
DisplayMessage(obs_module_text(
"AdvSceneSwitcher.condition.video.modelLoadFail"));
}