diff --git a/src/widget/form/settings/avform.cpp b/src/widget/form/settings/avform.cpp index cd3b75a4d..f53107250 100644 --- a/src/widget/form/settings/avform.cpp +++ b/src/widget/form/settings/avform.cpp @@ -247,12 +247,20 @@ void AVForm::selectBestModes(QVector &allVideoModes) for (auto it = bestModeInds.rbegin(); it != bestModeInds.rend(); ++it) { VideoMode mode = allVideoModes[it->second]; - int size = getModeSize(mode); - auto result = std::find_if(newVideoModes.cbegin(), newVideoModes.cend(), - [size](VideoMode mode) { return getModeSize(mode) == size; }); - if (result == newVideoModes.end()) + if (newVideoModes.empty()) + { newVideoModes.push_back(mode); + } + else + { + int size = getModeSize(mode); + auto result = std::find_if(newVideoModes.cbegin(), newVideoModes.cend(), + [size](VideoMode mode) { return getModeSize(mode) == size; }); + + if (result == newVideoModes.end()) + newVideoModes.push_back(mode); + } } allVideoModes = newVideoModes; } @@ -271,7 +279,7 @@ void AVForm::fillCameraModesComboBox() qDebug("width: %d, height: %d, FPS: %f, pixel format: %s\n", mode.width, mode.height, mode.FPS, pixelFormat.toStdString().c_str()); if (mode.height && mode.width) - str += QString("%1p").arg(getModeSize(mode)); + str += QString("%1p").arg(mode.height); else str += tr("Default resolution");