Merge pull request #2311 from Cacodemon345/newqt2
qt: Fix dangling pointers on Vulkan init failure
This commit is contained in:
@@ -301,6 +301,7 @@ RendererStack::createRenderer(Renderer renderer)
|
||||
imagebufs = {};
|
||||
endblit();
|
||||
QTimer::singleShot(0, this, [this]() { switchRenderer(Renderer::Software); });
|
||||
current.reset(nullptr);
|
||||
break;
|
||||
};
|
||||
rendererWindow = hw;
|
||||
@@ -325,7 +326,7 @@ RendererStack::createRenderer(Renderer renderer)
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
if (current.get() == nullptr) return;
|
||||
current->setFocusPolicy(Qt::NoFocus);
|
||||
current->setFocusProxy(this);
|
||||
addWidget(current.get());
|
||||
|
@@ -105,6 +105,11 @@ Settings::Settings(QWidget *parent) :
|
||||
ui->setupUi(this);
|
||||
|
||||
ui->listView->setModel(new SettingsModel(this));
|
||||
ui->listView->setFlow(QListView::TopToBottom);
|
||||
ui->listView->setWrapping(false);
|
||||
ui->listView->setWordWrap(true);
|
||||
ui->listView->setItemAlignment(Qt::AlignmentFlag::AlignHCenter);
|
||||
ui->listView->setUniformItemSizes(true);
|
||||
|
||||
Harddrives::busTrackClass = new SettingsBusTracking;
|
||||
machine = new SettingsMachine(this);
|
||||
@@ -131,8 +136,6 @@ Settings::Settings(QWidget *parent) :
|
||||
ui->stackedWidget->addWidget(otherRemovable);
|
||||
ui->stackedWidget->addWidget(otherPeripherals);
|
||||
|
||||
ui->listView->setFixedWidth(ui->listView->sizeHintForColumn(0) + 5);
|
||||
|
||||
connect(machine, &SettingsMachine::currentMachineChanged, display, &SettingsDisplay::onCurrentMachineChanged);
|
||||
connect(machine, &SettingsMachine::currentMachineChanged, input, &SettingsInput::onCurrentMachineChanged);
|
||||
connect(machine, &SettingsMachine::currentMachineChanged, sound, &SettingsSound::onCurrentMachineChanged);
|
||||
|
@@ -30,7 +30,11 @@
|
||||
<widget class="QWidget" name="widget" native="true">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout" stretch="1,3">
|
||||
<item>
|
||||
<widget class="QListView" name="listView"/>
|
||||
<widget class="QListView" name="listView">
|
||||
<property name="viewMode">
|
||||
<enum>QListView::IconMode</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QStackedWidget" name="stackedWidget">
|
||||
|
Reference in New Issue
Block a user