VideoCommon: Get rid of the global g_available_video_backends

Replace it with a function-local static that is initialized on first
use. This gets rid of a global variable and removes the need for
manual initialization in UICommon.

This commit also replaces the weird find_if that looks for a non-null
unique_ptr with a simple "is vector empty" check considering that
none of the pointers can be null by construction.
This commit is contained in:
Léo Lam
2020-10-21 21:34:38 +02:00
parent fd5f9f4c26
commit aaaa3896c0
5 changed files with 39 additions and 39 deletions

View File

@ -51,7 +51,7 @@ void SoftwareRendererWidget::CreateWidgets()
rendering_layout->addWidget(new QLabel(tr("Backend:")), 1, 1);
rendering_layout->addWidget(m_backend_combo, 1, 2);
for (const auto& backend : g_available_video_backends)
for (const auto& backend : VideoBackendBase::GetAvailableBackends())
m_backend_combo->addItem(tr(backend->GetDisplayName().c_str()));
auto* overlay_box = new QGroupBox(tr("Overlay Information"));
@ -122,7 +122,7 @@ void SoftwareRendererWidget::ConnectWidgets()
void SoftwareRendererWidget::LoadSettings()
{
for (const auto& backend : g_available_video_backends)
for (const auto& backend : VideoBackendBase::GetAvailableBackends())
{
if (backend->GetName() == Config::Get(Config::MAIN_GFX_BACKEND))
{
@ -137,7 +137,7 @@ void SoftwareRendererWidget::LoadSettings()
void SoftwareRendererWidget::SaveSettings()
{
for (const auto& backend : g_available_video_backends)
for (const auto& backend : VideoBackendBase::GetAvailableBackends())
{
if (tr(backend->GetDisplayName().c_str()) == m_backend_combo->currentText())
{