[UI] Fixed debug crash while closing post-processing menu
This commit is contained in:
@@ -337,6 +337,7 @@ void EmulatorWindow::DisplayConfigDialog::OnDraw(ImGuiIO& io) {
|
|||||||
ImGuiWindowFlags_AlwaysAutoResize |
|
ImGuiWindowFlags_AlwaysAutoResize |
|
||||||
ImGuiWindowFlags_HorizontalScrollbar)) {
|
ImGuiWindowFlags_HorizontalScrollbar)) {
|
||||||
ImGui::End();
|
ImGui::End();
|
||||||
|
Close();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -567,6 +568,7 @@ void EmulatorWindow::DisplayConfigDialog::OnDraw(ImGuiIO& io) {
|
|||||||
ImGui::End();
|
ImGui::End();
|
||||||
|
|
||||||
if (!dialog_open) {
|
if (!dialog_open) {
|
||||||
|
Close();
|
||||||
emulator_window_.ToggleDisplayConfigDialog();
|
emulator_window_.ToggleDisplayConfigDialog();
|
||||||
// `this` might have been destroyed by ToggleDisplayConfigDialog.
|
// `this` might have been destroyed by ToggleDisplayConfigDialog.
|
||||||
return;
|
return;
|
||||||
@@ -1539,10 +1541,14 @@ void EmulatorWindow::ToggleFullscreen() {
|
|||||||
|
|
||||||
void EmulatorWindow::ToggleDisplayConfigDialog() {
|
void EmulatorWindow::ToggleDisplayConfigDialog() {
|
||||||
if (!display_config_dialog_) {
|
if (!display_config_dialog_) {
|
||||||
display_config_dialog_ = std::unique_ptr<DisplayConfigDialog>(
|
display_config_dialog_ =
|
||||||
new DisplayConfigDialog(imgui_drawer_.get(), *this));
|
std::make_unique<DisplayConfigDialog>(imgui_drawer_.get(), *this);
|
||||||
} else {
|
} else {
|
||||||
display_config_dialog_.reset();
|
if (display_config_dialog_->IsClosing()) {
|
||||||
|
display_config_dialog_.release();
|
||||||
|
} else {
|
||||||
|
display_config_dialog_.reset();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user